C.6.1) Revised Problem Statement

The instructor's feedback on our problem restatement from C.5 said that it had lost some of the sharpness of the problem statement from C.3. As our TCP fellow did not appear for our scheduled meeting to discuss C.5, this is the only feedback we have. As such, our problem restatement shown below takes what we believe to be the sharper elements of C.3, the elements of C.5 that concisely elaborate on our problem, and combines them with further changes that reflect what we have learned thus far.

Among wild animals, the diversity of challenging terrains and environments has required, through evolution, the development of myriad behaviors in animals which help them to survive and, ideally, thrive in such environments. Among the many capabilities of animals, their ability to locomote is of paramount importance, as it enables them to flee predators, chase prey, find water or shelter, and to explore their surroundings. While a robot in the same environment as an animal does not necessarily have to avoid predators or find resources the same way that an animal does, a robot's efficacy in a particular environment is best judged based upon its ability to match (and ideally, supersede) an animal's ability to locomote in the same environment; an animal indigenous to a particular environment represents the product of millions of years of development of locomotive behaviors and innumerable design iterations on the mechanisms responsible for their implementation.

While animals use qualitatively different methods of locomotion (i.e., walk, trot, gallop, etc.) to respond to the demands of different terrains they face, there exists a family of gaits for different purposes within each mode of locomotion. Research into animal locomotion suggests that the transitions animals make between the various gaits which are used on a given terrain are made in order to maintain efficient locomotion as an animal changes speed [2]; as animals have limited energy available to them, gait transitions are made so that an animal can minimize the energetic cost of any speed at which it moves and thus maximize the time they are able to move per unit energy. Analogously, robots have batteries with finite capacity, meaning that they, too, should minimize the energetic cost of different speeds of movement. The problem which we wish to address is stable transitions between efficient gaits in a robot as the robot changes speeds. When the user commands the robot to change speeds, we want to change to not only a new speed, but also change to a completely new gait which is optimally efficient at that speed, and to make this transition autonomously in a stable manner so that the user need not be concerned with these transitions.

The ability of the robot to autonomously effect gait transitions based upon user-commanded speed changes is valuable in that it allows the robot to waste less energy while locomoting by tailoring its motion to the principal goal of locomotive efficiency. In order to change the robot's entire gait to take full advantage of using minimal energy across a whole family of gaits, there must be stable gait transitions between such gaits. Thus, the value of our project is that it enables the user to take advantage of efficiency across a wide, continuous range of speeds and not simply at discrete points in gaitspace as has been done previously [3].

From the observation that animals optimize their walking and running gaits based on efficiency [2], in addition to the fact that for at least some range of speeds these gaits form something of a "kinematic continuum," we hypothesize that stable speed transitions in legged robots can be made by traversing an interpolated, continuous path through gaitspace along gaits of optimal efficiency.

C.6.2) Revised Literature Review

While we have increasingly come to rely on other sources (such as [3]) for our data collection and analysis, we feel that our robotics paper is still most relevant based upon the requirements laid out in previous communications assignments as it still provides the best evidence of the "gap between desired and presently available robot capabilities" that is mentioned in C.3.7. However, in response to the instructor's comments, we have added a further discussion of the individual numbers of citations of each paper.

Robotics Authority

The major source of authority we are considering from robotics is [1]. In this paper, the authors create and then transition between very different gaits which are used on different terrains. On the RHex platform, the authors switch between an alternating tripod gait on flat ground and a metachronal gait on stairs. On the RiSE platform, the authors switch between an alternating tripod, a tetrapod, and a pentapod gait in order to climb a vertical surface, turn the robot while climbing, and to move horizontally across a vertical surface. This paper represents important contributions to robotics as the authors adapt two robotic platforms to handle not only different gaits (and in one instance, a completely different terrain), but also to handle traversing the interfaces between these gaits in gaitspace. This is very important as it enables these robots to switch between these behaviors in realtime, making them usable in the context of real-world tasks. We feel that this paper is an important source of authority based on its venue and authors. This paper came from the IEEE International Conference on Robotics and Automation (ICRA). ICRA is an annual, international conference which is hosted by the IEEE's Robotics and Automation Society. According to the website for this organization:

