DH参数法 例题 机器人学

四、已知操作臂各连杆的连接方式,计算末端执行器的位姿,建议遵循DH方法的基本原则

Exp.1:如图1所示为3-自由度的机械手,这三个关节都是转动的。关节轴3垂直于关节轴1和关节轴2形成的平面。给出连杆坐标系的D-H参数,并推导出坐标系{3}到坐标系{1}的变换矩阵。

在这里插入图片描述

D-H 参数 α i − 1 \alpha_{i-1} αi1 a i − 1 a_{i-1} ai1 d i d_{i} di θ i \theta_{i} θi
1XXX θ 1 \theta_{1} θ1
20 a 0 a_{0} a00 θ 2 \theta_{2} θ2
3 − 9 0 ∘ -90^{\circ} 90 a 1 a_{1} a10 θ 3 \theta_{3} θ3

DH参数法的一般式:
2 1 T = [ 1 0 0 0 0 cos ⁡ α 1 − sin ⁡ α 1 0 0 sin ⁡ α 1 cos ⁡ x 1 0 0 0 0 1 ] [ 1 0 0 a 1 0 1 0 0 0 0 1 0 0 0 0 1 ] [ cos ⁡ θ 2 − sin ⁡ θ 2 0 0 sin ⁡ θ 2 cos ⁡ θ 2 0 0 0 0 1 0 0 0 0 1 ] [ 1 0 0 0 0 1 0 0 0 0 1 d 2 0 0 0 1 ] { }^{1}_{2} T=\left[\begin{array}{cccc} 1 & 0 & 0 & 0 \\ 0 & \cos \alpha_{1} & -\sin \alpha_{1} & 0 \\ 0 & \sin \alpha_{1} & \cos x_{1} & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{llll} 1 & 0 & 0 & a_{1} \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & 0 \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{llll} 1 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & d_{2} \\ 0 & 0 & 0 & 1 \end{array}\right] 21T=10000cosα1sinα100sinα1cosx100001100001000010a1001cosθ2sinθ200sinθ2cosθ2000010000110000100001000d21

= [ cos ⁡ θ 2 − sin ⁡ θ 2 0 a 1 cos ⁡ α 1 sin ⁡ θ 2 cos ⁡ α 1 cos ⁡ θ 2 − sin ⁡ α 1 − d 2 sin ⁡ α 1 sin ⁡ α 1 sin ⁡ θ 2 sin ⁡ α 1 cos ⁡ θ 2 cos ⁡ α 1 d 2 cos ⁡ α 1 0 0 0 1 ] =\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{1} \\ \cos \alpha_{1} \sin \theta_{2} & \cos \alpha_{1} \cos \theta_{2} & -\sin \alpha_{1} & -d_{2} \sin \alpha_{1} \\ \sin \alpha_{1} \sin \theta_{2} & \sin \alpha_{1} \cos \theta_{2} & \cos \alpha_{1} & d_{2} \cos \alpha_{1} \\ 0 & 0 & 0 & 1 \end{array}\right] =cosθ2cosα1sinθ2sinα1sinθ20sinθ2cosα1cosθ2sinα1cosθ200sinα1cosα10a1d2sinα1d2cosα11

代入参数 α 1 = 0 , a 1 = a 0 , d 2 = 0 \alpha_{1}=0, a_{1}=a_{0}, d_{2}=0 α1=0,a1=a0,d2=0
2 1 T = [ cos ⁡ θ 2 − sin ⁡ θ 2 0 a 0 sin ⁡ θ 2 cos ⁡ θ 2 0 0 0 0 1 0 0 0 0 1 ] { }_{2}^{1} T=\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{0} \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 21T=cosθ2sinθ200sinθ2cosθ2000010a0001
同理
3 2 T = [ cos ⁡ θ 3 − sin ⁡ θ 3 0 a 2 cos ⁡ α 2 sin ⁡ θ 3 cos ⁡ α 2 cos ⁡ θ 3 − sin ⁡ α 2 − d 3 sin ⁡ α 2 sin ⁡ α 2 sin ⁡ θ 3 sin ⁡ α 2 cos ⁡ θ 3 cos ⁡ α 2 d 3 cos ⁡ α 2 0 0 0 1 ] {}^{2}_{3} T=\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{2} \\ \cos \alpha_{2} \sin \theta_{3} & \cos \alpha_{2} \cos \theta_{3} & -\sin \alpha_{2} & -d_{3} \sin \alpha_{2} \\ \sin \alpha_{2} \sin \theta_{3} & \sin \alpha_{2} \cos \theta_{3} & \cos \alpha_{2} & d_{3} \cos \alpha_{2} \\ 0 & 0 & 0 & 1 \end{array}\right] 32T=cosθ3cosα2sinθ3sinα2sinθ30sinθ3cosα2cosθ3sinα2cosθ300sinα2cosα20a2d3sinα2d3cosα21

