提要:我是为了研究机械狗的步态算法而去学习的正逆运动学算法,实际上可以将机械狗的每一条足理解成是一个机械臂,所以我就用机械臂来举例了。
一、正运动学
这里所谓的运动学解其实就是舵机的转动角度
与足尖的坐标值
相互转化的数学运算方法。
要想进行计算首先需要一个坐标轴。
在这里我只先研究二维的运算。
首先我们可以很轻易地算出C点的X坐标X=L2COS(α)+L3COS(β)
同样的我们也可以算出C点的Z坐标Z=L2SIN(α)-L3SIN(β)
这样我们就有了C点坐标的计算公式,下面我们要将它转换成我们的算法。
#include<math.h>
#include<stdio.h>
float Alpha,Beta,L2,L3;
struct ForwardKinematics
{
float x;
float z;
}h;
void main()
{
h.x=L2*cos(Alpha)+L3*cos(Beta);
h.z=L2*