The [Robotics and Automation] Society strives to advance innovation, education, and fundamental and applied research in Robotics and Automation.

It is clear that the research-centric nature of this conference is in line with what we seek to find here. Further, the society which hosts this conference is a subsidiary organization of the IEEE. The IEEE is one of the world's most respected engineering organizations and greatly contributes to the credentials of this conference. Based on the stated goals of the organization hosting ICRA and based on the fact that this organization is a part of the IEEE, this conference appears to be very credible and is thus a good venue in which to find a basis for this assignment. In addition, the second author for this paper (who is the Principal Investigator) is now listed as Adjunct Faculty at the Robotics Institute at Carnegie Mellon as well as Head Robot Scientist at Boston Dynamics. As Dr. Rizzi holds positions at both a well-respected research university and one of the leaders in industrial robotics research, his authorship lends significant credibility to this paper. The first author of this paper is now a Postdoctoral Researcher at the University of Pennsylvania for Professor Dan Koditschek. Given Dr. Haynes position at a well-known research university and considering that he works directly with Professor Koditschek who has an extensive research career which includes several landmark contributions to robotics, Dr. Haynes's present appointment suggests that he, too, is a credible author. We felt that this paper was worth tackling for this assignment because it represents one of the major papers emphasizing gait transitions in legged robots and was the source of inspiration for much of this assignment. This paper has 17 citations since its writing. Within robotics, locomotion is not studied very broadly and within locomotion, gait transitions are not studied very broadly. Thus this figure need not be concerning as this paper is, based on its content, expected to be of interest to a narrow group of engineers.

Precursor Literature

The authors of this paper cite [4] several times throughout their paper as they discuss various gaits, which suggests to us that this is an important "neighbor" paper. Google Scholar shows that this paper has been cited 64 times, meaning that it has been judged to be important by many authors other than those on [1]. This paper is relevant because it explores the stair climbing behavior in RHex, which is a key part of [1]. In [1], the authors experiment with the gait transition between walking and stair climbing with RHex, meaning that [4] creates a clear context for [1] because we are able to see how gaits were developed for RHex and how the need for gait transitions arose and was addressed thereafter. This paper relates to our topic because it explores different gaits within a single environment, which is what we intend to do, albeit with a more rigorous, transition-driven approach.

The second predecessor paper we have chosen is [3]. This paper focuses on using an automated method (specifically, using the Nelder-Mead algorithm to minimize specific resistance) to generate gaits on the RHex platform. This was chosen to be a good "neighbor" paper for [1] because it represents a means by which the robots in [1], RHex and RiSE, or seemingly any other platform, can be made to behave more efficiently. In particular, [3] is relevant to [1] because it enables more gaits on both RHex and RiSE and thus opens the door for transitions between these new gaits. [3] is relevant to our project because it provides a clear, replicable starting point for us, i.e., we can begin by generating optimized gaits in gaitspace by using the methods outlined in [3] and then interpolate these data to generate the family of gaits we desire.

This paper has 62 citations. Papers which have cited this paper include papers about quadrupedal robots, stability analysis, climbing robots, and papers which propose biological models of running, among others. 62 citations is a respectable figure and represents the fact that this paper has made important contributions to robotics research. In addition, the papers which cite it include many in robotics, such as those associated with the RiSE robot also used in [1], as well as biological papers which study arthropod locomotion and neuromechanical control. Thus, this paper is a valuable precursor as it combines robotics and biology in a way that has been beneficial to both fields.

Successor Literature

The first successor paper we are considering is [6]. Google Scholar shows that this paper came out in 2008, but already has 38 citations, making it the most cited successor paper to [1] in spite of its youth. This paper is relevant because it further explores locomotion on the robotic RiSE platform and mentions in particular (in its abstract) that the authors are considering locomotion on both flat ground and on a vertical surface. This paper is a very good successor paper as it further expands the gait transitions of the RiSE robot beyond the gaits strictly intended for vertical surfaces in [1] and into the realm of changing terrains entirely. This relates to our topic in that it motivates the need for efficiency within individual terrains. As robots become more capable and are able to tackle more terrains, there will arise a constant need to be efficient and stable not only at the interfaces between these terrains, but also within these terrains as the robot's change behaviors or speeds. This paper motivates our topic in that we seek to address the need for efficiency while terrains are constant, a need which this paper does not address.

