I used the Ro-Bot-X Robot Builder's Shiled V3 which has worked flawlessly and has great code samples in its assembly guide.
Maybe To Do List
Build a 2-decks chassis, that can allocate a flat 6xAA battery holder on the lower deck and the board/shield on the upper one
Use some "attaching" methods better than the 2-sides tape... though it works great! :-) (like motor brackets)
Improve the wiring (to sensor and to motors)... I have to make up my mind and start soldering!
The Future
Continuously scan what is in front to decide a path without ever stopping...
v2: August 31, 2011
The Bliss Robot is getting smarter.
He continuously scans a 60 degree arc in front of him in order to avoid obstacles. He tries to avoid them gently but if he sees no way to continue he turns, stops, re-scans and keeps moving.
In the second video you can see him wandering around my living room and avoiding obstacles... with a fair amount of luck :-)
I kept the old chassis and I still use the 2-sides tape (though I bought a better one). However I finally started soldering! This was crucial to avoid false readings on the ultrasonic sensor.
The future of The Bliss Robot is open: learning the map, be autonomous and RC controlled (like a "go home" function)... who knows, I keep reading to get interesting ideas... suggestions welcome!
I finally used PWM, as I read somewhere that it was more accurate than analog (at least on this sensor) and it was equaly easy to program… it works really well (very very few wrong measures).
After thinking/tweaking a bit more… I think if you want to be seroius about object avoidance at a decent speed I should have (at least) 6 sensors. This is 2 for left, 2 for front and 2 for right.
Not needing a servo will definitelly saves a lot of time of just waiting for the servo to position
2 sensors per position is because i think I should use both an IR and a Ultrasonica sensor. As both have some situations where they fail… this would allow to avoid mostly any king of object shape
What do you think? Any suggested link to a “next level” object avoidance robot?
Consider two IR sensors mounted at angles at the front two corners of the robot. Choose an angle that gives you good coverage. Some people cross fire their IR sensors, so they cross each others path. This gives good coverage at the front and a bit to the sides. You just have to take one reading at a time to avoid interference.
You can mount IR sensors fairly low to the ground, which is good for avoiding low obstacles.
An ultrasonic can be servo mounted, or fixed straight ahead. Mount your ultrasonic a bit higher than your IR sensors, because you can get weird reflections off the ground, especially carpet.
IR doesn’t work well in bright sunlight. It is also sometimes obsorbed by very dark material and doesn’t relect well. Ultrasonics have limitations too, so combining a bit of both can be a good strategy.
Some physical bump sensors can also help, especially if you have some blind spots. You could put a bump sensor in back in case you back into something, and then you don’t have waste an IR or sonar for that purpose.
Too many sensors can be a lot to process, and you need to be careful about interference between sensors of similar types. It also adds expense to your robot, which may be a factor.
Hey is it possible to post the program, I am currently using 2 dc motor for Arduino 328 Romeo. By the way, is the continouus servo for the ping sensor, is it uploaded in the same board as the rest of the program