## Abstract

Footstep and path planning for dynamic legged robots is complex, and even if such a plan exists, execution is even harder. We propose a new method for a planar model of a dynamic legged robot that brings the trajectory to an absolute desired destination even on unknown rough terrain with minimal sensing. This can later aid a global planner to reach “way-points” with low destination errors. The basic block of the technique incorporates two consecutive jumps, each triggers a minimalistic control method to govern a sole controller—the leg angle during flight. Only two detection sensors and initial state information are required during implementation. Prior to execution, an optimization process is initiated to obtain the temporal control laws for both jumps. This work presents the process of obtaining the control parameters and studies the performance and limitations of the scheme.

## Introduction

The outstanding stability of the Rocky Mountain goat (*Oreamnos americanus*) on steep cliffs and the excellent maneuverability of the big cats like the leopard (*Panthera pardus*) on rough terrain are an inspiration for the design and control of dynamic legged robots. Capable of traversing highly rough terrain with intermittent support, dynamic legged robots can be far superior to tracked- or wheeled-platforms; their second-order dynamics and under-actuation demonstrated better abilities and energetic efficiency than slow fully actuated machines [1]. Yet, dynamic legged robots are considerably more sensitive to losing their stability and deviating from their intended path. One reason for this sensitivity is the inability to plan the foot placement quickly and accurately while stabilizing a fast-moving legged robot. As a result, the inaccurate foot placement dramatically reduces the ability to traverse rough terrain, leading to a deviation from intended destination and often to a failure. As opposed to quasi-static legged platforms, where planning and control consider their relatively slow movements, dynamic mechanisms normally require large basins of attraction, as modeling errors occur [2]. Even if footstep planning is performed correctly, keeping the trajectory to follow the plan is complicated when encountering unexpected rough terrain. Following the planned trajectory typically requires, at minimum, some sort of terrain or state perception.

We propose a method to allow a planar monopod to maintain a predetermined desired destination under unknown terrain variations, while using only two detection sensors and initial state information. Our method controls the leg angle of a planar spring-loaded inverted pendulum (SLIP) model in two consecutive jumps during its descent toward the unknown ground level. The intention is to lead a dynamic legged robot to an apex in a feasible desired location (depicted in Fig. 1, D), both vertically and horizontally. The method dictates the leg angle according to a predetermined temporal function, which is constructed in a simulated “training” phase offline prior to actual runs. The leg angle controller ensures the trajectory will reach the desired absolute destination (D) on an arbitrary terrain level (horizontal solid line) and on unexpected perturbed grounds (horizontal dotted line). Our control method is intended to cooperate with foot-planning schemes presented in other works and not to replace a planning method all together.

The essence of our proposed method is described in the flowchart in Fig. 2. Establishing the method is done offline and starts with constructing a reachability set (RS) of two consecutive jumps, starting at a known apex state (step A in Fig. 2). In simple words, this RS is a mapping between the initial apex state and the controller state at touchdown (leg angle); and the robot state at the second apex state (see Fig. 7). The RS defines the reachable area, in which the user can pick a desired destination (step B in Fig. 2). The RS also displays the nearest neighbor of the desired destination in state space and provides the corresponding leg angle combination (step C in Fig. 2). The two leg angles are now used as an initial guess for a multivariate-optimization process that finds the correct leg angles of both jumps in order to minimize the Euclidean distance to the desired destination. The optimization process repeats on multiple terrain levels and arranges the optimal angle pairs in lookup tables (step D in Fig. 2). The lookup tables are converted to smooth temporal functions, defining the leg angle from each apex until the touchdown on the unknown terrain level (step E in Fig. 2). The process is repeated, treating the destination as the new initial conditions (step F in Fig. 2).

## Related Work

Path planning typically incorporates collected or a priori terrain information and the anticipated and actual behavior of the robot according to the terrain. For quasi-static robots their kinematic properties are often exploited (for example, see Ref. [3]). Foot placement planning for a dynamic robot involves complex under-actuation and dynamics of legged locomotion that hinder the planning and execution of a footstep plan [4]. Yoshida et al., for example, presented an iterative planning method for dynamic humanoids, iterating between a generated kinematic path and an approximated dynamic trajectory [5].

