Let's Make Robots!

Ronnie "Squared" 2

Navigate around and avoid obstacles

Ronnie2 is a follow up of my first robot Ronnie which was based on an Arduino Uno. This Time I'm building it up with a dedicated robot board which was shipped with an ATmega32 but I put in an ATmega644.

I have uploaded the code to GitHub


The goal of this robot was to get my 2nd Arduino Uno back ;) and to keep the code modular and organized in a seperate library folder so I've written a Library for every peripheral like UART communication, reading and moving the SRF05, reading the HMC5883L and so on.

 

This project goes on as a side project because I'm tinkering on other little projects as well to push my electronics knowledge to the next level :)

 

And I'm still struggling to incorporate the HMC5883L into my driving routine. I don't know how to merge the obstacle avoidance and the course correction, so any suggestions appreciated!

 

Here are some photos:

This is the SRF05 again mounted on a servo but this time the servo is mounted inside the body of the robot so it doesn't hit something with the servo and to prevent the servo from falling off.

You can see the programming adapter as well that I use to convert the 6-pin avrispmkII ISP header to a 10-pin ISP header.

A side view of the 'head'

 

This is a view from the back. You can see that the switch is now mounted properly and not dangling around in the back. Again this solution looks much cleaner but I still have to exchange the jumper wires by proper ribbon cables.

 

And this is a shot of the servo and the SRF05 ultrasonic sound distance sensor:

 

+++++ Update 07-10-12 +++++

I've finally managed to get the driving routine to work, I simply swapped the left and right turn loops so now he avoids bumping into the wall insted of aiming at it.

I have now replaced all the jumper wires going to the SRF05 with a proper ribbon cable. I am planning to add an I2C LCD as well. Any suggestions for sensors that I could use to gather information about the environment?

 

 

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Could you:
if (obstacle close) {
   avoid();
}
else {
   courseCorrection(); 

Thanks bird!

I could try something along those lines :)