机器人学——机械臂运动轨迹规划实例

栗子

在这里插入图片描述
Cragi DH
在这里插入图片描述
标准DH
在这里插入图片描述

逆解

在这里插入图片描述

via points

在这里插入图片描述

条件设定

在这里插入图片描述
在这里插入图片描述

求末端的旋转矩阵

在这里插入图片描述

由z-y-x顺序构建的旋转矩阵反推欧拉角

http://t.csdnimg.cn/9tnke
在这里插入图片描述

由z-y-z顺序构建的旋转矩阵反推欧拉角

http://t.csdnimg.cn/GmsBH
在这里插入图片描述

c++代码

#include <iostream>
#include <cmath>
using namespace std;
int main(){
  //求z(α)y(β)z(γ)构建的旋转矩阵,求三个角度
  double x,y,pi=3.1415926,alpha=0,Beta=0,Gama=0;
  double r[4][4];
  for(int i=1;i<=3;++i){
    for(int j=1;j<=3;++j)
        cin >> r[i][j];
  }

   Beta = atan2(sqrt(pow(r[3][1],2)+pow(r[3][2],2)),r[3][3]) * 180/pi;
   //特殊情况
   if(Beta==0){
     alpha = 0;
     Gama = round(atan2(-r[1][2],r[1][1]));
   }
   else if(Beta == 180){
     alpha = 0;
     Gama = round(atan2(r[1][2],-r[1][1]));
   }
   else {
     alpha = round(atan2(r[2][3]/sin(Beta),r[1][3]/sin(Beta)) * 180/pi);
     Gama = round(atan2(r[3][2]/sin(Beta),-r[3][1]/sin(Beta)) * 180/pi);
   }

  cout << "alpha:" << alpha << endl;
  cout << "beta:" << round(Beta) << endl;
  cout << "gama:" << Gama << endl;


  return 0;
}


从末端旋转矩阵

笛卡尔空间下的欧拉角,需减去180°才与DH坐标系下的姿态相同
在这里插入图片描述

轨迹规划——方法1(笛卡尔空间)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

欧拉角解法

在这里插入图片描述
在这里插入图片描述

DH定义法与欧拉角度的异同

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

逆解流程:建立坐标系——构建DH表——写出系列变换矩阵——利用变换矩阵之间的关系构建等式(代数法)——逐步求出各个关节角度(以P2轨迹点位姿求θ1举例)

左式 = 右式,372c1- 227s1 = 0 ,求出 θ1= 59°
左式: T01逆矩阵 * T06 * T56逆矩阵:
在这里插入图片描述
右式 = T12 连乘至 T45:
在这里插入图片描述
在这里插入图片描述
求得θ1=59°
参考:http://t.csdnimg.cn/zX5mY

轨迹规划——方法2(关节空间)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

总结

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值