Many nonhumanoid legged robots are often templates to a dynamic model—the conservative planar SLIP model [6]. The SLIP model, depicted in Fig. 3, is commonly used to describe the dynamics of legged robots. One such robot is our ParkourBot, which is a highly dynamic two-legged robot [7]. More details about the SLIP model and the ParkourBot are given in the Methods section. Raibert demonstrated how SLIP-based bipeds can traverse both flat terrain with permissible footholds and rough terrain. Adjusting the step length allowed traversing foreseen terrain. Yet, model errors and bad perception of the terrain led to significant deviations [8]. Zeglin and Brown suggested footstep planning for a dynamic robot with arch-like stiff legs on a flat terrain with permissible footholds [9]. They used a simplified version of the SLIP model that assumes instantaneous stance and enables a closed-form solution. Together with manual model corrections and an online terrain perception, the simplified model made it possible for the planner to instantly draw each RS along the path and use it to detect the available footholds. Yet, the more realistic SLIP model, which our method uses, has no closed-form solution, necessitating much longer numerical simulations. Furthermore, our method is resilient to terrain changes, as opposed to the work of Zeglin and Brown, where only a single-level terrain was modeled.

Arslan et al. used a SLIP-based model with a complete a priori knowledge of the terrain and managed to formulate a footstep plan with ground and state noise [2,4]. Formulating the open-loop control (i.e., the “prepares graph”) is a time-consuming task that must be performed prior to runs, although an approximated dynamic model made the computations much more feasible. They used reactivity, i.e., the immediate connection between planning and control without the need to replan in case of unexpected terrain or state perturbations. Useful as it is, reactivity requires large region of attraction for the control laws to preserve robustness.

We term minimalistic control schemes those simple controls for dynamic legged robots that use none (as in Ref. [10]) or only a few simple sensors with no closed-loop control strategy. In our work, we use detection sensors (rather than continuous sensors) to identify the once-per-cycle events, namely, the apex and touchdown events. Data collected are not the full state; detecting the apex event provides state information of zero upward velocity, and the touchdown does not contribute any state information.

The simplest scheme of applying a fixed leg angle during descent managed to prevent failure of the simple SLIP model on flat terrain and provided a sort of asymptotic stability [11,12]. A more advanced method, swing leg retraction (SLR), coped with moderate unknown terrain variations and stabilized the model [13–17]. In SLR, the leg is brought to a predefined angle at apex and rotated during descent until touchdown. Correctly tuning the SLR method can bring the robot to a fixed relative height above preceding terrain, on unknown rough terrains, which better handles unpredicted up or down steps [17,18].

In other minimalistic control schemes, stability was not the only parameter that was gained; Ernst et al., investigated how to keep a constant horizontal velocity at apexes when traversing unknown rough terrain [19]. Since their model assumed conservation of energy, maintaining constant velocity is equivalent to keeping absolute height at apexes ($yabs$), as shown in Fig. 4. Keeping an absolute known height while traversing unknown rough terrain is an important milestone toward path planning. However, this method cannot keep a desired horizontal distance between every two apexes. Another work suggested apex height control for a hopping two-mass model, accounting for inelastic impacts during touchdown [20]. The algorithm, designed for hopping, offered accuracy in expense of the simplicity of the conservative SLIP.

Similar to $yabs$, we can create a minimalistic controller, $xnom$, that keeps a predefined horizontal distance relative to a preceding apex on unknown rough terrain, as depicted in Fig. 5. Yet, similar to the $yabs$ controller, applying $xnom$ does not allow reaching an arbitrary vertical height.

Piovan and Byl [21] and Shemer and Degani [17] proposed an underactuated stance phase controller to reach a desired reduced apex state ($y,x\u02d9)$ with only one controller. Both works did not have a control authority over the $x$ coordinate. Piovan and Byl used an active SLIP model, where they performed the calculations and injected energy during the stance. As the ParkourBot stance phase is very short (the stance is approximately 50 $ms$ (the flight phase is in the scale of hundreds of milliseconds)), we prefer to use a flight-phase control, where the controllers are manipulated during descent.

