Forward Kinematics Analysis of a Quadruped Bionic Robot with Spine Using a Dimensionality-Reduction Method

In recent years, the field of robotics has seen significant advancements in legged locomotion, with quadruped bionic robots emerging as a focal point for research aimed at achieving high mobility and adaptability in unstructured environments. As a researcher deeply involved in this domain, I have focused on enhancing the agility and obstacle-crossing capabilities of such systems by incorporating bio-inspired designs. One promising approach involves integrating a spinal structure into the bionic robot, mimicking the dynamic body movements observed in fast-running animals like cheetahs. This design allows for coordinated motion between the body and legs, potentially improving performance in tasks such as jumping and traversing rough terrain. However, the forward kinematics analysis of these redundant-driven bionic robots presents substantial challenges due to their complex, time-varying topologies and multiple degrees of freedom. In this article, I will detail my work on developing a dimensionality-reduction method to address these challenges, enabling efficient solution of the forward kinematics for a quadruped bionic robot with spine. The study emphasizes the use of mathematical formulations, including equations and tables, to systematically analyze the robot’s motion, with the term “bionic robot” recurring throughout to underscore its bio-inspired nature.

The forward kinematics problem for a bionic robot involves determining the pose of the robot’s body given the positions of its footholds and the actuated joint variables. For a quadruped bionic robot with spine, this becomes particularly intricate because of the redundant actuation in the hip joints and the variable body configuration. Traditional methods often lead to high-degree polynomial equations that are difficult to solve analytically. My approach leverages a numerical iterative technique that reduces the dimensionality of the problem, transforming it into a more manageable form. This method not only simplifies the computation but also ensures practical applicability in real-time control scenarios. Below, I will explore the robot’s configuration, derive the kinematic equations, explain the dimensionality-reduction solver, and provide a comprehensive example to validate the methodology. Throughout, I will incorporate tables to summarize parameters and formulas to express kinematic relationships, all aimed at advancing the utility of such bionic robots in field applications.

The design of the quadruped bionic robot is inspired by the biomechanics of agile mammals, where the spine plays a crucial role in energy storage and motion coordination. In my work, I developed a modular bionic robot with a flexible body consisting of two segments connected by an active joint, simulating the lumbar spine. Each leg of this bionic robot has three degrees of freedom: two at the hip (for adduction-abduction and flexion-extension) and one at the knee. Additionally, elastic elements are incorporated at the foot to absorb impact forces, similar to tendons in biological systems. This configuration enables the bionic robot to perform dynamic maneuvers, but it introduces redundancy in the hip adduction-abduction angles, which are not directly driven but depend on the overall kinematic constraints. The following table summarizes the key structural parameters of the bionic robot, which are essential for kinematic modeling:

Parameter Symbol Value (m or degrees) Description
Body half-length m 0.4725 Distance from spine axis to hip joint along body segment
Body half-width n 0.1350 Distance from spine axis to hip joint laterally
Link length 1 l1 0.0910 Length from hip to thigh joint
Link length 2 l2 0.2770 Thigh length
Link length 3 l3 0.2678 Shank length including foot elasticity
Spine angle (front) θ1 Variable Angle of front body segment relative to central axis
Spine angle (rear) θ2 Variable Angle of rear body segment relative to central axis
Hip adduction-abduction αi Redundant Angle for leg i (i = J, K, L, I) around hip x-axis
Hip flexion-extension βi Actuated Angle for leg i around hip y-axis
Knee flexion γi Actuated Angle for leg i around knee y-axis

To analyze the forward kinematics of this bionic robot, I established coordinate frames as follows: a fixed world frame Σo, a body centroid frame Σc at the spine pivot, hip frames ΣBi at each leg connection, and subsequent frames for thigh and shank joints. The transformation between these frames involves rotation and translation matrices based on the joint angles and link lengths. For instance, the position of a foothold Fi in the body frame Σc can be expressed through homogeneous transformations. Let me denote the position vector of foothold Fi in Σo as opFi = [oxFi, oyFi, ozFi]T. The distance between any two footholds, say FJ and FK, is invariant across frames, leading to constraints that form the basis of the kinematic equations. For a bionic robot with three supporting legs (J, K, L) and one swing leg (I), the distances dJK, dJL, and dKL are known from the foothold positions, and they must equal the corresponding distances computed from the body geometry.

