I am in the process of designing and building a leg for CMU RoboClub's quadruped project, which aims to create a high-performance, open-source robot dog that can be built on a budget.
The leg design must be strong enough to support an athletic robot, have low enough inertia to be nimble, and be able to package the off-the-shelf and relatively budget-friendly ODrive motors.
This video is a test of the inverse kinematics node running on the physical leg. It was a test of how well our custom ROS2 control hardware controller could interface with the Odrives as well as ROS2
A jump is an easy way to test the controls needed to make the robot dog take a step, as it captures the rapid change in dynamics between supporting the weight of the dog and being free in the air.
This jump was simulated in Gazebo Sim with a lower level cartesian impedance controller running at 1khz and a LTV-MPC optimal controller running at 100hz
The initial design for the leg focused on minimizing inertia by using carbon fiber and placing the motors as close to the pivot as possible. This approach faced a significant packaging challenge, as the selected ODrive motors are much bulkier than those used in traditional designs. Our first attempt to solve this involved moving the knee motor in front of the leg, but this solution proved suboptimal because it created significant "stickout" and failed to fully remove the motor's mass from the leg's inertia.
The second design iteration, a coaxial drive, solves the "stickout" and inertia problems from the previous version. This was achieved by mounting the knee motor directly on top of the hip motor. In this configuration, power is transferred to the knee joint through a sprocket that is coaxial with the hip's axis of rotation. This design allows the knee motor to remain stationary relative to the robot's body, which effectively removes its significant mass from the leg's moment of inertia and makes the leg even more agile.
To characterize the leg's performance and develop our control systems, we have constructed a dedicated test stand. The data gathered from this stand will directly inform the design and fabrication of the robot's main body and the integration of its remaining systems.