From: AAAI-84 Proceedings. Copyright ©1984, AAAI (www.aaai.org). All rights reserved. Task Frames in Robot Manipulation Dana H. Ballard Department of Computer Science University of Rochester Rochester, NY 14627 disadvantage Abstract details Most robotics computations based frame of reference; refer to a single world- however, several advantages of this level is that important are suppressed. For depend example, CLEAR(x) may on the environment and the manipulator. geometric the predicate geometry of the Objects that might be accrue with the introduction of a second frame, termed a task frame. A task frame is a coordinate frame that can be CLEAR with respect to a multiple degree-of-freedom manipulator might not be CLFAR to a loh-degree-of- attached freedom to different objects that are to be manipulated. The task frame is related to the world-based coordinate frame by a simple geometric transformation. The virtues Cartesian Similar kinds of arguments can be made for the lowest level of abstraction, the servomechanism itself. The basic problem of the servomechanism is to exert forces on of such a frame are: (1) certain actions that are difficult to specify in the world frame are easily expressed in the task objects frame: (2) the task-frame to task-uorld transformation provides a formalism for describing physical actions; and in the world and transport solved independently from the symbolic plan using only the inverse dynamics of the manipulator. At the symbolic proprioception. level, problems *This research was supported Foundation under Grant problems levels of abstraction. be analyzed WCS-8203920. can be solved without appealing planning it symbolically servomechanisms is are best considered vvithin a given abstraction helpful without involving that implement independent to such For of the actions. The for geometrical actions while example, property in robot consider details can level an CLEAR(x) action CLEAR(x): ON(x,z); CLEAR(z): be a necessary symbolic the necessary level, the structure that Another element of the must geometrical level with that manipulators On(x,y) described CLEAR(y). can be created systematically. may the the is that it servomechanism be able level. to More specifically, we argue that the geometrical level must contain structure that functions as a command language The principal advantage of such a system is that symbolic plans involving several actions which achieve a set of goal conditions at level contains for the servomechanism Postconditions: of the context. allows this property to be established. communicate standard symbolic description for the action move xfiom y to z in a STRIPS-like expression [Fikes and Nilsson, 19711 is: MOVW, Y, d Preconditions: level problems The geometric level provider an explicit representation of space that includes geometrical and mechanical structure. at different to other levels. For example, often of the details; at the servomechanism The natural level of abstraction to introduce between the symbolic level and servo level is a geometric level. This is because many problems effectively can be solved independent just as important, in part by the National 1. Introduction Robotics them along desired trajectories. The control problem of “given a trajectory, find the actuator torques required to follou it,” can be (3) the task frame can be related to the world frame by Science manipulator. The 16 level. To first order, we argue need only these three levels, which are in Table 1. Table 1: Levels of Abstraction (b) Trajectory 9 in Robot Manipulation Level Description symbolic STRIPS-like description of actions; planning done by chaining appropriate actions to change current state to goal state geometric representation of space in which actions take place: command language for servomechanism level servomechanism detailed description of manipulator: inertial parameters, friction models, manipulator internal geometry as a transformation locus. A task frame is related to C surfaces but is different in a crucial way. Rather than thinking about the C- surface in the world frame, the task frame is intrinsically The central idea of this paper is that of a task fww. A task frame is described at the geometric fixed to the object being manipulated level and is a geometric coordinate frame that is attached to the object being manipulated. To understand the notation for a task geometric frame, one manipulation the computations wor/Li frame. compliance constrained must appreciate that and control strategies to a single An example (for the duration transformation. That is, given any two of the set (task frame, world frame, task-world current robot tend to refer reference frame, termed the of such a strategy is that of third is easily computed. transformation), Figure lb shows 19811, where the manipulator is to move along given geometric surfaces. Such in the sense that either one could be transformed into the other. The important the task difference is that uithin frame formalism, the problem of turning surfaces have been termed C-surfaces [Mason, 19811. For simply described example, meet as “push in the el-direction until The expedient of introducing a crank. the crank handle traverse a given path in the world frame, as shoun Figure la, which is taken the characterization of the task frame for the problem of turning the crank. The two representations are equivalent [Paul, when turning of the task) and is related to the world frame by the obvious will by resistence.” intrinsic from [Brady et al.. 19821. frame and separating transformation the crank can be thz intrinsic has the following hou an frame from its adv an tages: 1) many actions that are difficult to express in the world frame have very srmplr: expressions respect to the task frame and tranbfortnation fact, they can be described respect the (in with to these two entities); 2) the frame-transformation relate simply geomtitric in by invariants with world descriptions; with decoupling allous and mechanical corresponding us to changes symbolic and betueen the task frame and 3) the transformation world frame can be ccjmputed via both visic~n and proprioception. The crux of the rest of the paper is to describe these advantages in detail. Section 2 contains from geometry and mechanics subsequent material. Section between the geometric on the recognition Figure 1: (a) Trajectory - -u- \ I .a as a world-frame locus. involve 17 mechanics. the basic notions needed to understand the 3 describes the interface and symbolic levels. The focus is and implementation Section 4 describes of actions the that interface between the geometric and servomechanism focus is on the self-calibration n). The external necessary to relate the task and world frames, and the automatic the two levels introduced the tip of the manipulator levels. The relations joint between by the task frame formalism. To An orthogonal vectors, geometric el, coordinate e2, e3, such that frame consists of any two pair dynamic equations drive the arm, (1) S, f, n are assumed known and the torques 7 can be related to (f, n) by a set of equations: I. = f-l@, f, n). Recently developed solution techniques are have perpendicular a right-handed (ei * ej = 0, for i f j), they form coordinate system (e3 = el x e2), and all the vectors are unit vectors (ei . ei = 1). To denote the world frame the subscript w is used. made equations it practical in real time to solve [Luh 1980). The easier problem the the inverse dynamics et al., 1980: Hollerbach, is readily also solved: given 2, f, and n, determine task frame the subscript t is used, i.e., elt, e2t, e3t, and to denote force and torque can be related to the by general Equation 1 is solved for the control torques 1. This way of solving (1) is known as the inverse dynamics. That is, A. Geometry mutually by a vector(f, F (1, 8, f, n) = 0 2. Geometry and Mechanics three torques can be described that is, 8. Each frame has an origin x = (x, y, z), so that xt is the origin of the task frame and xw is the origin of the world frame. The world frame can be thought of as described in terms of master coordinates. In this case xw = 0, elw = (1, 0, 0), e2w = (0, 1, 0), and e3w = (0, 0, 1). To denote frame a (x, eL, e2, e3) we use E. Given the task transformation frame between and them can rotation and a translation. rotation is done first since rotation commute. world frame. be specified The understanding The transformation by a is that the and translation is specified the do not by an origin ‘T change Ax = (AK, A}‘, AZ) and a rotation (n, 8). The later notation where stands n is for a rotation expressed transformation in 8 about world can be computed a unit vector n coordinates. directly Figure 2: Two-link The as: Besides the dynamics Ax = xt - problem. xw Given d@/dt, d2g/dt2, and, assuming a quaternion [Per-tin and Webb, n = for rotations manipulator 19831: Normalize((elt e = (-(n representation x q)(n - eZ,)) independently tip xp, dxp/dt, d2xp/dt2. l/2 In of the This is the easy x find &-is harder by designing manipulators but with dynamics solutions. the manipulator, The expressed links can be described by joint angles e (rotary joints) which are controlled by applying torques 7. One such is the two-link. planar manipulator configuration 19831. c’ery simple analytical is a series of links. Each link is by its own servomotor. in terms of @, the motion special geometries. One such geometry is a spherical wrist [Feather-stone, inverse controlled there is the kinematics one must determine can be solved analytically B. Mechanics A robot manipulator problem the state of the system part. The reverse problem--given - eLw) x (e2t x qw>) planar manipulator. manipulator and inverse For example, joint torques geometries kinematics both may in the two-link 71 and the have planar 72 may be as 71 = A + B + Cfx + Dfy + n suggested by [Horn, 19751. Figure 2 shows the manipulator geometry. The force and torque applied at ?2 -- E + F + Gf, 18 + Hfy + n (2) where A, B, C, D, E, F, G, and involving the manipulator velocities and accelerations, acceleration: dependent problem the letters B and on gravity. These equations of controlling underdetermined. (n, However, f) This this if the problem case structure has three all leads is naturally level for describing principal invariants: (2) to advantages: the a actions. (1) its formalism is abstract that the same action can be used in a and (3) its variety of contexts; interpreted by the servomechanism. show that the in are sufficiently terms frame at the geometric formalism elements on velocity F denote task formalism joint angles S, joint angular mass, and inertial parameters. The letters A and E denote terms dependent and The H are expressions structure can bc is simplified The format that we adopt for representing slightly, e.g., the gripper is a finger such that n = 0, then Each has a set of a control preconditions that must be true for the ,action to be applicable, a set of while conditions that must hold Our example assumes such a gripper. 3. Geometry and Symbols: Recognizing and Implementing during the execution Actions This section shows how the geometrical task frame and transform conditions. notions of a can be of general of actions; (2) the task frame and transformation the task frame allows checking for collisions and (3) This between If an object approaching z-velocity structure development geometric of falling. is falling then is FALLING(obj) In other are used by the various conditions. takes which constraints. advantage related of symbolic Consider the previous constraints and the example of closing a symbolically as: DOORCLOSI%G(door) that of the world frame origin such that the is negative. as: then do ( whileconditions} door. This can be expressed the description its origin is described (stoppingconditions) where the parameters objects. To start with the first point. consider of the action, and a set of stopping an action if (preconditions) until allows a of tasks in terms of invariants; Thus ActionName(params) use in a symbolic planner. In particular: (1) the framework allows the interrelation of symbolic and geometric descriptions simple description syntax. action the external forces at the tip can be directly related to the torques. STRIPS-like actions has if TOUCHING(door) words, until < = > (vz < 0) then do PUSH(door) ARRESTED(door) but also can be expressed geometrically as DOORCLOSING(door) where the understanding is that expressions involving and changes in such are positions and orientations task-frame world-frame to the about statements transformation. Expressing the process of falling as a rate of change has the effect of making static situation. throughout The logical expression it comparable if (E,O,O)then do (f,O,O) & .4LIGNED(Et,Ehandle) until This illustrates a number of important points which we will nou elaborate. In the first place. note that we have been able to decouple the force constraints from to a (vz < 0) must hold the geometric constraints. the falling process. The task frame orientation may also play a role in the description. syntax (O,O,O) C-surfaces For example: (A similar decoupling is seen in for the cases of pure force or pure position control [Mason, 19811.) Thus rather than specify that force RIGHT-SIDE-UP(obj) < = > ALIGNED(e3,, e3w) control of the handle in the world frame [Mason, 19311 uhere it has a varying locus, it is specified in the task In this as in the previous example, a first order logic with expressions consisting of is assumed syntax predicates denoted by upper case, terms denoted by frame where it has a very simple structure. The notation ft = (fl, f2, f3) stands for exertjbrce ft in the task frame lower case. The point of these examples is that for problems involving Newtonian mechanics, the task-frame less than that required to world-frame systematically large enough to start the object moving. The key virtue of the task frame is that the force ft can be an invariant geometrical coordinate s?lstem. Ihe transformation provides the basis for and expressions symbolic relating expressions. during 19 the action. quantity E is a small contact force, to move the object, v+hereas f is action. Figure The second part of the while condition door expresses and some the relationship other frame between expressed for closing the handled the task frame in world 3 shows two different by DOORCLOSING. assumed to be perpendicular frame tasks which can be In the first, gravity is to the plane, i.e., the figure shows a top view. coordinates. For the earlier discussion one can appreciate that given Et and predicate Ehandle. *e ALIGNED(E,,Eh) is easy to compute. The following scenario DOORCLOSING. is imagined for the action Given that the handle servomechanism is grasped, applies a force in the elt direction task frame to move the door. The door moves bumps into the door frame, of the until torques. satisfies such stopping microdynamics of servomechanism, condition. the Details are contact left to the of The above strategy does not address the problem of details until we will defer This as the the discussion these and it at which time the frame exerts a force f to cancel the manipulator the the the next section. slamming the door. This can happen when the force is too large. To deal with this example we will add one condition and change while condition notation slightly. First we add the (11~11E [YO - AU, ~0 f A”]). This states that the speed of the task frame with respect to the world frame is to be constrained in the interkal YO -t AU. As a shorthand, we use capital letters to specify interFals, i.e., vo f AU = VO. The second change relax the force specification specification The we will make is to in the task frame to just the of the axis to be controlled, while condition in this case ‘1. becomes: Figure 3: Different tasks which can be handled by {whilecondition) = FORCECO\TROL(etl) DOORCLOSING. and (11~11 f L’o) and ALIGhED(E,,Eh) The understanding this to simplistic is that the servomechanism generate the possibility appropriate In these examples, recognizing one of DOORCLOSING can use commands. would One be difficult plausibly, is: but that the described from the geometric perhaps the relevant geometric which in this case are specified if llvll > YO + AV then if llvll < ~0 + AU then fl : = fl : = known. fl + A fl - A not impossible. action is features More features of the problem. by Et, may already In any case, the geometric be level is the essential starting point from which the relevant constraints can be synthesized. Notice that although the while conditions have become their essential structure has been more complex, maintained in that they are invariants We note that some details are being finessed lebel of description. with respect to the what if the masses in been established, a wide variety of different situations by the same task frame description cannot achieve II\11 E Vg? This case of failure has to be resolved at the planning level, and aside from characterizations of We now turn to the second advantage of the formalism, which is that, once appropriate bindings have be described For example, these examples are such that the servomechanism action. at this the failure mode, we are not addressing can problems of the 20 in this paper. these kinds of Another frames problem provide problem. is that of collision a partial mechanism First instantiate detection. for handling all the geometrical initialized Task updated this objects to check for solid material occupying One 2) use g(t) to solve 3) a’ 4) if la - all = tan-l((dyp/dt)/(dxp/dt)); Self-Calibration for the task frame scheme be some between way of computing the task frame the and the world to work there < ~1, then CI := CX’: else failure. = F = into the real-time condition. If stopped, B 0 in (2). This leads to: transformation frame. 1) compute [r-r this from section we discuss ways of doing this and show how they can be integrated (3) for x,(t); Now we turn to the stopping must is: space. 4. Geometry and Servomechanisms: In order way of updating 1) use I(t), f(t) to solve for e(t): from two or more the same physical of the action and continuously the action. objects with respect to the task frame, and then use the details of the geometric representation, e.g., constructive solid geometry, at the beginning during control program of zs using B = F = 0 and f, measured proprioception: 2) if ]x - zs] < ~2, then stop. the servomechanism. One way of establishing through the desired transformation visual input. This much-researched problem be done in constant time on a parallel machine is B-e can d. can if suitable visual features can be identified [Ballard and Sabbah, 1983; Hrechanyk and Ballard, 19831. But from a robotics context, a more interesting dynamics and kinematics To see how this might method is to use the inverse start SC0p CO&O/ 4 of the servomechanism itself. work, let us reconsider the Siyngl + Sr’q nal Low c problem of closing the door. From the inverse kinematics of the manipulator it is possible to calculate the end effector velocity. In the normal case of door closing, once the door moves, its velocity vector is available frame coordinates. In this case of compliant 1& in worldmotion, Toverse the door can only move in the direction oj’the el axis of the task frame. Thus, el can be computed as el = Normalize(v), where v can be measured from the kinematic equations. Since el is the crucial axis in the closing task, the other axes may not need to be updated beyond enforcing the orthogonality condition. %f namics I T I ; I If they should be updated, an additional constraint is that, for two different times tl and t2, then e3 can be computed as e3 = Norrnalize(v(tl) x v(t2)), where the two velocities must have different directions. This is a natural constraint in the door closing situation. In pushing velocity needs to wobble arbitrarily establish the second Another direction way to calculate c the block the Prop rio - while being pushed to Ception vector. the transform is via force 9 proprioception. Assuming the velocity parallel to the door surface is clamped at zero, the transformation parameter, which in 2D is a single angle (denoted can be readily computed. The transform by, OLin Figure 3) c Figure 4 Details of servomechanism is assumed to be 21 level. planning, These kinds of computations can be utilized servo controller in the manner depicted see how the controller works, consider closing action. First, at the symbolic description into constraints. level can servomechanism be Second, commands: at and the translated the ifconditions a control function, showing translated actions servo level, the controller level. Third, computes the task frame. This command a command is translated signal in into world- but assumes the torques order to estimate are checked used to the world forces and velocities. update termination where and system state are known the condition conditions These and also The to the symbolic level Horn, B.K.P., “Kinematics, statics, and dynamics of twod manipulators,” MIT AI Lab, Working Paper 99, June 1975. issues that arise in robot Hrechanyk, L.M. and D.H. Ballard. “A connectionist model for shape perception,” Computer Vision Workshop, Ringe, NH, August 1982; also appeared as “Viewframes: A connectionist model of form perception,” DARPA Image Understanding Workshop. Washington, D.C., June 1983. is propagated is set to TRUE. frames make many planning and manipulation simpler. The change from earlier work has been inspired in part by recent work at level which has allowed the the servomechanism deh elopment of accurate dynamically plant Luh, J.Y.S., M.W. Walker, and R.P.C. Paul, “On-line computational scheme for mechanical manipulators,” J. Dynamic Systems, Measurement, Control 102, 6976, 1980. models Mason, M.T., “Compliance and force control for computer controlled manipulators,” IEEE Trans. Systems, Man, and Cybernetics 1 I, 6, 418-432, 198 1. [Mukerjee et al., 19841 and aforementioned fast solutions to the problems of inverse kinematics and dynamics. This means that the main portion of manipulator control can be carried out as an open loop rather than a closed loop. Mukerjee, A., R.C. Benson, and D.H. Ballard, “Towards self-calibration in robot manipulator sq stems: Dynamics enhancement through trajectory deviation analysis,” Working Paper, Depts. of Mechanical Engineering and Computer Science, U. Rochester, March 1984. Before these advances, manipulator control has had to be segregated into a planning phase and an acting phase, and the dynamics introspected plant models planning linked. of the acting phase could not be the planning phase. With accurate during and and open acting It is important loop phases easier. problems this of the Hollerbach, J.M., “A recursive formulation of Lagrangian manipulator dynamics,” IEEE Trans. Systems, Man. Cybernetics SMC- IO, 11, 730-736, 1980. in 5. Summary Task other Hopefully will make the solution transformation. task-world ARRESTED(door) invariants. strategy Fikes, R.E. and X.J. Nilsson, “STRIPS: A new approach to the application of theorem proving to problem solving,” Art$cial Intelligence 12, 3/4, 184-209, 1971. uses the inverse dynamics against the termination mechanical as geometrical Featherstone, R., “Position and velocity transformations between robot end effector coordinates and joint angles,” Int. J. Robotics Research 2, 1983. synthesized from the desired control signal. The actuator torques have an effect on the plant which is monitored by Proprioception how they may be characterized representational The Brady, M., J.M. Hollerbach, T.L. Johnson, T. LozanoPerez, and M.T. Mason. Robot Motion: Planning and Cambridge, MA: The MIT Press, 1982. Control. at the frame coordinates by the task-world transformation. The inverse dynamics allows the actuator torques to be proprioception. information. single actions and Ballard, D.H. and D. Sabbah, “Viewer independent shape IEEE Trans. on Pattern Analysis and recognition,” Machine Intelligence 5, 6, November 1983. and the until conditions at the servomechanism spatial 6. References are utilized at the geometric level become set points for the controller of detailed is limited to characterizing into are utilized in a termination monitor. In other words, the invariants from failures, and the representation are utilized to generate a start signal, the while conditions to synthesize exposition level, the symbolic automatically recovering of large amounts in Figure 4. To again the door of the action can be automatically task-frame geometric by a control can to acknowledge be strategies, more Paul, R.P. Robot Manipulators: Mathematics. Programming, and Control. Cambridge, 41A: MIT Press, 1981. the intimately Pervin, E. and J.A. Webb, “Quaternions in computer vision and robotics,” Proc., IEEE Computer Vision and Pattern Recap-nition Conf., 382-383, Washington, that this paper does not tackle many issues that must be solved to make robot manipulation practical. Some of these are: trajectory DC, June 22 1983.