Model-Based Design and Evaluation of a Brachiating Monkey Robot with an Active Waist

We report on the model-based development of a monkey robot that is capable of performing continuous brachiation locomotion on swingable rod, as the intermediate step toward studying brachiation on the soft rope or on horizontal ropes with both ends fixed. The work is different from other previous works where the model or the robot swings on fixed bars. The model, which is composed of two rigid links, was inspired by the dynamic motion of primates. The model further served as the design guideline for a robot that has five degree of freedoms: two on each arm for rod changing and one on the waist to initiate a swing motion. The model was quantitatively formulated, and its dynamic behavior was analyzed in simulation. Further, a two-stage controller was developed within the simulation environment, where the first stage used the natural dynamics of a two-link pendulum-like model, and the second stage used the angular velocity feedback to regulate the waist motion. Finally, the robot was empirically built and evaluated. The experimental results confirm that the robot can perform model-like swing behavior and continuous brachiation locomotion on rods.


Introduction
While most legged animals move on the ground by using their legs when walking [1], running [2,3], leaping [4], or crawling [5], a special subset of legged animals includes primates who have a different kind of locomotion mechanism owing to the characteristics of the habitat.Monkeys live in trees, which can be regarded as a special kind of terrain that is scattered and randomly distributed in all directions.Thus, using arms for locomotion, or so called brachiation, has naturally evolved in primates such as gibbons and siamangs.Their brachiation mechanism has been studied [6,7], and the influence of their size and proportion on biomechanic characteristics have been reported as well [8].Brachiation locomotion acts as a unique class of limbed locomotion that can negotiate some types of special terrain, where other methods may not be functional.
Continuous brachiation locomotion in general is composed of a swing motion with respect to a fixed point and the change of fixed points for forward motion.Because the fixed point is usually above the system, the swing motion is similar to that of a pendulum [9,10].The dynamics of a multi-link pendulum with respect to a fixed position have been well studied, especially for the two-link [11][12][13][14][15] and the three-link [16,17] systems, as acrobatic motion performed by gymnasts can also be modeled in this manner [18].The research topics have included the pendulum focus on energy transformation mechanism, control strategy, and parameter identification.Most studies have been conducted in a simulation environment, and some have produced experimental results [13,16].In addition to the study of pendulum dynamics, some research has focused on the change in fixed positions in the performance of complete brachiation locomotion.Similarly, two-link [19][20][21][22][23][24][25][26] and three-link [27][28][29][30] systems have been widely adopted.In these studies, different controllers were applied and simulated to stabilize the behavior and to reject disturbances, and some studies included comparisons between simulations and experimental results [21,24,29].The empirical robots in this category needed to have extra degrees-of-freedom (DOFs) to grasp/release or switch the fixed positions, and a distance sensor was used to detect the distance and height of the bars for brachiating adjustment [31].Later, the simulation studies used models with link numbers up to seven to simulate the complex dynamics of primates [32][33][34][35][36].
In our study, we report on the simulation and experimental results of a monkey robot in brachiation locomotion.Unlike other studies where the models/robots grasp the fixed bar, we intend to investigate the behavior while the robot grasps a swingable rod, as the intermediate step toward studying brachiation on the soft rope.The system, which is composed of the robot and the rope/rod, has a more concentrated mass/size distribution and a larger distance to the fixed end (i.e., the top of the rope/rod) than the system composed of the robot and a fixed bar, as reported in other literature.Thus, the mechanical property of the rope/rod changes the overall system dynamics, and the passive rope/rod enlarges the swing amplitude of the robot as well as increases the possibility of catching.Following this setup, the two-step control strategy is developed, so the system can initiate the swing motion from rest as well as maintain the swing with a large amplitude.The system is modeled and the empirical robot is built and experimentally evaluated.
The remainder of the paper is organized as follows.Note that the motivation of this work is neither the development of a sophisticated control strategy of the two-link pendulum nor the development of a complex robot to mimic the monkey itself.Instead, we focus on how to design a simple robot and to simultaneously find a corresponding simple model (i.e., template vs. anchor [37]), so the complex brachiating behavior of the monkey can be abstractly reconstructed.Following this logic, we intend to firstly describe the bio-inspiration process in Section 2, starting from our interest in understanding how a monkey (or Tarzan, a famous fictional character in Disney movies) brachiates between ropes and ending at the conclusion that a two-link model is sufficient to abstract this behavior.Then, in Section 3 we try to design a robot that has limited DOFs but is capable of reconstructing the brachiating motion (i.e., including switching ropes/rods).Next, the dynamic behaviors of the model and the robot are analyzed and reported in Section 4, and Section 5 describes the strategy and behavior of the robot brachiating between the ropes/rods.Finally, Section 6 concludes the work.