The forward kinematics problem reduces to solving for the redundant hip angles αJ, αK, and αL given the actuated angles βi, γi, spine angles θ1 and θ2, and foothold positions. I derived the motion equations by projecting the leg geometries onto the hip frames. Specifically, for each supporting leg i, the components along the hip frame axes are given by:

$$ L_i = l_2 \sin \beta_i + l_3 \sin(\beta_i + \gamma_i) $$

$$ H_i = l_1 + l_2 \cos \beta_i + l_3 \cos(\beta_i + \gamma_i) $$

Here, Li represents the projection along the x-axis of ΣBi, and Hi is the projection on the y-z plane. The foothold position in ΣBi is then:

$$ ^{Bi}\mathbf{p}_{Fi} = \begin{bmatrix} L_i \\ H_i \sin \alpha_i \\ -H_i \cos \alpha_i \end{bmatrix} $$

Transforming this to the body centroid frame Σc involves a rotation matrix cRBi that depends on the spine angles. For the front legs (i = J, K), cRBi is a function of θ1, and for the rear leg (i = L), it depends on θ2. The resulting expression for the foothold in Σc is:

$$ ^{c}\mathbf{p}_{Fi} = \begin{bmatrix} ^{c}x_{B_i} + L_i \cos \theta_i – H_i \cos \alpha_i \sin \theta_i \\ ^{c}y_{B_i} + H_i \sin \alpha_i \\ ^{c}z_{B_i} – L_i \sin \theta_i – H_i \cos \alpha_i \cos \theta_i \end{bmatrix} $$

where θi = θ1 for i = J, K and θi = θ2 for i = L. The terms cxBi, cyBi, czBi denote the positions of the hip frames in Σc, which are derived from the body dimensions m and n. For example, for leg J (front-left), these are:

$$ ^{c}\mathbf{p}_{B_J} = \begin{bmatrix} m \cos \theta_1 \\ -n \\ -m \sin \theta_1 \end{bmatrix} $$

Similar expressions hold for legs K and L. By equating the squared distances between footholds in Σc to the known values from Σo, I obtained a system of three nonlinear equations in the redundant angles αJ, αK, and αL. After expansion and simplification, these equations take the form:

$$ a_1 \sin \alpha_J \sin \alpha_K + a_2 \cos \alpha_J \cos \alpha_K + a_3 \sin \alpha_J + a_4 \cos \alpha_J + a_5 \sin \alpha_K + a_6 \cos \alpha_K + a_7 = 0 $$

$$ b_1 \sin \alpha_J \sin \alpha_L + b_2 \cos \alpha_J \cos \alpha_L + b_3 \sin \alpha_J + b_4 \cos \alpha_J + b_5 \sin \alpha_L + b_6 \cos \alpha_L + b_7 = 0 $$

$$ c_1 \sin \alpha_K \sin \alpha_L + c_2 \cos \alpha_K \cos \alpha_L + c_3 \sin \alpha_K + c_4 \cos \alpha_K + c_5 \sin \alpha_L + c_6 \cos \alpha_L + c_7 = 0 $$

The coefficients ai, bi, ci are functions of known parameters: actuated angles βi, γi, spine angles θ1 and θ2, body dimensions m and n, link lengths, and foothold distances. For instance, a1 = -2 HJ HK, a2 = -2 HJ HK ( \sin \theta_J \sin \theta_K + \cos \theta_J \cos \theta_K ), and so on. These equations are highly nonlinear and coupled, making direct solution cumbersome. In classical approaches, one might reduce this to a univariate 16th-degree polynomial, but deriving and solving such a polynomial is computationally intensive and often impractical for real-time applications in bionic robot control.

