Multilegged-Robotics and Animal Motion

7 min readby Daniel Hou
Research

TL;DR

Worked on the Dynamixel and Moteus Motor Architectures for the PyCKBot Library. Lead the FastANT project to build a low-cost and robust platform to study event select systems with SpringSteel legs. As FastANT mechanics and software completes, I will be leading experimentation and simulation on this novel robot platform to study event-select systems.

Dynamixel

I joined the BIRDS (Biologically Inspired Robotic and Dynamical Systems) Lab from the U-M Multidisciplinary Design Program (MDP) in Spring of 2024. As an extended training session, I worked on integrating the second Protocol version of the Dynamixel motors into the PyCKBot architecture(what the lab uses to control its robots). Having no background in communication protocols, or experience working with a giant software architecture, I kept my head down to first gain a solid understanding of the communication protocol used by Dynamixel, before implementing demonstration scripts to showcase the usage of such scripts.

Unproductive Times Made Right

Admittedly, this was not a very productive semester. I spent large chunks of time working on a beautiful set of scripts that showcase the capabilities of Dynamixel Protocol 2, but it was ultimately not useful for the lab since I did not fundamentally understand what the Professor was asking for: the underlying implementation of the Dynamixel library was not designed for concurrent asynchronous operation, which is the entire idea of PyCKBot. This made the Dynamixel library fundamentally incompatible with the rest of lab infrastructure.

During the summer, I had a chance to reflect on this first lab experience and try to understand what I could do better in order to make my work productive for both the lab and myself. Below are a few things that came to mind.

Clear Communications Time and time again, communication is proven to be the key to productive work in a group setting. First time working in a lab, I was not sure what to expect. While the professor set the semester goal as "figuring out how to control the Dynamixel modules with their architecture, before we can integrate that into the Pyckbot Architecture", I was not quite sure what that entails. I put my focus on the first part of the goal: figuring out how it works, without too much attention on the second part. It turns out to be a myopic decision: just do it without a complete understanding of the big picture costed my valuable time during the semester working on a piece of connector software that fundamentally will leald us nowhere.

This is a great lesson for me to always be clear about the goals, and never be hesistant to ask questions. I realized that not asking questions will not make me appear smarter or more productive. Only through clear communications will I fully understand the ideas, the obstacles of my teams, and together brainstorm reasonable solutions when we are on the same page.

Reach for It If You Want It Following the previous note, I realized that even in a lab as a Sophomore, I never had the advantage of time when it comes to doing research. Just doing the work assigned by the PI will never bring me the personal developent I intended. Don't get me wrong, this semester of training growed my skills in unexpected ways: I have much better skills at reading source code of large projects, working with small components of large software projects, as well as communication and electrical work experience. However, the lack of theoretical advancements in lab work has not elevated my research skills, including paper reading, understanding of the field, or how to propose great research questions. These are all the components that I am integrating into my next semester at the lab, seeking a change in my work styles. The other component that I actively seek in the future is leadership opportunities. Maintaining a large research project in a lab like this requires diverse skills, and leadership roles are great opportunities for me to get big pictures of the project, practice communication and leadership skills, as well as overall research skills in a naturally multidiscipline field.

FastANT

After a semester of self improvements and familiarity with the lab's work, I was promoted to the FastANT team to develop an architecture for the Moteus controllers to control FastANT's new powerful modules. As the team gets the robot moving, I will be in charge of conductingn simulations on the robot's dynamical behaviors and compare agains data collected from real world experiments. The evential goal of the project is to understand and model the dynamics of a spring-loaded multilegged robot as an event-select system with barrier functions inbetween smooth and differentiable regions of dynamics.

Moteus Controller Integration

My first task in the FastANT is to again work with a motor controller and integrate it into the PyCKBot architecture. This time, I made note of the many mistakes I hve made the previous semester, and get things right since the first week.

Less is More From the conversations with Prof. Revzen, I am learning much about his philosophy of designing software. While engineers often build on top of existing solutions with added complexity, it often make the system cluttered, with lower performance and maintainability. The right thing to do, on the other hand, is to carefully design the system from the ground up, making usability choices, and build a robust architecture that can anticipate future needs. Developing the Moteus controller abstraction architecture was a concrete lesson for me to develop production grade code in maintainable, concise, and efficient manner. The use of machine-optimized libraries and careful choice of syntax enables incredible performance boost. Ultimately, this system has been under testing and is showing incredible robustness.

Leadership

Since the last senior student working on FastANT graduated, I took the trust of the group and took the responsibility of leading the FastANT project since Fall 2024. As team leader, besides working on my own part of the project, I also established a biweekly meeting system, a designated meeting-minutes schedule, and a brief sub-team presentation section, followed by a question section at each team meeting.

As a deeply interdisciplinary project requiring tight integraiton between software design, springsteel leg research, chassis design, and simulation, the FastANT project benefits vastly from the new system this semester. We are able to stay on track and sync work progress with each other, to provide some encouragement (and a bit of peer pressure, of course) to get things done well for the team. We also discuss thoughts on subteams that we may not be part of, in order to provide some fresh blood into the discussion. As a software engineer, my proposal to establish bounds to the weight of the robot by helping the mechanical team establish a list of parts, their exact weight, upper and lower bound of the weight of each part. Even though the full assembly mass is still unknown, this bounded estimation enabled the Springsteel Leg team to limit their search for the appropriate springsteel spec to a couple of options, down from dozens.

We are on track to complete the FastANT robot's mechanical and software design at the end of the Fall 2024 semester, so that the robot itself can be used for serious research work starting in 2025.

SpringSteel Leg Simulation

This is the second part of the project that I will be working on later this year! The FastANT robot uses legs that are made of springsteel legs that bend when standing still on the ground. The behavior of springsteel legs and multi-legged robot dynamical properties while walking is an interesting topic of study that we aim to model and study. Currently, I am cleanup simulation code and notes from a previous student, who conducted a model-fitting on a collected dataset of half of the FastANT robot dropping from a height. This simulation work will provide a guiding heuristic to the modeling of springsteel leg motion for rapidly-walking multilegged robots.

Closing Remarks

From 2025 onwards, I am moving on from the BIRDS Lab to doing manipulation research with Dr. Dmitry Bereson in the ARM Lab at U-M. I wish the BIRDS Lab teams and the FastANT team success on their future endeavors.

2023-2024 © Huaidian (Daniel) Hou all rights reserved.