Report 4: Prototype Construction Wrapup

Back to main page


Figure 1: Botball robot with claw in starting position.

Progress Update

At the end of the sixth week of the Botball project, the team finds itself with a solidly framed bot possessing many of the primary attributes necessary for the final design. Meanwhile, arena construction was corrected respective to the updated Botball construction list. The arena itself is not complete, though most of it has been painted. For a stable base, the team constructed a 4'x8' plywood table to place underneath the actual arena. Currently, the bot including:

  • Withstands a 3-4 inch drop.
  • Demonstrates basic mobility.
  • Possesses a ping pong ball storage nest.
  • Possesses a rubber-band pulley driven claw with a servo driven elbow.
  • A gate mechanism for releasing the ping pong balls from the nest.

More work needs to be completed on the bot, and further adjustments will be made to the design as the need arises. Primarily, the bot is still lacking:

  • A rotating camera arm.
  • Sonar, tophat, rotation, motor and bump sensor mounting.
  • TP roll support mechanism for claw.
Minor adjustments will also made to the claw itself so that it can successfully manipulate both TP rolls, foam balls and scoring baskets. Relative to our previous timeline, we our approximately one week behind schedule. This tardiness arose mainly from the experimentation necessary in the design of the grabber claw. These observations can be found in the Construction Perspectives section of the report. Additional construction concerns, including the exact placement of the sonar, bump sensors and CMUcam also slowed progress. However, after the general design for the grabber claw was established, construction proceeded quickly in the final week.

Updated Timeline for the Next Three Weeks (as of 3/11/04)

  • Week 1 - Work on the finishing touches for a complete bot that can successfully demonstrate all of the functional requirements of our strategy (The specific parts mentioned above). This requires both the completion of the construction as well as IC code that is capable of manipulating the actuators correctly.
  • Week 2-3 - Begin development of the main strategy logic as well as the unification of the unit test functions described above. This will include navigation code. This should be easier than in many robots. Because we have a global map of the room, we don't need to use techniques to construct maps, such as Markov models [9] or evidence grids [10]. However, we may want to consider using uncertainty principles [12] and Bayesian probability [11] to increase our localization.

Construction Perspectives

For the main chasis, we started with the wheels and motors. We judged out a reasonable spacing for the wheels, and then built a frame around them. The frame was constructed to be sturdy using layered pieces at 90-degree angles to cross-brace the frame. Once the wheels and motors were held securely in place, we started extending the frame. Everything was layered to prevent joints on two stacked pieces from aligning, which helped to make it as strong as possible. Using these techniques we were able to provide support for everything necessary, including the boards, basket, arm and sensors.

The design of the claw was a relatively long process, involving several revisions. We started with a compact preliminary gear setup with three gears: one large one connected to a servo powering a smaller gear (that held one side of the claw), geared to an identical small gear (other claw) so that the two parts of the claw were driven by a single gear but rotated in opposite directions. Once this proof of concept was completed, we aimed for a more sturdy and permanent design, but also one that would ultimately be light enough for a servo to lift. The design we came up with was centered around a casing for the servo motor secured by vertical crossbeams. Since the servo was to open and close the claw, the casing had to be able to move along with the rest of the arm. We used shafts to initally secure the servo, and then built brick walls around it in such a way that it was secure.


Figure 2: Overhead view of botball robot attempting to grab foam ball.

The servo casing was mounted on the end of the arm, so that the gear on top of the servo directly powered the claw. The shaft that was connecting the servo and the gear was secured from above by a brick with a hole in the center of it. Upon initial trials to pick up a foam ball, we discovered that gears did not provide enough slippage. When the servo turned too far against the ball, either the gears would grind against each other, or the casing would break apart under the strain.

We then attempted to use rubber bands as pulleys to power the claw instead of gears. The pulleys were mounted on top of the arm, instead of on the inside like the gears. However, with a servo, running the pulley there was so much slippage that the claw would never grip anything, it would just hit an object and stop because the rubber band would slip and the servo would cease to rotate. Finally, we decided to switch the servo with a normal motor to see if a constant rotation in a given direction combined with the rubber band slippage, would provide enough force to lift a ball and not cause the casing to break apart. This was also when we moved the motor farther back along the length of the arm. The result cost us many rubber bands, but it worked remarkably well. Once this was established, we moved on to the design of the claw itself.