The second successor paper we are considering is [5]. This paper was released only 4 months ago, so it (reasonably) does not yet have any citations. However, it is a good successor paper because it considers gait transitions in ways beyond those explored in [1]; in particular, [5] considers a platform which can switch between both legged and wheeled methods of locomotion. Within the legged capabilities of their platform, the authors discuss a means of minimizing energy use, which is also related to earlier biology research. WE feel that this is a good "neighbor" paper because it presents a robot which can not only transition among legged gaits, but which can also change its means of locomotion entirely, thus providing a broad extension of the type of gait transitions explored in [1]. This provides further motivation for gait transitions between distinctly different methods of locomotion. In addition, the attention given to minimizing energy use in certain legged behaviors on this platform (the authors mention specifically minimizing energy use while standing up) relates to our project in that we seek to minimize energy over a broad range of speeds while locomoting. This paper also motivates our idea in that as different terrains are conquered (which is one of the stated goals for the PEOPLER-II robot used in this paper) the need for efficiency within those terrains becomes more necessary. We, as mentioned above, are attempting to begin to fill in the need for efficient locomotion while moving over a constant terrain.

Biological Authority

We feel that our biology paper is still relevant and is properly contextualized in our previous write-up. Thus we have chosen to retain that paper as our biological source for this assignment.

Our source of biological authority is [2]. In [2], the authors are concerned with what causes horses to transition from a trot gait to a gallop gait; they focus on whether the impetus for change lies in the musculoskeletal forces experienced by the horse, or whether it is the result of metabolic considerations. This study runs horses in two environments which exert the same musculoskeletal forces upon the horses, but different metabolic factors and concludes that gait transitions are the result of attempting to maintain metabolic efficiency. There are four authors listed on this paper, all of whom hold or have held positions at Caltech. The first author of the paper, Steven J. Wickler, passed away in 2007. During his research career, he was the director of the Equine Research Facility at Caltech and the director of Laboratory Animal Facilities at Caltech; the fact that Dr. Wickler held two leadership research positions at a well-respected university such as Caltech adds to his credibility. Google Scholar lists his h-index as 17, which is a respectable figure.

In addition, this paper is from the Journal of Experimental Biology. According to the ISI Journal Citation Reports, the Journal of Experimental Biology is ranked 19th out of 76 in terms of impact factor, with an impact factor of 2.722. This puts the Journal of Experimental Biology just inside the upper one fourth of biology journals, which is a respectable rank. However, in terms of total citations, the Journal of Experimental Biology has 20334, which puts it ranked 4th out of 76 by ISI. This is a very high rank and indicates that the research published in the Journal of Experimental Biology has great influence on other researchers. The combined credentials of this paper's authors and venue lead us to believe that it is a valid source of authority for a topic such as ours. This paper is shown on Google Scholar to have 23 citations. Given that this paper is 8 years old, having 23 citations seems like relatively little. However, the authors' credentials lend credibility to this paper, as does its venue. In addition, as our first successor paper shows, research into the energetics of gait transitions in animals has continued and has been done for a wide variety of animals, meaning that even if this paper has not been very heavily cited, its content is of continuing importance.

Predecessor Literature

The first precursor paper which we are considering is [8]. This paper is a good "neighbor" paper to [2] because it performed a low-level study of the mechanisms which determine gaits in turkeys, namely leg muscles and tendons, and found that these mechanisms adjust themselves to store and then release energy when it is most beneficial. In broader terms, turkeys were found to constantly adjust their gait to use less energy, regardless of the speed at which they were moving. This relates to [2] as it provided evidence of gait transitions as a means of saving energy within an animal other than horses. This relates to our topic as it provides further bio-inspiration for gait transitions according to efficiency in robots. In addition, it gives more credibility to our hypothesis because it shows that, while our main biological source studied horses, the benefits had by changing gaits while changing speeds are not exclusive to horses, nor to quadrupeds. This paper is shown in Scopus to have been cited 273 times. Scopus tends to follow only higher-profile publications, meaning that the number of citations it has for a particular publication will be lower than the figure reported by Google scholar. However, 273 citations means that this paper has been very important to its field and that it has made valuable contributions to studying the energetics of gait transitions. The importance of this paper and the similarity of its topic to [2] make it a good precursor paper.

