The primary motivation behind the controller used for coordinated control of DM^2 is that it should generate reasonable performance without a detailed model of the complex system dynamics of the robot. For this purpose, we use a joint-based PI controller with some additional features, including a damping term which is proportional to the velocity of the output, a static friction term, and a gravity compensation term.

The damping term makes it possible to achieve a response which is fast yet overdamped. Reasonable performance can be achieved by tuning the gains of the proportional term, the integral term, and the damping term. This tuning can be done without having to know the detailed dynamics of the system, as long as the relationship between output voltage and joint torque is sufficiently monotonic. When a joint is far from the desired location, the controller is a proportional controller with a damping term. By limiting the velocity of joint motion, the damping term allows us to use a large proportional gain without having to worry about overshoot. When the joint is sufficiently close to the set-point, the integral term is turned on to eliminate steady-state error.

To counteract the effects of steady-state friction in the system when the joint is too far from the set-point to turn the integral term on, we also add a friction term into the joint controller when it detects that the joint velocity is zero. This term is experimentally determined for each joint such that it can overcome the effects of static friction in the case that the proportional term is too small to initiate motion in the joint.

In cases where the set-point is significantly distant from the measured joint position, the reference signal for the controller is not the set-point but rather a lead-point which is a constant distance from the measured point in the direction of the set-point. When the distance to the set-point becomes closer than the distance to the lead-point, then the controller is given the set-point as the value to converge to.

Tuning of the joint controller is performed by analyzing plots of the performance data logged in experimental trials. Rules of thumb for tuning the controller include increasing proportional gain if joint motion is too fast, and reducing proportional gain if joint motion is too slow. If the joint is shaking back and forth across the set-point the gain for the integral term is reduced, but if the time to settle to steady-state is too long the integral gain is increased. The damping term should be strong enough to prevent overshoot but not so strong as to inhibit motion to the set-point. Finally, the frictional term should be strong enough to help the proportional term to overcome static friction but should not be the dominant term in the controller.

This controller has been shown to be satisfactory for performing basic tasks involving coordination of the mobile base and the manipulator arm, but we will be experimenting with other robust control techniques which will improve performance while assuming minimal a priori knowledge of system dynamics. These techniques may include adaptive control, robust control, and various guises of intelligent learning control.

Christopher Lee (chrislee@ri.cmu.edu)