Imagine using a differential drive robot to push a box around on the floor, as shown in Figure 13.7a. It is assumed that the box is a convex polygon, one edge of which contacts the front of the robot. There are frictional contacts between the box and floor and also between the box and robot. Suppose that the robot is moving slowly enough so that dynamics are insignificant. It is assumed that the box cannot move unless the robot is moving. This prohibits manipulations such as ``kicking'' the box across the room. The term stable pushing [12,671,681] refers to the case in which the robot moves the box as if the box were rigidly attached to the robot.
As the robot pushes the box, the box may slide or rotate, as shown in Figures 13.7b and 13.7c, respectively. These cases are considered illegal because they do not constitute stable pushing. What motions of the robot are possible? Begin with the configuration transition equation of the differential drive robot, and then determine which constraints need to be placed on to maintain stable pushing. Suppose that (13.17) is used. It is clear that only forward motion is possible because the robot immediately breaks contact with the box if the robot moves in the opposite direction. Thus, must be positive (also, to fit the quasi-static model, should be small enough so that dynamical effects become insignificant). How should the rotation rate be constrained? Constraints on depend on the friction model (e.g., Coulomb), the shape of the box, and the particular edge that is being pushed. Details on these constraints are given in [671,681]. This leads to an interval , in which and , and it is required that . This combination of constraints produces a motion model that is similar to the Dubins car. The main difference is that the maximum steering angle in the left and right directions may be different.
To apply this model for planning, it seems that the C-space should be because there are two rigid bodies. The manipulation planning framework of Section 7.3.2 can be applied to obtain a hybrid system and manipulation graph that expresses the various ways in which the robot can contact the box or fail to contact the box. For example, the robot may be able to push the box along one of several possible edges. If the robot becomes stuck, it can change the pushing edge to move the box in a new direction.
Steven M LaValle 2012-04-20