【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真

这篇具有很好参考价值的文章主要介绍了【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

基于PoE公式的UR5机械臂正运动学分析


下一篇:【机器人2】基于POE公式的UR5机械臂逆运动学建模求解与matlab仿真文章来源地址https://www.toymoban.com/news/detail-455661.html


1.1 运动旋量的螺旋释义(理论基础)

螺旋轴表示成:绕某个轴的转动与沿该轴的移动的复合。一种形式是 { q , s ^ , h } \{\boldsymbol{q}, \boldsymbol{\hat{s}}, h\} {q,s^,h}
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真其中, q ∈ R 3 \boldsymbol{q} \in \mathbb{R}^{3} qR3为轴上任一点; s ^ \boldsymbol{\hat{s}} s^为螺旋轴单位向量; h h h为螺旋的节距,大小为沿螺旋轴方向线速度与绕该轴角度上比值。

运动旋量 V \mathcal{V} V { q , s ^ , h } \{\boldsymbol{q}, \boldsymbol{\hat{s}}, h\} {q,s^,h}及速度 θ ˙ \dot{\theta} θ˙关系: V = [ ω v ] = [ s ^ θ ˙ − s ^ θ ˙ × q + h s ^ θ ˙ ] \mathcal{V}=\left[\begin{array}{l} \boldsymbol{\omega} \\ \boldsymbol{v} \end{array}\right]=\left[\begin{array}{c} \boldsymbol{\hat{s}} \dot{\theta} \\ -\boldsymbol{\hat{s}} \dot{\theta} \times \boldsymbol{q} +h \boldsymbol{\hat{s}}\dot{\theta} \end{array}\right] V=[ωv]=[s^θ˙s^θ˙×q+hs^θ˙] ω \boldsymbol{\omega} ω是坐标系的角速度,由轴 s ^ \boldsymbol{\hat{s}} s^和绕轴角速度 θ ˙ \dot{\theta} θ˙产生; v \boldsymbol{v} v是坐标系的线速度,由沿轴移动和转动产生。

然而,一般不采用 { q , s ^ , h } \{\boldsymbol{q}, \boldsymbol{\hat{s}}, h\} {q,s^,h}描述螺旋运动,而通常采用运动旋量正交化的形式来描述:
① 若 ω ≠ 0 \boldsymbol{\omega}\neq 0 ω=0,有 s ^ = ω ∥ ω ∥ \boldsymbol{\hat{s}}=\frac{\boldsymbol{\omega}}{\boldsymbol{\|\omega\|}} s^=ωω θ ˙ = ∥ ω ∥ \dot{\theta}=\boldsymbol{\|\omega\|} θ˙=ω h = ω ^ T v θ ˙ h=\frac{\boldsymbol{\hat{\omega}}^{\mathrm{T}} \boldsymbol{v}} { \dot{\theta}} h=θ˙ω^Tv;则有 S = V ∥ ω ∥ = ( ω ∥ ω ∥ , v ∥ ω ∥ ) \mathcal{S}=\frac{\mathcal{V}} {\boldsymbol{\|\omega\|}}=(\frac{\boldsymbol{\omega}}{\boldsymbol{\|\omega\|}}, \frac{\boldsymbol{v}}{\boldsymbol{\|\omega\|}}) S=ωV=(ωω,ωv) S θ ˙ = V \mathcal{S} \dot{\theta}=\mathcal{V} Sθ˙=V
② 若 ω = 0 \boldsymbol{\omega}= 0 ω=0,有 s ^ = v ∥ v ∥ \boldsymbol{\hat{s}}=\frac{\boldsymbol{v}}{\boldsymbol{\|v\|}} s^=vv θ ˙ = ∥ v ∥ \dot{\theta}=\boldsymbol{\|v\|} θ˙=v h h h无限大;则有 S = V ∥ v ∥ = ( 0 , v ∥ v ∥ ) \mathcal{S}=\frac{\mathcal{V}} {\boldsymbol{\|v\|}}=(0, \frac{\boldsymbol{v}}{\boldsymbol{\|v\|}}) S=vV=(0,vv) S θ ˙ = V \mathcal{S} \dot{\theta}=\mathcal{V} Sθ˙=V

