stable gait transitions while changing speeds on a rhex-like platform

14
Stable Gait Transitions While Changing Speeds on a RHex-like Platform Dalton Banks and Matthew Hale March 1, 2011 ESE 313

Upload: oralee

Post on 23-Feb-2016

31 views

Category:

Documents


0 download

DESCRIPTION

Stable Gait Transitions While Changing Speeds on a RHex-like Platform. Dalton Banks and Matthew Hale March 1, 2011 ESE 313. Desired Behavior. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Stable Gait Transitions While Changing Speeds on a RHex-like

PlatformDalton Banks and Matthew Hale

March 1, 2011ESE 313

Page 2: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Desired Behavior In any real-world application of robots, it is logical that a robot will be

commanded to move at different speeds to accommodate the terrain or obstacles in its environment

We want robots to make stable transitions between different speeds

In robotics, there is frequently an Implicit constraint: robots should move at (roughly) optimal efficiency due to limited onboard resources

Ensuring the efficiency of a gait usually requires changing all of the robot’s gait parameters, so we want a robot to change its entire gait as it changes its leg speed parameter so that the robot moves efficiently at each speed

Page 3: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Present Unavailability Past and present research into gait transitions is largely motivated by

changing between terrains rather than changing between speeds [1]

For example, RHex robots often use one set of gait parameters for a terrain and then change speeds simply by scaling the leg rotation frequency

The issue of changing gaits while changing speeds is un(der)explored in the literature

1. G. Clark Haynes and Alfred A. Rizzi, "Gaits and Gait Transitions for Legged Robots", Proceedings of the 2006 IEEE International Conference on Robotics and Automation

Page 4: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Desirability of Bioinspiration It is believed that animals transition between gaits as

they change speeds in order to minimize the energetic cost of locomotion [1]

In certain speed regimes, energy-optimized gaits form a “kinematic continuum” [2]

We believe that stable speed transitions can be made along a continuum of efficient gaits

1. Wickler SJ, Hoyt DF, Cogger EA, Myers G., "The energetics of the trot-gallop transition", Journal of Experimental Biology, May 20032. Robilliard JJ, Pfau T, Wilson AM., "Gait characterisation and classification in horses", Journal of Experimental Biology, January 2007

http://visual.merriam-webster.com/animal-kingdom/ungulate-mammals/horse/gaits_1.php

Page 5: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

The Idea First, we will optimize robot gaits for efficiency over a range of leg speeds using the

Nelder-Mead descent algorithm [1] Due to experimental and theoretical considerations this has formed the bulk of the work

done for this project

Then, we will interpolate these data to generate a continuous path through gaitspace

To test the usefulness of this interpolated path, we will attempt to transition among commanded leg speeds along this path and assess stability

1. Joel D. Weingarten, Gabriel A. D. Lopes, Martin Buehler, Richard E. Groff, Daniel E. Koditschek, "Automated Gait Adaptation for Legged Robots", IEEE International Conference on Robotics Automation (ICRA), April 2004

Page 6: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Refutability Can we even determine a reasonable path of optimal efficiency?

Are efficient gaits necessarily stable enough to see real-world use? With the mathematics entirely divorced from the robot’s qualitative behavior, we may

generate gaits that are mathematically optimal but are unusable

Binary conception of stability: does the robot’s body hit the ground?

Another possibility: a single discontinuity in gaitspace requiring a gait transition not produced by the aforementioned interpolation

Animals exhibit a discontinuous transition between “walking” and “running” gaits; this could be a result of parallel local gait minima for energy expenditure [1]

Not intuitive whether this will occur in robots or not

1. Robilliard JJ, Pfau T, Wilson AM., "Gait characterisation and classification in horses", Journal of Experimental Biology, January 2007

Here, parallel local minima produce a discontinuous minimum path

Page 7: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Necessary Means A robot which is able to run many different gaits defined by different parameter sets (which in turn define

different Buehler clocks) (we are using X-RHex)

A cost function which can normalize the cost of a gait over different speeds (we are using specific resistance; this is determined experimentally using X-RHex’s onboard power measurements and GPS measurements)

A tuning algorithm which coordinates changing the robot's gait parameters with values of the cost function in order to find gait parameters which minimize costs (we modified existing lab code to optimize δ, φ0, and φs)

A means of storing the gaits generated by the tuning algorithm (text files uploaded to Dropbox, available to both of us)

A means of mathematically interpolating the gaits stored in order to produce a continuum of efficient gaits (future work)

A suitably long stretch of (roughly) homogeneous terrain on which to test the gaits and their transitions (the walkway along Hill field)

Page 8: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Experimental Setup Our setup used the X-RHex robot

Equipped with a GPS and IMU The GPS was used to track changes in position The IMU was used to integrate the total path of the robot if it was turned In order to determine the total distance traveled Dividing this by time gave us the robot’s velocity, v

We also used the robot’s onboard circuitry to measure power, P

These two quantities, together with the robot’s mass, m, and the acceleration of gravity, g, are used to calculate specific resistance: SR = P/(m*g*v)1

To actually perform the optimization based on specific resistance, we used the Nelder-Mead algorithm2

This changed the gait parameters and ran new gaits generated by the algorithm until it converged or reached stagnation