Since the state of the planar conservative SLIP model has two degrees-of-freedom (2DOFs), two controllers must be applied in a single jump to reach an absolute destination [2,9]. Alternatively, two successive jumps with a single controller may be applied, which is the theoretical basis of our method.

## Methods

### Spring-Loaded Inverted Pendulum Model.

*m*. Specifically, $r\u0302=r/r0$; $t\u0302=g/r0\xb7t$; $\theta \u0302=\theta $ are the nondimensional length, time and leg angle, respectively. The scaled nondimensional stance equations are

Here, $\beta =kr0/mg$ is a nondimensional factor, often referred to as nondimensional stiffness [22], incorporating the dimensional parameters of the robot. Additionally, we define the coordinates of the mass as $x=r\u2009cos(\theta )$ and $y=r\u2009sin(\theta )$, allowing us to formally write the flight nondimensional equations of motion as $x\u2009=0,\u2009y\xa8=\u22121$.

In this paper we examine several values of $\beta $. Two of them are depicted in Table 1: $\beta 1=25.5$ that characterizes the human leg [23]; and $\beta 2=915$ that characterizes our ParkourBot [7]. Originally designed for climbing on a flat inclined surface, the ParkourBot is a highly dynamic two-legged robot moving from side to side between walls in a parkouring fashion. The ParkourBot can also bounce on a single leg in plane (monopod) as done, for example, in Ref. [17]. With a leg to body mass ratio of less than one percent and a relatively large moment of inertia, the ParkourBot is an adequate anchor for the SLIP model, as was demonstrated in previous works such as Refs. [7,17,24]. In future work we will demonstrate our experimental verification of our current paper with the ParkourBot.

The full state of the robot is ($x,y,x,\u02d9y\u02d9$). However, as typically done for the SLIP model, we analyze the system using a Poincaré section at apex, where the vertical velocity vanishes. The state thus reduces to ($xa,ya,x\u02d9a)$, where the subscript *a* refers to the state variable at apex. Our assumption of energy conservation simplifies the state at apex further to position only $(xa,ya)$, given the initial energy. However, we wish todifferentiate between jumping left and right, hence the apex state is defined as $S=xa,ya,sgn(x\u02d9a}$.

To control the model, we control the leg angle during flight, while during stance the leg angle moves freely according to the model's dynamics. Our controller uses only two detection sensors, namely, touchdown and apex, utilizing them once-per-cycle. The detection of the touchdown uses a push-button and does not give additional state vector information. As stated before, detecting the apex reveals that the velocity in the vertical direction is (close to) zero. This sensor can be realized in practice by performing data fitting on a few vertical velocity readings during the flight phase. A Kalman filter that combines IMU sensor integrations and vertical-distance derivations during the stance phase can deliver the vertical velocity estimations and minimize the inherent IMU drift.

### Reachability Set.

### Optimizing Leg Angles.

When constructing an SLR method, optimization is usually applied; simulations start from $S0$ and follow the mapping $\psi $ to the first apex $S1$. The optimization finds the leg angle that minimizes a cost function, normally the deviation from a fixed relative or absolute height above the terrain.

where $(xd,yd)$ are the destination coordinates, picked from the RS, and $(x2,y2)$ are the second apex coordinates. The corresponding leg angles of $(xd,yd)$ are initial guesses for the optimization. A remark should be made that the leg angles $[\theta 1,\theta 2]$ may not be unique and affect the performance of our method, but the initial guess virtually provides a unique solution, as will be described in the Architecture of the Proposed Technique section.

### Architecture of the Proposed Technique.

Our technique, shown schematically in Fig. 8, aims to bring the robot to an apex located at desired $x$ and $y$ positions under unexpected terrain variations. The technique combines two consecutive jumps, each governs the leg angle with a minimalistic scheme. The direction of travel is *arbitrary*, although the following examples present jumps with alternating directions. The idea behind alternating jumps is to leave as compact footprint as possible and to have an adequate spatial resolution, if needed, fitting two jumps in roughly one footprint of a single jump. A single jump may bring the robot to the desired destination, if the latter is positioned on the limited single-jump RS curve. However, the much broader two-jump RS manifold allows many more options to position the destination in the general case. With our next examples of alternating directions, the movement of the model starts forward (right) and after the first touchdown is inverted backward (left). After the second touchdown it turns forward (right) again, finishing at an apex.

