We discuss a speed controller for a hopping robot with a pneumatically powered leg. The controller uses a neural network to model the neutral point as a function of running speed and hopping height. The network is trained off-line using training data taken from a simulated hopper that is manually controlled by a human. Simulation experiments of hopping in the sagittal plane show improved performance over a Raibert PD controller, which uses a linear approximation for the neutral point. I. I NTRODUCTION The benefits of legged systems over other forms of terrestrial locomotion are obvious; they can navigate obstacl es which wheeled and treaded vehicles cannot. Dynamicallystable legged systems have advantages over statically-sta ble legged systems. Running machines can travel faster and can navigate terrain which has points of support that are spaced too far apart for walking machines to reach. Even for the simplest running machine, a one-legged hopper, research problems have not been completely explored. Most running machines constructed thus far have served as little more than existence proofs of different forms of lo comotion. We seek to contruct a running machine that builds on basic locomotion with additional behaviors that would be useful in a more functional robotic system. To this end we have studied ways to improve the traditional Raibert threepart control system [1]. The hopping machine considered in this paper is like a pogo-stick, except it uses a pneumatic rather than mechanical spring. The plant’s motion is restricted to the sagitta l plane. A diagram of the hopper model is shown in Figure 1. Table I defines the state variables and Table II defines the physical parameters of the hopper. The leg stroke, hip offse t, and mass parameters are similar to those used by Raibert for his planar hopper [1]. Our controller is based on Raibert’s three-part control sys tem [1]. This method decomposes the control into three sepFig. 1. 2D hopping machine in stance. The body is not shown. arate control loops: forward velocity control, body attitu de control, and height control. The experiments reported in th is paper use a model-based height controller [2], while the bod y attitude controller is unchanged. The speed controllers ar e described in Section III. We report results of speed regulation experiments, in which the desired forward speed was changed in a step-wise fashion while maintaining a fixed apex height. Simulations show that a neural network-based speed controller performs well over a wider range of desired speeds than the Raibert speed controller. The paper is organized as follows. Related work is discussed in Section II. Section III describes the two speed controllers. Experimental results are presented in Sectio n IV. Conclusions and future work are discussed in Section V. II. RELATED WORK A three-part control system has been used to control monopod hopping robots [1]. This system used two proportional controllers to control forward speed. This controll er is described in further detail in Section III. A similar approach modifies the neutral point approximation with an additional factor of the ratio of leg length to re st Fig. 2. The neutral point is approximated using an estimatio n of the CG print. length [3]. A discrete closed form trajectory model was used to control a bow leg hopper [4]. Model parameters were experimentally determined with a least squares fit to a set of recorded trajectories. A simulation of a vertical hopping machine was controlled using a near-inverse discrete-time model [5]. Time varying or unknown parameters were estimated with a recursive least-squares parameter estimator. Other statistical learning methods such as RMRC have been used to learn inverse kinematic mappings in real time [6]. III. SPEEDCONTROLLERS A. Raibert Controller Raibert describes the neutral point of a hop as the point where the foot should be placed which will result in zero net acceleration [1]. This point is a function of hopping height and forward speed. Raibert used an approximation of the CG print, i.e. the locus of points on the ground over which the body center of mass travels during stance, to estimate th e neutral point. This is represented in Figure 2. He approximated the length of the CG print as the stance duration times the forward running speed, as in Equation 1. xf = _ xTs 2 + k _ x ( _ x _ xd) : (1) This foot position is converted into a desired leg angle w.r.t. the body d = ar sin xf L : Finally a second PD loop is used to calculate the hip torque = kp( d) kd( _ ): We used the following values for gains: k _ x = 0:03, kp = 47:0, kd = 1:26. Fig. 3. Neural network. B. Neural Network-Based Controller One problem with the Raibert speed controller, as he points out, is that the neutral point is nearly linear with fo rward speed only up to a certain velocity. This point varies with the physical parameters of the system, but for the plant described in this paper, it is approximately 0.7 m=s. To overcome this difficulty, we used a neural network to more closely represent the neutral point function. The original controller is modified to replace the first term in Equation 1 with a neural network output. The second term is left unchanged. The network is shown in Figure 3. The hidden layer uses sigmoidal tangent activation functions a nd the output layer is purely linear. Training data was generated by a human operator controlling the foot position at varying speeds and apex heights. Th e simulation recorded neutral point values for three differe nt apex heights (0.4m, 0.5m, and 0.6m) and seven different speeds (0.4 m=s to 1.6m=s at 0.2m=s intervals), for a total of 21 training points. The neural network was trained off-line using Levenberg-Marquardt optimization [7] [8]. Figure 4 shows a surface plot of the output of the trained network given apex values from 0.4 m to 0.65m and speed values from -2.0m=s to 2.0m=s. IV. EXPERIMENTS The simulations were started with the hopper at zero forward velocity. Two experiments were performed with each speed controller: one with an apex height of 0.45 m and another with an apex height of 0.5 m. In each experiment, the desired speed was increased in a step-wise fashion at 0.1 m=s intervals, up to approximately 1.8 m=s. Figure 5 shows the results of the experiment using the first height, and Figure 6 shows the results of the experiment using the second height. It is apparent that there is a large error present at higher speeds with the Raibert controller. The neural network-bas ed controller tracks the higher desired speeds with less error . Plots of error as a function of desired forward speed are shown in Figure 7 for the first experiment and Figure 8 for L leg length (m) _ x body horizontal velocity ( m=s) xf distance from body c.m. to foot along horizontal dimension ( m) Ts stance duration ( s) body angle w.r.t. horizontal ( rad) angle of leg w.r.t. body ( rad) TABLE I VARIABLE DEFINITIONS. g gravitational acceleration 9:81m=s2 k viscous leg friction 5:0N=s dhip distance from hip to body c.m. 0:05m Lmax max leg length 0:285m ms sprung mass 8:375 kg mu unsprung mass 0:225 kg Ap area of piston 4:91 10 4 m2 P0 nominal pressure of upper leg chamber 4:0 102 kPa TABLE II PHYSICAL PARAMETERS OF THE HOPPER . 0.4 0.45 0.5 0.55 0.6 0.65 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −0.2 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 Fig. 4. Surface plot of neural network output. the second experiment. Table III shows the average absolute and relative errors in speed. V. CONCLUSIONS ANDFUTURE WORK We have shown that using a neural network to represent the functional mapping between forward speed and neutral point is a viable solution, and simulation results show that it tracks higher desired speeds with less error than the Raiber t speed controller. The neural net controller adds little com putational load to the system and is thus feasible to use on a real robot. Future work in simulation includes 3D simulations and the introduction of sensor and actuator noise. Once constructi on of the real robot is completed, we will also test the two speed controllers on it. We plan to implement additional behaviors on top of the basic locomotion. These include sitting and standing, lean ing against a wall or corner, and hopping up and down inclines. We have done some preliminary work in simulation with the incline problem, and have found that if the incline is suf ficiently small, no changes are needed to the controller. We are exploring different strategies for negotiating steepe r inclines.
[1]
Gaurav S. Sukhatme,et al.
Controlling hopping height of a pneumatic monopod
,
2002,
Proceedings 2002 IEEE International Conference on Robotics and Automation (Cat. No.02CH37292).
[2]
Stefan Schaal,et al.
Learning inverse kinematics
,
2001,
Proceedings 2001 IEEE/RSJ International Conference on Intelligent Robots and Systems. Expanding the Societal Role of Robotics in the the Next Millennium (Cat. No.01CH37180).
[3]
Moshe Kam,et al.
Control of hopping height for a one-legged hopping machine
,
1993,
Other Conferences.
[4]
Marc H. Raibert,et al.
Legged Robots That Balance
,
1986,
IEEE Expert.
[5]
Martin Buehler,et al.
Stable control of a simulated one-legged running robot with hip and leg compliance
,
1997,
IEEE Trans. Robotics Autom..
[6]
Garth Zeglin,et al.
Control of a bow leg hopping robot
,
1998,
Proceedings. 1998 IEEE International Conference on Robotics and Automation (Cat. No.98CH36146).
[7]
D. Marquardt.
An Algorithm for Least-Squares Estimation of Nonlinear Parameters
,
1963
.
[8]
Kenneth Levenberg.
A METHOD FOR THE SOLUTION OF CERTAIN NON – LINEAR PROBLEMS IN LEAST SQUARES
,
1944
.