S.K. Semwal and D. Bolt


  1. [1] W.W. Armstrong, M.W. Green, & R. Lake, Near-real-time control of human figure models, IEEE Computer Graphics and Applications, 7(6), June 1987, 52–61.
  2. [2] A. Witkin & M. Kass, Spacetime constraints, ACM Computer Graphics, 22(4), 1988, 159–168. doi:10.1145/378456.378507
  3. [3] C.B. Phillips, J. Zhao, & N.I. Badler, Interactive real-time articulated 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 Computer Graphics, 24(4), 1990, 225–234. doi:10.1145/97880.97904
  5. [5] N.I. Badler et al., Multi-dimensional input techniques and articulated figure positioning by multiple constraints, Workshop on Interactive 3D Graphics, Chapel Hill, NC, October 1986, 151–169.
  6. [6] N.I. Badler, K.H. Manoochehri, & G. Walters, Articulated figure positioning by multiple constraints, IEEE Computer Graphics and Applications Magazine, June 1987, 28–38.
  7. [7] J. Baillieul, Kinematic programming alternatives for redundant manipulators, 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 learning of 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, 2nd ed. (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 legged animal motion, Workshop on Interactive 3D Graphics, Chapel Hill, NC, October 1986, pp. 131–150.
  14. [14] W.W. Armstrong, Recursive solution to the equations of motion of an n-link manipulator, ASME, Proc. 5th World Congress of Machines and Mechanisms, 2, Montreal, 1979, 1343–1346.
  15. [15] W.W. Armstrong & M.W. Green, The dynamics of articulated rigid 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 for the computer animation of legged figures, ACM Computer Graphics, 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 of articulated 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.), Artificial Life 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 Colorado Springs, 1995.
  21. [21] M. McKenna, & D. Zeltzer, Dynamic simulation of autonomous legged 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 the goal-directed motion of articulated structures, IEEE Computer Graphics & 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 simulation with kinematic constriants, behavior functions and inverse dynamics, 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 Visual Computer, 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, SIGGRAPH Proc., 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, Computer Graphics Forum, 16(4), 1997, 211–223. doi:10.1111/1467-8659.00181
  32. [32] T.J. O’Donnell & A.J. Olson, GRAMPS: A graphics language interpreter for real-time, interactive, three-dimensional, picture editing and animation, ACM Computer Graphics, SIGGRAPH Proc., August 1981, 133–142. doi:10.1145/800224.806799
  33. [33] J.K. Hodgkins, Simulation of human running, IEEE Conf. on Robotics & 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 Colorado Springs, 2000.
  35. [35] A. Sano, & J. Furusho, Realization of natural dynamic walking using the angular momentum information, IEEE Int. Conf. on Robotics 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, ACM Computer 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 networks for 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 in a double support phase, Robotica, 3, 1985, 73–77.
  42. [42] C.B. Phillips, & N.I. Badler, Interactive behaviors for bipedal articulated 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 A Pseudoinverse Jacobian Using Singular Value Decomposition Articulated Figure Model The articulated figure model is specified by geometry, a density factor, and joint positions. The density is set to be equal to the density of water. Geometry is accepted in the popular DXF file format. A naming convention for objects in the file gives the joint information. The integral properties (mass, centre of mass, inertia matrix) for each link of the model are automatically calculated when the model is imported using the technique described in [34]. Computing the trajectory of motion using standard curves 313 and free body diagrams are explained in [34] and also in [40]. Details of Jacobian matric for a simple chain of singleDOF joints, multiple-DOF joints, and tree structures with and without shared links can also be found in [34] and are not explained here due to space limitations. The main idea of finding the pseudoinverse is explained below. If the Jacobian J were square (N = M = 6 degrees of freedom) and nonsingular for the current joint space configuration, then for a desired end-effector velocity we could directly compute the joint space velocity vector by inverting the Jacobian: q = J−1 ˆvn (A1) In our case the articulated figure has redundant degrees of freedom (N > 6). The Jacobian cannot be inverted directly. Instead of a one-to-one relationship between the joint space and end-effector velocities there is a subspace of joint velocities that will result in the desired end-effector velocity. We determine the pseudoinverse of the Jacobian using singular value decomposition (SVD) [41, 42]. SVD states than any M × N matrix J can be written as a product of an M × N column-orthogonal matrix U, an N × 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 that UT U = VT V = I. [J]M×N = [U]M×N w1 0 w2 . . . 0 wN N×N [V T ]N×N (A2) SVD constructs ortho-normal bases for the range and null-space of J in the matrices U and V respectively. If wi > 0 then column i from U is a basis vector for the range of J. If wi = 0 then column i from V is a basis vector for the nullspace of J. We expect J to have a nullity (nullity = dimension(nullspace(J))) of N − M and a rank (rankdimension(range(J))) of M. If a joint is fully extended then J will also have a singular value associated with this degeneracy. Consequently, the range is reduced by 1 and nullity is increased by 1. The pseudoinverse of J is given by equation (A3). [J−1 ]N×M = [V ]N×M 1 w1 0 1 w2 . . . 0 1 wN N×N [UT ]N×M 1 wi = 0 if wi < ε (A3) Or: J−1 = V · d iag 1 wi · UT 1 wi = 0 if wi < ε where 1/wi is replaced with 0 if wi = 0 (or close to zero due to rounding error). The solution to (A1) is: q = J−1 ˆv = V · d iag 1 wi · (UT · ˆv) 1 wi = 0 if wi < ε (A4) As M < N there are in general an infinite number of solutions to (A5). Different solutions are obtained by adding vectors from the nullspace of J to q . (A8) gives the solution vector of smallest length. Thus, the minimum (in the least squares sense) joint space velocity vector solution q i s obtained by (A8). Insofar as joint velocity represents kinetic energy, (A8) gives a locally optimal kinetic energy solution to the desired motion. Singularities and Solutions: Unreachable Configurations With our error control algorithm it is required that all end-effector positions be reachable. If a position is not reachable the algorithm will terminate at the unachievable frame. The COM path optimization algorithms comfort term 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 trajectory computation. For example, the Z nominal (see Section 3 above) value for the failing COM path spline could be altered and the COM path optimization revisited for that spline. Of course, the full joint space computation could be executed during the COM path optimization with objective functions added based on the result of the joint solutions. Nearly Unreachable Configurations If a point on the COM path presents a configuration where the figure must stretch to reach a target end-effector location, then one or more joints may reach a fully straightened condition. When a joint is in its fully extended state the figure 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 small end-effector velocity. This can cause the joint configuration to attain an awkward pose. As the joint space computation attempts to minimize the joint velocities, the figure will tend to stay in its current pose. Thus if a near-unreachable position is encountered the figure will be thrown into an awkward 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 replaced by a more robust computation for singularities such as the Singularity Robust Inverse in [27, 43]. A method for biasing joints towards a desired quiescent position during the joint position computation could also be tried. 314 Joint Limitations The current implementation does not provide for limits on joint angles. A knee could bend backwards, for instance. As mentioned above, the pseudoinverse of the Jacobian tends to keep joints near their starting position. As steps must be taken to keep joints from reaching a singularity, these same steps will keep a joint, such as a knee, from bending backwards. It still would be desirable to be able to limit joint travel. It may be desirable, for example, to limit the hip joint to a 10 degree travel range. Joint limitations details are discussed in [41]. Sample snapshots of our implementation are shown below.

Important Links:

Go Back