The construction of the minimalistic control laws that will later govern the leg angles is somewhat similar, but simpler, to the “prepares graph” [26]. We begin with the construction of a two-jump RS ($R2$) on the uppermost expected terrain level because it is the smallest one and thus the pessimistic (see Fig. 12). The objective of the RS is twofold: to define the reachable area, in which destination can be located; and to provide a beneficial initial guess for the leg-angle optimization algorithm. Figure 7 depicts a discrete representation of an RS of alternating jump directions, starting from a known fixed initial state $S0$ with positive velocity $(x\u02d90=1)$. The RS is practically the inner continuous region bounded by the points depicted. We formulate it by simulating trajectories with systematically changed leg angle at touchdown on a single terrain level. We found the leg angle range that lead to a reachable apex and consistently varied the angles to create the RS. It is also possible to use a random approach of constructing an RS by using random leg angles in the domain. Once an RS is constructed, a desired destination ($xd,yd$) (triangle in Fig. 7, step B in Fig. 2) is chosen by the planner within the reachable area. The planner determines the destination ($xd,yd$) mostly by high-level considerations, such as proximity to a global goal to minimize traverse duration, avoiding known obstacles, etc. Choosing these waypoints can be found using a global motion planner, which is outside the scope of this work.

We arrange the two optimized leg angles and two corresponding durations of fall in a lookup table and then transform the table to time dependent functions—$\theta i(t)$, where $t$ is the time measured from each apex event to touchdown (step E in Fig. 2). A polynomial least square fit demonstrated superior accuracy over simple polynomial interpolation. Our controller uses functions, $\theta i(t)$, to govern the leg angle starting at apex until the “unknown” touchdown to maintain destination on rough terrain. Once the temporal controller function is constructed, the destination is now considered as the initial conditions of the next two steps and the whole process is repeated (step F in Fig. 2). A note should be made that the optimization process can be substituted by performing a brute force dense approximation. This means to create very dense RS on all terrain levels that will be used as huge lookup tables. Yet, optimization is much more practical and reliable.

### Testing the Proposed Method.

We tested the performance of our method in two main aspects. The first is the influence of both the nondimensional parameter $\beta $ and changes in terrain level on the RS in terms of shape, density and area. As the RS determines the area of possible destinations, finding its limits is essential. We tested six values of $\beta $: 25.5, 40, 100, 200, 400, and 915; and two terrain levels: −2.5 and +0.5 leg lengths. For conciseness, we display the results of only the two extreme values of $\beta $, namely, 25.5 of the human leg and 915 of the ParkourBot.

where $dev$ is the averaged deviation for each destination over all terrain levels. We use $dev$ as an estimation of performance of the method for each destination.

To get a broader perspective and to demonstrate the utilization of our proposed method, we chained the jumps on rough terrain from one destination to another. We model the terrain as a piecewise constant random-walk function $h:\u2009R\u2192R$ with mean change of level of one leg length.

## Results and Discussion

Three exemplifying demonstrations of merging a few destinations on unknown rough terrain are shown in Fig. 10. Starting from a known apex state, the trajectory reaches each predetermined destination. Each trajectory starts from a known state on the far left and travels to the right. A desired subgoal (a triangle in Fig. 10) is predetermined according to the initial state and its RS (RS is not depicted in Fig. 10). The rest of the subgoals can be set sequentially and chained to form a link to the ultimate desired goal on the far right. During each descent (first and second), the simulation applies a set SLR rule, which ensures the trajectory that leaves a known origin will reach its destination on unkonwn rough terrain.

Portrayed in Fig. 11, the value of $\beta $ affects the RS of a single terrain level in two ways. The first is the size of the reachability set, where a lower value of $\beta $ enlarges the reachability set. A broader RS means a larger area to set a desirable destination. Yet, since the RS are composed of the same number of leg angles at touchdown, a broader RS inherently prompts a lower resolution in leg angles, which indicates an increased sensitivity to inaccurate leg angle. In other words, higher values of $\beta $, manifested in lighter or stiffer robots, improve the immunity to touchdown angle errors at the expense of a smaller reachable destination. Robots with smaller values of $\beta $ are heavier and more compliant and thus have a longer stance duration and a larger sweeping angle. These, we presume, make the robots more sensitive to inaccurate leg angle positions at touchdown, as the latter have more time to affect the trajectory and deflect it. This explanation also clarifies the larger RS of smaller $\beta $ robots; as the stance is longer, the RS is more scattered.