To overcome this, I developed a dimensionality-reduction method that iteratively searches for solutions within feasible ranges. The core idea is to treat one of the redundant angles as a trial variable, solve the other two from two of the equations, and then check consistency with the third equation as a constraint. This transforms the problem into a sequence of simpler trigonometric equations. Specifically, I choose αK as the trial variable, as it symmetrically appears in all equations. For a given αK, the first equation can be rearranged into the form:

$$ E_1 \cos \alpha_J + F_1 \sin \alpha_J + G_1 = 0 $$

where E1 = a2 cos αK + a4, F1 = a1 sin αK + a3, and G1 = a5 sin αK + a6 cos αK + a7. This is a standard trigonometric equation solvable using the tangent half-angle substitution, yielding up to two solutions for αJ:

$$ \alpha_{J1,2} = 2 \arctan\left( \frac{-F_1 \pm \sqrt{E_1^2 + F_1^2 – G_1^2}}{G_1 – E_1} \right) $$

Similarly, the third equation can be solved for αL given αK:

$$ E_2 \cos \alpha_L + F_2 \sin \alpha_L + G_2 = 0 $$

with E2 = c2 cos αK + c6, F2 = c1 sin αK + c5, and G2 = c3 sin αK + c4 cos αK + c7. The solutions are:

$$ \alpha_{L1,2} = 2 \arctan\left( \frac{-F_2 \pm \sqrt{E_2^2 + F_2^2 – G_2^2}}{G_2 – E_2} \right) $$

For each combination of αJ and αL derived from the trial αK, I evaluate the second equation as a constraint function:

$$ f_1 = b_1 \sin \alpha_J \sin \alpha_L + b_2 \cos \alpha_J \cos \alpha_L + b_3 \sin \alpha_J + b_4 \cos \alpha_J + b_5 \sin \alpha_L + b_6 \cos \alpha_L + b_7 $$

If |f1| ≤ ε, where ε is a small tolerance (e.g., 0.0001), the set (αJ, αK, αL) is considered a valid solution. By iterating αK over its feasible range (typically determined by joint limits of the bionic robot), I can find all possible solutions. This method effectively reduces the dimensionality from three variables to one, avoiding the need for high-degree polynomial solving. The algorithm is summarized in the table below:

Step Action Mathematical Expression Output
1 Initialize trial variable αK = αK_min to αK_max with step Δα αK value
2 Solve for αJ from Eq. 1 $$ \alpha_J = 2 \arctan\left( \frac{-F_1 \pm \sqrt{E_1^2 + F_1^2 – G_1^2}}{G_1 – E_1} \right) $$ Up to two αJ candidates
3 Solve for αL from Eq. 3 $$ \alpha_L = 2 \arctan\left( \frac{-F_2 \pm \sqrt{E_2^2 + F_2^2 – G_2^2}}{G_2 – E_2} \right) $$ Up to two αL candidates
4 Check constraint with Eq. 2 Compute f1 for each (αJ, αL) pair If |f1| ≤ ε, accept solution
5 Increment αK αK = αK + Δα Repeat until range covered

Once the redundant angles are determined, the body pose of the bionic robot can be computed. The body pose is represented by a homogeneous transformation matrix oTc from the world frame Σo to the body centroid frame Σc. This matrix includes a rotation part oRc and a translation part opc. Using the known foothold positions and the solved joint angles, I derived oTc by equating transformations through the leg kinematics. For example, considering leg J, the transformation from Σo to ΣB_J can be expressed in two ways: via the body transform and via the leg chain. The leg chain transformation involves sequential rotations and translations based on αJ, βJ, γJ, and link lengths. Equating the two forms yields equations for the elements of oTc. Specifically, let oTB_J = oTc cTB_J, where cTB_J is known from body geometry. Alternatively, oTB_J = oTF_J F_JTK_J K_JTH_J H_JTB’_J B’_JTB_J, where each term is a function of the joint angles. By matching corresponding matrix entries, I solved for the rotation matrix oRc and translation vector opc. The general form of the body pose matrix is:

