Tips about buiding the Parallax Sumobots
The Parallax Sumobot is a small autonomous robot. Pallax supplies an IDE and the robot is programmed using BASIC. It has a STAMP processor. The bot has two forward facing IR emitter/sensors so it can "see" if something is to the right or left of it. These sensors are used to find a foe and direct the Sumobot for an attack. The bot also has two down facing "line" sensors that can detect white/black. These sensors are used to detect the white edge of the ring and activate avoidance steps in the robot so it doesn't go off the edge; a Sumobot that commits suicide is not a good bot.
The bots are pretty cool and make a nice entry level project for a budding robot enthusiast of any age.
Tips on Building
- It is easy to mount the servos in the wrong orientation. The servos should be inserted into the base from the outside, NOT the inside. Also note that the servo shaft should be to the back of the bot - away from the front scoop attachment.
- The long standoffs that are used to mount the line sensors each have a small plastic spacer. Don't forget to use it.
- Remember to remove the protective sticker from the buzzer. If you don't you won't be able to hear it.
Tips on Troubleshooting
- Bot doesn't move
- Are they running a program that should make the bot move? Have they pressed the reset button to start the program?
- The battery is getting very hot. I found that the user had screwed the servo centering adjustment really far and hard in clockwise. This made the servo stop turning, but also did something to jam up the works. In the end the servo would only turn one direction. Had to replace the servo.
- It is possible that they have plugged the servo and line sensor cables into the wrong places on the circuit board.
- Bot doesn't react to an object on one side - or both
- Reload the program to verify that the team has the correct program loaded for what they are trying to do.
- Verify that the clear IR LEDs have been used.
- Pull out the problematic IR LED and reverse it. Often the user has put the IR LED in with reversed polarity. It doesn't hurt the bot to have it in reversed, but it won't work.
- Run the Debug Tracking program. Point the bot at the ceiling to remove any IR reflections. Move your hand to see how far away the bot can sense your hand, if at all.
- Check that the team has not modified the AGC constant in the program they are running.
- Bot does weird things during ring test.
- First step is to do the motor adjust again. Many times a team runs the motor adjust without actually adjusting the servos. A typical problem is that they load the motor adjust program but fail to press the reset button - the wheels don't turn and they think the adjustment is done.
- Make sure the servo motor cables are correctly seated on the mother board.
- Make sure the right and left servo motor cables connect to the proper places. Swapping them leads to odd behavior.
- Red LED does not blink when the reset button is pushed,
- Remove the LED and put back in the other way.
Tips on Programming
A few random notes.
The programs are all structured in the following parts
- Comments describing the program
- Constants that should not be modified, with the exception of AGC
- Start loop - Section of code that runs when reset is pressed. This implements the five second delay and blinks the red LED.
- Main loop - Section of code that is executed over and over again.
- Check the line sensors. If one of them detects white, then take the appropriate evasive action
- Check the IR "eyes".
- If neither detects an object then search
- If both detect an object then attack
- If only one detects an object then turn in that direction
- Subroutine section
- Each of the little sections is delineated by a label that is descriptive and ends with a GOTO MAIN statement.
- Each section performs one action - turn left, turn right, back up, etc