因此,螺旋轴的定义如下: S = [ ω v ] ∈ R 6 \mathcal{S}=\left[\begin{array}{l} \boldsymbol{\omega} \\ \boldsymbol{v} \end{array}\right] \in \mathbb{R}^{6} S=[ωv]R6 ① 若 ∥ ω ∥ = 1 \boldsymbol{\|\omega\|}=1 ω=1;则 v = − ω × q + h ω \boldsymbol{v}=-\boldsymbol{\omega }\times \boldsymbol{q}+h \boldsymbol{\omega} v=ω×q+hω q \boldsymbol{q} q为轴上任一点, h h h是螺旋的节距(线速度与角速度比值,纯转动是为0)。
② 若 ∥ ω ∥ = 0 , ∥ v ∥ = 1 \boldsymbol{\|\omega\|}=0,\boldsymbol{\|v\|}=1 ω=0,v=1;则节距无穷大,因此为纯移动,参数中只有 v \boldsymbol{v} v不是零向量。

值得注意的是,虽然可以同时用 ( ω , v ) (\boldsymbol{\omega},\boldsymbol{v}) (ω,v)描述正则化的螺旋轴 S \mathcal{S} S ∥ ω ∥ = 1 \boldsymbol{\|\omega\|}=1 ω=1 ∥ v ∥ = 1 \boldsymbol{\|v\|}=1 v=1)和运动旋量 V \mathcal{V} V(对 ω \boldsymbol{\omega} ω v \boldsymbol{v} v没有限制),但它们的物理意义不同,必须区分开来。

1.2 基于PoE公式的UR5机械臂正运动学模型

本文研究对象为丹麦优傲机器人Universal Robots的UR5六自由度协作机械臂,由UR5机械臂尺寸规格图得到各关节及连杆的参数。由于在实际使用过程中,绝大多数的在售机器人还是用D-H参数法进行建模,因此为了验证PoE公式的正确性,螺旋轴的选取和D-H模型方向对正。
UR5机械臂尺寸数据及螺旋轴的建立如下图左、右所示。
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
图中给出了UR5机械臂在初始位置时的螺旋轴 S 1 , … , S 6 \bm{\mathcal{S}_{1}, \ldots, \mathcal{S}_{6}} S1,,S6。处于初始位置时的末端坐标系对应的齐次变换矩阵 M \boldsymbol{M} M M = [ 1 0 0 − ( L 1 + L 2 ) 0 0 − 1 − ( W 1 + W 2 ) 0 1 0 H 1 − H 2 0 0 0 1 ] \boldsymbol{M}=\left[\begin{array}{cccc} 1 & 0 & 0 & -\left(L_{1}+L_{2}\right) \\ 0 & 0 & -1 & -\left(W_{1}+W_{2}\right) \\ 0 & 1 & 0 & H_{1}-H_{2} \\ 0 & 0 & 0 & 1 \end{array}\right] M= 100000100100(L1+L2)(W1+W2)H1H21 因此空间坐标系下的螺旋轴 S i = ( ω i , v i ) , i = 1 , … , 6 \boldsymbol{\mathcal { S }}_{i}=\left(\boldsymbol{\omega}_{i}, \boldsymbol{v}_{i}\right), i=1, \ldots, 6 Si=(ωi,vi),i=1,,6,坐标如下表所示:

i i i ω i \boldsymbol{\omega}_{i} ωi v i \boldsymbol{v}_{i} vi
1 ( 0 , 0 , 1 ) (0,0,1) (0,0,1) ( 0 , 0 , 0 ) (0,0,0) (0,0,0)
2 ( 0 , − 1 , 0 ) (0,-1,0) (0,1,0) ( H 1 , 0 , 0 ) \left(H_{1}, 0,0\right) (H1,0,0)
3 ( 0 , − 1 , 0 ) (0,-1,0) (0,1,0) ( H 1 , 0 , L 1 ) \left(H_{1}, 0,L_{1}\right) (H1,0,L1)
4 ( 0 , − 1 , 0 ) (0,-1,0) (0,1,0) ( H 1 , 0 , L 1 + L 1 ) \left(H_{1}, 0, L_{1}+L_{1}\right) (H1,0,L1+L1)
5 ( 0 , 0 , − 1 ) (0,0,-1) (0,0,1) ( W 1 , − L 1 − L 1 , 0 ) \left(W_{1},-L_{1}-L_{1}, 0\right) (W1,L1L1,0)
6 ( 0 , − 1 , 0 ) (0,-1,0) (0,1,0) ( H 1 − H 1 , 0 , L 1 + L 1 ) \left(H_{1}-H_{1}, 0, L_{1}+L_{1}\right) (H1H1,0,L1+L1)