Changing terrain level height has a similar effect on the RS, as depicted in Fig. 12. The RS created on a lower terrain level has a larger area, probably because the longer time of flight enables a further range, causing a greater disperse. To verify a destination is reachable on all expected terrain levels, the RS on the top terrain level should be constructed, as it is the smallest in area and enclosed in all other RS. Figure 13 describes the Euclidian deviation from a desired destination (depicted with a blue circle) when initial height is perturbed by 5% of leg length, while maintaining the energy level. The radius of the circle is proportional to the mean of the error. It is evident that as the value of $\beta $ is lower, the errors in reaching the destinations are higher. That is, the lower the $\beta $, the higher the sensitivity to perturbations in initial conditions. This accompanies the observation seen in Fig. 11 of the higher sensitivity of lower $\beta $ values to leg angle errors.

When each foot lands on a different terrain level, the deadbeat performance of our method may deteriorate as exemplified in Fig. 14 (left). The deterioration depends on several factors like the horizontal and vertical velocities and the difference of terrain level height and may lead to failure. Fortunately, the performance can be corrected to reach the predetermined destination upon different ground levels at footholds, as in Fig. 14 (right). To perform this correction, one of the foothold terrain levels must be known in advance (e.g., using a distance sensor at every second apex), while the terrain level of the other foothold may remain unknown, as we assumed throughout this work. The optimization process will use the information and find both first and second leg angles that lead to the destination. In the Future Work section, we suggest a solution to face this challenge.

Our proposed method can lead the trajectory to a wide range of possible destinations with only small errors on both flat and piecewise constant terrain by chaining them (see three typical examples in Fig. 10). Apart from the initial state of the simulated robot, no external information regarding the terrain is needed. The proposed method tolerates terrain roughness of more than twice the nominal leg length—see, for example, Fig. 10—where leg length is 0.19 m and terrain variations of 0.45 m are tested.

As the planar conservative hopping robot has 2DOFs, to reach an arbitrary reachable absolute state at apex, it must make at least two consecutive jumps. This paper describes a method to overcome the challenge of reaching a definite predetermined position while experiencing unknown terrain. We perform two jumps that each controls the leg angle during descent, while detecting only apex and touchdown events.

To draw the limits of our method, we observed that the possible area for destinations, the RS, is increased when decreasing $\beta $ and when terrain level is lowered. Furthermore, generally higher candidate destinations (i.e., with greater $y$ values) are more resilient to deviations, when averaging the deviation of trajectories running over fluctuating terrain. The same behavior is seen when initial conditions are inaccurate; when the trajectory starts from slightly perturbed initial conditions, the lower $\beta $ is, the higher the deviation from the desired destination.

## Future Work

Some future improvements to the method are suggested. Our method deteriorates in performance when terrain level is not identical at both footholds. The reason for the deterioration of the performance is that the first jump “assists” the second jump. This deterioration is avoided if terrain level for one of the footholds is known prior to the optimization process. In future work, we intend to exploit this notion. The basic idea is to prompt the robot to join two steps or decrease the distance between the footholds of *different* instances of the method. This means, for example, that the third touchdown will aim to the footstep of the second touchdown. By doing so, earlier footholds estimate the terrain level for the later footholds.

We plan to use the ParkourBot in our lab and test our proposed method on real hardware. In this work we made a nondimensional analysis to facilitate the implementation with various SLIP-based robots. Such analysis may come in handy to allow multiple-robot experiments if desired. To accommodate the conservative model with a nonconservative robot, we will inject a constant amount of energy at each step to compensate for energy losses and maintain performance, similar to our previous work in Ref. [17]. Detecting the apex instances will be initially performed using our Vicon tracking system that consists of six infrared fixed cameras, providing three-dimensional temporal information. In a later stage, we will implement the apex detection sensor as described in this work and evaluate its accuracy using the tracking system.