The Reduced-Order Two-Link Dynamic Model of the Monkey Robot
A monkey swinging in a tree, as shown in Figure 1a, is a spatial and complex dynamic motion.To effectively understand the essential dynamic characteristics of the system, we construct a reduced-order model of the system by considering the following issues: (i) The motion of the monkey is only considered in the sagittal plane, and any dynamics outside this plane are ignored; (ii) The "simplest actuation scheme" is adopted, where a fore/aft swing motion is generated by only one active and rotational degree-of-freedom (DOF) with torque τ.This DOF is located around the geometric center of the body, so the relative configuration of the "upper body" and the "lower body" can be actively controlled.This joint is referred to as "joint 2"; (iii) The upper and lower bodies are assumed to be rigid bodies with mass (m 1 and m 2 ) and inertia (I 1 and I 2 ); (iv) The mass of the rope is ignored.In this case, during the monkey swing motion, the rope can be treated as a massless rigid rod that connects to the fixed end by a passive revolute joint (referred to as "joint 1"), as shown in Figure 1b.The viscous damper with the damping coefficient c is added at this joint to represent the energy loss of the model; (v) During the monkey swing motion, the relative configuration between the hand of the monkey and the rope is fixed.Together with the issue described in (iv), the "rope" and the upper body of the monkey can be modeled together as a rigid-body link with length l 1 and its center-of-mass (COM) is located close to the active joint (l 1c from the revolute joint); (vi) The motion and dynamic effects of the other arm are not considered because we intend to keep the reduced-order model (or template) simple to extract the essential dynamics of the system.On the robot side, the robot is designed to have less inertia in the arms to fulfill the assumption of the template.After taking these considerations into account, the original complex system can be simplified as a two-link model, as shown in Figure 1b.
Appl.Sci.2017, 7, 947 3 of 15 mass is located close to the active joint ( from the revolute joint); (vi) The motion and dynamic effects of the other arm are not considered because we intend to keep the reduced-order model (or template) simple to extract the essential dynamics of the system.On the robot side, the robot is designed to have less inertia in the arms to fulfill the assumption of the template.After taking these considerations into account, the original complex system can be simplified as a two-link model, as shown in Figure 1b.The equations of motion (EOMs) of the reduced-order two-link model shown in Figure 1b was developed based on Lagrangian mechanics.The origin of the Cartesian coordinate system is located at joint 1.The angles and represent the configuration of the upper and lower links, respectively.The model can be regarded as a compound pendulum, and its behavior can be parameterized by two variables, and .The quantitative formulation of the model is described as follows.First, the positions ( and ) of the masses ( and ) can be expressed as and their velocities ( and ) can be derived as The kinetic energy (T) and potential energy (V) of the model can be expressed as where represents the gravity constant.Following this definition, the equations of motion can be expressed as The equations of motion (EOMs) of the reduced-order two-link model shown in Figure 1b was developed based on Lagrangian mechanics.The origin of the Cartesian coordinate system is located at joint 1.The angles θ 1 and θ 2 represent the configuration of the upper and lower links, respectively.The model can be regarded as a compound pendulum, and its behavior can be parameterized by two variables, θ 1 and θ 2 .
The quantitative formulation of the model is described as follows.First, the positions ( P 1 and P 2 ) of the masses (m 1 and m 2 ) can be expressed as and their velocities ( V 1 and V 2 ) can be derived as The kinetic energy (T) and potential energy (V) of the model can be expressed as where g represents the gravity constant.Following this definition, the equations of motion can be expressed as d dt where L = T − V is the Lagrangian of the model and c is the damping coefficient.Together with Equations ( 1)-( 3), the EOMs of the model can be derived as . . .
The derived EOMs are programmed in Matlab ® to study the dynamic behavior of the model.The equations are rewritten in state-space with variables (θ 1 , .θ 1 , θ 2 , .θ 2 ) and solved by function ode45.When the active joint 2 (θ 2 ) is not force controlled but position controlled, the state θ 2 and .θ 2 are regarded as priori.In this case, only the states of θ 1 and .θ 1 need to be solved.

