Calibrating Your Robot Using UMBMark

By Paul Bouchier
This procedure summarizes the robot dead-reckoning calibration
procedure found in:
UMBMark – A Method for Measuring, Comparing, and Correcting Dead-reckoning Errors in Mobile Robots
by Borenstein et. al.

Overview

The paper asserts that most dead-reckoning errors come from 2 sources:

  1. Error in assumed wheelbase, which results in turning a different amount than dead-reckoning calculations predict
  2. Difference in wheel diameter. (Ron showed in simulation that a 0.1% error in wheel diameter produces significant deviation from driving a straight line.

The two error sources interact. The figure below shows how a robot can be incorrectly tuned so that these two errors cancel each other out, returning the robot to its starting position (when run in the clockwise direction only).


Figure 1: Two errors cancelling – copyright University of Michigan
The figure below shows how each error in the absence of the other can return the robot to the same ending location

Continue reading

SUBSUMPTION FOR THE SR04 AND JBOT ROBOTS

by David P. Anderson
26 March 2007

 

Featured Image: Subsumption diagram (Flynn & Jones).

Motivation
This article is a compilation of a series of email postings on the Dallas Personal Robotics Group list server concerning the topic of robot programming, and particularly the technique developed by Rodney Brooks and his colleagues at M.I.T., known as subsumption.

It’s not intended as an exhaustive study of the topic, but rather as an overview and context for some particular practical examples from my own robots. The two used here are the SR04 robot and jBot, although the LEGOBot runs very similar software. If you’d like to examine videos of the behaviors of these robots, the LEGOBot webpage has links for these and a few other robots.
Continue reading

PID Motor Control for Robot Applications

Written by Rick Bickle – November 7, 2003

The following presentation looks at the operation of control systems in general, as well as specific control systems for DC motor controls in robots. Circuits used in motor speed control, techniques for speed control, and examples of different types of control systems are shown. Finally, a description of a specific type of motor control system called a PID system is detailed, showing the mathematics of PID, the parameters, the algorithms used, possible pit falls of PID programming, and an example of a PID tuning method.

Presentation PDF file: motorcontrol

Need even more information on PID? Here are links to a few other good sources of information on this important control technique.

Brief H-Bridge Theory of Operation

April 1998, Written by Jim Brown
September 2002, page format revised, links updated by Bob Jordan

What’s all this talk about H-Bridges? How do they work? Well let’s see . . .

How do we make a motor turn?
You take a battery; hook the positive side to one side of your DC motor. Then you connect the negative side of the battery to the other motor lead. The motor spins forward. If you swap the battery leads the motor spins in reverse.

Ok, that’s basic. Now lets say you want a Micro Controller Unit (MCU) to control the motor, how would you do it? Well, for starters you get a device that would act like a solid state switch, a transistor, and hook it up the motor.

NOTE: If you connect up these relay circuits, remember to put a diode across the coil of the relay. This will keep the spike voltage (back EMF), coming out of the coil of the relay, from getting into the MCU and damaging it. The anode, which is the arrow side of the diode, should connect to ground. The bar, which is the Cathode side of the diode, should connect to the coil where the MCU connects to the relay.

Diagram 1Continue reading