beautypg.com

Pid parameters, Encoder and revcount, Pid p – Pioneer 2 / PeopleBot User Manual

Page 58: Arameters, Ncoder and, Evcount

background image

Updating and Reconfiguring P2OS

PID Parameters

The P2OS configuration parameters include settings for the PID motors controls for

translation and rotation of the robot. The translation PID values also apply to
independent wheel velocities. The default values shown in the Table are for a

moderately loaded robot. Experiment with different values to improve the performance

of your robot in its current environment.

Note that with P2OS version 1.J and later, the PID values have changed from earlier

versions due to changes in the drive servers. Overall drive performance has improved

with the latter version and is much less sensitive individual PID values. Consequently, we
recommend the listed values for all Pioneer 2 and PeopleBot robots, whereas earlier

P2OS versions required much more tuning of the parameters depending on robot type

and configuration/payload.

The P term value Kp increases the overall gain of the system by amplifying the position

error. Large gains will have a tendency to overshoot the velocity goal; small gains will

limit the overshoot but cause the system to become sluggish. We’ve found that a fully
loaded robot works best with a Kp setting of around 15 to 20, whereas lightly loaded

robot may work best with Kp in the range of 20 to 30.

The D term Kv provides a PID gain factor that is proportional to the output velocity. It has
the greatest effect on system damping and minimizing oscillations within the drive

system. The term usually is the first to be adjusted if you encounter unsatisfactory drive

response. Typically, we find Kv to work best in the range of 600 to 800 for lightly to heavily
loaded robots, respectively.

The I Term Ki moderates any steady state errors thereby limiting velocity fluctuations

during the course of a move. At rest, your robot will seek to “zero out” any command
position error. Too large of a Ki factor will cause an excessive windup of the motor when

the load changes, such as when climbing over a bump or accelerating to a new speed.

Consequently, we typically use a minimum value for Ki in the range of 0 to 10 for lightly to
heavily loaded robots respectively.

Encoder and Revcount

P2OS uses the encoder and revcount parameters to convert your platform-independent
speed and rotation commands—typically expressed in millimeters or degrees per
second, respectively—into platform-dependent units. In previous versions, the encoder
value was contained in the P2OS code. With improvements to the motion control servers

in P2OS and to support the increasing variety of ActivMedia robot configurations, the
encoder

value is now included as a configuration parameter, although unlike revcount,

its value is a constant.

The encoder value is the number of encoder pulses (“ticks”) per millimeter of wheel
rotation. The encoder value is, of course, dependent upon the wheel encoder’s
resolution, the motor-to-wheel gear ratio, and the wheel’s diameter.

The revcount value is the number of encoder ticks for one full revolution of the robot. It
depends on a number of factors, principally the length of the wheel base, which may

change due to payload, tire wear, operating surface, and so on. Accordingly, we
provide a calibration tool that lets you determine revcount for your individual robot
configuration and operating conditions.

Table 16. Some platform-dependent robot parameter values

Model

52