The Design of the MonkeyBot
The design of the monkey robot (hereafter referred to as the MonkeyBot) basically aligns with the configuration of the two-link model described in Section 2, so the latter (the "template") can correctly serve as the reduced-order model of the former (the "anchor") [37].In addition to this constraint, the design of the robot is also based on several considerations that will be described separately as follows.
The computer-aided drafting (CAD) drawing of the robot is shown in Figure 2a.The robot has two arms, which are designed to grab/release the rope (i.e., the swing rods).By programming the arms to grab/release the rope/rod alternatively, the robot is capable of swinging among different ropes/rods as a monkey does.Thus, the upper body of the model described in Section 2, in reality, is composed of the main upper robot body, two arms, and the rope/rod.In contrast, though a monkey has two legs and a tail, the lower robot body is designed as a rigid box, which allows us to directly map that to the lower body of the model.The rigid box is designed to have several mounting holes and a small basket, as shown in the figure, so the length and mass of the lower body can be easily adjusted.Because of these adjustable designs, we can alter the variable l 2 and m 2 in Section 2, which can enhance the robot's moment of inertia and make the movement optimal.
The MonkeyBot has five actuators in total, as shown in Figure 2a.One of them is to control the relative configuration of the upper and lower robot bodies and is equivalent to the control of joint 2 (θ 2 ) of the model.Each arm has two actuators: One of them controls the open/close of the hand, so the hand can grasp/release the rope/rod.The other actuator changes the rotational configuration of the arm relative to the upper robot body (i.e., the shoulder joint).When the MonkeyBot swings, the arm that grasps the rope/rod poses vertically.In the meantime, the other arm poses horizontally toward the front side, in preparation for grasping the next rope/rod.
Each arm/hand is composed of dual 4-bar linkage structures, as shown in Figure 2b.The robot hand, or the simple 2-finger gripper, is composed of two linkages, one from each 4-bar linkage structure.By using one actuator to drive these two 4-bar linkages simultaneously, the hand can perform the open/close motion.The use of the 4-bar linkages to drive the hand motion has several advantages: First, the actuator, which is relatively heavier than other components on the arm/hand, can be installed close to the shoulder joint, so the arm/hand inertia can be reduced.This helps to increase the dynamic response of the arm motion.Second, when the hand grasps the rope/rod, the arm and body weight can be supported by the linkage structure, but not by the actuator torque.The shoulder joint also has to carry the body weight.Thus, instead of relying on the actuator motor shaft and aluminum horn, a ring bearing is installed to support the force in the axial and radial directions of the joint.Third, the motion range can be amplified.The open/close angle of the gripper is increased to 80 • from its original 40 • on the actuator side.The actuator (55 g) is the heaviest component on the arm, so it is placed close to the shoulder joint to reduce its inertia effect as shown in Figure 2b.Thus, motion of the arm that is not grasping the rope/rod does not have a significant effect on the dynamics of the robot's overall motion.
the configuration of the two-link model described in Section 2, so the latter (the "template") can correctly serve as the reduced-order model of the former (the "anchor") [37].In addition to this constraint, the design of the robot is also based on several considerations that will be described separately as follows.
The computer-aided drafting (CAD) drawing of the robot is shown in Figure 2a.The robot has two arms, which are designed to grab/release the rope (i.e., the swing rods).By programming the arms to grab/release the rope/rod alternatively, the robot is capable of swinging among different ropes/rods as a monkey does.Thus, the upper body of the model described in Section 2, in reality, is composed of the main upper robot body, two arms, and the rope/rod.In contrast, though a monkey has two legs and a tail, the lower robot body is designed as a rigid box, which allows us to directly map that to the lower body of the model.The rigid box is designed to have several mounting holes and a small basket, as shown in the figure, so the length and mass of the lower body can be easily adjusted.Because of these adjustable designs, we can alter the variable and in Section 2, which can enhance the robot's moment of inertia and make the movement optimal.When the hand closes, the enclosed inner area is in a rectangular shape, which matches the cross section of the rigid rod, as shown in the blow-up subfigure in Figure 2a.Thus, when the hand of the robot grasps the rod, the yaw and roll disturbance of the robot can be constrained, so the robot can have motion only in the sagittal plane as the model requires.In addition, a small piece of rubber is mounted on the inner surface of the hand to increase the friction force between the hand and the rigid rod.
The mechatronic system of the MonkeyBot is briefly described as follows.It has an embedded system (MyRIO-1900, National Instruments, Austin, TX, USA), which has a real-time processor operating at a 50 Hz loop rate and an integrated field programmable gate array (FPGA).The former is utilized to deploy the main control algorithm, and the latter is for high-speed computation and input/output (I/O) signal exchange.The servomotors (MG995, Tower Pro, Taipei, Taiwan) are used to control the arm motion and hand motion.The high-speed servomotor (PL-8509, PowerStar, New Taipei City, Taiwan) is used to control the configuration between the upper and lower bodies, and it works at a speed of 2.32 rad/s, which is much faster than the natural frequency of the system.Because it can achieve a swing frequency that is higher than the natural frequency of the system, the motion control is feasible.The inertia measurement unit (IMU) (ADIS-16364, Analog Device, Norwood, MA, USA) is installed close to the COM of the upper body.A limit switch is mounted on each hand to detect the grasp condition between the hand and the rigid rod. Figure 3 shows a photo of the robot.The physical parameters of the robot are listed in Table 1.The swing angle of joint 1 ( ) is an important index to evaluate the swing performance of the robot.Because the relative configuration of the rod and the arm, the upper robot body remains the same during the swing motion, equals the body pitch, and this information can be estimated by utilizing the inertia sensor mounted on the body.The inertia sensor provides the 3-axis linear acceleration ( , , ) and 3-axis angular velocity , , of the body.The body pitch can be estimated by the following method.The aim is to integrate the angular velocity to yield body pitch.The computed body pitch would suffer from the notorious drifting error if the integration time were large.Because the robot swings periodically as the angular velocity alternatively and periodically exhibits positive and negative values, the integration can be "reset" to zero when the robot reaches its highest position ( = 0 ).Assuming the swing motion is symmetric, the integrated angle represents an angle that is twice as large as the swing amplitude (∆ ).The swing angle of joint 1 (θ 1 ) is an important index to evaluate the swing performance of the robot.Because the relative configuration of the rod and the arm, the upper robot body remains the same during the swing motion, θ 1 equals the body pitch, and this information can be estimated by utilizing the inertia sensor mounted on the body.The inertia sensor provides the 3-axis linear acceleration a x , a y , a z and 3-axis angular velocity ω x , ω y , ω z of the body.The body pitch can be estimated by the following method.The aim is to integrate the angular velocity to yield body pitch.The computed body pitch would suffer from the notorious drifting error if the integration time were large.Because the robot swings periodically as the angular velocity alternatively and periodically exhibits positive and negative values, the integration can be "reset" to zero when the robot reaches its highest position ( .θ 1 = 0).Assuming the swing motion is symmetric, the integrated angle represents an angle that is twice as large as the swing amplitude (∆θ 1 ).

