Page 299 - Sensing, Intelligence, Motion : How Robots and Humans Move in an Unstructured World
P. 299

274    MOTION PLANNING FOR THREE-DIMENSIONAL ARM MANIPULATORS

              As before with 2D arms, motion planning algorithms that we will design for
           3D arms will depend heavily on the underlying arm kinematics. Each kinematics
           type will require its own algorithm. The extent of algorithm specialization due to
           arm kinematics will be even more pronounced in the 3D case than in the 2D case.
           Let us emphasize again that this is not a problem of depth of algorithmic research
           but is instead a fundamental constraint in the relationship between kinematics and
           motion. The same is true, of course, in nature: The way a four-legged cat walks is
           very different from the way a two-legged human walks. Among four-legged, the
           gaits of cats and turtles differ markedly. One factor here is the optimization pro-
           cess carried out by the evolution. Even if a “one fits all” motion control procedure
           is feasible, it will likely be cumbersome and inefficient compared to algorithms
           that exploit specific kinematic peculiarities. We observed this in the 2D case
           (Section 5.8.4): While we found a way to use the same sensor-based motion
           planning algorithm for different kinematics types, we also noted the price in
           inefficiency that this universality carried. Here we will attempt both approaches.
              This is not to say that the general approach to motion planning will be changing
           from one arm to another; as we have already seen, the overall SIM approach is
           remarkably the same independent of the robot kinematics, from a sturdy mobile
           robot to a long-limbed arm manipulator.
              As before, let letters P and R refer to prismatic and revolute joints, respec-
           tively. We will also use the letter X to represent either a P or a R joint,
           X = [P, R]. A three-joint robot arm manipulator (or the major linkage of an
           arm), XXX, can therefore be one of eight basic kinematic linkages: PPP, RPP,
           PRP, RRP, PPR, RPR, PRR,and RRR. As noted in Ref. 111, each basic linkage
           can be implemented with different geometries, which produces 36 linkages with
           joint axes that are either perpendicular or parallel to one another. Among these,
           nine degenerate into linkages with only one or two DOF; seven are planar. By
           also eliminating equivalent linkages, the remaining 20 possible spatial linkages
           are further reduced to 12, some of which are of only theoretical interest.
              The above sequence XXX is written in such an order that the first four linkages
           in it are XXP arms; in each of them the outermost joint is a P joint. Those four
           are among the five major 3D linkages (see Figure 6.1) that are commonly seen
           in industry [111–113] and that together cover practically all today’s commercial
           and special-purpose robot arm manipulators. It turns out that these four XXP
           arms are better amenable to sensor-based motion planning than the fifth one
           (Figure 6.1e) and than the remaining four arms in the XXX sequence. It is XXP
           arms that will be studied in this chapter.
              While formally these four linkages—PPP, RPP, PRP,and RRP—cover a half
           of the full group XXX, they represent four out of five, or 80%, of the linkages
           in Figure 6.1. Many, though not all, robot arm applications are based on XXP
           major linkages. Welding, assembly, and pick-and-place robot arms are especially
           common in this group, one reason being that a prismatic joint makes it easy to
           produce a straight-line motion and to expand the operating space. The so-called
           SCARA arm (Selective Compliance Assembly Robot Arm), whose major linkage
   294   295   296   297   298   299   300   301   302   303   304