三维刚体变换

第三章:三维刚体变换

刚体:形状和大小不发生变化的物体,刚体不光有位置,还有自身的姿态,姿态是指物体的朝向。
:点是空间中的基本元素,没有长度没有体积,两个点连接起来,构成了向量。
向量:可以看成从某点指向另一点的箭头,他是空间中的一样东西,向量在坐标系中表示为坐标,同一向量在不同坐标系中的坐标不同。
坐标:假设在线性空间中,找到了该空间的一组(就是张成这个空间的一组线性无关的向量,也称为基底),那么坐标表示为:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YrN1DuYC-1611974442399)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image002.png)]
坐标系一般为右手法则
在这里插入图片描述

1、旋转平移矩阵与旋转向量

任意一个旋转都可以看作是绕某一个旋转轴旋转一个角度,可以用罗德里格斯公式将旋转向量转换为旋转矩阵
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-f5MJIz4D-1611974442404)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image004.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3Nf4iA3b-1611974442409)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image005.png)]
推导过程可见:https://blog.csdn.net/shao918516/article/details/105109278

欧氏空间坐标变换:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j2Bq1Gqf-1611974442410)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image006.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MTgjb1QE-1611974442411)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image007.png)]
相对于固定坐标系变换:左乘

相对于运动坐标系变换:右乘

2、欧拉角与四元数

(1)按ZYZ旋转序列表示运动姿态

**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MoaoyC5m-1611974442412)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image008.png)]**
**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HGWalYOV-1611974442413)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image009.png)]**

(2)按ZYX(rpy)旋转序列表示运动姿态

**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WCDnqooJ-1611974442413)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image010.png)]**
**[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGN5Vqf2-1611974442414)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image011.png)]**
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-126EB1vK-1611974442415)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image012.png)]

(3)万向锁

见视觉slam书

(4)四元数

四元数的定义和运算规则见视觉slam书

用四元数表示旋转
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZPdDV2hZ-1611974442415)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image013.png)]
推导过程可见:https://blog.csdn.net/shao918516/article/details/105305525
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ro1c5i5f-1611974442416)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image014.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yk3fx4ay-1611974442416)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image015.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cURWfwZq-1611974442417)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image016.png)]
万象锁问题就是当beta=0时,用正向公式求解出的四元数q0-q3带入逆向公式中,出现atan2函数0/0的情况,即丢失了一个自由度。

3、机器人运动学

(1)标准DH

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-V0YttlWZ-1611974442418)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image017.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GfqQ0mGW-1611974442418)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image018.png)]

(2)改进DH

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-P5NQ7Bef-1611974442419)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image019.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3HJUijb4-1611974442419)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image020.png)]

(3)建模步骤

1)确定坐标系原点

2)确定Z轴指向

3)确定X轴指向

4)按不同模型建模方法的坐标系变换步骤确定DH参数

5)用DH参数表示TCP至Base的变换矩阵

(4)例子:

Kuka标准DH
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3A5JDgjv-1611974442420)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image021.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iVbKUg0i-1611974442420)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image022.png)]
Aubo改进DH
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j5SJlLcI-1611974442421)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image023.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IETcMqzA-1611974442422)(file:Users/zhouhaojun/Library/Group%20Containers/UBF8T346G9.Office/TemporaryItems/msohtmlclip/clip_image024.png)]

(5)正逆运动学

1)正运动学

已知关节角,求解末端位姿矩阵

2)逆运动学

已知末端位姿矩阵,求解关节角,常用解析解计算方法

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
在MATLAB中,可以使用旋转矩阵来实现三维空间的刚体运动。旋转矩阵是一种正交矩阵,它可以保持长度、角度、面积等特征不变的仿射变换,即内积和度量不变。旋转矩阵的逆等于它的转置,同时行列式的值为正负1。 在MATLAB中,可以使用makehgtform函数来创建旋转矩阵。例如,如果给定一个单位向量normal和旋转角度theta,可以使用下面的代码创建旋转矩阵Matrix_Rot: theta=acos(costheta); Matrix_Rot=makehgtform('axisrotate',normal,theta); 其中,normal是旋转轴的单位向量,theta是旋转角度。这样,Matrix_Rot就是表示刚体运动的旋转矩阵。 更多关于旋转矩阵的信息,可以参考维基百科的页面和博客文章。关于MATLAB中的刚体运动和旋转矩阵的应用,还可以参考博客文章。 总结起来,MATLAB中的三维空间刚体运动可以通过旋转矩阵来实现,旋转矩阵是一种正交矩阵,它可以保持长度、角度、面积等特征不变的仿射变换。在MATLAB中,可以使用makehgtform函数来创建旋转矩阵。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [3D视觉(三)刚体运动及matlab实现](https://blog.csdn.net/piaoxuezhong/article/details/78524498)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值