Difference between revisions of "Braitenberg vehicles implemented using SBOT robot"

From RoboWiki
Jump to: navigation, search
m (Line breaks)
Line 1: Line 1:
 +
[[Image:Breitenberg-vehicles-SBOT.jpg|right|thumb|250px|SBOT for Braitenberg vehicles]]
 
== Goal ==
 
== 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 [http://en.wikipedia.org/wiki/Photodiode photodiode] and a [http://en.wikipedia.org/wiki/Resistor 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.
  
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).  
+
== Video & Photo documentation ==
 +
We have taken several photos and captured a video of our robot.
 +
 
 +
=== Photos ===
 +
[[Image:Breitenberg-vehicles-SBOT.jpg|left|thumb|300px|SBOT for Braitenberg vehicles]]
 +
[[Image:Breitenberg-vehicles-SBOT2.jpg|left|thumb|300px|SBOT for Braitenberg vehicles]]
 +
 
 +
=== Video ===
 +
Video will be placed here.
  
 
== Resources ==
 
== Resources ==
 
 
You can read a short description of Braitenberg vehicles on [http://en.wikipedia.org/wiki/Braitenberg_vehicles Wikipedia - Braitenberg vehicles].
 
You can read a short description of Braitenberg vehicles on [http://en.wikipedia.org/wiki/Braitenberg_vehicles Wikipedia - Braitenberg vehicles].
  
 
There is also a video of BV implemented using NXT Lego on [http://www.youtube.com/watch?v=yUVcI5Pw2o4 YouTube].
 
There is also a video of BV implemented using NXT Lego on [http://www.youtube.com/watch?v=yUVcI5Pw2o4 YouTube].
  
A list of some [http://instruct.westvalley.edu/lafave/Vehicles_online.html behaviours].
+
A list of some [http://instruct.westvalley.edu/lafave/Vehicles_online.html behaviours] by Valentino Braitenberg.

Revision as of 15:29, 18 May 2010

SBOT for Braitenberg vehicles

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

SBOT for Braitenberg vehicles
SBOT for Braitenberg vehicles

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.