The second precursor paper we are considering is [9]. This paper is a good "neighbor" paper as it appears to present one of the first arguments that it is global metabolic economy of an animal (i.e., total energy used by the animal) which drives gait transitions, not local metabolic economy (i.e., the energy used by each leg). This paper represents a very strong foundation upon which [2] and other papers concerned with gait transitions are based. It provides a very important background for [2] as [2] examines a particular segment of gaitspace wherein transitions are made according to global metabolic economy. This is very relevant to our topic as it suggests that we should optimize gaits for global robot energy efficiency. Above, we (implicitly) state that we intend to do this when we state that we intend to use specific resistance, and this paper bolsters the notion that this method will yield positive results. This paper is shown in Scopus to have been cited 195 times. As with the previous paper, we believe that this figure is very noteworthy as Scopus tends only to track the highest quality publications, meaning that it generally underestimates the number of citations for a given publication. With this in mind, 195 citations means that this paper has had a substantial impact upon relevant research. Because this paper is about gaits in vertebrates and optimizing such gaits, it is relevant to both robotics and biology and is thus a valuable precursor paper.

Successor Literature

The first successor paper we are considering is [10]. This paper is relevant to [2] because it considers mechanical and metabolic details of gaits in ostriches, which are bipeds, while [2] studies the same aspects of gaits but instead on horses, which are quadrupeds. [10] concludes that ostriches select their gaits at different speeds (in the paper ranging from 0.8 m/s to 6.7 m/s) in order to minimize energy use at that speed, which is the same conclusion reached in [2] about horses. This paper is relevant to our topic as it bolsters the notion that there are efficiency advantages to be gained using gait transitions by very different animals in the animal kingdom. The fact that very different animals (thus far, horses, turkeys, and ostrichers) transition gaits over a range of speeds (and in this case, over a range of speeds that encompasses several qualitatively different gaits) to save energy leads us to believe that robots stand to benefit in the same way by using the same behavior. This paper is shown in Google Scholar to have 42 citations. This means that this paper has made important contributions to the study of biological gait transitions and that, because it has so many citations, it has done so in a way that is relevant to current research.

The second successor paper that we will consider is [7]. As the title suggests, a key part of this paper is relating the motion of animals to the energy associated with that motion and mapping these characteristics of a gait to gait parameters which define it. We felt that this was a logical choice of "neighbor" paper because it directly expanded upon the work done in [2]. In particular, [2] focuses on a single gait transition in horses and [7] builds upon this work and considers several transitions which occur in several different species and contrasts the characteristics of each of these transitions.

This paper is relevant to our project not only because it explores gait transitions, but also because it seeks a (preliminary) probing of the gaitspace of humans and horses. This paper finds that there do appear to be discontinuities in gaitspace between gaits which are qualitatively "walks" versus those which are qualitatively "runs" and that this discontinuity is not sufficiently explained by changes in duty factor. While we hypothesize that we can find a smooth path through gaitspace, this paper provides evidence that we may not find this path, and provides one possible explanation for why the gait transitions we seek may be unstable. This paper is shown in Google Scholar to have only 7 citations. This is a fairly low number as this paper was published in 2006. However, we feel that this is still a valuable successor paper at it is a logical extension of the work done in [2], so that it puts [2] in context. In addition, this paper studies how gait transitions relate to the metabolisms and mechanisms of locomotion in animals; this study is of use to roboticists because it relates methods of locomotion to efficiency in a way that can be used in designing new platforms and refining the patterns of motion on existing platforms.

C.6.3) Revised Methods and Setup

Scientific and Mathematical Methods

