beautypg.com

Pioneer in motion, Pid controls – Pioneer 2 / PeopleBot User Manual

Page 43

background image

ActivMedia Robotics

and velocity of the robot.

When in translation/ rotation (TR) motion control (recommended), separate translation
and rotation servers work independently to achieve the specified forward/ reverse

speed and heading of the robot. P2OS will try to make the robot achieve the desired

translational velocity and rotate to the desired heading as soon as the commands are
received. Acceleration and deceleration managers, which default values you may
prepare and also change on-the-fly (SETRA and SETA), operate independently for
translation and rotation, too.

Pioneer in Motion

When P2OS receives a translation, rotation, or direct-wheel velocity command, it
accelerates the robot at the SETA (both TR and VEL2 modes)and SETRA (TR mode only)
rates you program, or at the rates preset in the P2OS configuration parameters.

Rotational headings and translational setpoints are achieved by a trapezoidal velocity

function. This function is recomputed each time a new motion command is received,
making on-the-fly changes possible.

rotational
velocity

time

max velocity

accel

decel

position
achieved

short turn,
max velocity
not reached

position
achieved

start
position

Figure 20. Pioneer’s trapezoidal turning velocity profile

Rotational and

translational velocities
are limited to the

maximum values set in

the P2OS parameters or
which you may reset

with the SETVEL and

SETRV commands.

Maximums take affect

on subsequent

commands, not
previously established

velocity or heading
setpoints.

Note that with P2OS version 1.8 and later, you may override deceleration with the
emergency stop (E_STOP) command number 55 or with the Emergency STOP button
enabled on the Performance PeopleBot (E_STALL command #56). Accordingly, the
robot brakes to zero translational and rotational velocities with very high deceleration

and remains stopped until it receives a subsequent translational or rotational velocity

command from the client. (See E_STOP and E_STALL later in this chapter.)

PID Controls

The Pioneer drive servers use a common Proportional-Integral-Derivative (PID) control
system to adjust the PWM pulse width at the drivers and subsequent power to the

motors. The motor-duty cycle is 200 µsec; pulse-width is proportional 0-500.

The P2OS drive servers recalculate and adjust your robot’s trajectory and speed every
10ms (P2OS v1.I and earlier) or every 5ms (P2OS1.J) based on feedback from the wheel

encoders. Note that the latter time cycle leads to enhanced performance of the robot.

The default PID values for both translation and rotation are stored in FLASH. Beginning
with P2OS1.J, you may change those values on the fly with the client commands 84-87.

37