S.K. Semwal and D. Bolt


  1. [1] W.W. Armstrong, M.W. Green, & R. Lake, Near-real-timecontrol of human figure models, IEEE Computer Graphics andApplications, 7(6), June 1987, 52–61.
  2. [2] A. Witkin & M. Kass, Spacetime constraints, ACM ComputerGraphics, 22(4), 1988, 159–168. doi:10.1145/378456.378507
  3. [3] C.B. Phillips, J. Zhao, & N.I. Badler, Interactive real-timearticulated figure manipulation using multiple kinematic constraints, Computer Graphics, 24(4), 1990, 245–271. doi:10.1145/91394.91452
  4. [4] M. van de Panne, E. Fiume, & Z. Vranesic, Reusable motion synthesis using state-space controllers, ACM ComputerGraphics, 24(4), 1990, 225–234. doi:10.1145/97880.97904
  5. [5] N.I. Badler et al., Multi-dimensional input techniques andarticulated figure positioning by multiple constraints, Workshop on Interactive 3D Graphics, Chapel Hill, NC, October1986, 151–169.
  6. [6] N.I. Badler, K.H. Manoochehri, & G. Walters, Articulatedfigure positioning by multiple constraints, IEEE ComputerGraphics and Applications Magazine, June 1987, 28–38.
  7. [7] J. Baillieul, Kinematic programming alternatives for redundantmanipulators, IEEE Int. Conf. on Robotics & Automation,1985, 722–728.
  8. [8] H. Goldstein, Classical mechanics, 2nd ed. (Reading, MA:Addison-Wesley, 1980).
  9. [9] R. Grzeszczuk & D. Terzopoulos, Automated learningof muscle-actuated locomotion through control abstraction, Computer Graphics (Annual Conference Series), 1995,63–70.
  10. [10] J.Y.S. Luh & Y.F. Zheng, Computation of input generalized forces for robots with closed kinematic chain mechanisms, IEEE Journal of Robotics and Automation, RA-1 (2),1985, 95–103.
  11. [11] W.H. Press, S.A. Teukolsky, W.T. Vetterling, & B.P. Flannery,Numerical recipes in C: The art of scientific computing, 2nded. (New York: Cambridge University Press, 1992).
  12. [12] M.H. Raibert & J.K Hodgins, Animation of dynamic legged locomotion, Proc. SIGGRAPH ’91, in ACM Computer Graphics,25(4), 1991, 349–358. doi:10.1145/127719.122755
  13. [13] M. Girard, Interactive design of 3-D computer-animated leggedanimal motion, Workshop on Interactive 3D Graphics, ChapelHill, NC, October 1986, pp. 131–150.
  14. [14] W.W. Armstrong, Recursive solution to the equations of motionof an n-link manipulator, ASME, Proc. 5th World Congressof Machines and Mechanisms, 2, Montreal, 1979, 1343–1346.
  15. [15] W.W. Armstrong & M.W. Green, The dynamics of articulatedrigid bodies for purposes of animation, The Visual Computer,1, 1985, 231–240. doi:10.1007/BF02021812
  16. [16] M. Girard & A.A. Majciejewski, Computational modelling forthe computer animation of legged figures, ACM ComputerGraphics, SIGGRAPH Proc., July 1985, 263–270. doi:10.1145/325165.325244
  17. [17] R. Grzeszczuk, D. Terzopoulos, & G. Hinton, NeuroAnimator: Fast neural emulation and control of physics-based models, Computer Graphics (Annual Conference Series), 1998,9–20.
  18. [18] J. Wilhelms, Using dynamic analysis for realistic animation ofarticulated bodies, IEEE Computer Graphics and Applications,June 1987, 12–27.
  19. [19] L. Yaeger, Computational genetics, physiology, metabolism,neural systems, learning, vision, and behavior of poly-world:Life in a new context, in C. Langton (Ed.), ArtificialLife III (Santa Fe Institute Studies in the Sciences of Complexity, Proceedings, vol. 17) (Santa Fe: Addison-Wesley,1994), 263–298.
  20. [20] D. Bolt, Motion control and optimization with inverse dynamics, master’s thesis, University of Colorado at ColoradoSprings, 1995.
  21. [21] M. McKenna, & D. Zeltzer, Dynamic simulation of autonomouslegged motion , ACM Computer Graphics, 24(4), August 1990,29–38. doi:10.1145/97880.97882
  22. [22] J.U. Korein & N.I. Badler, Techniques for generating thegoal-directed motion of articulated structures, IEEE ComputerGraphics & Applications, November 1982, 71–81. doi:10.1109/MCG.1982.1674498
  23. [23] C.C. Lee, Fuzzy logic in control systems: Fuzzy logic controller,Parts I & II, IEEE Trans. on Systems, Man and Cybernetics,20(2), 1990, 404–435. doi:10.1109/21.52551
  24. [24] M. van de Panne & E. Fiume, Sensor-actuator networks,ACM Computer Graphics, SIGGRAPH Proc., 27(4), 1993,335–342. doi:10.1145/166117.166159
  25. [25] P.M. Isaacs & M.F. Cohen, Controlling dynamic simulationwith kinematic constriants, behavior functions and inversedynamics, ACM Computer Graphics, 21(4), 1987, 215–224. doi:10.1145/37402.37428
  26. [26] P.M. Isaacs & M.F. Cohen, Mixed methods for complex kinematic constriants in dynamic figure animation, The VisualComputer, 4, 1988, 296–305. doi:10.1007/BF01908876
  27. [27] Y. Nakamura, Advanced robotics: Redundancy and optimization (Reading, MA: Addison-Wesley, 1991).
  28. [28] M.W. Spong & M. Vidyasagar, Robot dynamics and control(New York: John Wiley and Sons, 1989).
  29. [29] X. Tu & D. Terzopoulos, Artificial fishes: Physics locomotion,perception, behavior, ACM Computer Graphics, SIGGRAPHProc., 28(4), 1994, 42–49. doi:10.1145/192161.192170
  30. [30] J. Wittenburg, Dynamics of systems of rigid bodies (Stuttgart:B.G. Teubner, 1977).
  31. [31] M. van de Panne, From footprints to animation, ComputerGraphics Forum, 16(4), 1997, 211–223. doi:10.1111/1467-8659.00181
  32. [32] T.J. O’Donnell & A.J. Olson, GRAMPS: A graphics languageinterpreter for real-time, interactive, three-dimensional, pictureediting and animation, ACM Computer Graphics, SIGGRAPHProc., August 1981, 133–142. doi:10.1145/800224.806799
  33. [33] J.K. Hodgkins, Simulation of human running, IEEE Conf. onRobotics & Automation, 1994, 1320–1325. doi:10.1109/ROBOT.1994.351304
  34. [34] D.A. Bolt, Two-stage control for high degree of freedom articulated figures, doctoral diss., University of Colorado at ColoradoSprings, 2000.
  35. [35] A. Sano, & J. Furusho, Realization of natural dynamic walkingusing the angular momentum information, IEEE Int. Conf. onRobotics and Automation, 1990, 1476–1481. doi:10.1109/ROBOT.1990.126214
  36. [36] J.K. Hodgins, W.L. Wooten, D.C. Brogan, & J.F. O’Brien,Animating human athletics, Computer Graphics (Annual Conference Series), 1995, 71–78.
  37. [37] A. Witkin & M. Kass, Spacetime constraints, SigGraph 1988,Computer Graphics, 22(4), 159–168. doi:10.1145/378456.378507
  38. [38] J.T. Ngo & J. Marks, Spacetime constraints revisited, ACMComputer Graphics Proc., 27 (4), 1993, 343–350. doi:10.1145/166117.166160
  39. [39] W.T. Miller III, R.S. Sutton, & P.J. Werbos, Neural networksfor control (Cambridge, MA: MIT Press, 1990).
  40. [40] A. Witkin, M. Gleicher, & W. Welch, Interactive dynamics,ACM Computer Graphics, 24(4), 1990, 11–21. doi:10.1145/91394.91400
  41. [41] N. Tatsuo, & M. Ito, Control of a biped locomotion system ina double support phase, Robotica, 3, 1985, 73–77.
  42. [42] C.B. Phillips, & N.I. Badler, Interactive behaviors for bipedalarticulated figures, ACM Computer Graphics, 25(4), July 1991,359–362. doi:10.1145/127719.122756
  43. [43] M.W. Walker, & D.E. Orin, Efficient dynamic computer simulation of robotic mechanisms, Journal of Dynamic Systems,Measurement, and Control, 104, September 1982, 205–211.Appendix APseudoinverse Jacobian Using Singular Value DecompositionArticulated Figure ModelThe articulated figure model is specified by geometry, adensity factor, and joint positions. The density is set tobe equal to the density of water. Geometry is acceptedin the popular DXF file format. A naming convention forobjects in the file gives the joint information. The integralproperties (mass, centre of mass, inertia matrix) for eachlink of the model are automatically calculated when themodel is imported using the technique described in [34].Computing the trajectory of motion using standard curves313and free body diagrams are explained in [34] and also in[40]. Details of Jacobian matric for a simple chain of single-DOF joints, multiple-DOF joints, and tree structures withand without shared links can also be found in [34] and arenot explained here due to space limitations. The main ideaof finding the pseudoinverse is explained below.If the Jacobian J were square (N = M = 6 degreesof freedom) and nonsingular for the current joint spaceconfiguration, then for a desired end-effector velocity wecould directly compute the joint space velocity vector byinverting the Jacobian:q = J−1ˆvn (A1)In our case the articulated figure has redundant degreesof freedom (N > 6). The Jacobian cannot be inverteddirectly. Instead of a one-to-one relationship between thejoint space and end-effector velocities there is a subspaceof joint velocities that will result in the desired end-effectorvelocity. We determine the pseudoinverse of the Jacobianusing singular value decomposition (SVD) [41, 42]. SVDstates than any M × N matrix J can be written as aproduct of an M × N column-orthogonal matrix U, anN × N diagonal matrix W with positive or zero elements,and the transpose of an N × N orthogonal matrix V (A2).The orthogonality requirements on U and V provide thatUTU = VTV = I.[J]M×N = [U]M×Nw1 0w2. . .0 wNN×N[V T]N×N(A2)SVD constructs ortho-normal bases for the range andnull-space of J in the matrices U and V respectively. Ifwi > 0 then column i from U is a basis vector for therange of J. If wi = 0 then column i from V is a basisvector for the nullspace of J. We expect J to have anullity (nullity = dimension(nullspace(J))) of N − M anda rank (rankdimension(range(J))) of M. If a joint is fullyextended then J will also have a singular value associatedwith this degeneracy. Consequently, the range is reducedby 1 and nullity is increased by 1.The pseudoinverse of J is given by equation (A3).[J−1]N×M = [V ]N×M1w101w2. . .01wNN×N[UT]N×M1wi= 0 if wi < ε (A3)Or:J−1= V ·diag1wi·UT 1wi= 0 if wi < εwhere 1/wi is replaced with 0 if wi = 0 (or close to zero dueto rounding error). The solution to (A1) is:q = J−1ˆv = V ·diag1wi·(UT· ˆv)1wi= 0 if wi < ε (A4)As M < N there are in general an infinite numberof solutions to (A5). Different solutions are obtained byadding vectors from the nullspace of J to q .(A8) gives thesolution vector of smallest length. Thus, the minimum (inthe least squares sense) joint space velocity vector solutionq is obtained by (A8). Insofar as joint velocity representskinetic energy, (A8) gives a locally optimal kinetic energysolution to the desired motion.Singularities and Solutions: Unreachable ConfigurationsWith our error control algorithm it is required that allend-effector positions be reachable. If a position is notreachable the algorithm will terminate at the unachievableframe. The COM path optimization algorithms comfortterm in the objective will help to prevent these situations.The COM path could also be altered if an unreachable situation were encountered during the joint space trajectorycomputation. For example, the Z nominal (see Section3 above) value for the failing COM path spline could bealtered and the COM path optimization revisited for thatspline. Of course, the full joint space computation couldbe executed during the COM path optimization with objective functions added based on the result of the jointsolutions.Nearly Unreachable ConfigurationsIf a point on the COM path presents a configuration wherethe figure must stretch to reach a target end-effector location, then one or more joints may reach a fully straightenedcondition. When a joint is in its fully extended state thefigure essentially losses the DOF associated with that joint.Mathematically, the Jacobian matrix will have a singularity, which will result in large joint velocities for a smallend-effector velocity. This can cause the joint configurationto attain an awkward pose. As the joint space computationattempts to minimize the joint velocities, the figure willtend to stay in its current pose. Thus if a near-unreachableposition is encountered the figure will be thrown into anawkward pose and not recover for the rest of the sequence.Once again avoidance of these situations is one solution.The pseudoinverse of the Jacobian could also be replacedby a more robust computation for singularities such asthe Singularity Robust Inverse in [27, 43]. A method forbiasing joints towards a desired quiescent position duringthe joint position computation could also be tried.314Joint LimitationsThe current implementation does not provide for limits onjoint angles. A knee could bend backwards, for instance.As mentioned above, the pseudoinverse of the Jacobiantends to keep joints near their starting position. As stepsmust be taken to keep joints from reaching a singularity,these same steps will keep a joint, such as a knee, frombending backwards. It still would be desirable to be able tolimit joint travel. It may be desirable, for example, to limitthe hip joint to a 10 degree travel range. Joint limitationsdetails are discussed in [41].Sample snapshots of our implementation are shownbelow.

Important Links:

Go Back