正运动学和D-H参数方法

先选定D-H坐标系,有以下四个步骤:

1 基座连杆坐标系

2 Z轴确定

3 X轴确定

4 Y轴确定

  确定了坐标系后,就可以建立D-H表了,即确定以上的四个参数,还是以上面的四轴机器人为例,我们建立D-H表,因为是为了举例假设的机器人,所以一些定值这里没有给出具体数,而以描述的方式。

  D-H表是在确定了各连杆坐标系后对应建立的,同一个机器人,坐标系建立不同,D-H表就不同

  建立这个表时不要死记各个参数的含义,建议结合前面讲述的四步变换步骤,就很容易确定各个参数。表中θ 1  ~θ 4分别为各个连杆相对于上一个连杆的旋转角度。

Link()
link对象保存于机器人关节和连接有关的所有信息(如运动学参数、刚体惯性参数等)
L = Link([θ , d , a , alpha,sigma] , options)
其中,关节转角θ,为各个连杆相对于上一个连杆的旋转角度。关节距离d,连杆长度a,连杆转角α,关节类型type(0转动,1移动);
L.mdh : 默认为0(标准D-H); 1表示其他,sigma : 默认0(转动关节,可省略),1(移动关节)

  offset为关节初始值的偏置。【这里要注意的是,定义好关节类型后,相应的变量必须为0,初值必须由offset定义,例如,关节2为转动关节,那么L(2)的theta必须为0,但是我们又希望初始状态下关节2能有一个偏置,那么就在初始化后通过“ L(2).offset=pi/2;”的语句来实现】。

SerialLink() 描述串行链接手臂型机器人,将所创建的Link整合在一起。
Robot = SerialLink ([L1,L2...] , options)
根据PUMA 560 操作臂运动参数和坐标系数分布建立相应的机器人模代码示例:

%创建六个连杆,运用改进型D-H模型参数
L1 = Link([0 ,   0 ,   0 ,   0   ], 'modified');
L2 = Link([0,    0 ,   0,   -pi/2], 'modified');
L3 = Link([0,    0.3, 1.5,    0  ], 'modified');
L4 = Link([0,    1,   0.5,  -pi/2], 'modified');
L5 = Link([0,    0 ,   0,   pi/2 ], 'modified');
L6 = Link([0,    0 ,   0,   -pi/2], 'modified');
Robot = SerialLink([L1, L2, L3, L4, L5, L6]); %创建了一个6自由度机器人

(x , y , z )表示末端执行器想对于及基坐标的位置
q1~q6: 分表表示个关节变量的数值。在上图中表示六自由度中的各个旋转变量。可通过拖动滑块控件来调节机器人的位姿(也可以在滑块控件后的方框内输入所需的数值等),同时,在右图机器人模型中会根据数值的改变而进行相应的转动(或平移)。  

   对于每个连杆都建立一个固连在其上的坐标系,基座也可以看作是一个连杆,机器人末端(手部)也认为连接了一个连杆(只不过长度为零),这样一个n自由度的机器人,就有n+1个连杆,相应地,有n+1个坐标系。
提醒注意:坐标系是固连在连杆上,而不是固连在关节上,以前看资料和博客怎么说的都有,弄的很糊涂,后来才搞明白,坐标系是固连在连杆上,如果认为坐标系固连在关节上,分析问题时会让人很崩溃的。

  • 5
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小mi粥的米

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值