We explore the control of a nonholonomic
robot subject to additional constraints on the state variables.
In our problem, the user specifies the path of a subset of the
state variables (the task freedoms xP ), i.e. a curve xP (s)
where s
∈ [0, 1] is a parametrization that the user chooses.
We control the trajectory of the task freedoms by specifying
a bilateral time-scaling s(t) which assigns a point on the
path for each time t. The time-scaling is termed bilateral
because there is no restriction on ˙
s(t), the task freedoms
are allowed to move backwards along the path. We design
a controller that satisfies the user directive and controls
the remaining state variables (the shape freedoms xR ) to
satisfy the constraints. Furthermore, we attempt to reduce
the number of control switchings, as these result in relatively
large errors in our system state. If a constraint is close to
being violated (at a switching point), we back up xP along the
path for a small time interval and move xR to an open region.
We show that there are a finite number of switching points
for arbitrary task freedom paths. We implement our control
scheme on the Mobipulator and discuss a generalization to
arbitrary systems satisfying similar properties.