Since we are working with discrete, noisy data, we have decided to avoid gradient-descent algorithms for optimization due to the inevitable inaccuracy in gradient approximations. Instead we have opted to use a direct-descent algorithm, which relies only on function values and involves no gradient calculations. One of the most straightforward and commonly used algorithms of this type is the Nelder-Mead algorithm. The algorithm begins with the construction of an initial simplex in the space of inputs to the function being optimized (the "objective function"). The simplex is then deformed on each iteration of optimization— either reflected, expanded, or contracted along a line connecting the worst vertex to the centroid of the opposite side, or shrunk toward its best vertex if all else fails. This process is repeated until either the simplex shrinks to a specified size or its values fall within a specified distance from each other. In contrast to many other direct-descent algorithms, which require n function evaluations for an objective function of n dimensions, Nelder-Mead only requires two inputs regardless of dimension [11]. Due to its efficiency and wide-spread use in the scientific literature, along with its successful use in [3], we have chosen to use Nelder-Mead for optimization. There are many ways of implementing the algorithm; we will be employing the widely-used MATLAB implementation used by [3].

We will be using the existing KodLab architecture to carry out GPS-based Nelder-Mead tuning. This interface handles power measurements using the robot's internal battery circuitry and velocity measurements using the GPS interface with Dynamism. The cost function being optimized here will be the same one used in [3], which is a quantity called specific resistance. We have learned from the research literature that specific resistance was formulated as a means of determining the cost of locomotion independent of the style of locomotion (i.e., legged, wheeled, or otherwise) and independent of the weight of the moving body. Specific resistance is defined as S.R. = P/(m*g*v), where P is the power required to locomote, m is the mass of the robot, g is the acceleration of gravity, and v is the velocity of the moving body. If we feel that we need to know more about specific resistance, we can consult the original paper on the subject, "What cost speed?" by Gabrielli et al., discuss it with Clark Haynes who recently wrote a paper on incorporating a vertical element in specific resistance to assess the cost of vertical locomotion, or else with Professor Koditschek who was the Principal Investigator on [3].

Setup Details

As mentioned above, the code portion for this project has now been provided to us by Deniz Ilhan in the form of the KodLab's existing Nelder-Mead optimization library. With access to this code, our coding work will now focus on modifying it to optimize only the parameters that we want. We will use the current loop, velocity loop, and position loop gains that are used by default on the X-RHex robot when we are doing our optimizations; the problem of tuning this gaits is a separate control problem and is not our interest here. We will narrow down the parameters that the Nelder-Mead algorithm "sees" to $\phi$o , $\phi$s , and $\delta$. When the robot is running, the user will command a leg frequency (i.e., 1.5 strides per second) and then let Nelder-Mead perform its optimization on the parameters that it has access to. This allows us to select a particular leg frequency and ensure that Nelder-Mead will not change it as it has no way of knowing that this parameter is there. We will run the Nelder-Mead algorithm at several user-commanded leg frequencies, thus forming our sampling of gaitspace.

We can use our laptops as OCUs and can use the KodLab's joysticks for steering the robot and setting its speeds, so we will not need anything new to actually control the robot. We will use X-RHex and its existing access point and GPS connections, so we will not need any new hardware on the robot side either.

Database and Types of Data

The resulting data base we compile will be a set of text files. Each text file will represent one experiment in which we fixed a number of strides per second of the robot's legs and then ran the Nelder-Mead optimization. Each text file will contain not only the energy-efficient gait that the optimizer converged to, but also each gait that was used during the optimization process. This is valuable in that it will show us the path that was traversed by the optimizer, meaning that we can track the path of convergence for successive trials and, time permitting, examine the effects of starting simplices upon the final result of each trial. These text files will be stored in a folder in Dropbox to which we will both have access. This means that any file that is added to or changes to any file in this folder will be updated in real-time on all of the hard drives of both partners, meaning that every working copy of all of these text files will be in sync. This will allow us to keep up with each other's progress on any particular part of our project without having to constantly work together in person.

In addition, because we each plan to pursue different methods of data processing, this central repository of data will enable us to each have all of our compiled data available simultaneously to be processed by each of us simultaneously as we see fit.

Methods of Data Processing