Swing Dynamics of the Model and the MonkeyBot
The reduced-order two-link model described in Section 2 is designed to simulate and predict the dynamic behavior of the MonkeyBot described in Section 3, which helps to ease the process of developing the control law and investigating the effect of the parameters of the model/robot.The behavior of the empirical robot is much more complex than that of the model; for example, energy loss is one of the important issues.We do understand a discrepancy between the model and the robot definitely exists, but this is a typical synergy of "template vs. anchor" [37] and it is tolerable as long as the model (i.e., template) is good enough to provide the correct behavioral trend of the robot (i.e., anchor).On the model side, in addition to the use of the active joint θ 2 to represent the actuator effect of the robot, the model has to include the energy loss term to simulate the energy loss of the robot.Here, to make the reduced-order model as simple as possible, we intend to use just one viscous damping dashpot mounted at the swing joint (i.e., at joint θ 1 ) to represent the overall energy loss of the robot.While the physical specifications of the MonkeyBot, such as the mass, inertia, and lengths, can be directly mapped to the model parameters, the only parameter that needs to be determined is the damping coefficient c of the "resultant" viscous damping at the swing joint.
The free swing test of the model/robot was conducted to determine the damping coefficient c of the model.The experimental environment was set up to record the robot's motion for quantitative analysis.Five markers were mounted in the setup: two on the top of two rods (i.e., two joint 1s), one on the COM, one on the arm, and one on the lower body.When the robot swung or brachiated on the rod, its sagittal-plane motion was recorded by a stationary high-definition (HD) camcorder (HDR-SR11, Sony, Tokyo, Japan).While the qualitative motion of the robot can be easily observed by the video, the quantitative motion of the robot can be computed based on the markers' positions in the sequential snapshots taken by the camcorder.In the experiments, the MonkeyBot was posed at two different initial heights (θ 1 = 100 • , 115 • , corresponding to 90 • ± 10 • and 90 • ± 25 • swings) and released.The robot started to swing, and the swing amplitude gradually decreased, owing to the energy loss.The profile θ 1 versus time t was recorded for data analysis.On the model side, models with various damping coefficients c were simulated to generate the corresponding θ 1 versus t profiles.Next, the root mean squared (RMS) errors between the peak value of trajectories in the first five periods of the robot's swing motion, and the models with various c values were computed.The damping coefficient c = 0.0185 was selected because this model has the smallest RMS error.Figure 4 plots the trajectories θ 1 versus t of the robot and the model with this damping coefficient, and the subplots (a) and (b) correspond to the initial condition θ 1 = 100 • and θ 1 = 115 • , respectively.Both plots show a decent trajectory match between the robot and the model, and the RMS errors are 0.42 • and 0.44 • , accordingly.
The frequencies shown in Figure 4 represent the natural frequency of the model and the robot.According to a paper [38], the stride frequencies of different-sized animals have a certain relation to their body mass, and those frequencies also match the natural frequencies if the animals are modeled as the spring-mass systems (i.e., resonance region) because the brachiating motion of the robot is basically a pendulum motion that has a certain natural frequency.To actuate the waist of the robot/model at a frequency similar to the natural frequency is similar to driving the legs of the animals at a frequency similar to the natural frequency.The model has a natural swing frequency of around ω n = 0.714 Hz when θ 1 = 90 • .If the model starts with the at rest configuration and the joint 2 is actuated with a swing signal at the same frequency, the model can gradually increase its swing magnitude (θ 1 ), as shown in Figure 5a.This control scheme is hereafter referred to as the "open-loop" method.Figure 5a also reveals that the open-loop method can quickly build up energy to increase the swing amplitude θ 1 to 90 • ± 50 • within 15 s.Because the double pendulum is a nonlinear system and the natural frequency changes when the configuration changes, its swing motion does not gradually converge to a certain amplitude, but exhibits amplitude variations.In addition, the model has less capability for disturbance rejection.
five periods of the robot's swing motion, and the models with various values were computed.The damping coefficient = 0.0185 was selected because this model has the smallest RMS error.The frequencies shown in Figure 4 represent the natural frequency of the model and the robot.According to a paper [38], the stride frequencies of different-sized animals have a certain relation to their body mass, and those frequencies also match the natural frequencies if the animals are modeled as the spring-mass systems (i.e., resonance region) because the brachiating motion of the robot is basically a pendulum motion that has a certain natural frequency.To actuate the waist of the robot/model at a frequency similar to the natural frequency is similar to driving the legs of the animals at a frequency similar to the natural frequency.The model has a natural swing frequency of around ω = 0.714 Hz when = 90°.If the model starts with the at rest configuration and the joint 2 is actuated with a swing signal at the same frequency, the model can gradually increase its swing magnitude ( ), as shown in Figure 5a.This control scheme is hereafter referred to as the "open-loop" method.Figure 5a also reveals that the open-loop method can quickly build up energy to increase the swing amplitude to 90°± 50° within 15 s.Because the double pendulum is a nonlinear system and the natural frequency changes when the configuration changes, its swing motion does not gradually converge to a certain amplitude, but exhibits amplitude variations.In addition, the model has less capability for disturbance rejection.The closed-loop strategy is developed to compensate for the drawbacks of the open-loop strategy.When joint 2 is actuated with the same rotation direction as joint 1 ( ), the energy generated from joint 2 can be injected into the model.Figure 6 demonstrates this phenomenon.It can be assumed that the model initially swings toward the left ( > 0) and joint 2 is fixed at a positive angle ( > 0), as shown in Figure 6a.After the model reaches its highest left position, as shown in Figure 6b, and starts to change motion direction ( < 0), if joint 2 is actuated to have a negative angular velocity ( < 0), as shown in Figure 6c, the swing motion of joint 1 ( < 0) can be maintained to overcome the damping loss or even increased to enlarge the swing amplitude.When the model reaches its highest right position, as shown in Figure 6d, joint 2 has a negative value ( < 0) and is ready for the next actuation ( > 0 ) after the model starts to change motion direction ( > 0 ).This configuration is identical to the one shown in Figure 6a; thus, the swing motion can be periodically generated.Figure 5b plots the trajectories of the joint 1 angles of the model versus time when the model is actuated with this control scheme.This scheme is hereafter referred to as the "closed-loop" method.The model can successfully build up the swing amplitude to 90°± 10° within 4 s; however, the amplitude seems not to increase until the end of simulation (15 s).Moreover, this method was not functional on the robot when it started at a rest condition = 90° for two reasons: First, the joint angle measurement ( ) of the robot has noise, and this may lead to a wrong actuation initiation, especially when is close to 90°.Second, empirically, the actuation of joint 2 ( ) needs time to finish its configuration change.When is close to 90°, the control algorithm may quickly switch the motion direction of joint 2, and in this case, the robot cannot correctly initiate its periodic motion pattern.Therefore, the hybrid control scheme is utilized: The model/robot firstly uses an open-loop control strategy.After the swing amplitude approaches the maximum value, the control The closed-loop strategy is developed to compensate for the drawbacks of the open-loop strategy.When joint 2 is actuated with the same rotation direction as joint 1 (θ 1 ), the energy generated from joint 2 can be injected into the model.Figure 6 demonstrates this phenomenon.It can be assumed that the model initially swings toward the left ( .θ 1 > 0) and joint 2 is fixed at a positive angle (θ 2 > 0), as shown in Figure 6a.After the model reaches its highest left position, as shown in Figure 6b, and starts to change motion direction ( .θ 1 < 0), if joint 2 is actuated to have a negative angular velocity ( .θ 2 < 0), as shown in Figure 6c, the swing motion of joint 1 ( .θ 1 < 0) can be maintained to overcome the damping loss or even increased to enlarge the swing amplitude.When the model reaches its highest right position, as shown in Figure 6d, joint 2 has a negative value (θ 2 < 0) and is ready for the next actuation ( .θ 2 > 0) after the model starts to change motion direction ( .θ 1 > 0).This configuration is identical to the one shown in Figure 6a; thus, the swing motion can be periodically generated.Figure 5b plots the trajectories of the joint 1 angles of the model versus time when the model is actuated with this control scheme.This scheme is hereafter referred to as the "closed-loop" method.The model can successfully build up the swing amplitude θ 1 to 90 • ± 10 • within 4 s; however, the amplitude seems not to increase until the end of simulation (15 s).Moreover, this method was not functional on the robot when it started at a rest condition θ 1 = 90 • for two reasons: First, the joint angle measurement (θ 1 ) of the robot has noise, and this may lead to a wrong actuation initiation, especially when θ 1 is close to 90 • .Second, empirically, the actuation of joint 2 (θ 2 ) needs time to finish its configuration change.When θ 1 is close to 90 • , the control algorithm may quickly switch the motion direction of joint 2, and in this case, the robot cannot correctly initiate its periodic motion pattern.Therefore, the hybrid control scheme is utilized: The model/robot firstly uses an open-loop control strategy.After the swing amplitude approaches the maximum value, the control algorithm switches to a closed-loop to increase the motion control stability.The overall control flow chart is shown in Figure 7.While the size and mass of the upper body is, in general, fixed and determined by the characteristics of the components, the size and mass of the lower body has some freedom to be adjusted for better dynamic performance of the robot itself.The evaluation process was done in simulation, where the link length and mass of the model were varied, and the model was set to swing six periods from its rest position ( = 90° and = 0°) with the open-loop control strategy.
Because the model with a different size and mass has different natural frequencies, different models use different frequency settings.The performance was judged by the final swing amplitude of the model.Figure 8 shows the simulation result.The figure reveals that as the mass and length of the lower body increases, the swing amplitude increases.Though the longer length and larger weight are preferred, the actuator power is constrained to a certain value because the size and mass of the upper body are given.Thus, the link length and mass are maximized to the value that the motor can sustain.The selected length and mass of the lower body are marked in the figure.While the size and mass of the upper body is, in general, fixed and determined by the characteristics of the components, the size and mass of the lower body has some freedom to be adjusted for better dynamic performance of the robot itself.The evaluation process was done in simulation, where the link length and mass of the model were varied, and the model was set to swing six periods from its rest position ( = 90° and = 0°) with the open-loop control strategy.
Because the model with a different size and mass has different natural frequencies, different models use different frequency settings.The performance was judged by the final swing amplitude of the model.Figure 8 shows the simulation result.The figure reveals that as the mass and length of the lower body increases, the swing amplitude increases.Though the longer length and larger weight are preferred, the actuator power is constrained to a certain value because the size and mass of the upper body are given.Thus, the link length and mass are maximized to the value that the motor can sustain.The selected length and mass of the lower body are marked in the figure.While the size and mass of the upper body is, in general, fixed and determined by the characteristics of the components, the size and mass of the lower body has some freedom to be adjusted for better dynamic performance of the robot itself.The evaluation process was done in simulation, where the link length l 2 and mass m 2 of the model were varied, and the model was set to swing six periods from its rest position (θ 1 = 90 • and θ 2 = 0 • ) with the open-loop control strategy.Because the model with a different size and mass has different natural frequencies, different models use different frequency settings.The performance was judged by the final swing amplitude of the model.Figure 8 shows the simulation result.The figure reveals that as the mass and length of the lower body increases, the swing amplitude increases.Though the longer length and larger weight are preferred, the actuator power is constrained to a certain value because the size and mass of the upper body are given.Thus, the link length l 2 and mass m 2 are maximized to the value that the motor can sustain.The selected length and mass of the lower body are marked in the figure.The robot brachiating on the swingable rope/rod has a more concentrated mass/size distribution and a larger distance than that brachiating on a fixed point.The added rope/rod changes the overall system dynamics, and the passive rope/rod enlarges the swing amplitude of the robot, which increases the possibility of grasping the next rope/rod.Figure 9 compares the difference in behavior between the two systems, where the lengths of have different values.One includes the length of rope/rod, and the other does not.As shown in the figure, though the latter has a faster response, the former has a larger swing amplitude.After the development of the control strategy and optimization of the size and mass, the model and robot are ready for performance evaluation.Figure 10 shows several snapshots of the robot during the experiments, and it confirms that the robot can successfully swing by using the proposed control strategy.Figure 11a shows the simulation results of the model with a hybrid control strategy, and Figure 11b shows the corresponding experimental result of the robot with this hybrid control strategy.We found that the swing frequency of the robot is similar to that of the simulation, but the swing amplitude of the robot is about 2/3 of the simulation.The root mean squared error of the peak amplitude between the model and the robot is 25.7°.We believe that the discrepancy mainly comes from the empirically tested non-rigid grasp of the hand to the rod.Though the hand grasps the rod with a certain contact area, as shown in Figure 2a, the grasping cannot generate enough resistance moment to hold the rod tightly.As a result, when joint 2 of the robot rotates, the arm and the rod are not able to keep their relative configuration as a rigid link, as the model assumes.This phenomenon can also be observed in Figure 10.This less than ideal situation results in two behaviors: (i) The swing The robot brachiating on the swingable rope/rod has a more concentrated mass/size distribution and a larger distance than that brachiating on a fixed point.The added rope/rod changes the overall system dynamics, and the passive rope/rod enlarges the swing amplitude of the robot, which increases the possibility of grasping the next rope/rod.Figure 9 compares the difference in behavior between the two systems, where the lengths of l 1 have different values.One includes the length of rope/rod, and the other does not.As shown in the figure, though the latter has a faster response, the former has a larger swing amplitude.The robot brachiating on the swingable rope/rod has a more concentrated mass/size distribution and a larger distance than that brachiating on a fixed point.The added rope/rod changes the overall system dynamics, and the passive rope/rod enlarges the swing amplitude of the robot, which increases the possibility of grasping the next rope/rod.Figure 9 compares the difference in behavior between the two systems, where the lengths of have different values.One includes the length of rope/rod, and the other does not.As shown in the figure, though the latter has a faster response, the former has a larger swing amplitude.After the development of the control strategy and optimization of the size and mass, the model and robot are ready for performance evaluation.Figure 10 shows several snapshots of the robot during the experiments, and it confirms that the robot can successfully swing by using the proposed control strategy.Figure 11a shows the simulation results of the model with a hybrid control strategy, and Figure 11b shows the corresponding experimental result of the robot with this hybrid control strategy.We found that the swing frequency of the robot is similar to that of the simulation, but the swing amplitude of the robot is about 2/3 of the simulation.The root mean squared error of the peak amplitude between the model and the robot is 25.7°.We believe that the discrepancy mainly comes from the empirically tested non-rigid grasp of the hand to the rod.Though the hand grasps the rod with a certain contact area, as shown in Figure 2a, the grasping cannot generate enough resistance moment to hold the rod tightly.As a result, when joint 2 of the robot rotates, the arm and the rod are not able to keep their relative configuration as a rigid link, as the model assumes.This phenomenon can also be observed in Figure 10.This less than ideal situation results in two behaviors: (i) The swing After the development of the control strategy and optimization of the size and mass, the model and robot are ready for performance evaluation.Figure 10 shows several snapshots of the robot during the experiments, and it confirms that the robot can successfully swing by using the proposed control strategy.Figure 11a shows the simulation results of the model with a hybrid control strategy, and Figure 11b shows the corresponding experimental result of the robot with this hybrid control strategy.We found that the swing frequency of the robot is similar to that of the simulation, but the swing amplitude of the robot is about 2/3 of the simulation.The root mean squared error of the peak amplitude between the model and the robot is 25.7 • .We believe that the discrepancy mainly comes from the empirically tested non-rigid grasp of the hand to the rod.Though the hand grasps the rod with a certain contact area, as shown in Figure 2a, the grasping cannot generate enough resistance moment to hold the rod tightly.As a result, when joint 2 of the robot rotates, the arm and the rod are not able to keep their relative configuration as a rigid link, as the model assumes.This phenomenon can also be observed in Figure 10.This less than ideal situation results in two behaviors: (i) The swing energy generated by joint 2 has a certain loss, so the achievable amplitude decreases; (ii) Because the robot COM lies in different sagittal planes than the arms/rods, when the robot swings, the non-rigid grasping causes the robot to have other dynamic behaviors, such as a yaw swing motion.Thus, some of the swing energy generated by joint 2 is consumed by these unwanted dynamics.Except for the discrepancy in swing amplitude, the swing frequency of the robot can be predicted by the simple two-link model.The dynamic behavior of the robot with both open-loop and closed-loop controllers can also be predicted by the model.Therefore, though the model is quite simple, it can serve as a template of the robot.