$$ ^{o}\mathbf{T}_c = \begin{bmatrix} r_{11} & r_{12} & r_{13} & ^{o}x_c \\ r_{21} & r_{22} & r_{23} & ^{o}y_c \\ r_{31} & r_{32} & r_{33} & ^{o}z_c \\ 0 & 0 & 0 & 1 \end{bmatrix} $$

where rij are the rotation elements describing the body orientation, and oxc, oyc, ozc are the coordinates of the body centroid in the world frame. This completes the forward kinematics analysis for the bionic robot.

To validate the dimensionality-reduction method, I conducted a numerical example using parameters from a realistic bionic robot prototype. The input data included foothold positions in Σo, actuated joint angles, spine angles, and structural dimensions. The following table lists the given values:

Parameter Leg J (Front-Left) Leg K (Front-Right) Leg L (Rear-Left)
Foothold opFi (m) [0.6849, -0.1453, 0] [0.1887, 0.1716, 0] [-0.6822, -0.2206, 0]
Actuated angle βi (degrees) 24.32 -25.81 -26.80
Actuated angle γi (degrees) 22.66 18.98 -19.78

Additionally, the body parameters were m = 0.4725 m, n = 0.1350 m, l1 = 0.0910 m, l2 = 0.2770 m, l3 = 0.2678 m, θ1 = 10°, and θ2 = -10°. The distances between footholds were computed as dJK = 0.832 m, dJL = 1.367 m, and dKL = 0.872 m (rounded for brevity). I implemented the dimensionality-reduction algorithm in MATLAB, iterating αK from -30° to 30° with a step size of 0.01°. For each αK, I calculated αJ and αL using the trigonometric solutions and evaluated the constraint f1 with ε = 0.0001. The algorithm converged to a solution set, with the primary results shown below:

Redundant Angle Computed Value (degrees) Notes
αJ -5.47 Solution from iterative search
αK 3.32 Trial variable value at convergence
αL -1.82 Solution from iterative search

Using these angles, I computed the body pose matrix oTc. The rotation and translation components were derived by solving the matrix equality equations, resulting in:

$$ ^{o}\mathbf{T}_c = \begin{bmatrix} 0.7983 & -0.0698 & 0.5983 & 0.5263 \\ 0.0166 & 0.9954 & 0.0940 & -0.0109 \\ -0.6021 & -0.0651 & 0.8437 & 0.9261 \\ 0 & 0 & 0 & 1 \end{bmatrix} $$

To verify the correctness, I compared the computed redundant angles with measurements from a SolidWorks model of the bionic robot, which showed αJ = -5.48°, αK = 3.32°, and αL = -1.80°. The close agreement confirms the accuracy of the dimensionality-reduction method. This example illustrates how the approach can efficiently handle the forward kinematics of a bionic robot with spine, avoiding the complexities of traditional polynomial methods.

The implications of this work extend beyond the specific bionic robot configuration. The dimensionality-reduction method offers a general framework for solving kinematic problems in redundant robotic systems, particularly those inspired by biological organisms. By reducing the problem to iterative searches over feasible ranges, it provides a practical tool for real-time control and simulation. Moreover, the integration of a spinal mechanism in the bionic robot enhances its dynamic capabilities, as the spine allows for energy storage and release during motion, similar to biological counterparts. Future research could focus on extending this method to include dynamics, optimizing the spine and leg coordination for tasks like galloping or jumping, and implementing it on physical bionic robot prototypes for experimental validation.

In conclusion, the forward kinematics analysis of a quadruped bionic robot with spine is a challenging problem due to redundancy and nonlinearity. My development of a dimensionality-reduction method provides an effective solution by iteratively solving for redundant joint angles and computing the body pose. This approach leverages trigonometric simplifications and numerical iteration, making it suitable for implementation in bionic robot control systems. The bionic robot design, incorporating a flexible spine and elastic legs, holds promise for achieving high mobility in rough terrain. As the field of bionics advances, such methodologies will be crucial for realizing the full potential of legged robots in applications ranging from search and rescue to planetary exploration. Through continued refinement and testing, the bionic robot can evolve into a versatile platform that closely mimics the agility of natural organisms.

Scroll to Top