Dynamics Of Steering


Steering and turning in place are quite straightforward concepts for a platform with differential wheel based locomotion capabilities. On the other hand, for a highly mobile platform like RHex, even turning in place is a big challenge once power efficiency and thermal constraints are in consideration.

The inspiration behind RHex design comes from biology; the animal kingdom has several members such as cockroaches that reach remarkable maneuverability while being stable and fast relative to their own body size. What is striking is that these species are able to achieve such capabilities only by making use of passive dynamics [1], [2], [3].

In this experiment, we will investigate the ways to improve turning in place and steering capabilities of the Junior platform. The main assertion we are going to investigate comes from Jindrich and Full's work [1]: Turning can be achieved via small adjustments to a straight running gait. Proctor and Holmes' work [3] is a good starting point for getting key ideas about how to achieve this. You may refer to [4] for further reading about dynamic steering as a design consideration.

Lab task: Implement and tune gaits for turning in place and steering.


Labeling and grouping of the legs

In this prelab exercise, the main focus is to have a brainstorming session on how to accomplish turn-in-place and steering by modifying the alternating tripod gait students implemented in the former experiment.

Task: In the previous lab experiment, we focused on four different parameters that describe a clock-driven control scheme used for an alternating tripod gait. For both turning in place and steering problems, come up with ideas focusing on modifying the Buehler clock in a simple way, and yet, resulting in the desired behavior. You are allowed to use the papers provided in the introduction or search the literature yourself. You are allowed to work on your own simulation in your favorite scripting language. You are not allowed to talk to a KodLab member or watch the RHex platform performing turning in place and steering.

Write down a short pdf file that discusses both scenarios and proposes possible solutions for each case. Provide any reference, simulation result, theoretical reasoning, etc. behind your proposed solution.

Turning In Place

Task 1:

Take your Buehler Clock based tripod gait implementation from the previous experiment. Perform the necessary modifications within the tripod to have the robot turning in place without hitting its body on the ground for five seconds. In the end of the process robot should go back to a full standing posture successfully.

Task 2:

Try to tweak the four parameters you have to reach a faster turning in place.

Optional Task:
One problem with conventional turning in place behavior of RHex platform family is its relatively high power consumption. Can you implement or propose a way to have a more power efficient behavior?

Dynamic Steering

Similar to turning in place, you will start with your implementation of the Buehler clock based tripod gait. Groups are allowed to discuss different strategies. Can you steer Junior by modifying per leg parameters of one of the tripods?

Task 3:

Implement a steering behavior by only modifying the leg offsets; $\phi_0$.

Task 4:

Implement a steering behavior by modifying the sweep angles $\phi_s$, duty factors $\sigma$ and radial speeds $s$. You may use a smaller subset of these three parameters.

Task 5:

Tune your final steering behavior. You are allowed to pick one of your former implementations as well as to use a combination of the two.

Optional Task:
Try to come up with a discretized set of steering behaviors with different angles. Which parameters are more effective in controlling the steering angle?



To be completed and posted to the Blackboard by class on Thursday, 2/3.


  • Show the instructor that your group can use your script to have Junior turn in place and steer without hitting its body on the ground.


  • There will be a competition among the groups which will have three stages:
    • Have your robot turn in place for half a revolution and a full revolution.
    • Have your robot turning in place for ten seconds as fast as possible
    • Within a rectangular region, have your robot go from one corner to its diagonal opposite.
  • You can ask TA for extra robot time to get prepared for the competition.


After completing Tasks 1 through 5, write a report summarizing your procedure and results. The goal of your report is to inform the reader of what you did and convince them of any conclusions you have made. In this report, be sure to:

  • Write an introduction to bring the reader into the report.
  • Briefly explain your implementation for turning in place and steering behaviors. You are encouraged to go through the blocks of your code and explain the idea behind.
  • Discuss your procedure on tuning the behaviors.
  • Discuss your conclusions:
    • In this experiment, we tuned turning in place and steering behaviors for RHex by having modifications on the Buehler clock. How does each of the four parameters affect the performance?
    • For turning in place, what is the difference between middle and outer legs? Did you implement or can you propose any extra modification that incorporates this difference?
    • For steering, which of the parameters are more important? Or mainly, does focusing only on leg offsets result in a maintainable steering behavior?
    • Can you come up with any other method/idea for getting similar behaviors from the robot?
    • Can you explain how the discretization on rate of steering can be performed? Were you able to implement this discretization?
    • Write a conclusion to wrap up your ideas and present your results one last time.


1. D. Jindrich and R. Full, Many-legged Maneuverability: Dynamics of Turning in Hexapods, Exp Biol, vol. 202, no. 12, pp. 1603–1623, 1999.
2. J. Seipel, P. Holmes and R. Full, "Dynamics and stability of insect locomotion: a hexapedal model for horizontal plane motions", Biological Cybernetics, vol. 91, pp. 76–90, 2004.
3. J. Proctor and P. Holmes, “Steering by transient destabilization in piecewise-holonomic models of legged locomotion,” Regular and Chaotic Dynamics, vol. 13, no. 4, pp. 267–282, 2008.
4. A.M. Hoover, S. Burden, X-Y. Fu, S.S. Sastry, and R. S. Fearing, "Bio-Inspired Design and Dynamic Maneuverability of a Minimally Actuated Six-Legged Robot", IEEE International Conference on Biomedical Robotics and Biomechatronics, Tokyo, Sept. 2010