Switching Rods of the MonkeyBot
Following the capability of the robot to swing, the next step is to develop the rope/rod-switching behavior of the MonkeyBot.The overall control flow chart is shown in Figure 7.To simplify the  energy generated by joint 2 has a certain loss, so the achievable amplitude decreases; (ii) Because the robot COM lies in different sagittal planes than the arms/rods, when the robot swings, the non-rigid grasping causes the robot to have other dynamic behaviors, such as a yaw swing motion.Thus, some of the swing energy generated by joint 2 is consumed by these unwanted dynamics.Except for the discrepancy in swing amplitude, the swing frequency of the robot can be predicted by the simple two-link model.The dynamic behavior of the robot with both open-loop and closed-loop controllers can also be predicted by the model.Therefore, though the model is quite simple, it can serve as a template of the robot.

Switching Rods of the MonkeyBot
Following the capability of the robot to swing, the next step is to develop the rope/rod-switching behavior of the MonkeyBot.The overall control flow chart is shown in Figure 7.To simplify the

Switching Rods of the MonkeyBot
Following the capability of the robot to swing, the next step is to develop the rope/rod-switching behavior of the MonkeyBot.The overall control flow chart is shown in Figure 7.To simplify the problem, the relative displacement between the ropes/rods is assumed a priori.As described in Section 3, the robot can estimate the joint angle 1 (θ 1 , equal to the body pitch).By using the trigonometric relation, the robot can compute its relative displacement to the next rope/rod.When the robot hand can reach the next rope/rod, the hand opens and grasps it.A limit switch mounted in the hand is utilized to detect the grasping condition.When the grasping signal of the new rod is positive, the other hand of the robot releases the previous rod, so the robot can start its new swing motion on the new rod.Because the robot on the new rod swings from a certain initial height (i.e., not from an at rest position), the robot does not need to use the open-loop method to swing itself up to gain potential and kinetic energy.Instead, the closed-loop strategy is directly adopted for continuous motion, and the robot can grasp/release the front rod and continuously swing forward.Figure 12h shows the plane trajectories of the robot while it swings from the left rod to the right rod.The experimental setup is described in Section 4, and the locations of the markers are depicted in the CAD drawing of the robot and the swing rods, as shown in Figure 12g.The image shown in the upper right corner of Figure 12a-d is the snapshot captured by the camcorder after the intensity filter, so only the positions of the reflective markers are preserved.By collecting the positions of these markers versus time, the motion of the robot can be quantitatively analyzed.As shown in Figure 12h, the robot uses one of its arms to grasp the rod and swing forward (i.e., the left sections of the curves).In the meantime, the other arm of the robot (i.e., with the marker) poses forward and prepares to grasp the right rod.After the other arm grasps the right rod, the first arm releases its grasp to the left rod, and the robot keeps swinging forward (i.e., the right section of the curves).The short trajectories between the left and right trajectories represent the transition when the robot switches rods, and this exists because, empirically, the switching is not instant but takes a short period of time for the hands to grasp or release the bar.In short, the robot can successfully brachiate between the rods.problem, the relative displacement between the ropes/rods is assumed a priori.As described in Section 3, the robot can estimate the joint angle 1 ( , equal to the body pitch).By using the trigonometric relation, the robot can compute its relative displacement to the next rope/rod.When the robot hand can reach the next rope/rod, the hand opens and grasps it.A limit switch mounted in the hand is utilized to detect the grasping condition.When the grasping signal of the new rod is positive, the other hand of the robot releases the previous rod, so the robot can start its new swing motion on the new rod.Because the robot on the new rod swings from a certain initial height (i.e., not from an at rest position), the robot does not need to use the open-loop method to swing itself up to gain potential and kinetic energy.Instead, the closed-loop strategy is directly adopted for continuous motion, and the robot can grasp/release the front rod and continuously swing forward.Figure 12e shows the plane trajectories of the robot while it swings from the left rod to the right rod.The experimental setup is described in Section 4, and the locations of the markers are depicted in the CAD drawing of the robot and the swing rods, as shown in Figure 12h.The image shown in the upper left corner of Figure 12a-d is the snapshot captured by the camcorder after the intensity filter, so only the positions of the reflective markers are preserved.By collecting the positions of these markers versus time, the motion of the robot can be quantitatively analyzed.As shown in Figure 12e, the robot uses one of its arms to grasp the rod and swing forward (i.e., the left sections of the curves).In the meantime, the other arm of the robot (i.e., with the marker) poses forward and prepares to grasp the right rod.After the other arm grasps the right rod, the first arm releases its grasp to the left rod, and the robot keeps swinging forward (i.e., the right section of the curves).The short trajectories between the left and right trajectories represent the transition when the robot switches rods, and this exists because, empirically, the switching is not instant but takes a short period of time for the hands to grasp or release the bar.In short, the robot can successfully brachiate between the rods.