α 2 = − 9 0 ∘ , a 2 = a 1 , d 3 = 0 \alpha_{2}=-90^{\circ}, \quad a_{2}=a_{1}, \quad d_{3}=0 α2=90,a2=a1,d3=0

3 2 T = [ cos ⁡ θ 3 − sin ⁡ θ 3 0 a 1 0 0 1 0 − sin ⁡ θ 3 − cos ⁡ θ 3 0 0 0 0 0 1 ] ^{2}_{3} T=\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{1} \\ 0 & 0 & 1 & 0 \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 32T=cosθ30sinθ30sinθ30cosθ300100a1001

3 1 T = 2 1 T 3 2 T = [ cos ⁡ θ 2 − sin ⁡ θ 2 0 a 0 sin ⁡ θ 2 cos ⁡ θ 2 0 0 0 0 1 0 0 0 0 1 ] [ cos ⁡ θ 3 − sin ⁡ θ 3 0 a 1 0 0 1 0 − sin ⁡ θ 3 − cos ⁡ θ 3 0 0 0 0 0 1 ] ^{1}_{3} T={}^{1}_{2}T_{3}^{2} T=\left[\begin{array}{cccc} \cos \theta_{2} & -\sin \theta_{2} & 0 & a_{0} \\ \sin \theta_{2} & \cos \theta_{2} & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right]\left[\begin{array}{cccc} \cos \theta_{3} & -\sin \theta_{3} & 0 & a_{1} \\ 0 & 0 & 1 & 0 \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] 31T=21T32T=cosθ2sinθ200sinθ2cosθ2000010a0001cosθ30sinθ30sinθ30cosθ300100a1001

= [ cos ⁡ θ 2 cos ⁡ θ 3 − cos ⁡ θ 2 sin ⁡ θ 3 − sin ⁡ θ 2 a 1 cos ⁡ θ 2 + a 0 sin ⁡ θ 2 cos ⁡ θ 3 − sin ⁡ θ 2 sin ⁡ θ 3 cos ⁡ θ 2 a 1 sin ⁡ θ 2 − sin ⁡ θ 3 − cos ⁡ θ 3 0 0 0 0 0 1 ] =\left[\begin{array}{cccc} \cos \theta_{2} \cos \theta_{3} & -\cos \theta_{2} \sin \theta_{3} & -\sin \theta_{2} & a_{1} \cos \theta_{2}+a_{0} \\ \sin \theta_{2} \cos \theta_{3} & -\sin \theta_{2} \sin \theta_{3} & \cos \theta_{2} & a_{1} \sin \theta_{2} \\ -\sin \theta_{3} & -\cos \theta_{3} & 0 & 0 \\ 0 & 0 & 0 & 1 \end{array}\right] =cosθ2cosθ3sinθ2cosθ3sinθ30cosθ2sinθ3sinθ2sinθ3cosθ30sinθ2cosθ200a1cosθ2+a0a1sinθ201

出自:机器人学入门必看

  • 3
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 4
    评论
DH参数逆运动学是指在机器人标准DH建模下,通过已知末端执行器的位姿信息,求解机器人各关节的角度信息的过程。DH参数是描述机器人关节之间几何关系的一组参数,包括关节长度、关节偏移量、相邻关节之间的旋转角度和链接的旋转角度。在进行逆运动学求解时,需要根据机器人的DH参数建立完整的运动学模型,并使用正向运动学方程计算出末端执行器的位姿信息,然后通过反解运动学方程求解各关节的角度信息。 具体来说,对于一个n自由度的机器人系统,可以按照以下步骤进行逆运动学求解: 1. 根据机器人的DH参数建立完整的运动学模型。这个模型是一个由多个坐标系组成的层次结构,每个坐标系代表一个机器人关节的运动范围,并通过旋转和平移变换描述相邻坐标系之间的关系。DH参数可以帮助我们计算出每个坐标系的变换矩阵。 2. 利用正向运动学方程计算出机器人末端执行器的位姿信息。正向运动学方程是将机器人各个关节的角度信息转换为末端执行器的位置和姿态信息的方程,可以利用DH参数和变换矩阵来求解。 3. 根据末端执行器的位姿信息,使用反解运动学方程求解各关节的角度信息。反解运动学方程是将末端执行器的位置和姿态信息转换为机器人各个关节的角度信息的方程,可以通过代数解或数值优化方来求解。 需要注意的是,机器人的逆运动学求解存在多解性和奇异性等问题,需要针对具体机器人系统进行分析和处理。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

xingzhan2142

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

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

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

打赏作者

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

抵扣说明:

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

余额充值