In this 3 part project we’ll see how to program an autonomous robot car using Embrio, which is a new visual programming environment currently available for use with the Arduino. Download it and learn more at www.embrio.io!
The car has 3 behaviors. It wanders around, avoiding obstacles by turning away from walls and stopping before a frontal collision. Every so often the car stops and randomly turns. When the car gets stuck, it backs up and turns until it is free.
The top speed of the car is controlled by a potentiometer, and a RGB LED indicates the current behavior.
Part 1 first goes over the finished product, then starts from the
beginning by encapsulating access to the physical inputs and outputs of
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.