因此,由螺旋轴可以计算空间坐标系下的UR5机械臂末端位姿:
T ( θ ) = e [ S 1 ] θ 1 e [ S 2 ] θ 2 e [ S 3 ] θ 3 e [ S 4 ] θ 4 e [ S 5 ] θ 5 e [ S 6 ] θ 6 M \boldsymbol{T}(\boldsymbol{\theta})=e^{\left[\mathcal{S}_{1}\right] \theta_{1}} e^{\left[\mathcal{S}_{2}\right] \theta_{2}} e^{\left[\mathcal{S}_{3}\right] \theta_{3}} e^{\left[\mathcal{S}_{4}\right] \theta_{4}} e^{\left[\mathcal{S}_{5}\right] \theta_{5}} e^{\left[\mathcal{S}_{6}\right] \theta_{6}} \boldsymbol{M} T(θ)=e[S1]θ1e[S2]θ2e[S3]θ3e[S4]θ4e[S5]θ5e[S6]θ6M其中,指数坐标 e [ S ] θ = [ e [ ω ] θ ∗ 0 1 ] e^{[\mathcal{S}] \theta}=\left[\begin{array}{cc} e^{[\boldsymbol{\omega}] \theta} & * \\ 0 & 1 \end{array}\right] e[S]θ=[e[ω]θ01] e [ ω ] θ = I + sin ⁡ θ [ ω ] + ( 1 − cos ⁡ θ ) [ ω ] 2 e^{[\boldsymbol{\omega}] \theta}=I+\sin \theta[\boldsymbol{\omega}]+(1-\cos \theta)[\boldsymbol{\omega}]^{2} e[ω]θ=I+sinθ[ω]+(1cosθ)[ω]2 ∗ = ( I θ + ( 1 − cos ⁡ θ ) [ ω ] + ( θ − sin ⁡ θ ) [ ω ] 2 ) v *=\left(I \theta+(1-\cos \theta)[\omega]+(\theta-\sin \theta)[\omega]^{2}\right) v =(Iθ+(1cosθ)[ω]+(θsinθ)[ω]2)v

1.3 matlab仿真验证

在matlab准备相关数据,如UR5机械臂各个关节的长度、初始位形 M \boldsymbol{M} M、各关节螺旋轴 S 1 , … , S 6 \mathcal{S}_{1}, \ldots, \mathcal{S}_{6} S1,,S6,并设定一组关节角 θ 0 = ( 0 , − π 2 , 0 , − π 2 , 0 , 0 ) \boldsymbol{\theta_{0}}=\left(0,-\frac{\pi}{2}, 0,-\frac{\pi}{2}, 0,0\right) θ0=(0,2π,0,2π,0,0)
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
计算空间坐标系下的末端位姿 T ( θ 0 ) \boldsymbol{T}(\boldsymbol{\theta_{0}}) T(θ0)
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
FKinSpace:空间坐标系下正运动学计算方法:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
VecTose3:将运动旋量转化为se3矩阵:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
VecToso3:将旋量角速度部分的向量转化为so3矩阵:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
MatrixExp6:SE3矩阵的指数坐标计算方法
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
so3TcVec:将[ωθ]这个so3反对称矩阵转化为向量ωθ
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
AxisAng3:将ωθ拆开成ω和θ(因为||ω||=1,就可以用向量二范数拆分)
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
MatrixExp3:SO3矩阵的指数坐标计算方法
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
因此,空间坐标系下的末端位姿 T ( θ 0 ) \boldsymbol{T}(\boldsymbol{\theta_{0}}) T(θ0)计算结果为:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
用robotic toolbox工具箱观察关节角 θ 0 = ( 0 , − π 2 , 0 , − π 2 , 0 , 0 ) \boldsymbol{\theta_{0}}=\left(0,-\frac{\pi}{2}, 0,-\frac{\pi}{2}, 0,0\right) θ0=(0,2π,0,2π,0,0)时的位姿:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真
再看看关节角 θ 1 = ( 0 , 0 , 0 , 0 , 0 , 0 ) \boldsymbol{\theta_{1}}=\left(0,0, 0,0, 0,0\right) θ1=(0,0,0,0,0,0)时的位姿:
【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真

可以看出,末端位姿计算结果正确。


下一篇:【机器人2】基于POE公式的UR5机械臂逆运动学建模求解与matlab仿真


