43 lines
1.9 KiB
Org Mode
43 lines
1.9 KiB
Org Mode
* RyABI (/Robótica y Aprendizaje Bio-Inspirado/ - Robotics and Bio-Inspired Learning)
|
|
|
|
** Abstract
|
|
|
|
RyABI is a control program for LEGO Mindstorms NXT using the LeJOS NXJ firmware. The controller is based on the
|
|
subsumption reactive control architecture.
|
|
|
|
** Objective
|
|
|
|
The controller assumes an environment like the following:
|
|
|
|
[[file:environment.png]]
|
|
|
|
The goal of the controller is to find a ball (in yellow) that is located on one side of a goal line (in pink),
|
|
while avoiding any obstacles (in black) it can find. Once the ball is found, or the robot has collided with any
|
|
of the two obstacles at the sides of the goal line, the controller will return to the starting line (in pink too).
|
|
|
|
The floor and the start/goal lines must be of constrasting colors.
|
|
|
|
** Robot
|
|
|
|
The robot is based on a differential drive and must use the following motors:
|
|
|
|
* Motors A and C :: Attached to the wheels. Used to move and steer the robot.
|
|
* Motor B :: Attached to a gripper claw. Used to catch the ball.
|
|
|
|
It must also use the following sensors:
|
|
|
|
* Ultrasonic ranger :: Used to find the ball. Attached to port 1.
|
|
* Touch bumper :: Used to detect obstacles. Attached to port 2.
|
|
* HiTechnic compass :: Used to steer and move with some precission. Attached to port 3.
|
|
* Greyscale light detector :: Used to find the start and goal lines. Attached to port 4.
|
|
|
|
** Subsumption
|
|
|
|
The controller uses the following five behaviors:
|
|
|
|
* Wander :: Simply moves the robot forward.
|
|
* Search :: When the goal line is found the robot will start searching for the ball using the range sensor.
|
|
* Catch :: When the ball has been found the robot will attempt to grab it with it's gripper.
|
|
* Victory :: When the start line is crossed the robot will stop moving a play a little tune.
|
|
* Avoid :: If the robot bumped against an obstacle then the robot will move a bit to the right to avoid it. It may take many attempts to clear a wide obstacle.
|