Conclusions
We report on the model-based development of a monkey robot that is capable of performing continuous brachiation locomotion on swingable rods.The two-link model was inspired by the brachiation of primates, and its quantitative formulation was derived based on the Lagrangian method.The dynamic behaviors of the model were simulated in MATLAB ® , and the model was also utilized for controller design.Following this, the robot was empirically built, and its dimensions were determined based on the simulation results.In addition, the controller developed during simulation was also implemented on the robot.
The simulation and experiment results reveal several facts and characteristics of this study: (i) The open-loop control strategy is effective in initiating the swing motion of the robot from its at rest configuration.However, it is hard to maintain a steady swing motion owing to the nonlinearity of the model and the disturbance; (ii) In contrast, the closed-loop control strategy can stabilize the model with a certain amplitude to perform a steady swing motion.However, when the initial amplitude is small, this strategy in simulation cannot amplify the swing magnitude.Furthermore, this strategy in the empirical robot is not functional because of the noise and latency of the sensor information and actuation; (iii) As a result, the hybrid control strategy was adopted, and it was confirmed to be effective, both in simulation and in experiments; (iv) The robot with the same control strategy as the model can successfully initiate its swing motion.The swing frequency maintains a similar value as that of the model, but the swing magnitude is about 2/3 of that of the model because of the non-rigid contact between the hand and the rod.This causes the empirical energy loss and the initiation of unwanted yaw dynamics in the robot.Except for the amplitude discrepancy, the robot exhibits similar dynamics to the model.Thus, the model can serve as a template of the original complex robot; (v) The robot can also successfully swing between the rods, performing brachiation locomotion.
We are in the process of revising the grasping mechanism of the robot hand, so the grasping can be more precise and rigid than the current method.In addition, we are exploring the energy flow of the robot during its swing and rod changing motions, so the control can be better fused with the natural dynamics of the system.

