I am currently working on designing the quadruped leg and body structure out of carbon fiber plates to increase strength and reduce overall mass. The hip flexion/extension and knee joints are designed to have no joint limits to maximize the range of motion of each leg. This also allows for the legs to fold flat, making the robot compact and portable.
This quadruped design is meant to be as compact and lightweight as possible using GIM4310 actuators with 10:1 planetary gear reduction and a rated stall torque of 6 Nm.
Top View
Timing belt used to relocate knee motor to hip, reducing the leg's overall moment of inertia
The Ansys FEA shown below is for the 3mm carbon fiber plate that connects the Hip Adduction/Abduction (HAA) motor and the Hip Flexion/Extension (HFE) motors. An 80 N load (~2 times the predicted mass of the robot) is applied in the axial and radial directions as a bearing stress on the 3 screw holes, with the two finger-jointed ends of the plate being fixed. The maximum equivalent stress reported is 38 MPa when loaded axially, which is significantly lower than the ~800 MPa tensile limit and the ~500 MPa compressive limit of the woven carbon fiber ply.
I redesigned the quadruped to make it as light as possible by using carbon fiber tubes in the body and legs of the robot. The tubes will bear the majority of the loads, while the 3D printed parts serve as adapters and enclosures for the motors and electronics.
I chose to use a timing belt/pulley system to actuate the knee joint instead of a 4-bar mechanism in order to have more precise control over the entire range of motion. With a 4-bar, the resulting motion is non-linear, which makes consistent control overly complex. Control fidelity is the greatest at the middle of the range, while precision is lost at the ends of the range. A timing belt completely eliminates this issue, however, a robust belt tensioning system is needed to ensure consistency. I chose to use a carbon fiber tube to not only improve the overall rigidity of the leg but also to help with belt tensioning. The high flexural modulus and strength of carbon fiber makes it an ideal choice for this application. It allows the timing belt to be tensioned with a large force.
This is an initial test of the timing belt mechanism that I am continuing to work on improving. I plan to silicone mold the feet of the robot using a 2-part compression mold.
I starting working on an individual project in the summer of 2022 to design a Quadrupedal dog robot. I CAD modeled the robot assembly in SolidWorks from the ground up to support BLDC motor actuators and integrated sensors for proprioceptive sensing. I started with simulating the walking of the robot in PyBullet and then in Gazebo with ROS2. Once the robot is fully assembled, I will control it using ROS2 with a Jetson Nano and Field-Oriented Control (FOC) to actuate each of the motors. Being able to have low-level control over the motors allows for more agile locomotion when compared to proprietary robot platforms. I seek to train reinforcement learning (RL) agents on a simulated model of the robot (using IsaacGym) to optimize walking over varied terrain environments. My goal is to then deploy the resulting model on the physical robot.
This is an early prototype of the rear legs of the robot. Each leg consists of 3 joints (2 at the hip and 1 knee joint). The motors are all placed as close to the hip as possible in order to minimize the moment of inertia of the leg, allowing for quicker actuation. The knee joint is actuated by the motor with an internal 4-bar double rocker.
I CAD modeled the entire robot assembly in SolidWorks, where all of the parts in grey can be 3D printed. The internal structure is rooted around 2 aluminum u-channels that act as the spine of the robot. The body is then encased in 8 individual 3D printed shells.
After establishing a gait pattern using Bezier curves, I tuned the parameters of the curve such that the robot would hop in-place. Further optimizations are in the works for stabilizing the height of the body so that it does not shake while performing the gait. This is what the walking gait looks like while I tune some parameters. I plan to further improve the gait using proprioceptive sensing data that can be fed into a Reinforcement Learning (RL) algorithm.
Each of the 12 BLDC motors have a 10:1 planetary gear reduction for increased torque. Every pair of 2 motors is driven by an ODrive motor controller, resulting in a total of 6 ODrives being controlled through the CAN bus protocol by the on-board NVIDIA Jetson Nano.
Recently, I have begun to do some testing with using flexible TPU filament as a way to fabricate a soft part for the feet of the robot. Having soft feet that cover a larger surface area on the ground that they contact will increase the amount of grip that the robot has. Initial TPU prints of feet that are completely hollow with a thin sidewall tended to cave in and not expand back out, so I designed an internal "spring" to provide the necessary restoring force for restoring the foot's original shape. I plan to integrate a load cell inside the foot to measure the contact force with the ground, which is important telemetry data to improve the robot's walking gait.