We experimented with many different lengths and configurations for the claw, but in the end we decided that, due to the ball's shape, we were going to use shorter pieces that were more angled in for the bottom grippers, and longer pieces than angled out further for the top. This created a more conforming shape for the foam ball to be gripped. With some experimentation we also discovered that using gears on the ends of the grippers significantly increased the grip on the ball. The current configuration has one side of the claw with both of its grippers on the inside, and the other side has both grippers on the outside. We determined this to be the optimal configuration based on a few runs, but further testing will take place later on.

After taking on the main part of the arm, issues of mounting and optimal grabbing arose. We dicovered that we would not really be able to get the ball out of the nest unless the arm was angled down. However, since we also wanted to collect toilet paper rolls, we were afraid that the downward angling of the arm would reduce the bot's ability to deposit ping-pong balls from the toilet paper rolls into the bin in the back, because the arm was going to be lifted and dropped by a servo capable of only 180 degree rotation. At this point, we designed the hinge system. The arm is only supported from underneath by a peg in the gear on the shaft it's mounted to. When the servo rotates the gear, the peg underneath the arm makes the arm rotate with the gear until a critical angle is reached. At this angle, the arm rotates freely onto another peg on the gear. In this manner, it is possible to have the arm rotate farther than 180 degrees while still using the servo. The hinge allows the arm to tilt back enough to dump ping-pong balls out into the storage bin. The arm can then be lowered once more by the peg that it fell back onto. This design has currently been implemented and installed onto the chassis described above. For the future, we will need to reverse the orientation of the servo that lifts the arm because the arm needs to start in an vertical position as opposed to the current construction which defaults to a horizontal one.

A movie of the arm gripping the foam ball is here: claw in action with ball

The gate mechanism to release the ping pong balls from the hopper consists of a motor, shaft, and a panel to hold the balls in place. When activated, the motor turns the shaft, rotating the panel above the ping pong balls, allowing the balls to roll down the hopper, and out of the bot.

A movie of the gate in action is here: docking with cup.

We faced a number of challenges in designing and implementing the gate. First, we had to make sure the gate was wide enough so that ping pong balls would not clump up and not exit the gate. We overcame this adding the black rails at angle which had a wide enough opening for the balls to exit, but still guided the balls out the exit. Secondly, the gate itself was moving out of the way of the balls when balls were being added to the hopper. This allowed for balls to exit the hopper before the bot was docked with the cup. We fixed this by adding mass to the gate in the form of a wide Lego panel attached to one of the gate's rods. When a ball hits the panel, the gate is heavier and the panel rotates instead of lifting the gate.

There are still some problems with the gate. For instance, it cannot force balls out of the hopper that may become stuck. Perhaps the gate can be reduced in width so that it can freely rotate through the hopper on the motor shaft.

Secondly, it is crucial that the robot remain stationary while depositing the balls, as this film illustrates: docking mishap


References


0. Collegiate Botball Rules - 2004
1. Horswill, Ian The Polly System.
2. Brooks, Rodney Achieving Artificial Intelligence Through Building Blocks, MIT AI LAB, Memo 889, May, 1986.
3. Botball Kit Part List.
4. Handy Board and Interactive C Documentation.
5. Vaughn, Richard et al. Experiments in Automatic Flock Control. Publication details unknown.
6. Nourbakhsh, Illah et al. Dervish: An Office Navigating Robot. AI Magazine, Summer 1995, pp. 53-60.
7. Dellaert, Frank et al. Monte Carlo Localization for Mobile Robots. Publication details unknown.
8. Drumwright, Evan et al. Exemplar-Based Primitives for Humanoid Movement Classification and Control. IEEE 2004 Conference on Robotics and Automation. 9. Simmons, Reid et al. Probabilistic Robot Navigation in Partially Observable Environments. Publication details unknown.
10. Martin, M.C. et al. Robot Evidence Grids. Tech report #CMU-RI-TR-96-06, March 1996.
11. Leonhardt, David. Subconsciously, Athletes May Play Like Statisticians. New York Times, Jan. 20, 2004.
12. Roy, Nicholas et al. Coastal Navigation — Mobile Robot Navigation with Uncertainty in Dynamic Environments. Publication details unknown.