We want to characterize the noise in specific resistance for various relevant gaits; these gaits will be determined via some preliminary optimization runs we will conduct later this week. For analysis of the effects of noise on optimization, it will be most useful quantify the noise in specific resistance directly. However, it will also be useful to isolate the error arising from both power and velocity readings, as it will give insight on how noise can possibly be improved, and perhaps even point to the use of a different objective function from specific resistance. First, to look at the noise in the voltage measurements on the robot, we will turn the robot on and, while stationary, repeatedly poll the voltage value. We expect this value to be constant, though this will show us if there is any noise present. We believe that it is more logical to do this than to perform the same test while the robot is running because the changes in the current being demanded from the batteries will cause the voltage to fluctuate, making legitimate fluctuations and noise indistinguishable. Next, using the GPS, we can have the robot remain stationary and see if its position values change over time. While simple, this test will give us a sense of the average error in our position values. To further and more realistically examine the noise we will encounter in the experiments we will be performing, we can also have the robot start at a known location, run a fixed distance, and then stop. We can compare our hand measurements in the position change to the GPS's measurements in the position change to understand how the GPS's errors in position measurements look in the context of our experiments.

Before we process any of our data, we want to be sure that it is "valid" data. To test whether our data is valid (i.e., that we have reached gaits that are optimal or, more realistically, nearly optimal), we will do several things using Nelder-Mead. First, for each leg frequency at which we optimize specific resistance, we will run the Nelder-Mead algorithm using the same starting simplex several times and examine the convergence of the algorithm during each of these trials. If the Nelder-Mead trials converge to the same parameter sets or (more likely) nearly the same parameter sets with nearly equal specific resistances, then we believe the gaits found in these trials will be nearly optimal and that the Nelder-Mead algorithm has given us valid data. If, however, repeated trials with the same initial conditions lead to drastically different gaits, then we will have reason to believe that there is either noise in our measurements which is leading the Nelder-Mead algorithm astray or else a "rugged" parameter space in which there are many local minima near each other in which the algorithm may become stuck. In such instances, we will run the robot with the gait that the robot converged to (and, time permitting, gaits used by Nelder-Mead near the final value) in order to examine how noisy specific resistance measurements in this region are. If we find that there is significant noise, then the variations in final values may be a result of this, though a lack of noise would suggest that the parameter space is rugged in that particular region and that the failures of Nelder-Mead in this region are due to the ruggedness of the space itself.

In such regions of the parameter space which appear to be more rugged, we will explore the local neighborhoods of these local minima. We will use starting simplices which let us probe the space not only near the minima themselves, but also along the paths of descent to these minima so that we have a sense of the ruggedness not only of the areas between adjacent minima, but also the ruggedness that is seen by the Nelder-Mead algorithm as it descends. This will let us potentially locate several minima in a particular region so that if Nelder-Mead converges to one of them, we know if its final value is optimal or suboptimal in that region.

To further understand the effects of noise and "ruggedness" on how well the Nelder-Mead algorithm performs, we will perform a few simple tests. We will let the Nelder-Mead algorithm run on a convex function (perhaps with several different starting simplices) in order to examine its convergence on such a function. We believe that Nelder-Mead will converge on such surfaces, though we wish to be sure before we claim anything. Next, we will introduce noise (likely in the form of Gaussian noise) to this function in order to examine how Nelder-Mead's convergence is changed, if at all, by the presence of noise. Studying noise over a convex function will ensure that the variable of noise is isolated; any problems encountered in Nelder-Mead's convergence can be attributed to the noise and not to the function itself. In addition, we will let Nelder-Mead run on various rugged surfaces to understand how it can become stuck in a local minimum. In doing this, we will understand not only how the algorithm becomes stuck, but also examine ways to explore the rugged regions near and along the paths to these local minima; such methods will later be applied to the specific resistance data we gather using the robot.

If we believe that we have gathered valid data for a single leg frequency value, we will move to the next leg frequency value. The starting simplex for the next leg frequency value will be the final simplex arrived at by Nelder-Mead for the previous leg frequency trial. This process will be repeated until we have the desired data at each leg frequency value.

Once we are satisfied with the validity of our data and our understanding of it, our data processing will be carried out in two steps. First, we will perform an interpolation on the gaits that the optimizer converged to for each speed; this is necessary because we will be optimizing gaits only for a particular set of speeds and must fill in the spaces between these samples. These optimizations effectively form a discrete sampling of the robot's gaitspace, meaning that an interpolation can give us a continuous path through gaitspace along these discrete samples. This will give us a family of gaits that is optimal with regard to specific resistance and will enable us to have an optimal gait for any speed that we want. These data, like the data from individual trials we run, will be stored on Dropbox.

