Academia.eduAcademia.edu
University of Pennsylvania ScholarlyCommons Departmental Papers (ESE) Department of Electrical & Systems Engineering April 2000 A Brachiating Robot Controller Jun Nakanishi University of Michigan Toshio Fukuda Nagoya University Daniel E. Koditschek University of Pennsylvania, kod@seas.upenn.edu Follow this and additional works at: htp://repository.upenn.edu/ese_papers Recommended Citation Jun Nakanishi, Toshio Fukuda, and Daniel E. Koditschek, "A Brachiating Robot Controller", . April 2000. Copyright 2000 IEEE. Reprinted from IEEE Transactions on Robotics and Automation, Volume 16, Issue 2, April 2000, pages 109-123. his material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of the University of Pennsylvania's products or services. Internal or personal use of this material is permited. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to pubs-permissions@ieee.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it. NOTE: At the time of public, Daniel Koditschek was ailiated with the University of Michigan. Currently, he is a faculty member of the School of Engineering at the University of Pennsylvania. A Brachiating Robot Controller Abstract We report on our empirical studies of a new controller for a two-link brachiating robot. Motivated by the pendulum-like motion of an ape's brachiation, we encode this task as the output of a "target dynamical system." Numerical simulations indicate that the resulting controller solves a number of brachiation problems that we term the "ladder," "swing-up," and "rope" problems. Preliminary analysis provides some explanation for this success. he proposed controller is implemented on a physical system in our laboratory. he robot achieves behaviors including "swing locomotion" and "swing up" and is capable of continuous locomotion over several rungs of a ladder. We discuss a number of formal questions whose answers will be required to gain a full understanding of the strengths and weaknesses of this approach. Keywords brachiation, dynamically dexterous robotics, limit cycles, locomotion, swing map, symmetry, target dynamics, task encoding, underactuated system Comments Copyright 2000 IEEE. Reprinted from IEEE Transactions on Robotics and Automation, Volume 16, Issue 2, April 2000, pages 109-123. his material is posted here with permission of the IEEE. Such permission of the IEEE does not in any way imply IEEE endorsement of any of the University of Pennsylvania's products or services. Internal or personal use of this material is permited. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution must be obtained from the IEEE by writing to pubs-permissions@ieee.org. By choosing to view this document, you agree to all provisions of the copyright laws protecting it. NOTE: At the time of public, Daniel Koditschek was ailiated with the University of Michigan. Currently, he is a faculty member of the School of Engineering at the University of Pennsylvania. his journal article is available at ScholarlyCommons: htp://repository.upenn.edu/ese_papers/327 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 109 A Brachiating Robot Controller Jun Nakanishi, Student Member, IEEE, Toshio Fukuda, Fellow, IEEE, and Daniel E. Koditschek, Member, IEEE Abstract—We report on our empirical studies of a new controller for a two-link brachiating robot. Motivated by the pendulum-like motion of an ape’s brachiation, we encode this task as the output of a “target dynamical system.” Numerical simulations indicate that the resulting controller solves a number of brachiation problems that we term the “ladder,” “swing-up,” and “rope” problems. Preliminary analysis provides some explanation for this success. The proposed controller is implemented on a physical system in our laboratory. The robot achieves behaviors including “swing locomotion” and “swing up” and is capable of continuous locomotion over several rungs of a ladder. We discuss a number of formal questions whose answers will be required to gain a full understanding of the strengths and weaknesses of this approach. Fig. 1. Brachiation of a gibbon: a picture taken from [2]. Index Terms—Brachiation, dynamically dexterous robotics, limit cycles, locomotion, swing map, symmetry, target dynamics, task encoding, underactuated system. I. INTRODUCTION A BRACHIATING robot dynamically moves from handhold to handhold like a long armed ape swinging its arms, as depicted in Fig. 1. This paper concerns a simplified two-link robot with one actuator at the elbow connecting two arms, each of which has a gripper (see Fig. 2). Since the grippers cannot impose torque on the handhold, this is an underactuated machine: it has fewer actuators than degrees of freedom. Designing a brachiating controller for such a system is challenging since the theory of underactuated mechanisms is not well established. A growing number of robotics researchers have taken an interest in building machines that are required to interact dynamically with an otherwise unactuated environment in order to achieve a designated task [1]. Brachiating robots take an interesting place within this larger category of robots that juggle, bat, catch, hop, and walk. A brachiating and a legged locomotion system share the requirement of an oscillatory exchange of kinetic energy and potential energy in the gravitational field. Brachiation incurs the added problem of dexterous grasps: fumbles not only fail the task but incur a potentially disastrous fall as well. Manuscript received September 28, 1998; revised June 25, 1999. This paper was recommended for publication by Associate Editor A. Bicchi and Editor A. De Luca upon evaluation of the reviewers’ comments. The work of D. E. Koditschek was supported in part by the National Science Foundation under Grant IRI-9510673. This paper was presented in part at the 1997 IEEE International Conference on Robotics and Automation, Albuquerque, NM, April 1997, and in part at the 1998 IEEE International Conference on Robotics and Automation, Leuven, Belgium, May 1998. J. Nakanishi was with the Department of Electrical Engineering and Computer Science, University of Michigan, Ann Arbor, MI 48109-2110 USA. He is now with the Department of Micro System Engineering, Nagoya University, Aichi 464-8603 Japan. T. Fukuda is with the Center for Cooperative Research in Advanced Science and Technology, Nagoya University, Aichi 464-8603, Japan. D. E. Koditschek is with the Department of Electrical Engineering and Computer Science, University of Michigan, Ann Arbor, MI 48109-2110 USA. Publisher Item Identifier S 1042-296X(00)03576-X. Fig. 2. A two-link brachiating robot. Problems of dexterous manipulation have given rise to a growing literature concerned with explicit manipulation of an environment’s kinetic as well as potential energy. Arguably, the first great success in this domain must be attributed to Andersson [3] whose ping pong playing robot developed more than a decade ago was capable of beating many humans. The control architecture relied on meticulously crafted aerodynamics and manipulator dynamics models recruited by an elaborate black board style artificial intelligence decision process. Saito et al. [4] first introduced to the robotics literature the brachiation control problem. In fact, they built the physical two-link brachiating robot that we use in this study. Their work demonstrated empirically the validity of learning a feedforward torque signal to effect successful underactuated control of dynamically dexterous maneuvers [5]. Notwithstanding the distinct advantages—no dynamical model is necessary—this approach requires a long training period (about 200 experiments with the physical robot) to generate a successful maneuver for each configuration of the robot and given distance between the branches. More recently, Mason and Lynch [6] have brought a promising new view to the problem of dynamic underactuated nonprehensile manipulation. Following a careful controllability analysis, they have designed open-loop control laws for a one-degree-of-freedom robot which performs dynamic tasks such as snatching, rolling, throwing, and catching. Maneuvers are accomplished by numerically generated solutions to appropriate optimal controls problems defined with respect to the carefully modeled plant. 1042–296X/00$10.00 © 2000 IEEE 110 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 Raibert’s landmark success in legged locomotion [7] represents the most important influence on the present work. Specifically, we adopt his appeal to biomechanically inspired design, to the encoding of a dynamical task via a lower dimensional target, and his systematic use of reverse time symmetry. The recourse to a parametrized family of feedback laws yields a far more parsimonious action set than any of the approaches just described, reducing the effort in commanding any specific task to the selection of one or two key parameters. While this approach requires a calibrated dynamical model (a failing relative to the pure learning approach of Saito et al.), the reliance on feedback affords a far simpler model than required by Andersson or even Mason and Lynch. The Appendix outlines some of the most important ways in which our physical apparatus departs significantly from the simple modeling assumptions built into the controller. We describe in the body of the paper the relative ease with which control parameter adjustments can accommodate these discrepancies. Intriguing work by Atkeson and Schaal on batting and juggling suggests that learning methods may be used to develop similarly parsimonious stabilized [8] dexterous maneuvers, but these considerations lie outside the scope of the paper. Unlike the approaches of Andersson or Saito et al.Raibert’s emphasis on solving tasks by recruiting natural orbits offers a general foundation upon which formal insight may be forthcoming across a broad class of robots and tasks and scaling up to higher degrees of freedom. Unlike the optimal control theoretic approach of Mason and Lynch, Raibert’s emphasis on regulation of energy toward those orbits yields controllers that are considerably less hostage to the exactitude of the dynamical models they are built from. In the present paper, we are most concerned with articulating a version of the Raibert style approach and demonstrating its efficacy via physical experiments on a laboratory robot. Apart from working out the details of the reverse time symmetry that govern the choice of the lower dimensional target, we offer no stability analysis beyond the kind of extensive numerical investigation that characterizes much of the literature on Raibert-style hopping robots [9], [10]. However, in a series of papers, the third author and his colleagues have pursued a number of analytical studies of simple hopping machines—revolute–prismatic (RP) kinematic chainsdirectlymodeledonRaibert’smachines—addressingsuch questions as regulation of hopping height [11], forward velocity [12], and duty factor [13]. Moreover, we have shown how to adapt these principles to the prismatic–prismatic kinematics of batting [14], with generalization to far higher degree-of-freedom settings [15], [16] and dynamical obstacle avoidance [17] problems as well. The brachiation problem represents in some sense the most difficult setting in which to extend this body of ideas since the underlying revolute–revolute (RR) kinematics induces the most strongly coupled dynamics. There is a cyclic coordinate in prismatic–prismatic batting and in the “no stance gravity” version of RP hopping as well [10], [12], [13]. The resulting integral invariants lay the basis for closed-form representations of the Poincaré maps on which the existing stability analyses are founded. In contrast, beyond energy conservation, there is no hope of finding additional integrals in the RR problem. Generally speaking, the closed-loop systems that result from our controllers have the character of the restricted three-body problem that led Poincaré to discover “chaos” [18]. It is not even clear to us whether the recourse to closed-form approximants [19] that have proven so useful [20] in the RP setting will be viable in the brachiation task domain. Nevertheless, these ideas work and may likely generalize across the brachiation domain similarly to the manner in which they apply to various legged locomotion and juggling tasks involving varying degrees of freedom. Amidst the large and growing controls literature on underactuated mechanisms, this work is closest in method to Spong and his colleagues’ studies of the “acrobot” [21]. They considered the swing-up problem of an underactuated system similar to the two-link brachiating robot that we treat in this paper. Their control algorithm pumps energy to the system in an instance of Spong’s more general notion of partial feedback linearization [22] directed toward achieving a kind of target dynamics whose motions solve the swing-up problem. The controller that we introduce here bears many similarities to this, although the more extended problems of slow brachiation require a rather differently conceived notion of target dynamics, and we are swinging up to an (unstabilizable) handhold (refer to footnote 3)—not the vertical equilibrium position as is common in much of the related literature. Thus, equilibrium motions (i.e., hybrid limit cycles) rather than equilibrium points are the regulated goal sets in our problem. II. PROBLEM SETUP A. Physical Apparatus Fig. 3 depicts the configuration of our experimental setup. The length of each arm is 0.5 m and the total weight of the robot is about 4.8 kg. In Saito’s original version of this experimental setup [4], a personal computer equipped with input/ouput (I/O) devices was used to control the robot. We have replaced it with a VME bus board computer, MVME 167 (Motorola, CPU MC68040, 33 MHz), with a real-time operating system, VxWorks 5.1, and VME bus based I/O devices. The control law is evaluated exactly at a rate of 500 Hz. The elbow joint is actuated by two DC motors with harmonic gears (Harmonic Drive Systems, RH-14-6002). The stator of each motor is fixed to a link, and their rotor shafts are directly connected to each other. As a consequence, we can achieve a total rotational speed at the elbow, which is two times faster than the case where there is only one motor. This was necessary since the rated rotational speed of these motors is 360 /s, while we require that the rotational speed of the elbow be grater than 600 /s. An additional benefit of the symmetrical structure of this design is better overall balance in the mechanism. Each gripper is equipped with a DC motor that opens and closes it. The angle of the first joint is measured by integrating its angular velocity, which is in turn obtained through a gyro (Murata, ENV-05S) attached to the arm. The angle of the second joint and the opening angle of the gripper are measured using optical encoders. B. Model The dynamical equations used to model the robot take the form of a standard two-link planar manipulator as depicted in NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER 111 Fig. 3. The experimental setup of the two-link brachiating robot. Fig. 4. The mechanical model of the two-link brachiating robot used in this paper. sent to a driver as , where is a positive constant.2 We use a lossless version of the model [ in (1)] for the development of the controller and its analysis, but introduce the losses in simulation. the table in Fig. 4 C. Problem Statement (1) , ,1 is the where inertia matrix, is the Coriolis/centrifugal vector, and is the gravity vector. and denote the viscous and coulomb friction coefficient matrices, respectively. We assume that the elbow actuator produces torque proportional to a voltage command X X X !Y) 1Throughout the paper, we shall use the tangent notation of Abraham and is a manifold, then T denotes the tangent vector space Marsden [23]. If at some x and T = T denotes the tangent bundle. Moreover T x will denote some point in T and h : Th : T T is the derived “tangent map,” in coordinates, T h = (h(x); Dh(x)x_ ) where D denotes the Jacobian. 2X X X X X! Y Brachiation—arboreal locomotion via arms swinging hand over hand through the trees—is a form of locomotion unique to apes. Most commonly, the animals engage in “slow brachiation,” traveling at about the speed of the average human walking. But when excited or frightened, apes can plunge through the forest canopy at astonishing speeds, sometimes covering 30 ft or more in a single jump without a break in “stride” (fast brachiation, ricocheting) [24]. In our reading of the biomechanics lit2To identify the dynamical parameters corresponding to the robot’s Lagrangian dynamics, we resorted to a rather simple identification procedure, where the inertia parameters are obtained either by direct measurement or from the manufacturer’s data, and the preliminary estimate of the friction coefficients are obtained from the natural dissipation of the system. 112 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 erature, we distinguish three variants of brachiation that we will refer to in this paper as follows: • ladder and swing-up problem; • rope problem; • leap problem. The first arises when an ape transfers from one branch to another and controlling the arm position at next capture represents the central task requirement. A robotics version of this problem has been previously introduced to the literature by Saito [4], [5]. They presented the robot that we consider here with a set of discrete evenly spaced bars and the requirement to swing up from rest, catch the next bar, and then swing from bar to bar by pumping up energy in a suitable fashion. In our view, this problem seems as much akin to that of throwing and catching as to locomotion. The second problem arises from brachiation along a continuum of handholds—a branch or a rope—that seems most closely analogous to human walking. Since grasps are afforded at will, the resulting freedom ofplacementcan be exploited to achieve a specified forward rate of progress. This is not possible for a two-degree-of-freedom machine on a ladder whose forward velocity is essentially determined by the distance between the bars and its own kinematics. To our knowledge, all previous work on robot brachiationhasaddressedonly theladderandswing-upproblems. We have found no studies concerned with the control of forward velocity. We find the results of the rope problem in Section V to be somewhat analogous to Schwind’s study on the forward velocity control of simplified hopping robots [12]. The third problem arises in the context of fast brachiation where the next branch is far out of reach, and the task cannot be accomplished without a large initial velocity and a significant component of free flight. Solving this problem involves not merely a swing phase, but a nonholonomic flight, as well where the angular momentum of the system is conserved. Roughly analogous to running quickly through a field of boulders, apes can apparently achieve this movement with great regularity and ease. We consider this a fascinating and challenging problem to be addressed when the two previous simpler problems are better understood. We propose a control algorithm which is effective for the first two “slow brachiation” problems—i.e., the ladder and swing-up, and rope problems—inspired by our reading of the biomechanics literature. The proposed controller is experimentally implemented on the physical two-link brachiating robot described in Section II-A. Our experimental success encompasses a number of brachiation tasks starting from a variety of different initial hand positions. We have achieved swing locomotion in the ladder problem, where both hands are initially on the ladder, various swing-up behaviors from a suspended posture, where only one hand is initially on the ladder, and repeated locomotion over several rungs, where the robot starts with either one or both hands on the ladder. III. TASK ENCODING VIA TARGET DYNAMICS forced to have the characteristic of a chosen target dynamics. Thus, instead of tracking an exogenously designed reference trajectory, we force the system to generate and track its own reference motion. Suppose a plant (2) (3) is I/O linearizable. That is, given (4) if there can be found an implicit function such that for every and , then (5) implies (6) one calls (5) an I/O linearizing inverse controller in the sense . that It is traditional in the underactuated robot control literature to use the linearizing feedback (5) to force to track some ref. In the present article, we find it more erence trajectory useful to mimic a reference dynamical system (7) This behavior obtains by substituting feedback law for in (5), yielding the (8) B. Target Dynamics and Its Associated Controller According to the biomechanics literature [25], slow brachiation of apes resembles the motion of a pendulum. Although the ape’s moment of inertia varies during the swing according to its change of posture, the motion of a simplified pendulum gives a fairly good approximation. Motivated by this pendulum-like motion, we encode the robot brachiation task in terms of the harmonic oscillator (9) where , the natural frequency of the virtual pendulum, will play the role of the task level control parameter in the sequel. (9) serves as the target Supporting this role, the function dynamical system (7) for all the empirical work reported in this paper. Simulations suggest that any lossless mechanical oscillator of the form (10) A. I/O Linearization and Target Dynamics The notion of target dynamics represents a slight variant on standard techniques of plant inversion. A system is inverted then , an “artificial potential” can encode brachiation when function, is even and convex in the region of operation. For NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER 113 where is each element of . Notice that (15) Fig. 5. Change of coordinates from RR to RP. We control  to follow the dynamics  !  using a target dynamics controller. + =0 future reference, let be the “pseudo” mechanical energy defined by this oscillator, (11) The choice of output map (3) seems to be much more critical, since it prescribes the combination of states that will be forced to exhibit the selected target dynamics (10). In Fig. 5, we illustrate the local change of coordinates from joint space to polar coordinates on (12) Intuitively, pursuing the analogy arising from biomechanical observation [25], the simplest pendulum to be found in the underlying RR kinematic chain obtains from its polar coordinate “angle,” , motivating the choice (13) With these choices in place, the controller synthesis is formally complete. In summary, the virtual pendulum angle is . Namely, forced to follow the target dynamics , , in (2), and identify and apply the control law formulated in (8) with respect to the target (10) is satisfied in the pari.e., the invertibility condition of ticular setting with the parameter values shown in the table in Fig. 4. In Section IV-A-1, we make the formal observation (Proposition 3) that any even potential together with an appropriately “odd” choice of output map (3) will support the Raibert-style reverse time symmetry [7] essential to the efficacy of our task encoding. Indeed, in our numerical investigations, we have had good experience with many choices for the artificial potential function. However, in our empirical work, we have found it particularly convenient to adopt the specific Hooke’s Law potential , (9), for two reasons. First, the elliptic integral (16) is solvable in closed form using elementary functions when is a Hooke’s law spring. This closed-form expression significantly simplifies the computational effort incurred by the root finding procedure of (31) required to tune the “natural frequency” in the ladder and rope problems. Second, numerical study addressing the swing-up problem reveals that the “stiffness” (the second derivative of the potential ) plays an important role for reasons we do not yet understand well. Specifically, we require not only positive stiffness (i.e., convex potentials ), but find that some “stiffness margin” profile is key to effective swing-up behavior. Generor ally speaking, “hard” spring laws such as work nicely. In contrast, consider the effective torsional spring potential introduced by a gravity , its stiffness beloaded simple pendulum, comes zero at the boundary the domain of operation. Such “soft” springs (i.e., potentials whose second derivative stiffness functions are not bounded away from zero over the domain of operation) characteristically result in “out of phase” swing ups that fail the task. While hard springs work nicely in simulation, they typically incur unavailably large torques. The Hooke’s Law potential enjoys benefits of positive stiffness and realistic torque requirements. IV. LADDER AND SWING-UP PROBLEM A. Ladder Problem (14) In this section, the target dynamics method is applied to the ladder problem. We show how a symmetry property of an appropriately chosen target system—(10) in the present case—can solve this problem. 114 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 1) Neutral Orbits : This section follows closely the ideas originally developed in [12] and [13]. We discuss a reverse time symmetry inherent in the brachiating robot’s dynamics. Here, we are interested in orbits whose forward time motions from the bottom states are a horizontal reflection of their backward time motion from the same initial condition. First, we show that the natural dynamics of the two-link brachiating robot admit this reverse time symmetry . Then, we give a condition under which feedback laws result in closed loops that still admit . Last, following Raibert [7], we introduce the notion of the neutral orbits of the symmetry and show how they may be used to solve the ladder problem. In the sequel, we will denote the integral curve of a vector field by the notation . admits a reverse time symmetry Definition 1: if and only if . Note that when is linear, after taking time derivatives, this . definition might be equivalently stated as In this paper, we are concerned specifically with the symmetry operator Fig. 6. A ceiling configuration. The ceiling is parametrized by the distance between the grippers d. A left branch c (d) and right branch c (d) are defined in this manner. 2) Ceiling , and its Neutral Orbits: Define the “ceiling” (21) (17) denotes the 2 2 identity matrix). When admits (where in (17), there exist orbits integrated forward in time from some initial conditions, which are reflections of orbits backward in time from the same initial conditions odd in angles and even in and . velocities, i.e., , deNow, supposing we have chosen a feedback law note the closed-loop dynamics of the robot as (18) admits . A straightforSay that “admits ” if and only if ward calculation shows [26]. admits as in Proposition 2: The closed-loop dynamics if and only if has (17), i.e., . the property A similarly straightforward computation shows [26]. in (10) Proposition 3: If the artificial potential function , and if , i.e., a smooth scalar is even, , then the valued function, has the property feedback law (14), , admits . Define the fixed points of the symmetry to be (19) Fix In the present case, i.e., for in (17), note that to be those configurations where the hand of the robot reaches as depicted in Fig. 6.3 the height In general, arms which drop from the ceiling, whether under active torque control or not, will not pass through a bottom state — they will not trace out a neutral orbit. In the special case that a ceiling handhold (at zero velocity) lies on a neutral orbit, the arm will drop, pass through a bottom state, and swing back up again through an exactly mirrored trajectory that ends in the ceiling on the opposite side of the handhold, the same distance away. This fact is stated precisely in Proposition 4. Our problem now is to find a virtual frequency matched to the desired distance that renders this ceiling state neutral. This matter can, in turn, be cast as a numerical root finding problem (31) as we now show. The ceiling can be parameterized by two branches (22) of the maps, (23) In the sequel, we will be particularly interested in initial conditions of (18) originating in the zero velocity sections of the . Now, note that since ceiling that we denote Fix (24) Define the set of “neutral orbits” to be the integral curves which go through the fixed point set Fix admits and if Proposition 4: If a feedback law , then there can be found a time such that for , we have (20) Note that a neutral orbit has a symmetry property about its fixed Fix , then point—namely, if (25) 3Notice that this handhold state, “ceiling,” cannot be made to be an equilibrium state under the influence of the gravity since we cannot find  such that (T q;  ) 0 in (1) when k (q ) = 0. L  6 NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER 115 i.e., a time at which the left branch at zero velocity in the ceiling reaches the right branch in the ceiling also at zero velocity. Proof: By the definition of , there can be found a time at which Fix (26) Therefore (27) Applying the symmetry , we have [from (24)] (28) But [from (27)] (29) ^ (d ). Target dynamics controller,  , Fig. 7. Numerical approximation ! =  ^ , that is designed to locate neutral orbits is tuned according to this mapping,  originating in the ceiling. hence (30) Thus, we conclude that any feedback law , which admits , solves the ladder problem, assuming we can find a such that . Note that finding such a ceiling point requires solving the equation (31) , for and simultaneously. Of course, where in general, solving this equation is quite difficult. It requires a two-dimensional “root finding” procedure for a function whose evaluation entails integrating the dynamics (1). 3) Application of Target Dynamics: The feedback law (14) arising from the target (9) and output map (13) admits since Proposition 3 applies. The special target, (9), enjoys a very nice property relative to the difficult root finding problem (31). is given by Namely, using this control algorithm, (32) In general, as discussed in Section I, we can expect no or , and we compute an closed-form expression for estimate using a standard numerical scalar root finding method (i.e., the “false position” or “secant” method) whose convergence properties are well known [27]. We plot in Fig. 7 a particular instance of for the case where the robot parameters are shown in the table in Fig. 4. is tuned according to this mapping. We will use these parameter values throughout the sequel for the sake of comparison between this and subsequent figures. for this 4) Simulation: Consider the case parameter set above. The initial condition of the robot is . From the numerical solution . In this simulation, depicted in Fig. 7, the lossy model (1) is used and friction terms are added in the inverse dynamics controller (14). Fig. 8 shows the resulting movement of the robot. The joint trajectories and the voltage command to the motor driver are shown in Fig. 9. Note that the closed-loop dynamics of the system does not strictly admit a reverse time symmetry discussed above, since the uncanceled friction terms of the first joint enter the dynamics of the unactuated degree of freedom. However, under these circumstances, numerical simulation shown in Figs. 8 and 9 suggests that the desired brachiation can be achieved. In practice, we have found that model mismatch seems to affect behavior of the physical robot rather considerably as discussed in the Appendix. B. Swing-Up Problem and we need merely solve (31) for . More formally, we seek an implicit function such that . Of course, we are more likely in practice to take an interest in tuning as a function of a desired . Thus, we are most interested in determining (33) The swing-up problem entails pumping up from the suspended posture at rest and catching the next bar. In order to achieve this task, it is necessary not only to add energy in a suitable fashion but also to control the arm position at the capture of the next target bar. This suggests the introduction of a stable limit cycle to the system with suitable magnitude and relative phase. 116 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 Fig. 8. Movement of the robot (simulation). The symmetry properties of the neutral orbit from the ceiling solves the ladder problem. 1) Swing-Up Controller: As we have mentioned, swing up requires energy pumping in a suitable fashion. To achieve this, we modify the target dynamics (9) as (34) as defined in (13), is a posiwhere is the desired tive constant, is “pseudoenergy” (11), and pseudoenergy level. To achieve this target dynamics, the control law is formulated as (35) Now, consider the time derivative of along the motion (36) , then the pseudo-energy decreases, and if , then increases. Therefore, will converge to the desired level eventually. This implies that the target dynamics has a stable limit cycle whose trajectory is characterized by on the phase plane of . Although the system’s motion projected onto the target subspace must exhibit the desired limit cycle, the swing-up task still requires a coordination of the full four-dimensional robot trajectory in order to guarantee the arm extension is correct at the moment the “virtual pendulum” angle reaches the ceiling. But for this task, in contrast to the ladder problem, we can make no assumption regarding the robot’s initial conditions—the arm If might start out in any configuration (typically, at small velocity) near the bottom state following a small “kick” of torque administered to break out of that passively stable equilibrium state. In particular, there are no comparable means of appeal to a tuned symmetry as before. Unfortunately, no general method is presently known to stabilize a highly nonlinear underactuated mechanical system around a specific (necessarily nonequilibrium) orbit. Hence, we are reduced to empirical tuning of the pumping gain in order to find task worthy values. on the target system is quite straightforThe effect of ward—(36) shows that it sets the time constant for convergence to the specified lower dimensional target limit cycle, hence, higher gains must result in quicker approach to the “virtual” steady state behavior. In contrast, the four-dimensional closed-loop system can be expected to exhibit extremely complex (RR kinematic chains are “chaotic”) orbits. Certainly, there is no reason to expect limit cycles from the true four-dimensional system as its orbits accumulate toward the three-dimensional limit set. Empirically, however, we find , wherein the system’s there are favorable regimes for small motion tends toward “near-neutral” orbits resulting in very slow swing up—that is, a relative phasing between the virtual angle and extension that brings the gripper to the next handhold at an acceptably small velocity. Fortunately, a numerical one parameter search is quite simple to implement. We have found it relatively straightforward to achieve effective swing-up controllers both in simulation as well as in the lab by simply incrementing the value of this pseudo-energy pumping gain (starting from very small values), recording the favorable values as they recur, and then running with a favorable value whose associated pseudo-energy convergence rate is fast enough to yield a viable handhold over three or four swings. 2) Simulation: What follows here is a presentation of different swing-up behaviors resulting from changes in the rate . The next bar is loof energy pumping as characterized by cated at the distance , and we choose according to the mapping depicted in Fig. 7. Since the bottom condition with zero velocity is an equilibrium state of the closed-loop dynamics, we give small initial velocity to the second joint to initiate the swing motion in the desired direction. In the following simulations, we assume that the robot can catch the bar when it comes very close to the desired handhold. Fig. 10 shows the typical motion obtained for a favorable . In contrast, Fig. 11 exhibits the typical small setting of “chaotic” motion obtained for a large unfavorable setting of . continues to increase, some particular choices may result As in robot trajectories which go through the next bar’s position after a few swings as depicted in Fig. 12. V. ROPE PROBLEM In this section, we consider the rope problem: brachiation along a continuum of handholds such as afforded by a branch or a rope. First, the average horizontal velocity is characterized as a result of the application of the target dynamics controller introduced above. Then, we consider the regulation of horizontal velocity using this controller. An associated numerical “swing NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER (a) Fig. 9. 117 (b) Simulation results of the ladder problem. (a) Joint trajectories ( —solid,  —dashed). (b) Voltage command to the motor driver. (a) (b) Fig. 10. Slow swing-up behavior (simulation; K = 0:05). (a) Joint trajectories ( —solid,  —dashed). (b) Voltage command to the motor driver. The robot captures the bar at t = 19:2 s. Small choice of K achieves a near neutral orbit in the long time swing behavior. (a) (b) Fig. 11. “Chaotic” swing behavior (simulation; K = 0:18). (a) Joint trajectories ( —solid,  —dashed). (b) Voltage command to the motor driver. “Chaotic” swing motion is observed when we let the robot keep swinging with large choice of K . map” suggests that we indeed can achieve good local regulation of the forward velocity through the target dynamics method. A. Iterated Ladder Trajectory Induces a Horizontal Velocity Supposing that the robot starts in the ceiling with zero velocity, then it must end in the ceiling under the target dynamics . However, controller, since follows the dynamics , then the trajectory if and are not “matched” as , ends in the tangent of the right branch of the ceiling, but and . In [26], we present numerical with evidence suggesting that when for small , then at is also small. Assuming that any such small nonzero velocity is “killed” in the ceiling, brachiation may be iterated by opening and closing the grippers at left and right ends in the appropriately coordinated manner. Namely, imagine that the robot concludes the swing by grasping firmly with its gripper the next handhold in the ceiling and thereby damps out the remaining kinetic energy. Imagine at the same instant that it releases the gripper clutching the previous handhold and thereby begins the next swing. We will call such a maneuver the iterated ladder trajectory (ILT). 118 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 (a) (b) Fig. 12. Fast swing-up behavior (simulation; K = 0:328). (a) Joint trajectories ( —solid,  —dashed). (b) Voltage command to the motor driver. The robot captures the bar at t = 2:78 s. It is natural to inquire as to how quickly horizontal progress can be made along the ladder in doing so. When a gripper moves in the course of the ladder trajectory, and if the a distance trajectory is immediately repeated, as described above, then the each swing, hence, its body will also move a distance of average horizontal velocity will be (37) according to the discussion in Section IV-A. Numerical study using in Section IV-A-3 and the robot parameters in the table is in Fig. 4 reveal that the ceiling-to-velocity map momotone increasing. B. Inverting the Ceiling-to-Velocity Map Consider now the task of obtaining the desired forward veof brachiation. If is invertible, then locity and we can tune in the target dynamics as (38) to achieve a desired where is again the mapping (33). Fig. 13. Swing map,  , (solid) and identity (dashed) for the case ^ (d ), and the robot h_ = 0:7; d = 0:6496; ! = 3:385 where ! =  parameters are in the table in Fig. 4. This swing map has an attracting fixed point at d . because of the symmetry properties of the where neutral orbits, demonstrated in Proposition 4. Define a projection , from the ceiling’s tangents into the zero velocity section C. Horizontal Velocity Regulation Consider the ceiling condition with zero velocity (39) (44) Define the maps and their inverses as (40) (41) A target dynamics controller (9) gives where where since then follows the dynamics In other words, is a map that “kills” any velocity in the ceiling. We introduce this projection to model the ILT maneuver in cases for .4 when We now have from (42) . Now, if (42) , (43) hence, we may define a “swing map,” of into itself (45) , as a transformation (46) 4The interested reader may consult [26] to see that magnitude of leftover velocity is not prohibitively large. NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER 119 Fig. 14. Brachiation along the bar with the initial condition (49). Convergence of d yields convergence to the desired average velocity, h_ . Note that if , then (47) that is, is a fixed point of the appropriately tuned swing map. It is now clear that the dynamics of the ILT maneuver can . Physically, be modeled by the iterates of this swing map suppose we iterate by setting the next initial condition in the ceiling to be (48) This yields a discrete dynamical system governed by the iterates of Numerical evidence suggests that the iterated dynamics con, when is in the neighborhood verges, as depicted in Fig. 13 (local asymptotic stability of the of fixed point ). We plot the swing map calculated numerically for the case where , and the robot parameters in the table in Fig. 4 are used (see Fig. 13). D. Simulation Suppose we would like to achieve the desired horizontal ve. The parameters shown in the table in Fig. 4 are locity . used. For this case, is obtained as Consider the case where we select , but the initial is wrong. We present simulation results with the initial condition where (49) in Fig. 14. As the numerical swing map of (13) suggests, we nevertheless achieve asymptotically the desired locomotion, i.e., . With the assumption that any velocity in the ceiling is killed, is fairly large the size of the domain of attraction to under according to the numerical evidence shown in Fig. 13. VI. EXPERIMENTS We present results of the experimental implementation of the proposed controller in order to validate our control strategy. The proposed algorithm is applied to the ladder and swing-up !d is illustrated as the numerical swing map (Fig. 13) indicates, and this problem, however, the rope problem cannot be experimentally carried out with the robot considered in this paper because of the structure of the gripper. A. Ladder Problem In the experimental setting, the next bar is located at a distance m. For this experimental setting, is tuned to according to the mapping depicted in Fig. 7. be Early attempts to implement the controller (14) failed. Swing motion close to the desired behavior was achieved, but the gripper did not come close enough to the target bar to catch it.5 A central component contributing to these failures was the model mismatch. Therefore, we tuned the parameters of the model manually. Some experience is helpful in the refinement of these parameters: We choose to use , and instead of the values in the table in Fig. 4 for the ladder problem. This assignment yielded success. A typical motion of the physical robot is plotted in Fig. 15, while the joint trajectories and the voltage commands sent to the driver are shown in Fig. 16. The mean locomotion time of ten s error,6 which is very close to its runs is 0.973 s with analytically calculated value s. Notice that the symmetry of the neutral orbit is not perfectly achieved in the motion of the robot. We discuss the discrepancy between the simulation and experimental results in the Appendix. B. Swing-Up Problem What follows is a presentation of the experimental results of the different swing-up behaviors resulting from changes in . The disthe rate of energy pumping, as characterized by tance between the bars is 0.6 m. We consider three cases where and . These parameters are chosen manually based on our experience in numerical simulation and experiments. In order to successfully swing up, we have found it necessary to slightly modify the desired pseudo-energy level and some of the model parameters. The nominal pseudo-energy so that the gripper is chosen to be 5In practice, we need to consider the time lag in opening the gripper when the robot initiates locomotion, something not taken into account in the analytical work. It takes approximately 0.08–0.1 s to release the bar after the command to open the gripper is sent. Empirically, we have observed that this time affects the swing behavior of the robot. As a result, we choose to send the open command of the gripper 0.08 s before the target dynamics controller is turned on. 6In the sequel, the error refers to the maximum deviation from the mean. 120 Fig. 15. IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 + Movement of the robot (experiment). The target bar is located at a distance of 0.6 m marked by the “ .” (a) Fig. 16. (b) The experimental results of the ladder problem: left—joint trajectories and right—voltage command to the motor driver. reaches the height of the bar, which corresponds to the condiwhen . In the initial attempts using the nomtion inal pseudo-energy level, we found that the gripper of the robot came close to the bar, but did not reach the enough height up to the ceiling to catch it. Thus, we introduce a slight modification to increase the amplitude of the to this value as oscillation so that the gripper reaches the height of the bar, and instead of the values we choose to use in the table in Fig. 4. The initial direction of the swing motion depends solely upon the initial states of the system since the motion of the robot is governed by the closed-loop dynamics. Only small deviation from the origin on the phase plane determines this direction. Thus, we introduce an impulse-like initial torque before the controller is turned on so that the robot starts its swing motion in the desired direction at every run. The experimental results of the swing-up problem do not exactly match those of numerical simulations presented in Section IV-B. We investigate this matter in the Appendix. Fig. 17 shows the joint trajectory and the voltage command resulting in slow swing-up to the motor driver when behavior. The mean time of ten runs for this slow swing-up be-s error. havior is 7.474 s with Fig. 18 shows the joint trajectory and the voltage command . This choice yields to the motor driver when relatively fast swing up. The mean swing-up time of ten runs s error. for this swing up is 3.843 s with Fig. 19 shows the joint trajectory and the voltage command to the motor driver when . This choice of yields a “faster” swing-up maneuver. The mean swing-up time of ten -s error. In this runs for this movement is 2.913 s with case, the initial impulse-like torque is applied in the opposite direction to the previous two cases in order to start swinging in the counterclockwise direction. C. Continuous Locomotion Here, we exhibit the demonstration of continuous locomotion over several rungs of the ladder. Fig. 20 depicts repeated locomotion of the robot initiated at the ceiling and moving from left to right. This motion can be considered as the iteration of the ladder trajectory. After each swing, the initial condition is reset, and the function of each arm is switched. This switching is done manually by looking at the motion of the robot to make sure that the it does not fall off from the ladder by mistakenly releasing the grasping bar before catching the next bar with some automated manner, which may result in serious damage to the robot. Due to the symmetrical structure of the robot, the same model is used in each swing where the configuration of the robot is “flipped over.” In Fig. 21, we show a picture of continuous locomotion initiated from the suspended posture. This is a combination of the “faster” swing-up maneuver and the iterated ladder trajectory. First, the robot swings three times—going forth (1) NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER (a) 121 (b) Fig. 17. Experimental results of slow swing-up behavior (K = 0:03). (a) Joint trajectories and (b) voltage command to the motor driver. The robot captures 7:5 s. the bar when t  (a) (b) Fig. 18. Experimental results of fast swing-up behavior (K = 0:47). (a) Joint trajectories and (b) voltage command to the motor driver. The robot captures the bar when t 3:8 s.  (a) (b) Fig. 19. Experimental results of faster swing-up behavior (K = 0:9). (a) Joint trajectories and (b) voltage command to the motor driver. The robot captures the bar when t 2:9 s.  and back (2) to gain momentum, and again swinging forward ) (3) to catch the bar—with the swing-up controller ( described above. Then the control law is switched into the locomotion controller. In these experiments, we have observed that disturbances caused by the cable, which hangs down from above, can occasionally have a detrimental effect on the robot’s motion. In particular, sometimes the robot has difficulty reaching the bar because of the dragging effect of the cable. Thus, some care has to be taken so that the influence of the cable can be reduced. Nonetheless, we feel that these experimental results demonstrate the relevance of our strategy despite the many practical issues which have not been formally treated, such as model mismatch, inaccuracy of sensors and actuators, and the presence of various disturbances. VII. CONCLUSION We have presented empirical studies of a new brachiating controller for a simplified two-link robot. The algorithm uses a target dynamics method to solve the ladder, swing-up, and rope problems. These tasks are encoded as the output of a target 122 IEEE TRANSACTIONS ON ROBOTICS AND AUTOMATION, VOL. 16, NO. 2, APRIL 2000 B. Future Work Fig. 20. A picture of continuous locomotion started in the ceiling. The robot iterates brachiation three times moving from left to right. Fig. 21. A picture of continuous locomotion initiated from the suspended posture. First, the robot swings three times—going 1) forth and 2) back to gain momentum, and again swinging 3) forward to catch the bar—with the swing-up controller (K = 0:9) described above. Then the control law is switched into the locomotion controller. dynamical system inspired by the pendulum-like motion of an ape’s (slow) brachiation. We provide numerical simulations suggesting the effectiveness of the proposed algorithm. We also present our empirical success in the implementation of the target dynamics method to a physical two-link brachiating robot. The proposed algorithm is applied to achieve the ladder and swing-up behaviors. We achieve swing locomotion in the ladder problem and various swing-up behaviors with different . We demonrates of energy pumping, as characterized by strate repeated locomotion over several rungs of the ladder as well. The experimental success bears out the validity of our control strategy in spite of the presence of model mismatches and physical effects previously unconsidered, although some manual tuning is required to implement these ideas. In Section VII-A, we review some of the open questions this raises, and in Section VII-B, we address future work. A. Open Problems These numerical simulations and experimental results suggest that the proposed algorithm is effective for solving robot brachiation problems. However, a formal mathematical analysis will be required in order to truly understand how these ideas work. Most importantly, we need to consider the internal boundedness of the states of the closed-loop system. The unactuated dynamics of our closed loop take the form of a one-degree-of-freedom mechanical system forced by a periodic input. Such problems of parametric resonance are known to be complex. A second open problem concerns the swing map. Numerical studies suggest the local stability of the fixed point , but this must be verified analytically, and the extent of the domain of attraction must be characterized. The controller developed in this paper requires exact model knowledge of the robot. “Passive” and, hence, less model-dependent strategies will be addressed in our future work pursuing the analogy between the brachiation problem and the control of hopping robots. This analogy becomes particularly useful as we begin to contemplate studies of robot brachiation using more complicated models with higher degrees of freedom, where modeling of such systems is much more difficult. Specifically, in Schwind’s study on the control of simplified spring-loaded inverted pendulum (SLIP) hopping robots [12], [13], a particular choice of a spring law allows us to integrate the system’s dynamical equation of the stance phase analytically, and gives us the stance map in closed form. We suspect a similar approach may make the slow brachiation problem more analytically tractable. Finally, the study of the fast brachiation—the leap problem—seems compelling. For reasons discussed in the introduction, this problem lies in the more distant future. We believe there are generalizable principles of brachiation which may be established through the study of this simplified two-degree-of-freedom model. In the longer run, we believe that the ideas presented in this paper may have wider application to such areas of robotics as dexterous manipulation, legged locomotion, and underactuated mechanisms. APPENDIX DISCREPANCY BETWEEN SIMULATIONS AND EXPERIMENTS We believe that the discrepancy between the physical robot motions and simulated trajectories can be attributed to unmodeled nonlinear characteristics of the harmonic drive DC motors. The I/O linearizing controller aggressively cancels nonlinearities in the plant dynamics to achieve the target dynamics, which requires exact model knowledge of the system. Harmonic drives bear complicated nonlinear dynamics [28]. Consider slightly modified friction model which includes coulomb friction, linear and cubic viscous friction and stiction (50) is the coulomb friction coefficient, and are the where represents stiction torque and viscous friction coefficients, denotes the lubrication coefficient [29]. The introduction of the cubic term in (50) seems to be reasonable as described in the study on the modeling of harmonic drive gear transmission mechanisms [28]. In fact, as discussed in [28], harmonic drives have other complicated characteristics such as variation of friction depending on the position of harmonic-drive output and dramatic increase of dissipation at some operating ranges that excite system resonance, which are difficult to model. Furthermore, [28] points out that friction in some drives can actually decrease over some velocity ranges as reported in [30]. We assume that torque produced by the actuator saturates when torque commands exceeds the regular operating range of the motor. Preliminary numerical simulations using the revised actuator NAKANISHI et al.: A BRACHIATING ROBOT CONTROLLER model (50) do, indeed, match closely observed experimental results [26]. REFERENCES [1] D. E. Koditschek, “Dynamically dexterous robots,” in Robot Control: Dynamics, Motion Planning and Analysis, M. W. Spong, F. L. Lewis, and C. T. Abdallah, Eds. Piscataway, NJ: IEEE Press, 1993, pp. 487–490. [2] E. L. Simons, Primate Evolution: An Introduction to Man’s Place in Nature. New York: MacMillan, 1972. [3] R. L. Andersson, A Robot Ping-Pong Player: Experiment in Real-Time Intelligent Control. Cambridge, MA: MIT Press, 1988. [4] F. Saito, T. Fukuda, and F. Arai, “Swing and locomotion control for a two-link brachiation robot,” IEEE Contr. Syst. Mag., vol. 14, pp. 5–12, Feb. 1994. [5] F. Saito, “Motion control of the brachiation type of mobile robot,” Ph.D. dissertation (in Japanese), Nagoya Univ., Nagoya, Japan, Mar. 1995. [6] K. M. Lynch and M. T. Mason, “Dynamic nonprehensile manipulation: Controllability, planning and experiments,” Int. J. Robot. Res., vol. 18, no. 1, pp. 64–92, Jan 1999. [7] M. H. Raibert, Legged Robots that Balance. Cambridge, MA: MIT Press, 1986. [8] S. Schaal and C. G. Atkeson, “Open loop stable control strategies for robot juggling,” in Proc. IEEE Int. Conf. Robot. Automat., vol. 3, Atlanta, GA, May 1993, pp. 913–-918. [9] A. F. Vakakis, J. W. Burdick, and T. K. Caughey, “An ‘interesting’ strange attractor in the dynamics of a hopping robot,” Int. J. Robot. Res., vol. 10, no. 6, pp. 606–618, Dec. 1991. [10] R. T. M’Closkeys and J. W. Burdick, “Periodic motions of a hopping robot with vertical and forward motion,” Int. J. Robot. Res., vol. 12, no. 3, pp. 197–218, June 1993. [11] D. E. Koditschek and M. Bühler , “Analysis of a simplified hopping robot,” Int. J. Robot. Res., vol. 10, no. 6, pp. 587–605, Dec. 1991. [12] W. J. Schwind and D. E. Koditschek, “Control of the forward velocity of the simplified planner hopping robot,” in Proc. IEEE Int. Conf. Robot. Automat., 1995, pp. 691–696. [13] W. J. Schwind and D. E. Koditschek, “Characterization of monoped equilibrium gaits,” in Proc. IEEE Int. Conf. Robot. Automat., 1997, pp. 1986–1992. [14] M. Bühler, D. E. Koditschek, and P. J. Kindlmann, “A family of robot control strategies for intermittent dynamical environments,” IEEE Contr. Syst. Mag., vol. 10, pp. 16–22, Feb. 1990. [15] M. Bühler, D. E. Koditschek, and P. J. Kindlmann, “Planning and control of a juggling robot,” Int. J. Robot. Res., vol. 13, no. 2, pp. 101–118, 1994. [16] A. A. Rizzi, L. L. Whitcomb, and D. E. Koditschek, “Distributed real-time control of a spatial robot juggler,” IEEE Comput., vol. 25, pp. 12–24, May 1992. [17] R. R. Burridge, A. A. Rizzi, and D. E. Koditschek, “Sequential composition of dynamically dexterous robot behaviors,” Int. J. Robot. Res., vol. 18, no. 6, pp. 534–555, June 1999. [18] F. Diacu and P. Holmes, Celestial Encounters. Princeton, NJ: Princeton Univ. Press, 1996. [19] W. J. Schwind and D. E. Koditschek, “Approximating the stance map of a 2 dof monoped runner,” Journal of Nonlinear Systems, to be published. [20] U. Saranli, W. J. Schwind, and D. E. Koditschek, “Toward the control of a multi-jointed, monoped runner,” in Proc. IEEE Int. Conf. Robot. Automat., Leuven, Belgium, May 1998, pp. 2676–2682. [21] M. Spong, “The swing up control problem for the acrobot,” IEEE Contr. Syst. Mag., vol. 15, pp. 49–55, Feb. 1995. [22] M. Spong, “Partial feedback linearization of underactuated mechanical systems,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots Syst., Sept. 1994, pp. 314–321. [23] R. Abraham and J. E. Marsden, Foundations of Mechanics. Reading, MA: Benjamin/Cummings, 1978. [24] S. Eimerl and I. DeVore, The Primates. New York: Time-Life, 1966. [25] H. Preuschoft and B. Demes, “Biomechanics of brachiation,” in The Lesser Apes, H. Preuschoft, D. J. Chivers, W. Y. Brockelman, and N. Creel, Eds. Edinburgh, U.K.: Edinburgh Univ. Press, 1984, pp. 96–118. 123 [26] J. Nakanishi, T. Fukuda, and D. E. Koditschek, “A brachiating robot controller,” EECS Dept., Univ. of Michigan, Tech. Rep. CSE-TR-405-99, Aug. 1999. [27] J. Stoer and R. Bulirsch, Introduction to Numerical Analysis. New York: Springer-Verlag, 1980. [28] T. D. Tuttle and W. P. Seering, “A nonlinear model of a harmonic drive gear transmission,” IEEE Trans. Robot. Automat., vol. 12, pp. 368–374, June 1996. [29] S. Arimoto, Control Theory of Non-linear Mechanical Systems—A Passivity-Based and Circuit-Theoretic Approach. Oxford, U.K.: Oxford Univ. Press, 1996. [30] T. Marilier and J. A. Richard, “Non-linear mechanic and electric behavior of a robot axis with a ‘harmonic-drive’ gear,” Robot. Comput.-Integr. Manuf., vol. 5, no. 2/3, pp. 129–136, 1989. Jun Nakanishi (S’95) received the B.E. and M.E. degrees both in mechanical engineering from Nagoya University, Nagoya, Japan, in 1995 and 1997, respectively. He also studied in the Department of Electrical Engineering and Computer Science at the University of Michigan, Ann Arbor, from 1995 to 1996. He received the Ph.D. degree in engineering from Nagoya University in 2000. He is currently a Research Associate with the Department of Micro System Engineering, Nagoya University. His research interests include nonlinear control of underactuated Lagrangian systems. Toshio Fukuda (M’83–SM’93–F’95) graduated from Waseda University in 1971 and received the M.E. and Dr.Eng. degrees from the University of Tokyo, Tokyo, Japan, in 1973 and 1977, respectively. Meanwhile, he studied at Yale University, New Haven, CT, from 1973 to 1975. In 1977, he joined the National Mechanical Engineering Laboratory in 1977, and was a Visiting Research Fellow at the University of Stuttgart from 1979 to 1980. He joined the Science University of Tokyo in 1981, and then joined Nagoya University in 1989. Currently, he is a Professor at Center for Cooperative Research in Advanced Science and Technology, Nagoya University, Japan, mainly engaging in the fields of intelligent robotic systems, mechatronics, and microrobotics. Dr. Fukuda received the IEEE Eugene Mittelmann Award in 1997. He has been Vice President of the IEEE Industrial Electronics Society since 1990, IFSA Vice President since 1997, as well as past President of the IEEE Robotics and Automation Society. Daniel E. Koditschek (S’80–M’83) received the Ph.D. degree in electrical engineering from Yale University, New Haven, CT, in 1983. He was appointed to the faculty at Yale University, in 1984, and moved to the University of Michigan, Ann Arbor, in 1993, where he is presently a Professor in the Department of Electrical Engineering and Computer Science with a joint appointment in the Artificial Intelligence Laboratory and Control Systems Lababoratory. His research interests include robotics, the application of dynamical systems theory to intelligent mechanisms, nonlinear control, and applications of real-time distributed control technology. Dr. Koditschek is a member of the AAAS, ACM, AMS, MAA, SIAM, and Sigma Xi.