EE192: Mechatronics Design Lab Spring 2013

EE192: Course syllabus
lecture: Tu 11:00am - 12:30pm, 293 Cory
discussion: W 2:00pm - 3:00pm, Th 11:00am - 12:00pm, 204 Cory
checkoffs: F 1:30pm - 2:30pm, 204 Cory

instructor: Dr. Igor Paprotny
email: igorpapa@eecs.berkeley.edu
office hours: W 11:30am - 1:30pm or by appointment, 356G Sutardja Dai

teaching assistant: Stephen Chen
email: s.chen@berkeley.edu
office hours: T 2:00pm - 3:00pm, W 4:00pm - 5:00pm, or by appointment, 204 Cory

announcements

2013/2/05

The parts order form is now online in the sidebar. Please fill it out within reason if you have specialty electronics that are not stocked in the lab.

2013/1/22

Welcome to EE192! This course webpage will be important throughout the semester, so regularly check for critical announcements!

course outline

The Mechatronics Design Lab is a design project course focusing on application of theoretical principles in electrical engineering and computer science to control of mechatronic systems incorporating sensors, actuators and intelligence. This course gives you a chance to use your knowledge of (or learn about) power electronics, filtering and signal processing, control, electromechanics, microcontrollers, and real-time embedded software in designing a racing robot.

The class project is to design racing robots which can follow an embedded wire over a curving and self-crossing path at speeds greater than 3 meters per second. Each team starts with a 1/10th-scale RC car platform and a CPU board (already built), and designs sensors, electronics, and control algorithms, and determines an optimal strategy. Vehicles individually follow a 100 meter course, staying on track and avoiding obstacles.

The course project requires students to consider real-world constraints such as limited volume, payload, electrical power, processing power and time. Oral and written reports will be required justifying design choices. Grading will be based upon design checkpoints, the reports and a final exam. A portion of the grade will be determined by vehicle performance and robustness.

prerequisites

CS150, EECS120 or equivalent, C programming experience. (2 out of 3 is ok if teamed up with other students who have those classes)

grading

  • 18% checkoffs

  • 20% final exam

  • 18% oral and written reports

  • 5% written assignments

  • 10% first round results

  • 20% second round results

  • 4% community spirit

  • 5% in-class short quizzes

course materials

There is no required text for this course. Students may benefit from the following recommended texts, which are on reserve in the Engineering Library.

  • D.M. Auslander. Mechatronics: Mechanical System Interfacing

  • R.D. Klafter. Robotic Engineering: An Integrated Approach

  • Horowitz and Hill. The Art of Electronics

note

How to Build a Robot in 5 Easy Steps

Building a basically functioning racing car robot in EECS192 typically takes 5 weeks of the course. Students use the remainder of the course to improve sensors, system integration, and algorithms. Debugging the whole system of course takes time, and the more complicated the system is, the longer the debugging takes. Students work in teams of 2 or 3 students, to divide the work. Experience shows that simple designs take less time to build, and work better!

The design process is broken down into manageable steps through design checkpoints. Each design step is preceded by a lecture covering the main ideas and principles. Here is an outline of the design checkpoints for the first weeks:

  • Week 1: Become familiar with given CPU board. Soldering technique is taught. Use C compiler to write the hello world program and make an LED blink.

  • Week 2: Construct circuit to turn drive motor on and off from logic levels. The circuit design and operation are explained in lecture. Assemble car chassis.

  • Week 3: Demonstrate on-off and forward-reverse of drive motor under computer control using the computer and motor circuit from previous weeks. This requires only a few lines of C code, as the needed computer IO hardware is already provided on the CPU board. Demonstrate left-right control of steering motor.

  • Week 4: Mount CPU board and motor drive board on car chassis, and connect power and control wires. Ensure that the robot car can drive and steer from the battery.

  • Week 5: Demonstrate that the vehicle power, computer, steering and drive are functional by having the robot car drive a simple figure 8: circling left followed by circling right.

Thus after 5 weeks, the vehicle hardware is mostly done. The remaining hardware to add is a line sensor so the robot can stay on the race track. Algorithm and control strategy development take up the next 9 weeks. Again, there are well-defined design check points to ensure timely progress and keep the project scope bounded.

Each robot race car will be individually timed as it follows a line or buried wire laid out on a 100 meter path in a large arena. The path is not known until the time of the race, and has many curves and self-crossings. Every team is using the same motor and batteries, so competitive advantage comes from using smarter algorithms that are better at keeping the car on the race track. A time penalty is used for vehicles that stray too far from the line and knock over traffic cones, so simply using maximum acceleration will not be a good strategy.