RoboCatz.com

Using the Wall


Aligning Perpendicular to the Wall

The standard FLL game board is a 4 foot by 8 foot rectangle. Usually mounted on a 4'x8' sheet of plywood with 2'x4's as the sides to keep the robot from running off the edge of the board. The 2'x4' walls are straight (or at least they are supposed to be straight). You can use these straight walls to align the robot so that it also is oriented to the wall. This works best if your robot has a bumper in the front, back, or both. The bumper provides a straight edge for the robot to push against the wall.

There are several techniques that can be used of align the robot with a wall.

Using Two Touch Sensors in the Bumper

Usually the touch sensors would be located immediately behind (or in front of) the wheels/treads on each side of the robot. The robot would move toward a wall until one of the touch sensors hits the wall. Then the motor on that side of the robot would be stopped while the other motor would continue moving until the other touch sensor hits the wall. Once both touch sensors have touched the wall, the robot should then be considered aligned with the wall.

Aligning Parallel with the Wall

Using a Sensor

A sensor mounted on the side of the robot can be used to detect when the robot has encountered the wall.

Using a Caster Wheel

Caster wheels can be mounted on the sides of the robot to keep the robot from stopping due to friction with the wall. Generally, these caster wheels should be at the corners of the robot so that robot can be slightly steered into the wall. The drive wheels may slip slightly as the robot encounters the wall and the side caster wheels will help to keep the robot moving along the side of the wall.

Using the Wall as a Stopping Point

The wall provides an excellent boundary for the robot that gives it good information about the position of the robot in relation to other mission models and lines on the surface of the mat.

Measuring Distances to the Wall

The Ultrasonic Sensor can detect distances of 4 centimeters or more. When trying to detect the wall, make sure the robot is at least 4 centimeters or more away from the wall. Then tell the robot to move until the sensor detects a distance of less than or equal to some specific criteria. This technique is useful if the robot is following a line that extends from the wall (i.e., starts at the was and proceeds perpendicular to it).

Positioning the Robot in Base

The base area is the place where the robot is started prior to each match. Since the robot must exit the base are under its own control, it is important to make sure the robot consistently leaves the base area. Some teams will align the robot to the hash marks shown around the edge of the base area. Other teams will create a jig to help align the robot to the base area prior to starting the missions. One other strategy is to have the robot align itself to the two walls that form the south and west walls. Each of these strategies has its advantages and disadvantages.

Aligning using the Hash Marks

Advantages:
does not require any equipment or extra parts.
Disadvantages:
may introduce small errors in alignment which could affect navigation if you are using odometry to navigate the robot.
Process: To consistently align the robot to the hash marks, you need to identify specific markers on the robot (such as corners, edges, wheel axles, other markers). These markers will form the anchor points on which the robot will be aligned. Then you need to follow a specific protocol such as:
Place front left corner of robot on the 9th hash mark east of the wall.
Place the back right corner of robot on the 8th hash mark north of the wall.
Sometimes the excitement of the tournament competition may result in some team members not properly counting or not accurately aligning the robot. These mis alignments may result in missions that are less than successful.

Aligning the Robot Using a Jig

Advantages: Helps to consistently aim the robot along a specific heading and orientation within base.
Disadvantages: Requires the construction of a jig that must be brought to the tournament and practice meetings. The Jig needs to be used each time the robot leaves base for a specific mission or set of missions.
Process: Construction of the jig should be made from Technic beams. While it may be possible to create the jig out of Lego bricks, a jig made out of bricks may be less sturdy than one made out of beams. You may want to consider making a backup jig just in case the main one gets misplaced during the commotion of a tournament match.

Making the Robot Align Itself

The robot is programmed to perform a variety of missions. One of the first missions may be to “align itself”.
Advantages: Does not require any extra parts or accessories. There is nothing extra that needs brought to the tournaments or practices. There are no special instructions that need to be followed such as aligning to specific hash marks.
Disadvantages: Requires a few extra seconds for the Robot to perform the alignment process.
Process: The robot will be placed facing one of the walls. The robot then will drive (forward or backward) to the wall to align itself with that wall. Then the robot will drive a few inches away from the wall and make a 90 degree turn to face the other wall. Then the robot will drive (forward or backward) to the other wall to align itself. At this point, the robot has aligned itself with two perpendicular walls and can therefore proceed out of base at a specific heading that it determined on its own without any assistance from manually pointing the robot or using an apparatus to align it.

Detecting the Wall using a Stall Function

Walls are stationary and sturdy. They form excellent boundaries on which to align the robot. A “stall function” is a software solution to enable the robot to effectively detect walls using its built in rotation sensor.
Advantages: uses built in sensor.
Disadvantages: may be less effective under certain conditions that may result in slippage (loss of friction) between the tire and mat.
Process: Instruct the robot to drive into the wall. Monitor the rotation sensor and determine if the wheel has stopped turning. If the wheel has stopped turning, then you can assume the robot is pushed against the wall and not moving at this point.
Tips: Set the power on the motor just low enough to move the robot. If set low enough, the robot may be unable to cause the wheels to slip on the mat surface. This is a desired outcome because if the wheels slip, then the stall will not be detected.
Program:
Walls are stationary and sturdy. They form excellent boundaries on which to align the robot. A “stall function” is a software solution to enable the robot to effectively detect walls using its built in rotation sensor.
Advantages: uses built in sensor.
Disadvantages: may be less effective under certain conditions that may result in slippage (loss of friction) between the tire and mat.
Process: Instruct the robot to drive into the wall. Monitor the rotation sensor and determine if the wheel has stopped turning. If the wheel has stopped turning, then you can assume the robot is pushed against the wall and not moving at this point.
Tips: Set the power on the motor just low enough to move the robot. If set low enough, the robot may be unable to cause the wheels to slip on the mat surface. This is a desired outcome because if the wheels slip, then the stall will not be detected.
Program:

Aligning to the Wall using Drive for Specific Time (duration)

Walls are stationary and sturdy. They form excellent boundaries on which to align the robot. A “stall function” requires specific programming to monitor the rotation sensor(s). A simpler solution may be to simply tell the motors to drive for a specific number of seconds. For example, you could tell the robot to drive into the wall and continue moving the motors for 5 seconds. The duration should be long enough for the robot to reach the wall. If the robot hits the wall and is unable to move further, the program will simply stop trying after the specified number of seconds and will then proceed to the next steps in the program.