1. G. Gabrielli and T.H. von karman, “What price speed?,” Mech. Eng.., vol. 72, no. 10, 1950.2. J.A. Nelder and R. Mead, “A simplex method for function minimization,” Computer Journal, vol. 7, pp. 308-313, 1965.

Page 9: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Operational Plan & Outcome On the experimental side, the primary task was to write a script that would perform Nelder-Mead optimization

on our parameters of interes Our original plan was to use an existing Nelder-Mead implementation, and write the software to interface Nelder-Mead

with the robot ourselves However, after talking over this plan with Deniz Ilhan we decided due to time constraints to base our code on the

KodLab’s existing framework The existing code was intended to optimize all of the robot’s parameters, meaning that it required modifications on our

part to constrain the parameter space to include only those parameters of interest to us However, using this framework provided enough headstart that we were able to avoid turning our work into a coding

project and instead focus, as originally planned, on studying optimization and the resulting data

Using our modified version of the existing code, we have been able to run Nelder-Mead optimizations of specific resistance on the robot to “completion” four separate times (elaboration to come)

After theorizing about the possible pitfalls of Nelder-Mead, primarily the question about noise versus ruggedness in the optimization function, we realized we needed to perform experiments to inform our theoretical analysis and vice-versa. A simple noise analysis is the next step following the current phase of experimentation

Page 10: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Exploring Nelder-Mead• The first thing we did was run Nelder-Mead on several simple functions

• We tried paraboloids of various widths and depths in 4-D and Nelder-Mead found the global minimum

• Next we added noise to these functions and found that convergence was only guaranteed if the tolerance was greater than the amplitude of the noise we added

• While we didn’t realize this beforehand, intuitively it makes sense

• To get a sense of Nelder-Mead’s behavior on “difficult” functions, we examined its behavior on several known functions• We originally intended to generate “difficult” functions on our own• But it turns out that this is time consuming, and hard to visualize for 4-D;

furthermore it has already been done• Instead, we used 4-D extensions of the Rosenbrock and Himmelblau functions

• Nelder-Mead was able to converge to the minima of each function despite their difficulty

• However, when we added random noise to the functions, the algorithm was able to come near the minima

• We found that Nelder-Mead will reach stagnation when its tolerance is set to a value that is less than the magnitude of the noise on the cost function measurements

f(x,y) = (1-x)2 + 100(y-x2)2

f(x,y)=(x2 + y – 11)2 + (x+y2 – 7)2

Page 11: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Results of Optimization We ran a total of 4 Nelder-Mead descents from start to “finish”

Three of these used SR as their cost function (as we intended) and we ran one with SR/v2 as was done by Weingarten et al. in 2004

Three used the same starting simplex, and one used a different one All four runs reached stagnation; based on our theoretical work, we believe that

this is due to the tolerance (0.01) being smaller than the magnitude of the noise on our measurements.

However, our runs did produce decreasing specific resistance values, and tolerance can always be increased during analysis and certainly in future optimization runs

Page 12: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Preliminary Numerical Results Calculated gait distances using the standard L2-norm, and found that there

was no clear clustering of optimized gaits starting from the same simplex or using the same cost function Perhaps the gait space is smooth? Many more trials necessary, in addition to noise analysis

The data that we have had time to gather do show improvements in the gaits as the trials went on While we did not reach convergence with the given tolerance, a high tolerance

would have resulted in convergence for these same data

Page 13: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Conclusion The next step of this project will be to perform several more optimizations using the same initial simplex, to

examine the magnitude of noise we encounter in the parameter space. We will then determine the noise in specific resistance at a few gaits along the Nelder-Mead algorithm’s path of descent in hopes of determining the relative effect of specific resistance noise versus ruggedness of parameter space on optimization

Next, we will perform optimizations using several starting simplices at the same leg speed in order to further evaluate the ruggedness of the parameter space and attempt to find local minima in which the Nelder-Mead algorithm may become stuck

Ideally, these steps would be repeated for several leg speeds, leading to a better understanding of the noise and ruggedness of the complete parameter space

Once we have optimized gaits for several leg speeds, we will attempt to user our understanding of the noise and ruggedness in the space to construct an interpolated path along a 4-D “valley” in the parameter space and evaluate its efficacy in facilitating smooth gait transitions

Page 14: Stable Gait Transitions While Changing Speeds on a RHex-like Platform

Himmelblau and Rosenbrock

The Rosenbrock function is used to test the efficacy of statistical minimization methods because it has a large valley in the middle

Finding this valley is nearly trivial as it lies between two regions of the parameter space with large negative slopes

Though convergence is difficult to achieve because the valley becomes nearly flat

This function can be generalized to N-dimensions

The actual function we used was:

f(x,y,z)=(1-x)2+100*(y – x2)+(1-y)2+100*(z-y2)2

The global minimum is at (1,1,1) and this was reached by Nelder-Mead to within the noise margin

The Himmelblau function is also used for similar purposes

Because it has four local minima

This can make it hard to optimization algorithms to converge as they may oscillate back and forth between minima and thus not converge

We could not find a source for the minimum values of this function in four dimensions, so we opted to use three

The actual function we used was f(x,y) = (x2+y-11)2 + (x+y2-7)2

The global minimum output values are all 0 and Nelder-Mead converged to one of these, to within the noise margin

Which minima was reached depended upon the starting simplex