Figure 1 .
Figure 1.(a) A monkey swings in a tree and (b) the simplified two-link model.

Figure 1 .
Figure 1.(a) A monkey swings in a tree and (b) the simplified two-link model.

Figure 2 .
Figure 2. (a) A computer-aided drafting (CAD) drawing of the whole MonkeyBot and (b) the design of the right hand-arm.

Figure 2 .
Figure 2. (a) A computer-aided drafting (CAD) drawing of the whole MonkeyBot and (b) the design of the right hand-arm.

Figure 3 .
Figure 3.A photo of the MonkeyBot.

Figure 3 .
Figure 3.A photo of the MonkeyBot.

Figure 4
plots the trajectories versus of the robot and the model with this damping coefficient, and the subplots (a) and (b) correspond to the initial condition = 100° and = 115°, respectively.Both plots show a decent trajectory match between the robot and the model, and the RMS errors are 0.42° and 0.44°, accordingly.

Figure 5 .
Figure 5.A simulation of the two-link model with (a) open-loop and (b) closed-loop control methods.

Figure 5 .
Figure 5.A simulation of the two-link model with (a) open-loop and (b) closed-loop control methods.

Figure 6 .
Figure 6.Illustrative motion sequence (a-d) of the two-link model with the closed-loop control method.

Figure 6 .
Figure 6.Illustrative motion sequence (a-d) of the two-link model with the closed-loop control method.

