Updated 05/08/03 by Bharath (webmaster).

Robotics Notes for EECS 40

Welcome to the robotics notes for EECS 40. Below you will find information on building the basic CalBOT and tips on how to spice it up!

I. Building Robots

A. How to build the basic CalBOT

The CalBOT manual below should help you in completing the basic CalBOT (by "basic CalBOT", I mean the robot will implement
obstacle-avoidance behavior only). I started writing this manual in the summer of 2000 so people do not have to undergo a "Sleepless in
Cory" experience to finish the CalBOT. Doing this project is supposed to be fun, and that has been my goal in writing this manual. I
have tried to keep the manual short and down to earth.

However, I am not always right (If I was, I wouldn't be here). Please email me (mbharat@cory.eecs.berkeley.edu) suggestions, comments, and criticisms. Read the intro chapter in the manual below for further info. on the CalBOT.

The CalBOT manual chapters are available to download individually so it does not place a heavy burden on your internet

Once you have finished the basic CalBOT, it is up to you to spice it up as much as you want (please, we don't want robots with shot guns and itchy "trigger fingers"). The interfacing ideas and the links section on this page are a place to start. Once you think you have the
ultimate robot, why don't you match it up with your peers? Keep checking the contest section on this page for more info. on this.

  1. Introduction to Robotics and the CalBOT
  2. Microcontroller Basics
  3. Understanding the components of your CalBOT kit
  4. Programming the C167,  Calbot project files by http, or Network Share: \\fileservice\ee4x\robot
  5. Controlling the motor - programming the PWM
  6. Interfacing a touch sensor
  7. Pitfalls and Pointers
  8. Appendix A: Number Systems
  9. Appendix B: Pinouts and Tables
  10. References
  11. Many thanks!

B. Datasheets and other useful stuff

PLEASE NOTE: Before you rush out and buy any components required to build your robot, please contact us. We may have the component you need! Suggestion: build electronics on another board so in case the calbot motherboard dies, you don't have to rebuild all the circuitry.

0. CalBOT motor specs: Max speed @ 3 Volt/ 53,000 RPMs. Torque: 4.0 g/cm. The CalBOT has a maximum speed of 12 metre/minute, with the given chassis configuration.
1.5 CalBOT motor driver datasheet

1. Sonar Ranging Module datasheet.

2. LCD interfacing by James Nevius

Please note: the correct pin numbering for your LCD is here. Everything else in the instructions by James above is correct.

3. Infrared sensor interfacing notes (courtesy of Konrad Aschenbach).

4. Using interrupts in the C167 (You also need to have #define T3INT 0x23 in your code. For more information on interrupt numbers, refer to the chapter on Interrupts and Trap Functions in the C167 hardware manual).

5. Flash download information, Correct Start167.a66 file for Flash

6. Keil IDE User's Guide.

7. Sick and tired of using windows tools to program the C167? Guess what: you do have a gcc cross-compiler tool chain for the C167. Check out the following link: HighTec. They are a German firm that produce the software. Go to the download area to download an eval. version. The eval. version is more than enough for your needs. PLEASE NOTE: EECS 40 does NOT support the gcc tools. This means you cannot expect help from the TAs and support staff. Do not even ask! If you need help with the tools, you are more than welcome to contact me or you can post messages to the EECS 40 newsgroup.

II. CalBOT Contest


I. Contest Logistcs
1. Here are the contest logistics.

2. Prizes include Microsoft XBox consoles and games, Agilent Multimeters, neat and functional Logo-wear, and some surprises!

3. PLEASE SIGN UP FOR THE CONTEST BY SENDING EMAIL TO BHARATH ( mbharat@cory.eecs.berkeley.edu). Please include the names of the people in your group, your Calbot name, and your Calbot specs/tricks. We will use this information to make name tags and keep track of the entrants for the contest.
BONUS: First 20 students to sign up and participate are guaranteed a prize, and first dibs on the pizza!

II. Contest FAQs:
Q (1) Nowhere in the contest rules does it mention we have to use the microcontroller you've provide us for the speed and/or the functionality competition. Can we use our own?
A: NO, you cannot use your own microcontroller board. You must use the KitCON-167 that came with the CalBOT. HOWEVER, YOU MAY USE ANOTHER BOARD TO PERFORM OFFLINE PROCESSING LIKE VOICE RECOGNITION ETC.

Q (2) May we open the servo/motor and increase its coil windings to boost its power? Or are "mods" on the motor not allowed?
A: NO, "mods" to the motor are NOT allowed. However, like rule b. says under the Speed contest, you may change the gearing etc.

Q (3) There is no mention whether we need to use the motor to specifically power the wheel. So can I use it to ignite a mini gasoline engine? Or just act as a dummy mechanism to entertain the viewers?
A: NOTHING OF THAT SORT, we don't want to create a fire hazard.

Q (4) There is no mention whether we can/cannot use our own power sources in addition to the battery provided for the speed contest.

Q (5) There is no mention whether the CalBOT must stay on the ground at all times during the speed contest. Can it jump? fly? launch itself as a projectile?
A: MUST STAY ON THE GROUND AT ALL TIMES. IF IT JUMPS, FLIES ETC -> NO SPEED CONTEST! You may enter for the best functionality contest.

Q (6) Can I perform offline processing?
A: Yes, look at Q 1) above.

Q (7) Can other components on the calbot use other power sources? I understand for the speed contest we may only use the battery provided. But can we have an additional power source to power other items like any features we add onto the Calbot?
A: Nope, that is one of the challenges -> get everything to run off the given NiCd. You can pull it off, but you have to think about power distribution. This will hopefully make you appreciate the difficulties encountered in a remote robotics project like the MARS pathfinder. (Note: storage of energy from the NiCd battery is allowed.)

Here are some robot ideas for the contest: Contest Robots.

III. Links

1. The EECS 192 (mechatronics design lab) homepage. This is the ultimate robotics class in the EECS department. They use the same microcontroller board to design an autonomous RC race car. Check out the link above for more info.

2. Robotics @ UC Berkeley. The EECS robotics homepage

3. MIT AI Lab homepage.

4. BEAM Robotics homepage.

5. ROBOSAPIENS: A must have for every robotics enthusiast!

6. LEGO Mindstorms.

7. SARCOS robotics corporation in Utah. Great place to work!.

8. Honda Humanoid Robot homepage.