After performing the aforementioned interpolation, we will make transitions between these gaits while running the robot on the same homogeneous terrain that these gaits were tuned on. The data we gather will be very simple; we are defining a "stable transition" to mean that the robot's body does not hit the ground as it transitions. Thus, we will transition between the interpolated gaits and record whether (and when) the robot hit its body on the ground to identify the points of failure of our method and potentially locate a discontinuity in gaitspace.

C.6.4) Status Report of Progress

To recap, we began with the hypothesis that stable speed transitions on a RHex-like platform could be made along a path through gaitspace connecting gaits of optimal efficiency. To test this hypothesis, we identified several necessary components:
I) A suitable RHex-like platform
II) A means of commanding gaits
III) A means of quantifying and measuring gait efficiency
IV) A means of optimizing gaits for efficiency
V) A means of interpolating a path between optimized gaits
VI) A means of evaluating stability in transition along this interpolated path

For these pieces, we decided upon the following:
I) An X-RHex robot interfacing with a laptop-based OCU via Dynamism.
II) Buehler clock parameters — phi_0, phi_s, delta.
III) Specific resistance— use Vicom or GPS to collect velocity information.
IV) Nelder-Mead descent.
V) Still to be determined.
VI) Does the robot's body hit the ground?

At first we thought the data analysis was going to be straightforward, that our main work would be writing working optimization code using Nelder-Mead descent, and the rest of the project would essentially be data collection and curve fitting. We did not think carefully enough about the success had by [3] in optimization, and assumed that the only issue with our hypothesis would be if the optimized path through gaitspace was found to be discontinuous. However, we came to realize that identifying the path itself would be more involved than we had previously anticipated.

Due to Nelder-Mead's nature as a direct decent algorithm, there are two fundamental issues that can prevent it from truly minimizing an objective function. The first is the topology of the function. Of course, due to the nature of hill climbing algorithms in general, Nelder-Mead can only be expected to find local minima; determination of an absolute minimum requires appropriate initial conditions (in qualitative terms, a starting point not separated by a "hump" from the minimum). But the algorithm can also be foiled by the "ruggedness" of the objective function. Depending on the size of the simplex used, the algorithm can get "stuck" in intermediary minima en route to the relative minimum it is attempting to identify. Secondly, the algorithm can be thwarted by noise in the objective function. Noise can either guide the simplex in the wrong direction or simply prevent it from distinguishing an appropriate path of descent.

Once we have experimental optimization data, it will undoubtedly reflect these sources of error. On repeating trials using the same initial simplex, there will be some disagreement among the final optimized gaits. To process this information, we must inquire about the meaning of how much they disagree as well as about the likelihood that we're getting stuck in an insignificant "rugged spot" in the terrain. However, at first approach it appears quite difficult to extricate the effects of rugged function topology from the effects of noise; without this distinction it will be difficult to discern when sufficient optima have been explored and whether or not they have been reached.

One thought would be to experimentally quantify the noise in our objective function, specific resistance, then run simulations to place bounds on the error that that level of noise could produce for specific resistance functions of varying degrees of ruggedness. If the noise is relatively small, but the variance in optimized gaits is relatively large, it would indicate that the objective function has a fairly high degree of ruggedness in the area of interest and probably needs to be explored more carefully. The problem with this approach is that due to the high dimensionality of the gaitspace the amount of data collection required to adequately characterize the noise in specific resistance as a function of gait would be impracticable. Therefore, we plan to first run some optimizations to identify relevant domains of gaitspace, and only then attempt to characterize the noise and subsequently ruggedness of those particular domains. In this way we will employ an iterative approach in which experiment informs analysis which informs subsequent experiment, and so forth.

