Maurice Rahme, Ian Abraham, Matthew Elwin, and Todd D. Murphey
Quadruped Leg Inverse Kinematics (θ1=θs,θ2=θe,θ3=θw).
The leg IK for a generic 12-jointedquadruped can be derived analytically with tools from trigonometry. For any given cartesian foot pose relative to that leg's shoulder, a set of shoulder, elbow, and wrist angles θs, θe, and θw can be retrieved:
Our approach for body IK considers a world frame w, which is the robot centroid’s base position, and a body frame b, describing the robot’s pose relative to the world frame. In addition,we have Tws, which is a transform from the world frame to the robot’s shoulder: this describes the base transform between the robot centroid and the shoulder. Finally, we have our inputs: Twb, which describes the desired transform from world to body (RPY and Translation), and Tbf, the desired foot position relative to the transformed body - this is useful for gait generation. The output of our process is fxyz, the transform between each shoulder and its respective foot required to achieve this motion - this is fed into the leg IK solver above to retrieve joint angles. The figure below shows our inputs and outputs. Note that thisdiagram is facing the robot, so the example shown is for body roll. We can extract the cartesian transform component of Tsf, fxyz and feed it into our leg IK solver to retrieve the joint angles required for a desired body pose Twb.