Difference between revisions of "Nidarbot"

From RoboWiki
Jump to: navigation, search
m (Pictures)
m (Software)
 
(6 intermediate revisions by the same user not shown)
Line 3: Line 3:
 
The first robot we built with Cerebot and LEGO pieces has two NXT motors connected directly  
 
The first robot we built with Cerebot and LEGO pieces has two NXT motors connected directly  
 
to two wheels. The motors are driven through one HB2 PMOD. There is also a BlueTooth module  
 
to two wheels. The motors are driven through one HB2 PMOD. There is also a BlueTooth module  
connected to a serial port. The robot is powered from one 9V battery located at its bottom.
+
connected to a serial port. The robot is powered from one 9V battery located at its bottom
 +
(however, for real operation, the robot needs a stronger power source for motors - it can
 +
be easily connected to VS terminal on the board).
  
 
=== Functionality ===
 
=== Functionality ===
Line 26: Line 28:
  
 
The robot runs nicely and reliably. The movements are sometimes not completely even, and this
 
The robot runs nicely and reliably. The movements are sometimes not completely even, and this
is due to the poor wheels - they tires probably need to be glued to avoid on the wheel center,
+
is ether due to the wheels - the tires might need to be glued to avoid slipping on the wheel center,
or they need to be replaced for another type. Another important issue is to protect its cables
+
or they need to be replaced for another type, or, more likely just due to uneven geometry of the bottom.
and connectors. Even though they are placed on the back, the robot is vulnerable to attacks from
+
Our goal was to build a robot that moves, not yet a perfect one! Another important issue is to protect  
the rear side. Pictures and/or videos coming later. Now we need to add sensors and more interesting
+
its cables and connectors. Even though they are placed on the back, the robot is vulnerable to attacks from
 +
the rear side. Pictures and/or videos see below. Now we need to add sensors and more interesting
 
functionality to this robot!
 
functionality to this robot!
 +
 +
=== New version ===
 +
 +
The new version of the robot has a active sensor module, which allows use of 4 LEGO sensors with Cerebot.
 +
(two such modules can be used at the same time). For instance we can easily add a bottom light sensor to
 +
create a simple line follower (see pictures and video linked below), or ultrasonic distance sensor to
 +
make it follow you, or another robot, or compass sensor to - combined with odometry store and transmit
 +
its trajectory to the computer.
  
 
=== Software ===
 
=== Software ===
  
 
Robot was programmed in C using WinAVR and [http://hubbard.engr.scu.edu/embedded/avr/avrlib/ Procyon AVRlib].
 
Robot was programmed in C using WinAVR and [http://hubbard.engr.scu.edu/embedded/avr/avrlib/ Procyon AVRlib].
The whole project can be downloaded [[Media:nidarbot.zip|here]].
+
The following projects are available:
 +
* Simple motor control with UART1 remote-control as described above [[Media:nidarbot.zip|nidarbot.zip]]
 +
* Line follower using the active sensor module [[Media:nidarbot_line_follow.zip|nidarbot_line_follow.zip]]
 +
* Motor control using timers [[Media:cerebot_motors.zip|cerebot_motors.zip]]
 +
 
 +
=== See also ===
 +
 
 +
Page on building a robot with [[Cerebot & LEGO Mindstorms]].
  
 
=== Pictures ===
 
=== Pictures ===

Latest revision as of 05:35, 18 December 2006

Description

The first robot we built with Cerebot and LEGO pieces has two NXT motors connected directly to two wheels. The motors are driven through one HB2 PMOD. There is also a BlueTooth module connected to a serial port. The robot is powered from one 9V battery located at its bottom (however, for real operation, the robot needs a stronger power source for motors - it can be easily connected to VS terminal on the board).

Functionality

After reset, the robot prints the following menu on the terminal (serial port):

Nidarbot controller

 1) forward
 2) backward
 3) spin left
 4) spin right
 5) set power (20)
 6) exit

Then it expects your choice entered through the PC keyboard and further transmitted over BlueTooth to its serial port. The first four options will make the robot move in the given direction until any key is pressed. The fifth option allows to enter the power applied to the motors 0-20, and the last option exits.

Performance

The robot runs nicely and reliably. The movements are sometimes not completely even, and this is ether due to the wheels - the tires might need to be glued to avoid slipping on the wheel center, or they need to be replaced for another type, or, more likely just due to uneven geometry of the bottom. Our goal was to build a robot that moves, not yet a perfect one! Another important issue is to protect its cables and connectors. Even though they are placed on the back, the robot is vulnerable to attacks from the rear side. Pictures and/or videos see below. Now we need to add sensors and more interesting functionality to this robot!

New version

The new version of the robot has a active sensor module, which allows use of 4 LEGO sensors with Cerebot. (two such modules can be used at the same time). For instance we can easily add a bottom light sensor to create a simple line follower (see pictures and video linked below), or ultrasonic distance sensor to make it follow you, or another robot, or compass sensor to - combined with odometry store and transmit its trajectory to the computer.

Software

Robot was programmed in C using WinAVR and Procyon AVRlib. The following projects are available:

See also

Page on building a robot with Cerebot & LEGO Mindstorms.

Pictures

Click here to see more pictures and a video.

Nidarbot.jpg