文章目录

  • 基本概念
  • 正运动学
    • 源码
  • 一阶运动学

基本概念

  • PoE(Product of Exponential)指数积公式。
  • PoE和DH的作用都是一样的。
  • 实际使用过程中,绝大多数在售的机器人还都是使用DH模型进行建模的,所以为了验证正确性,在选取螺旋轴的时候最好还是和DH模型方向对正。
  • PoE模型的优势:更好的应用于并联机器人结构、不需要对中间关节进行建模,虽然描述量有4n(DH)变为了6n。
  • 为了规范在使用PoE进行正运动学建模的时候一定要指明是相对于基座标系{s}还是末端坐标系{b}
  • 螺旋轴上选择一点可以是任意的。

这里以UR5为例子,其中{b}{s}和旋转轴方向和UR5的厂家DH模型对齐,所以其正确性可以和真实机器人对照。

正运动学

UR5的PoE模型如下图所示。

但是图中并没有和真实的DH参数对齐,因此不方便验证其正确性。

所以参考->UR机械臂正逆运动学求解这篇博文的真实DH模型进行重新建模。
建模后:

验证结果,这里只展示任意一组关节角,对照DH建模和PoE建模的结果。

可以看出结果对应误差为10e-9,因此PoE建模正确。

源码

%% PoE-基座标系建模
% 参数
mm=pow(10,-3);
d4=109.15*mm;
d6=82.3*mm;
a2=425*mm;
a3=392.25*mm;
d1=89.459*mm;
d5=94.65*mm;%M
R=[1 0 0;0 0 -1;0 1 0];
P=[-a2-a3;-d4-d6;d1-d5];
M=[R P;0 0 0 1];%旋转轴
w6=[0;-1;0];
v6=-cross(w6,P);
S6=[w6;v6];w5=[0;0;-1];
v5=-cross(w5,[-a2-a3;-d4;d1]);
S5=[w5;v5];w4=[0;-1;0];
v4=-cross(w4,[-a2-a3;0;d1]);
S4=[w4;v4];w3=[0;-1;0];
v3=-cross(w3,[-a2;0;d1]);
S3=[w3;v3];w2=[0;-1;0];
v2=-cross(w2,[0;0;d1]);
S2=[w2;v2];w1=[0;0;1];
v1=-cross(w1,[0;0;0]);
S1=[w1;v1];theta=randpi(6);
disp(theta.')
PoE_model_FK=FKinSpace(M,[S1 S2 S3 S4 S5 S6],theta)%% robotic toolbox
mdl_ur5;
DH_model_FK=ur5.fkine(theta)%% compare
[error,~,~]=PosRotError(PoE_model_FK,mdlFK2Trans(DH_model_FK));
norm(error)

一阶运动学

需要注意的是,PoE建模所定义的雅可比矩阵和DH建模所定义的雅可比矩阵是不同的。具体表在PoE建模的Js的第i列Jsi只是描述第i各关节相对于固定坐标系的旋量。

如果要和DH建模的UR5进比较验证其正确性则需要经过一些转化,这里直接给出结果。

可以看出结果是对应的,因此建模正确。
源码后续更新。

【机器人学】基于PoE模型的串联机械臂UR5的正运动学、微分运动学和逆运动学相关推荐

  1. matlab机械臂dh仿真,基于MATLAB Robotics Tools的机械臂仿真

    基于MATLAB Robotics Tools的机械臂仿真 [摘要]在MATLAB环境下,对puma560机器人进行运动学仿真研究,利用Robotics Toolbox工具箱编制了简单的程序语句,建立 ...

  2. 基于matlab 宗晓萍,基于ADAMS和MATLAB的机械臂控制仿真

    基于ADAMS和MATLAB的机械臂控制仿真 宗晓萍;李月月 [期刊名称]<微计算机信息> [年(卷),期]2009(000)035 [摘要]运用多体系统动力学分析软件ADAMS建立虚拟模 ...

  3. matlab simulink基于自抗扰控制的机械臂位置仿真

    1.内容简介 略 608-可以交流.咨询.答疑 2.内容说明 机械臂是指高精度,多输入多输出.高度非线性.强耦合的复杂系统.因其独特的操作灵活性,已在工业装配.安全防爆等领域得到广泛应用. 机械臂是一 ...

  4. 基于ROS设计一款机械臂控制系统 [转发]

    ROS探索总结-66.基于ROS设计一款机械臂控制系统 ROS探索总结-66.基于ROS设计一款机械臂控制系统 说明: 介绍如何基于ROS设计一款机械臂控制系统 正文 今天我们将从以下两个方面为大家介 ...

  5. 在Simulink中利用simmechanics对三自由度的串联机械臂进行仿真

    在写本科的毕业论文的时候,需要对三自由度的机械臂进行一个仿真实验.在网上查阅相关资料,得知可以利用simmechanics 来进行仿真实验.关于simmechanics 这个的介绍就百度一下就可以,这 ...

  6. 《Arduino开发实战指南:LabVIEW卷》6.5 基于Arduino控制6自由度机械臂

    6.5 基于Arduino控制6自由度机械臂 6.5.1 实现的功能 本节将使用LabVIEW设计实现基于Arduino的6自由度机械臂控制.本节中设计的机械臂控制主要演示Arduino在多自由度Se ...

  7. 【强化学习与机器人控制论文 1】基于深度强化学习的机械臂避障

    基于深度强化学习的机械臂避障 1. 引言 2. 论文解读 2.1 背景 2.2 将NAF算法用在机器人避障中 3. 总结 1. 引言 本文介绍一篇2018年发表在 European Control C ...

  8. 基于STM32与TB6600的机械臂项目(代码开源)

            前言:本文为手把手教学STM32的机械臂项目--Robot Arm,本次项目采用的是STM32作为MCU.该机械臂的基础模型为国外开源项目,诸多前辈经过长时间的验证与改进,其机械臂精度 ...

  9. 基于STC8H1K28的双轴机械臂驱动模块:步进电机42HS348E,BH32角度传感器

    作者:卓晴博士,清华大学自动化系 更新时间:2020-08-08 Saturday ■ 设计背景 这是一款用于化学实验室样品上样器的机械臂.设置有肘关节.肩关节以及上下移动关节. ▲ 双轴机械臂结构 ...

最新文章

  1. 事件相机角点检测,从原理到demo
  2. 新型量子计算机首个基本元件问世,扩展性更强运算速度更快
  3. CSS:页脚紧贴底部
  4. [Abp 源码分析]权限验证
  5. 两张趣图助你理解 HTTP 状态码
  6. java反射 修改静态方法的值 setAccessible
  7. form.html,HTML表单form
  8. cmd查看某个服务器端口状态,cmd中检测端口是否处于监听状态 | IT博客
  9. 在没有创建Provision Profile权限的情况下 发布Enterprise inhouse app 的方法
  10. python中url是什么意思_Python中url标签使用详解
  11. CString,string,char*之间的转换
  12. PSD缩略图的设置方法
  13. 58-20210406华为海思Hi3516DV300的linux系统下获取IMX335的视频(eMMC模式)
  14. 定点补码加减法运算_定点加减法运算与溢出判断处理
  15. 计算机桌面出现蓝色底色,桌面图标有蓝色背景的7种解决办法
  16. linux系统etc什么意思,etc.是什么意思 linux下的etc是什么意思
  17. 变革管理书籍推荐:《组织变革必读12篇》
  18. 【正点原子MP157连载】 第九章 TF-A移植-摘自【正点原子】【正点原子】STM32MP1嵌入式Linux驱动开发指南V1.7
  19. JavaScript点名器
  20. 20135203齐岳 信息安全系统设计基础第五周学习总结

热门文章

  1. Linux centOS学习笔记(文件处理命令)
  2. (P24)管道:管道的读写规则
  3. 人生之事须尽欢,莫问前途
  4. 【华三H3C设备命令最全大合集】
  5. 每日记录 8.28 TP(真阳率) NP(假阳率) FP
  6. vue项目中 使用百度地图 轨迹动画
  7. 海神号机器人潜艇_美深海机器人意外殉职 在10公里水下被水压挤碎(图)
  8. 计算机教 学计划,教师计算机学习计划(共3篇)
  9. 运算符(笔记来自秦疆老师的视频笔记)
  10. 普氏分析法-MATLAB工具箱函数