Tendon Driven Quadruped with multipurpose continuum limbs

Part-time semester project started in September 2024. Fully designed, built, tested by myself. Supported by the UofT Continuum Robotics Laboratory and the UofT Robotics Institute.

CURRENT PROGRESS:

(Updated Jan 19, 2024)

Finished up Kinematics demo. Currently runs at 70Hz, limited by dynamixel controller rate. Full control over body pitch, roll, yaw, x,y,z. Kinematics engine can support both “s shape” legs and “c shape” legs, I am able to specify before running demo. Movements are slow and controlled, bounds are set relatively low for safety. Very simple but difficult demo 🙂


01.18.2025: Reinforcement Learning

Custom environment setup in MuJoCo: Gait evaluation + RL

01.16.2025: MPC Integration Framework

Currently settled on this framework for dynamic control. The main novelty is the deformation/force model. This allows me to essentially map the ground reaction force I get from a leg to its position (i.e., how much “below the ground” the position is set to be.) Integrating this with a traditional MPC controller framework allows force controlled MPC control with cheap position control servos.


Roughly finishing up the build – tendon routing, motor setup, wiring is finished.


01.14.2025: Leg Kinematics Engine finished

Unlike rigid link robot legs, the inverse kinematics problem of continuum robot limbs is non-trivial. The geometry of the robot along with the underactuated nature means the IK becomes a nonlinear optimization problem. This is not ideal since the IK engine must run at a high speed.

My approach:

  • I use three main assumptions: lateral in-plane bending of leg segments, Constant Curvature (CC), and no tendon coupling.
  • Using these assumptions, the 3 dimensional optimization problem simplifies into a 2 dimensional one.
  • the lateral segment is analytically aligned with the desired foot position, then the 2D optimization is run on the nonlinear system that places the foot exactly at the desired position.

Current implementation uses Scipy and fsolve and runs with an average of 0.005 seconds, enabling onboard real time computation!


12.4.2024: Final exam season begins in 2 days, work will resume in 2 weeks when exams are over 🙂

Mechanical Design

The 2nd iteration of the leg module is up and running! Numerous hardware issues were fixed compared to the first iteration, and weight was reduced by ~ 15%. Tendon routing is much easier now, and there’s spool-side tensioning capability.

The tendons for the distal segment of the leg are routed closer through the proximal segment to reduce tendon coupling effects (See pic 5); seems to be working well so far.

Videos show slow controlled movement with hard-coded joint positions. Didn’t have enough time to do much else tonight, but feel very solid and responsive. Can hold its own weight + extra. Control system integration coming soon.


11.21.2024 : The first full build of a leg module was (almost) completed today, but ran into a lot of tendon routing issues; the bowden tubes were too flexible for the loads applied and also the assembly was really cramped. The side panel holding the bearings also held the channels for threading tendons, meaning disassembly was also painful.

Control system & Kinematics


11.16.2024: Wrote ~ 500 lines of code in Python to run the kinematics solver and then integrated it with my current Dynamixel SDK wrapper library. Unable to test properly without prototype.


11.10.2024: Kinematics workflow is pretty much fully mapped out, just programming is left.

Current kinematics strategy: simplified joint-level moment calculation

Background and motivation

Soft quadrupeds can be desirable in applications where cost and information is restricted, such as uncharted rugged terrain operations, where robot perception is not always possible and there is danger of damage to the robot. Their legs are also inherently compliant to any terrain, thus having increased capability of traversing complicated environments. However, these robots are generally actuated through pneumatics, and results in low speed and high complexity along with very minimal motion capability. Furthermore, gait generation for these robots are difficult to optimize analytically.


Considering all this, I propose using continuum tendon-driven legs, consisting of a precurved backbone shape and constant-curvature segments that enables analytical gait generation, advanced motion capability, and passive mechanical compliance while maintaining low actuator complexity (3 actuators per leg). The legs will be lightweight compared to the body mass, aiding dynamic maneuvers and dynamics assumptions. Furthermore, these continuum limbs can also be used for object manipulation, which is something that neither conventional rigid link quadrupeds or soft quadrupeds can do.

Objectives:

  • Construct a quadrupedal robot with continuum limbs capable of multi gait locomotion
    (trot, crawl, pace)
  • Limit actuator complexity to 3 actuators/leg
  • Ability to hit given waypoints (can be done with optical tracking of the robot body). The percentage of waypoints (provided from a pre-determined route) reached while the robot traverses different types of terrain can be measured and used as a heuristic for the walking abilility and controller of the robot.
  • Low power consumption.
  • High runtime to verify robustness and usability.
  • Demonstrate ability to grasp objects, hop, and (maybe) climb poles