到了这里,关于【机器人1】基于POE公式的UR5机械臂正运动学建模求解与matlab仿真的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • UR5e机械臂TCP socket远程通讯控制python实例(可成功控制)

    本文旨在使用电脑端socket远程控制UR5e机械臂运动到指定目标点实例,仅供学习参考 目录 1.电脑IP设置  2.UR5e机械臂示教器设置  3.实物设置 4.python输入 打开网络和Internet设置     将如下的两个ip地址改为下一节中的机械臂示教器相同的ip地址      将ip地址与子网掩码设置成与

    2024年02月16日
    浏览(245)
  • 基于ROS的机器人模型建立及3D仿真【物理/机械意义】

    在前面的博客中,我们已经学习过了如何对目标机器人进行数学意义上的模型建立,以便实现基础控制,而在实际生活中,由于机器人造价高昂,我们往往难以获得实际的目标机器人进行部署研究,这就需要我们对目标进行仿真,采用编程或可视化方法建立机器人3D模型,从

    2024年02月09日
    浏览(37)
  • 机器人制作开源方案 | 基于混合现实的可移动机械臂平台

     作者: 董泽宇 李肖兵 叶彤 李秉宸 吴雅霏 单位: 广西大学 电气工程学院 指导老师: 李勇 雷圆媛       为应对特殊条件下不便于实地进行移动式操作的问题,本作品设计了一套基于混合现实的可移动机械臂操作控制系统。该系统分为人机交互、机械驱动、虚拟现实三个

    2024年01月22日
    浏览(39)
  • MATLAB算法实战应用案例精讲-【人工智能】基于机器视觉的机器人及机械臂运动规划(补充篇)

    目录 前言 几个高频面试题目 机器人抓取时怎么定位的?用什么传感器来检测?

    2024年02月07日
    浏览(44)
  • kuka示教器嵌套UR界面操作ros中rviz的UR机器人

    本例展示了用QT增加一个网页视图,背景是kuka示教器界面,中间增加UR的VNC网页界面显示。本人博客中一起有写过ros2运行UR的操作。         ros2 UR10仿真包运行_基于ros的ur仿真-CSDN博客       效果如下:     背景的增加,参考这篇文件。  qt for python创建UI界面-CSDN博客   主要

    2024年02月21日
    浏览(40)
  • 78、基于STM32单片机学习型搬运机器人四自由度机械臂机械手遥感控制设计

    毕设帮助、开题指导、技术解答(有偿)见文末。 目录 摘要 一、硬件方案 二、设计功能 三、实物图 四、原理图 五、PCB图  六、程序源码 七、资料包括  在当今大规模制造业中,企业为提高生产效率,保障产品质量,普遍重视生产过程的自动化程度,工业机器人作为自动

    2024年02月09日
    浏览(43)
  • ur机器人在moveit中运行环境搭建(保姆级)

     我的系统是ubuntu20.04  rosb版本:  noetic 1.安装运动学插件   2.安装 eigenpy 需要单独编译,EigenPy是一个用于在Python中使用Eigen库的绑定库       3.安装 ompl 需要单独编译,是一个用于运动规划的开源库

    2024年02月08日
    浏览(39)
  • Ubuntu安装PyBullet | PyBullet 导入Ur5 | PyBullet简单使用 | 关于机械臂强化学习仿真引擎的选择 | PyBullet入门操作

    最近在搞强化学习,需要找一个物理仿真软件来跑我的机械臂强化学习模型,去网上搜了一下,当前比较主流的有 PyBullet Mujoco VREP … 一开始是想用Mujoco,听说Mujoco现在免费了很适合强化学习,还有一个基于Mujoco的Robosuite很适合机器人的强化学习,一顿操作下来发现Bug实在太多

    2024年02月07日
    浏览(29)
  • AI聊天机器人平台Poe发布更新;自然语言理解课程概要

    🦉 AI新闻 🚀 AI聊天机器人平台Poe发布更新 突破功能限制 增加企业级服务 摘要 :知名问答网站Quora旗下的AI聊天机器人平台Poe发布了一系列更新,包括推出Mac应用、支持同时进行多个对话、接入Meta的Llama 2模型等功能。用户只需支付一定订阅费用,即可无限制使用各种机器人

    2024年02月10日
    浏览(40)
  • Chat-GPT 聚合平台 Poe:集成多个 AI 聊天机器人

    Poe 是知名问答社区 Quora 推出的 AI 平台——开放探索平台 (Platform for Open Exploration, Poe)。Poe 集成了多个基于大型语言模型的聊天机器人,包括 ChatGPT,以及 Sage、Claude、Dragonfly 等。每个机器人都有独特的个性,用户可根据其特性和用途来切换使用。 Claude:更擅长创意写作任务

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包