Braitenberg vehicles implemented using SBOT robot
Contents
Goal
Our goal is to implement Braitenberg vehicles using SBOT with various different behaviors. It is an agent with some primitive sensors (SBOT has infrared sensors) and wheels (each driven by its own motor) which acts as effectors. The actual move of the robot depends on the behavior of the vehicle (loving, exploring, aggresive...) and the strength of the signal (e.g. the more light the stronger signal).
Light sensors
Because light sensors are not packed with the SBOT we had to construct them ourselves. To construct a light sensor we used a photodiode and a resistor. Final sensor can be seen on photos of our SBot.
Implementation of braitenberg vehicles
We started with modified firmware for SBot which already included functions for mobility like start, stop, go forward, etc.
Getting usable values from light sensors
As we connected our 2 light sensors to the slots on SBot, we had to write some callibration functions, which mapped the value from signal to a usable value in range <0, 100>. The value itself is then averaged from the last N measures, where N is a constant (in our case we let N equals 20).
Setting behavior of robot
Braitenberg vehicles could have lots of different behaviors, but we were limited since we had just 2 motors and 2 sensors.
Video & Photo documentation
We have taken several photos and captured a video of our robot.
Photos
Video
Video will be placed here.
Resources
You can read a short description of Braitenberg vehicles on Wikipedia - Braitenberg vehicles.
There is also a video of BV implemented using NXT Lego on YouTube.
A list of some behaviours by Valentino Braitenberg.