Figure 6 .
Figure 6.Illustrative motion sequence (a-d) of the two-link model with the closed-loop control method.

Figure 8 .
Figure 8.A simulation of the two-link model with different lengths and mass values.

Figure 9 .
Figure 9.The swing amplitudes of the robot grasping the fixed point and the rod.

1 θFigure 8 .
Figure 8.A simulation of the two-link model with different lengths and mass values.

Figure 8 .
Figure 8.A simulation of the two-link model with different lengths and mass values.

Figure 9 .
Figure 9.The swing amplitudes of the robot grasping the fixed point and the rod.

1 θFigure 9 .
Figure 9.The swing amplitudes of the robot grasping the fixed point and the rod.
Appl.Sci.2017, 7, 947 11 of 15 energy generated by joint 2 has a certain loss, so the achievable amplitude decreases; (ii) Because the robot COM lies in different sagittal planes than the arms/rods, when the robot swings, the non-rigid grasping causes the robot to have other dynamic behaviors, such as a yaw swing motion.Thus, some of the swing energy generated by joint 2 is consumed by these unwanted dynamics.Except for the discrepancy in swing amplitude, the swing frequency of the robot can be predicted by the simple two-link model.The dynamic behavior of the robot with both open-loop and closed-loop controllers can also be predicted by the model.Therefore, though the model is quite simple, it can serve as a template of the robot.

Figure 10 .
Figure 10.Snapshots of the robot (left) and the two-link model (right) starting from the at rest condition.The robot/model uses the open-loop control method (a-d) and then the closed-loop control method (e,f).

Figure 11 .
Figure 11.A simulation of the (a) two-link model and the experimental result of the (b) MonkeyBot with the hybrid control strategy.

Figure 10 .
Figure 10.Snapshots of the robot (left) and the two-link model (right) starting from the at rest condition.The robot/model uses the open-loop control method (a-d) and then the closed-loop control method (e,f).

Figure 10 .
Figure 10.Snapshots of the robot (left) and the two-link model (right) starting from the at rest condition.The robot/model uses the open-loop control method (a-d) and then the closed-loop control method (e,f).

Figure 11 .
Figure 11.A simulation of the (a) two-link model and the experimental result of the (b) MonkeyBot with the hybrid control strategy.

Figure 11 .
Figure 11.A simulation of the (a) two-link model and the experimental result of the (b) MonkeyBot with the hybrid control strategy.

Figure 12 .
Figure 12.The MonkeyBot in brachiating motion.(a-f) The snapshots of the system captured by the camcorder before (e,f) and after (a-d) image processing; (g) The markers, whose locations are depicted in CAD drawing, were mounted on the MonkeyBot when it swung and switched rods; (h) The overall motion trajectories of the markers/system.The instants marked with a-d correspond with the snapshots (a-d).

Figure 12 .
Figure 12.The MonkeyBot in brachiating motion.(a-f) The snapshots of the system captured by the camcorder before (e,f) and after (a-d) image processing; (g) The markers, whose locations are depicted in CAD drawing, were mounted on the MonkeyBot when it swung and switched rods; (h) The overall motion trajectories of the markers/system.The instants marked with a-d correspond with the snapshots (a-d).

Table 1 .
Physical parameters of the robot.

Table 1 .
Physical parameters of the robot.