Here is my first robot. It is so sweet:) I love it! At the moment it is not autonomous, but in the future it should be. It was not so easy to fit all the components into this little chassis, that’s why there are so many cables and wires. Actually in my plans was to attach ipcam on it, but now there are no place for the cam. Maybe I will build one floor more, or some how else fit the cam on it. Like you saw on the video I`am controlling the robot via Xbee, but in the future I will control it thru the internet(ethernet shield). Adaptive mapping is all so very interesting..
So the hardware is done and now is start for software:)
First thought: I think you need more sensors...
No place for new sensors
Now I'm going to have to make mine go "beeep" when I turn it on!
Great work!
Second thought.......Interesting place for a demo.....the bathroom?
Good work very fast but why so noisy?
unhappyelf:
Second thought.......Interesting place for a demo.....the bathroom?
In bathroom is the light a little bit stronger than in other rooms.
tytower:
Good work very fast but why so noisy?
There are three reasons for this:
- Cheap china motors and reduction gearbox.
- The third "wheel" is a metal ball.
- Tiles on the ground.
I'm guessing this is an indoor only robot?
Isn't anyone else going to play in the dirt with me?
cyberteque:
I'm guessing this is an indoor only robot?Isn't anyone else going to play in the dirt with me?
Yes, only indoor. The carpet on the ground is a big challenge for my robot
Hello everybody,
I have a little problem with my robot. The problem is that it doesn't goes straight forward. Sometimes it change direction by it self.. I wrote the code that I’m using and I shoot a video how it looks like in reality. Maybe someone has a better solution(code) how to get it working. My encoder wheel has 12 counts for one rotation, so every 30 degrees comes a count.
Thank you very much!
void forwardesc()
{
if(L_forward_esc_counter == R_forward_esc_counter) ///If left and right wheels has the same counts
{
forward(); //We go forward with both wheels
}
else if(L_forward_esc_counter > R_forward_esc_counter) // If left wheel has more turns then the right
{
analogWrite (MOTORAF,(speedo - trimminus)); //Slow down left wheel
digitalWrite(MOTORAB, LOW);
analogWrite (MOTORBF,(speedo + trimplius)); //More power to right wheel
digitalWrite(MOTORBB, LOW);
}
else //else if right wheel has more turns then the left
{
analogWrite (MOTORBF,(speedo – trimminus)); //Slow down right wheel
digitalWrite(MOTORBB, LOW);
analogWrite (MOTORAF,(speedo + trimplius)); //More power to left wheel
digitalWrite(MOTORAB, LOW);
}
}
P.S.
speedo – is speed that I set up from processing. In another words if speed is set to 100%, speedo will be 255.
Trimminus and trimplius is the number how much slower or faster should the wheel spin.
For example if speed set to 50%, the speedo will be 150, and trimplius 40, trimminus 40.
Here is the whole table:
/////SPEED SET TO 0%(MINIMUM)//
trimminus = 0;
trimplius = 30;
speedo = 70;
/////SPEED SET TO 25%//
trimminus = 30;
trimplius = 30;
speedo = 100;
/////SPEED SET TO 50%//
trimminus = 40;
trimplius = 40;
speedo = 150;
/////SPEED SET TO 75%//
trimminus = 50;
trimplius = 50;
speedo = 200;
/////SPEED SET TO 100%//
trimminus = 60;
trimplius = 30;
speedo = 255;
this is a very beautiful creation,
how much money to ask you there at all.
it's fantastic and very very fast.
Can you describe how you have built it?