logo资料库

MIT猎豹机器人高速中跳跃在线规划方法.pdf

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
Online Planning for Autonomous Running Jumps Over Obstacles in High-Speed Quadrupeds The MIT Faculty has made this article openly available. Please share how this access benefits you. Your story matters. Citation As Published Publisher Version Accessed Citable Link Terms of Use Detailed Terms Park, Hae-Won, Patrick M. Wensing, and Sangbae Kim. "Online Planning for Autonomous Running Jumps Over Obstacles in High-Speed Quadrupeds." 2015 Robotics: Science and Systems Conference (July 13-17, 2015), Sapienza University of Rome, pp.1-9. http://www.roboticsproceedings.org/rss11/p47.pdf Author's final manuscript Sun Mar 03 06:01:24 EST 2019 http://hdl.handle.net/1721.1/97236 Creative Commons Attribution-Noncommercial-Share Alike http://creativecommons.org/licenses/by-nc-sa/4.0/
Online Planning for Autonomous Running Jumps Over Obstacles in High-Speed Quadrupeds Hae-Won Park, Patrick M. Wensing, and Sangbae Kim Department of Mechanical Engineering, MIT, Cambridge, MA, 02139 {parkhw,pwensing,sangbae}@mit.edu Abstract—This paper presents a new framework for the generation of high-speed running jumps to clear terrain obstacles in quadrupedal robots. Our methods enable the quadruped to autonomously jump over obstacles up to 40 cm in height within a single control framework. Specifically, we propose new control system components, layered on top of a low-level running controller, which actively modify the approach and select stance force profiles as required to clear a sensed obstacle. The approach controller enables the quadruped to end in a preferable state relative to the obstacle just before the jump. This multi-step gait planning is formulated as a multiple-horizon model predictive control problem and solved at each step through quadratic pro- gramming. Ground reaction force profiles to execute the running jump are selected through constrained nonlinear optimization on a simplified model of the robot that possesses polynomial dynamics. Exploiting the simplified structure of these dynamics, the presented method greatly accelerates the computation of otherwise costly function and constraint evaluations that are required during optimization. With these considerations, the new algorithms allow for online planning that is critical for reliable response to unexpected situations. Experimental results, for a stand-alone quadruped with on-board power and computation, show the viability of this approach, and represent important steps towards broader dynamic maneuverability in experimental machines. I. INTRODUCTION Quadrupedal animals display a remarkable versatility to dynamically negotiate challenging terrain in unstructured en- vironments. Whether cornering to evade a predator in an open field or leaping to cross a cavernous gap, biological systems display a nearly seamless capacity to plan and execute complex motions which are tailored to the terrain and task at hand. In the robotics realm to date, a variety of mechanical and computational limitations have prevented legged robots from demonstrating an ability to dynamically negotiate unstructured terrain. One class of terrain irregularities are terrain obstacles, which require strategies for the system to move around or over the obstruction. In the case of unavoidable extreme terrain obstacles, where static traversal strategies are not viable, the only option may be for the system to take advantage of its dynamics by performing a running jump to clear the obstacle. With this motivation, this paper presents a new set of algorithms that enable dynamic and autonomous running jumps over terrain obstacles through online optimization in an experimental quadruped, the MIT Cheetah 2, shown in Fig. 1. Recent advances in a diverse set of quadrupedal robotic machines encourage the use of the quadrupedal morphology to Fig. 1. terrain obstacles. All computation and power is provided on-board. System overview for online generation of running jumps to clear study dynamic maneuverability. BigDog and its successor LS3 have demonstrated impressive and robust dynamic walking on a variety of terrain surfaces [19]. StarIETH [9] has displayed a wide array of gaits up to 0.7 m/s with the incorporation of series elastic actuation in its legs. The hydraulically actuated HyQ [21] has shown the capacity for high-power movements and is capable of terrain robust trot walking at 0.35 m/s [23]. The MIT Cheetah 1 [22] and Cheetah 2 [16] robots have shown the capabilities of electric DC motors to enable high-speed locomotion [12] up to 6 m/s. In addition to limited terrain robustness for unperceived obstacles, many studies have focused on quasi-static loco- motion strategies to climb over more challenging terrains. Kalakrishnan et al. [13] proposed learning algorithms for foothold selection based on expert demonstrations using ter- rain templates. Researchers working on HyQ studied the use of stereo vision to build a height map of the surrounding terrain [1]. These terrain maps were used online to modify the CPGs which governed cyclical leg motions, enabling rough terrain with obstacles up to 9.5 cm in height to be traversed. Reflexes layered on top of foot CPGs have also shown the ability to provide static ambling over obstacles up to 11cm in height [8]. Other work in simulation has studied the capabilities of non- repetitive dynamic movements to enable clearance of more Intel&Core&i5&–&4520U&Trajectory&&Genera7on&Event&Driven&<&100&msec&Event&Driven&<&1&msec&Approach&Adjustment&Controller&Sensor&40&Hz&Obstacle&Detec7on&IMU&Body&&Orienta7on&1&KHz&Laser&Scanning&&Data&40&Hz&LIDAR&Joint&Posi7on&3&KHz&Joint&Encoders&HighRLevel&Controller&Intel&Core2Duo&2.16&GHz&3&KHz&Bounding&Controller&LowRLevel&Controller&LIDAR&LowRLevel&Controller&IMU&HighRLevel&Controller&BaVeries&for&Control&Hardware&BaVeries&for&Actuator&Power&
Fig. 2. Procedure overview showing computation breakdown with time. Upon detecting an obstacle, the system plans a modified approach using a multiple- horizon model predictive control strategy (Sec. IV). During the step immediately before the obstacle, the system performs online trajectory optimization (Sec. V-C) in order to select ground force profiles which will allow the quadruped to clear the obstacle. extreme terrain obstacles. Wong and Orin [26] proposed the use of binary search for a small set of control parameters to produce standing jumps over obstacles. Coros et al. [2] developed an extensive trajectory dictionary and virtual model controller to perform running jumps over a variety of large gaps. Krasny and Orin [14] applied an evolutionary algorithm to optimize running jumps during quadruped galloping. These motions have also been studied in a limited capacity for humanoids [3, 25] by using simple models for trajectory optimization. Still, across each of these studies, the resultant controllers have required extensive offline optimization and have not demonstrated viability for use in experimental hard- ware. We present a new framework which considers the dynamics of high-speed locomotion on a variety of time-scales for successful execution of an autonomous running jump to clear an upcoming obstacle. For reliable clearance of the obstacle, it is critical to adjust approach steps to place the robot in an optimal location for the jump. Furthermore, a feasible jumping trajectory must be tailored to the sensed obstruction. Running jumps are autonomously executed in hardware for obstacles between 27.5 cm and 40 cm tall during running at 2.4 m/s. All computation and power is provided on board, with all the algorithms operating at real-time rates sufficient for success of the jump. To the best of the authors’ knowledge, this represents the first description and experimental validation of a framework for online planning of autonomous running jumps for obstacle clearance. II. SYSTEM OVERVIEW A detailed overview of the framework for obstacle clearance is shown in Fig. 2. This figure highlights the control system components which enable the new autonomous capabilities demonstrated in this work. At a high-level, control system components for approach planning and clearance trajectory optimization are used to move the system into a preferable location relative to the obstacle and to select ground force profiles for a running jump. These components fit into the overall computation strategy as described in the following paragraphs. During normal running, the quadruped continuously ana- lyzes Lidar data in the sagittal plane to perform obstacle detection, as described in Sec. III. When an obstacle is present, this data is then used to plan a modified approach for the steps leading up to the obstacle. In this work, the approach adjustment strategy considers the use of velocity changes at each step in order to get into proper position. This planning problem is formulated as a series of quadratic programs, as described in Sect. IV, which are solved at each step to provide model-predictive approach control. A lower- level bounding controller is capable to track the desired speed changes commanded through this approach [17]. In the final step before the obstacle, the quadruped per- forms trajectory optimization for the clearance jump (Section V-C). To accelerate this trajectory optimization procedure, the quadruped is abstracted by a simple model with polynomial dynamics. The trajectory optimization problem is transcribed into a constrained nonlinear programming problem, and solved online. By expressing the forces acting on this system as B´ezier polynomials, the polynomial character of the system dynamics enables analytical formula for the system state at any given time. This availability to query the simulated state of the system without numerical integration is a key result in order to generate obstacle clearance jumps on a real-time deadline. III. OBSTACLE DETECTION In order to perceive information about its surrounding environment, the quadruped was outfitted with a Hokuyo UTM-30LX-EW laser range finder as shown in Fig. 1. This sensor provides distance data in its scan plane with an angular resolution of 0.25◦. To minimize the scan time, data was collected in the sagittal plane only for angles between 45◦ above the horizontal, to 90◦ below the horizontal, as shown in Fig. 3. It was assumed that the motion of the robot during the scan time of 12.5 ms had a negligible effect on the data. Pitch correction from the IMU was used to rotate this data into global coordinates. Following each scan, a simple line segmentation algorithm was applied to detect the ground plane and the front face of the obstacle. Nguyen et al. [15] provide a thorough overview of line segmentation algorithms for planar data, and report on the promising accuracy and processing speed of the Split and Merge algorithm [18]. In order to further decrease the Time Normal Running Obstacle Detected Modified Running Modified Running Obstacle Clearance Landing Normal Running …  …  T⇤⇡350msApproach Planning Clearance Traj. Opt. vivi+1
of v0. At each following step i, the state of the robot state is similarly abstracted by xi ∈ R2 xi = [di vi]T . (1) In order to control its approach, the system may select speed changes ∆vi at each step. It is assumed that this speed change ∆vi occurs over the duration of the step, providing an average 2 . Given a nominal step period T ∗, the state 1 −T ∗ speed of vi + ∆vi then evolves as − 1 2 T ∗ 1 xi+1 = ∆vi . 0 1 xi + (2) A B Although these dynamics are a drastic simplification of the full robot dynamics, they capture the main features that are important to approaching the obstacle. Consider first an N step approach leading up to the obstacle, for some fixed N ∈ N+. We are then interested in finding controls ∆v0:(N−1) that minimally disturb the nominal gait, while landing the final state xN within a desired goal region. The goal is defined here by lower and upper bounds: xN = [dF vF ]T and xN =dF vF T . (3) (4) A desired final state in the middle of the goal region is prescribed as xd N = xN + xN 2 . (5) An MPC problem is formulated as a quadratic programming (QP) problem with optimal cost c(N ) as: c(N ) = min (xN − xd N−1 N )T QF (xN − xd N ) + 1 N i=0 ri∆v2 i (6) s.t. xi+1 = A xi + B ∆vi xN ≤ xN ≤ xN v ≤ vi ≤ v |∆vi| ≤ βvi Fig. 3. Lidar data, preprocessing, and final segmentation for a characteristic scan over 135◦ in the sagittal plane. computational overhead of the algorithm, a simplification of the Split and Merge algorithm, the Iterative-end-point-fit (IEPF) algorithm [20] was used here. This algorithm begins by constructing a line between the first and last points of the data. It then proceeds to take the point furtherest from the line, splits the data into two halves about this point, and reapplies the algorithm to each half. This recursive process is repeated until all data is within a threshold distance to any segment. To decrease the size of the input to the IEPF algorithm, data was first preprocessed to extract a contiguous subset of points that contained the ground plane. Starting at 90◦ below the horizontal, the radial distance of successive data points was monitored for a large jump above a given threshold. All data after the first jump was discarded. In addition, (x, z) data in the sagittal plane within a small tolerance was clustered together and averaged to further decrease the input size. Figure 3 shows the preprocessed data passed to IEPF, as well as its segmented output. The long first segment in this data represents the ground plane, while the second segment represents the front face of the obstacle. The distance to the second segment d0 and its length h0 were then used to provide a sensed obstacle distance and height to the approach adjustment and trajectory optimization algorithms. This method was found to be effective during bounding at 3Hz despite significant pitch and small roll oscillations which perturbed the lidar scan plane, as demonstrated further in Sec.VI. IV. APPROACH ADJUSTMENT Following the detection of an obstacle, the quadruped has the the opportunity to modify its approach. For instance, system may speed up or slow down to get into a preferable position relative to the obstacle before attempting a clearance jump. In order to determine an optimal approach, this section formulates a series of constrained model-predictive control (MPC) problems over multiple planning horizons. These mul- tiple planning horizons enable the quadruped to determine the optimal number of steps to take before reaching the obstacle as well as its approach velocities at each step. A. MPC for Approach Adjustment Suppose that at the current step, the robot is a distance of d0 away from the obstacle and is traveling at an initial velocity where v > 0 and v > 0 provide velocity limits on the gait, and β ∈ (0, 1) limits the relative acceleration during any given step. To penalize gait changes which happen closer to the obstacle, the cost scalars ri are selected such that ri = max(µi−(N−1), µmin) (7) for some µ and µmin with 0 < µmin < µ < 1. This discounting strategy encourages larger accelerations to occur further from the obstacle in order to provide additional time to recover from transient effects in the full system which are not captured in this MPC formulation. The quadratic cost on the final state, with QF = QT F positive definite, rewards final states that have margin to remain in the goal when unmodelled effects in the full system disturb the optimized trajectories. Raw Data Preprocessed Segmented Lidar Z (m) Lidar X (m)
Parameter Value β 0.3 µ 1.1 µmin 0.4 QF diag(2.5, 1) Variable Bound Min Max vF dF 0.5 m 1.8 m/s 0.9 m 3.2 m/s TABLE I vi 1.0 m/s 4.0 m/s PARAMETERS FOR THE APPROACH ADJUSTMENT ALGORITHM Given the bounds on the speed changes and states, it is possible that there is no feasible approach for a given N. In this case, we define c(N ) = ∞. While most applications of MPC seek to regulate the long-term state of a system and can employ an infinite planning horizon, the unknown number of steps before the obstacle requires us instead to search for the desired planning horizon. B. Multiple-Horizon MPC Given the bounds on the forward velocities and final states, c(N ) < ∞ only if d0 − dF vF ≤ N ≤ d0 − dF vF , (8) where the lower step number bound is derived from traveling the shortest distance to the goal region at the maximum speed, and the upper bound follows similarly. This condition introduces a finite range for N to be searched over, given the initial state of the system. The optimal approach length N∗ can then be found through evaluation of c(N ) for each N in this range. Figure 4 shows the optimal number of steps to be taken before the obstacle as a function of initial state. Algorithm parameters for this example are given in Table I. As distances d0 become larger, the range of potential planning horizons (8) can introduce many QPs that need to be solved. However, as these QPs are trying to minimize accelerations while directing the state to middle of the goal region, a reasonable estimate for N∗ is d0 − dd N∗ ≈ round (9) The optimum N∗ is found within ±1 step of this approxima- tion for all cases shown in Fig. 4, allowing us to minimize the number of QPs to be solved. v0T ∗ F . Recent advances in linear MPC using interior-point [24] and active-set [6] solvers have greatly decreased the computational overhead of online MPC approaches. Here, to solve the QP for c(N ), the open-source package qpOASES [7] was used. This package provides a parametric active-set solver that is particularly well suited for MPC. With this solver, QPs can be solved in 250 µs for the horizons considered in our ex- periments. Although MPC has been used extensively for ZMP optimization [4] and footstep planning in humanoids [11], its use for quadrupeds gait planning has yet been unexplored. V. REAL-TIME JUMPING TRAJECTORY GENERATION This section presents methods for online generation of the robot’s jumping trajectory to clear an obstacle during running. Fig. 4. Optimal number of steps to the goal based on initial state. Color indicates the optimal cost c(N∗). Unenclosed regions represent infeasible regions for the start state, and show the need for early obstacle detection. A simplified model with polynomial dynamics is introduced. When forced by control inputs which are polynomial with respect to time, this enables the state of the system at any time to be rapidly obtained without numerical integration. This simplification is used to accelerate online trajectory optimization to generate force profiles that are tailored to the sensed obstacle and robot state. In the hardware, these force profiles are ultimately generated using joint torques of the robot through a Jacobian Transpose mapping described in [17]. A. Simplified Model and Temporal Gait Pattern of Bounding In a quadrupedal bounding gait, the front and hind leg pairs act in parallel. As a result, the quadruped can be modeled as a two-legged system in the sagittal plane, as shown in Figure 5. The model assumes massless legs, and thus the forces/moments exerted by each leg onto the body are stat- ically equivalent to the horizontal and vertical ground reaction forces F x and F z on the foot1. In practice, these ground reaction forces can be generated by joint torques in the legs. In this simplified model, the robot’s generalized coordinates are q := (x, z, θ), where x is the horizontal position of the center of mass (CoM) with respect to the foot, z is the vertical position of the CoM with respect to the ground, and θ is the body pitch angle as displayed in Figure 5. Assuming a fixed gait timing, this simplified model is time- switched hybrid, and follows a sequential phase order of Front Stance phase, Aerial I phase, Hind Stance phase, and Jumping Aerial phase (see Figure 5). For later use, we denote t1, t2, t3, and t4 as the time corresponding to the end of the Front Stance phase, the start and end of the Hind Stance phase, and the end of the Jumping Aerial phase, respectively. During the Front and Hind Stance phase, in which the front pair of the legs and hind pair of the legs touch the ground, the equations of motion of the robot are given by, m¨x = Fx m¨z = Fz − mg I ¨θ = −xFz + zFx (10) 1Note: This assumption is reasonable as the legs of the cheetah are very light, composing approximately only 10% of the total mass of the system. N⇤=1N⇤=2N⇤=3N⇤=4GoalInitialDistance(m)InitialVelocity(m/s)
Fig. 5. A simplified time-switched hybrid quadrupedal bounding model. Assuming massless legs, the quadruped is abstracted by a planar rigid body evolving under the influence of ground reaction forces and gravity. A fixed horizontal foot placement relative to the hip at the beginning of stance is used to determine the point of application for the ground reaction force. where, Fx and Fz are the ground reaction forces applied on the foot of the robot, m and I are the combined mass and inertia of the robot, and g is the gravitational constant. We can further simplify (10) to provide ¨x = ux ¨z = uz − g ¨θ = −αxuz + αzux m , and α = m I . (11) (12) (13) m , uz = Fz where, ux = Fx In this paper, the scaled forces ux and uz are chosen as nth-order B´ezier polynomials during the interval t ∈ [t0, tf ] where t0 and tf represent the beginning and end of the force profile. The B´ezier polynomials are given by, βi,xbi,n(s) (14) ux(s) = uz(s) = βi,zbi,n(s), n n i=0 i=0 n i where βi,x and βi,z are the B´ezier coefficients as optimized in ∈ [0, 1] is the normalized time, and Section V-C, s := t−t0 tf−t0 bi,n(s) is the i-th Bernstein Polynomial of degree n bi,n(s) = si (1 − s)n−i . (15) During the two aerial phases, Mid Aerial phase and Jumping Aerial phase, the ground reaction forces ux and uz become zero, and the robot follows ballistic dynamics of ¨x = ¨θ = 0 and ¨z = −g. During the aerial phase, the virtual foot position with respect to the shoulder follows the trajectory shown in Figure 6. After these trajectories are completed, the position of the foot with respect to the shoulder is held to wait for the impact with the ground. These foot swing trajectories are designed considering the workspace of the leg and energy consumption through a separate one-time offline optimization procedure. Their detailed design procedure is omitted here for the brevity of the paper. The durations of phases Tstance and Tair I are fixed at values required during normal bounding, as given in [16], while the duration of the last phase Tair II is elongated as the robot jumps up to clear the obstacle. The value of Tair II is varied according to the height of the robot jumping and is selected by optimization process introduced in Section V-C. n+2 n+2 i=0 Fig. 6. Swing foot trajectory for the front leg with respect to the shoulder during its aerial period of motion. The trajectory is designed to complete within 90% of the expected flight time to recover from unexpected early impact. The back leg trajectory follows a similar pattern. B. Solution to the Equations of Motion x0, z0, θ0, ˙x0, ˙z0, ˙θ0 Given initial conditions and ground reaction forces (14) in the interval t ∈ [t0, tf ], solutions to (11)-(13) can be obtained analytically without numerical integration. As shown in (11) and (12), x(s) and z(s) can be obtained by integrating ux(s) and uz(s) twice. Since ux(s) and uz(s) are nth-order B´ezier polynomials, x(s) and z(s) are (n + 2)th-order B´ezier polynomials x(s) = z(s) = ci,xbi,n+2(s) ci,zbi,n+2(s) (16) (17) i=0 for some set of ci,x and ci,z. By taking the second derivative of (16) using common formula [5] for Bernstein polynomials, the dynamics (11) can be used to form n + 1 linear equations which relate the Bezier coefficients for ux to those for x. An additional two linear equations relating the Bezier coefficients to initial conditions x0, ˙x0 can be formed to provide Cx cx = bx(βx, x0, ˙x0) (18) where, cx ∈ Rn+3 is the vector consisting of the coefficients ci,x, and Cx is a constant matrix. Thus, given a selection of a horizontal ground force profile, along with initial conditions, (18) can be quickly solved to obtain the Bezier coefficients (,)−(,)Front StanceMid AerialHind StanceJumping AerialTime−0.5−0.4−0.3−0.2−0.100.10.20.3Time (sec)Swing Foot Position (m)−0.5−0.4−0.3−0.2−0.100.10.20.3Time (sec)xzxz
cx for x. A similar approach can be used to find the Bezier coefficients cz for z Cz cz = bz(βz, z0, ˙z0) . (19) Similarly, since x and z are (n + 2)th-order B´ezier poly- nomials and ux(s) and uz(s) are nth-order B´ezier polyno- mials, we can easily deduce that the right hand side of (13), −αxuz + αzux, is an (2n + 2)th-order polynomial. Thus θ is a (2n + 4)th-order B´ezier polynomial 2n+4 θ(s) = ci,θbi,2n+4(s) (20) i=0 for some set of ci,θ. Common formula [5] for the products of Bernstein polynomials can be applied to express the right hand side of (13) using B´ezier coefficients. Equating these coefficients to those with the second derivative of (20), and using the initial conditions θ0 and ˙θ0 provides Cθ cθ = bθ(βx, βy, cx, cz, θ0, ˙θ0), (21) where, cθ ∈ R2n+5 is the vector consisting of elements with ci,θ. Hence, B´ezier coefficients of x(s), z(s), θ(s) are easily obtained by solving (18), (19), and (21). Following this procedure, the analytical formula for x, z, and θ from (16), (17), and (20) can be used to quickly query the state of the system at any time t ∈ [t0, tf ]. To handle the multiple phases of motion, this procedure can be cascaded, enforcing continuous differentiability across transition boundaries. C. Jumping Trajectory Generation via Constrained Nonlinear Programming This section explains the new trajectory generation approach for jumping over obstacles. A feasible jumping trajectory to clear the obstacle is obtained by solving a nonlinear program- ming problem. Optimization variables for this problem include B´ezier coefficients for the ground reaction forces ux(s) and uz(s) for the front and hind pairs of legs as well as and the duration of the jumping aerial phase Tair II. The ground reaction force inputs ux(s) and uz(s) are designed by adjoining two 3th-order B´ezier polynomials, connected at the mid-stance. Force profiles are constrained to follow a common shape in both the x and z directions and in the front and hind legs. In the first half of each stance these profiles are designed with B´ezier polynomial coefficients β j i := αj i [0 0.8 1 1] where i ∈ {x, z} and j ∈ {f, h} with superscripts f, h representing front and hind legs, respectively. The four scaling factors αj i provide flexibility to the optimization to shape the jump trajectory. Profiles in the second half of each stance are given symmetrically by coefficients β j i [1 1 0.8 0] . This choice of B´ezier polynomial’s coefficients provides a single peak trajectory where the peak is located in the middle of the stance phase while the trajectory starts and ends with 0. x = −180 N, Figure 7 shows example force profiles when αf x = −178 N, αf z = 1000 N. αh z = 756 N, and αh i := αj Fig. 7. Example force profile for the front (f ) and hind (h) legs optimized to clear an obstacle 33 cm high at a distance of 1 m. CONSTRAINTS IMPOSED FOR OBSTACLE CLEARANCE FEASIBILITY. TABLE II f oot(t)), f oot(t)), |θ(t)| < Θ, zf f oot(t) > hobs(xf zh f oot(t) > hobs(xh xf f oot(t4) > d0 + 0.5w0 xh f oot(t4) > d0 + 0.5w0 z < zf (t1) < z zh < zh(t2) < zh z < zh(t3) < z zf (t4) = ˜zf θ < θ(t4) < θ x| < F x z < F z |αj 0 < αj for 0 ≤ t ≤ t4 for t1 ≤ t ≤ t4 for t3 ≤ t ≤ t4 for j ∈ {f, h} for j ∈ {f, h} (22) (23) (24) (25) (26) (27) (28) (29) (30) (31) (32) (33) x, αf z , αh x, αh To obtain αf z , and the arial phase time Tair II, a constrained nonlinear feasibility problem was posed. Since success of the clearance was the dominant goal in this work, an objection function of 0 was employed. This selection also served to accelerate the optimization in comparison to includ- ing a more complex objective function. Constraints over the variables were selected as described in Table II. In this table h0, d0 are the height and distance to the obstacle, respectively. The parameter w0 controls the fore-aft obstacle clearance and was chosen as 15 cm in experiments. The desired clearance height around the obstacle is given as a function of forward position hobs(x) by multiplying two sigmoid functions: 1 1 (34) hobs(x) =h0 1 + eσ(x−d2) with σ = 200 and d1, d2 = d0 ± .5w0 respectively. 1 + e−σ(x−d1) The constraints in Table II are motivated as follows. The constraint (22) is posed to avoid excessive torso oscillation during the jumping, with the constant Θ > 0 chosen to be 45◦. The constraints (23) and (24) are posed to avoid a foot tripping over the obstacle, (25) and (26) ensure that the robot’s foot has achieved the desired lateral clearance at the completion of the jump. The constraints (27) and (29) are used to guarantee that −300−200−1000100200300HorizontalForce (N)00.050.10.150.20.250.30.350.40.450.502004006008001000Time (sec)VerticalForce (N)
Fig. 8. Motion snapshots from a successful obstacle clearance jump. Frames are separated by 150 ms. the robot’s shoulder position from the ground at the end of the stance phase is within the range of the leg’s workspace, and the constants z and z are chosen from the leg’s linkage design. The constraint (28) ensures that the Hind Stance phase starts with the hind shoulder height within the range of the hind leg’s workspace, and zh and zh are chosen from the leg’s linkage design. The constraints (31) and (30) are posed to provide a configuration for safe landing. θ and θ are lower and upper bounds of pitch angle at the landing, ˜zf is the vertical foot position with respect to the shoulder at the end of the jumping. The above nonlinear feasibility problem was solved using the nonlinear solver SNOPT [10]. Continuous constraints (22)- (24) were discretized in time with 50-100 time steps per gait phase. Computation of the parameters for a feasible jumping trajectory takes less than 100 msec on average using the on- board computer with Intel Core i5-4520U. Figure 7 shows an example force profile with parameters obtained solving this nonlinear programming problem for an obstacle with the distance of 1 m and height of 0.33 m. In implementation for the experimental hardware, trajectory optimization was carried out on any step when the approach modification provided N∗ ≤ 2. The optimization was carried out when N∗ = 2 as a precaution in case the following step placed the quadruped too close to the obstacle and an emergency jump was required. In all cases, a predicted distance to the obstacle at the next step d0 − v0T ∗ − 1 2 ∆v∗ 0 was passed to the trajectory optimization using the results of the approach modification. D. Landing Control The purpose of the landing control is to provide a safe and robust transition back to the normal running gait by handling disturbances specific to the high impacts on the front legs at landing that are experienced following the running jump. We modify the horizontal and vertical force profiles of the Front Stance phase to provide additional impulse to recover the robot’s velocity states to their nominal values. Because we use B´ezier polynomials in (14) for force profiles ux(s) uz(s)dt can be calculated by simply averaging B´ezier coefficients and multiplying the length of duration. Therefore, by uniformly scaling B´ezier coefficients accordingly, we can modify the impulse created by ux(s) and uz(s). and uz(s), the impulse Tstance ux(s)dt and Tstance The vertical landing speed of the CoM ˙z(t4) at the mo- ment of the landing is obtained from the jumping trajectory optimization explained in Section V-C. The required vertical impulse to steer ˙z(t4) to the nominal value of ˙z0 can be calcu- lated using linear impulse and momentum change relationship 0 0 which is given by, Tstance 0 uzdt = ˙z0 + ˙z(t4) + gTstance (35) On the other hand, the horizontal force is modulated to modify rotational impulse. Unlike the normal running case where the swing foot retracts fast enough to provide ground speed matching, the swing foot speed with respect to the ground will be large after the jumping over obstacles because the foot position with respect to the shoulder position is held in position after the completion of the desired swing foot trajectories. Due to the large relative swing foot speed at impact, excessive rotational momentum about the CoM will be generated upon impact with the ground. To handle this disturbance, the horizontal force profile is adjusted to cancel out additional rotational momentum delivered by the impact. After the calculation of required vertical impulse and ro- z were modified for force profiles tational impulse, αf ux(s) and uz(s) to provide required impulses. x and αf VI. RESULTS With our framework the quadruped is able to autonomously jump over obstacles up to 40 cm in height. This maximum height represents 80% of the quadruped’s nominal leg length. A. Setup The algorithms described in the previous sections were applied for online validation of the obstacle clearance frame- work. All high-level control for obstacle detection, approach adjustment, and trajectory optimization was performed using a single core of a 2.6 GHz Intel Core i5-54250U processor on a Nuc Mini-PC. Lower-level bounding control was carried out on a 2.16 GHz Intel Core2Duo SpeedGoat board running compiled Simulink. The base control frequency for the lower- level bounding controller was 3 KHz with further details provided in [17]. The quadruped was brought to a steady state 2.4 m/s bounding gait before the running jump algorithms were tested. During normal running, a wireless link to a host computer was used to provide a desired running speed as well as a heading set point from an operator to address lateral drift on the treadmill. All other control actions were completed on board. To clear the obstacle, no information regarding the placement timing or obstacle height was provided to the system in advance. Figure 8 shows snapshots of the obstacle clearance jump in response to a 27.5 cm high obstacle. Video results demonstrate the capabilities of this planning framework to clear 34 cm and 40 cm obstacles without any retuning of controller parameters.
分享到:
收藏