That said, in C.5 we clearly underestimated the amount of work required to carry out the the Nelder-Mead tuning portion of the project. We had initially planned to write our project code completely from scratch, with the possible exception of the Nelder-Mead algorithm itself, building off of our codebase developed during the in-class labs. However, after a discussion with Deniz Ilhan, the three of us felt that it would be appropriate to instead use the existing KodLab architecture which does GPS-based Nelder-Mead tuning, in order to be able to focus on the interesting experimental and analysis problems making it a coding project. It seems uninteresting to re-implement something which has already been done several times in recent years. This interface handles power measurements using the robot's internal battery circuitry and velocity measurements using the GPS interface with Dynamism, so our earlier issues about taking measurements of these quantities have been resolved and we may now begin collecting and analyzing data. We will, however, be careful to keep track of the changes we make to existing code so that the experimental setup and code specific to this problem will be well-documented for the final report.

Concurrently with our experimental and analytical work, we will be developing an understanding of what is required to interpolate multi-dimensional data points in anticipation of obtaining good optimal gait parameters at different leg speeds. If this interpolated path can be realized, we can move on to experimentally testing the stability of speed transitions along it, thus evaluating our hypothesis.

C.6.5) Draft Results Section of Technical Report

TABLE 1: Initial optimized gaits for s=1Hz, 1.5Hz, 2Hz; n=20.
ROWS: s-values
COLS: mean, variance for each parameter

TABLE 2: Noise characterization (variance in specific resistance data) for optimized gaits from Table 1.
ROWS: parameter sets
COLS: mean, variance for specific resistance

FIGURE 1: Heatmap displaying specific resistance data from a relatively sparse sampling of gait parameters at s=1Hz, 1.5Hz, 2Hz.
The purpose of this figure is to illustrate the rough shape of the objective function to provide intuition about its behavior in different parameter regimes.

FIGURE 2: Effects of noise in the objective function at experimental levels on Nelder-Mead optimization of simulated functions of various ruggedness, compared with the effects observed experimentally.
The purpose of this figure is to provide insight into the ruggedness of specific resistance as a function of gait.

TABLE 3: Data illustrated in Figure 2 (variance, quantification of ruggedness)
ROWS: plot # from FIGURE 2
COLS: mean-square distance between optimized gaits (clustering factor?), degree of ruggedness of function (will need to find if such a quantification is useful)

TABLE 4: Optimized gaits from experiments following initial analysis (s=0.5:0.1:3.0)
ROWS: s-values
COLS: mean, variance for each parameter

FIGURE 3: Interpolated path through gaitspace, to be plotted in R3 on axes of $\phi$o , $\phi$s , and $\delta$ parametrized by s

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
2. Wickler SJ, Hoyt DF, Cogger EA, Myers G., "The energetics of the trot-gallop transition", Journal of Experimental Biology, May 2003
3. 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
4. Moore, E.Z.; Campbell, D.; Grimminger, F.; Buehler, M., "Reliable stair climbing in the simple hexapod 'RHex'", IEEE International Conference on Robotics and Automation (ICRA), May 2002
5. Tokuji Okada, Wagner Tanaka Botelho, Toshimi Shimizu, "Motion Analysis with Experimental Verification of the Hybrid Robot PEOPLER-II for Reversible Switch between Walk and Roll on Demand", The International Journal of Robotics Research, August 2010
6. M. J. Spenko, G. C. Haynes, J. A. Saunders, M. R. Cutkosky, A. A. Rizzi, R. J. Full, D. E. Koditschek, "Biologically inspired climbing with a hexapedal robot", Journal of Field Robotics, May 2008
7. Hoyt, D.F. , Wickler, S.J. , Dutto, D.J. , Catterfeld, G.E. , Johnsen, D., "What are the relations between mechanics, gait parameters, and energetics in terrestrial locomotion?", Journal of Experimental Zoology, November, 2006
8. Roberts, T. J., Marsh, R. L., Weyand, P. G. and Taylor, C. R., "Muscular force in running turkeys: the economy of minimizing work", Science, 1997
9. Alexander, R. McN., "Optimization and gaits in the locomotion of vertebrates", Physiol. Rev., 1989
10. Jonas Rubenson, Denham B Heliams, David G Lloyd, and Paul A Fournier, "Gait selection in the ostrich: mechanical and metabolic characteristics of walking and running with and without an aerial phase", Proceedings of the Royal Society B, May 2004
11. Nelder, J. A. and Mead, R., "A Simplex Method for Function Minimization." Comput. J. 7, 308-313, 1965