Autonomous obstacle avoiding car, with no written code! Using Arduino and Embrio
This is a three part video tutorial showing how to program an autonomous, obstacle avoiding robot car using Embrio, which is a new visual programming environment currently available for use with the Arduino on Windows (more platforms will be available soonish). More info on Embrio is available at embrio.io.
The car chassis was purchased from e-bay. It uses 3 IR sensors to avoid walls. There's a button to turn the car on and off, and a potentiometer to set the car's top speed. An RGB LED displays the car's current behavior: green for wander, blinking red for escape, and blue for "random turn".
Part 1 first goes over the finished product, then starts from the beginning by encapsulating access to the physical inputs and outputs of the robot.
Part 2 builds up mid-level control agents that sit above the low level IO access set up in part 1, and will be used by the high level behaviors in part 3.
In part 3 the top level behavior control agents are created. The top level control switches between the “wander” and “random turn” behaviors, and another agent turns on the “escape” agent when the car gets stuck.