建立机器人模型)

机械臂

参考资料

建模

D-H参数

建关节

建立机器人

求初始机械臂状态,并显示

改进

另一种建模

机械臂

我使用的aubo的i5机械臂作为实验目标,也是用i5的D-H参数进行建模,前期使用matlab机器人工具箱进行仿真,熟悉机械臂的运动学算法,之后再在实际的机械臂上实验。

参考资料

我使用的是matliab机器人工具箱,具体的一些功能和操作可以参考:

清华大学出版社的《机器人仿真与编程技术》一书

以及我之前关于matlab机器人工具箱的7篇博文:

链接: 第一篇.等

建模

D-H参数

首先我们找到aubo_i5的D-H参数:

主要的参数d与a存入到matlab变量中

d1 = 0.122

d2 = 0.1215

a2 = 0.408

a3 = 0.376

d5 = 0.1025

d6 = 0.094

建关节

先熟悉Link:

>> Link

ans =

Revolute(std): theta=q, d=0, a=0, alpha=0, offset=0

根据D-H参数建立6个关节:

L(1)=Link([pi,d1,0,0],'modified')

L(2)=Link([-pi/2,d2,0,-pi/2],'modified')

L(3)=Link([0,0,a2,pi],'modified')

L(4)=Link([-pi/2,0,a3,pi],'modified')

L(5)=Link([0,d5,0,-pi/2],'modified')

L(6)=Link([0,d6,0,pi/2],'modified')

建立机器人

robot =SerialLink(L,'name','aubo_i5')

求初始机械臂状态,并显示

T = robot.fkine([0 0 0 0 0 0 ])

title("T")

robot.plot([0 0 0 0 0 0 ])

效果图:

并且末端位姿为:

T =

1 0 0 0.784

0 0 1 0.2155

0 -1 0 0.0195

0 0 0 1

改进

但是到这里,我发现末端的姿态并不对,位置信息中x轴信息(0.784)不应该存在。机械臂各个Link中的theta似乎没有其作用。我自己尝试在定义Link的时候改变theta值,发现确实不起作用,只有在fkine求运动学正解的时候赋值(pi,-pi/2,0,-pi/2,0, 0)才会改变theta:

末端姿态也变成:

T =

1 0 0 0

0 0 -1 -0.2155

0 1 0 1.008

0 0 0 1

这会带来一个问题,实际电机的零位和模型零位不一致。看了Link的定义,发现theta的初始化受到offset的影响,除了前面的4个参数theta, d, a, alpha。第五个是关节类型,0为旋转,第六个就是offset,所以改变定义link的方式:

L(1)=Link([pi,d1,0,0,0,pi],'modified')

L(2)=Link([pi/2,d2,0,-pi/2,0,-pi/2],'modified',-pi/2)

L(3)=Link([0,0,a2,pi],'modified')

L(4)=Link([0,0,a3,pi,0,-pi/2],'modified',-pi/2)

L(5)=Link([0,d5,0,-pi/2],'modified')

L(6)=Link([0,d6,0,pi/2],'modified')

使得Link的参数变为:

robot =

aubo_i5:: 6 axis, RRRRRR, modDH, slowRNE

+---+-----------+-----------+-----------+-----------+-----------+

| j | theta | d | a | alpha | offset |

+---+-----------+-----------+-----------+-----------+-----------+

| 1| q1| 0.122| 0| 0| 3.14159|

| 2| q2| 0.1215| 0| -1.5708| -1.5708|

| 3| q3| 0| 0.408| 3.14159| 0|

| 4| q4| 0| 0.376| 3.14159| -1.5708|

| 5| q5| 0.1025| 0| -1.5708| 0|

| 6| q6| 0.094| 0| 1.5708| 0|

+---+-----------+-----------+-----------+-----------+-----------+

此时各个关节为0时,末端的位姿为:

T =

1 0 0 0

0 0 -1 -0.2155

0 1 0 1.008

0 0 0 1

至此初步建机器人模型成功

另一种建模

matlab可以直接读取URDF文件进行建模:

robot = importrobot('aubo_i5.urdf')

show(robot )

aubo的urdf模型和模型文件在git上:

链接: aubo_description.

在aubo_robot/aubo_description/里面有urdf和模型文件,如果用matlab读取urdf,需要把urdf中mesh filename属性修改,指到本地存mesh文件的地方。

修改后运行:

具体的可以看我matlab工具箱的第8篇文章

链接: 通过URDF建立机器人模型.

matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型相关推荐

  1. 用matlab和RTB做二连杆机械臂动力学建模

    文章目录 写在前面 二连杆机械臂 RTB建模 仿真与验证 源代码 写在前面 本文使用的工具为matlab以及Peter Corke的RTB(Robotics Toolbox).基于RTB 10.3.1 ...

  2. 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法

    Newton Euler算法 参考 思路(参考丁教授第二讲ppt) 矢量在不同坐标系下的转换关系 速度的递推 重心处的力和力矩 力的递推 完整公式 代码 参考 北航丁希仑教授的机器人动力学课件: 检出 ...

  3. vrep和matlab,VREP与MATLAB联合仿真程序--UR5机械臂动力学控制

    [实例简介] VREP与MATALB联合仿真,针对UR5机械臂进行PD加重力补偿控制. [实例截图] [核心代码] UR5_TEST_VREP └── UR5_TEST_VREP ├── Bloque ...

  4. 机械臂动力学建模(4)- Lagrangian拉格朗日算法

    Lagrangian算法 参考 思路 实现 参考 哈密顿原理和拉格朗日的推导: 第六章拉格朗日动力学. 书籍: 机械工业出版社的<机器人学导论>145页开始 <Rigid Body ...

  5. 机械臂机器人——使用Matlab Robotic ToolBox建立四轴机械臂模型并实现运动控制仿真

    文章目录 四轴机械臂实物 Robotic ToolBox机械臂建模 1.建立机械臂的D-H表 建立机械臂坐标系 根据坐标系建立D-H表 2.代码建模 机械臂运动学仿真 1.正运动学仿真 2.逆运动学仿 ...

  6. Matlab机械臂综合仿真平台,包含运动学、动力学和控制。 MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等

    Matlab机械臂综合仿真平台,包含运动学.动力学和控制. MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等 gui控制仿真平台PUMA机器人 robotics toolb ...

  7. adams matlab 联仿 5DOF机械臂 建模以及联合仿真

    adams matlab 联仿 5DOF机械臂 建模以及联合仿真 模型搭建 人类手臂活动限制 Adams 力矩设置 控制模型 联仿之坑 1. 初始化错误 2. S-function 错误 3. 仿真到 ...

  8. matlab adams 机械臂,基于ADAMS与MATLAB/SIMULINK的二杆机械臂动力学仿真与验证

    川七 一 , , , 乓 基于 与 的二杆机械臂动力学仿真与验证 贾雪峰' , 宋洪军' , 荣学文 , 李贻斌 山东农业大学机械与电子工程学院 , 山东泰安 , 一 ] 」 山东大学控制科学与工程学 ...

  9. matlab 机械臂动力学

    机械臂动力学解决的问题: 1. 正动力学: 已知一个力矩τ,计算出操作臂的运动θ dθ ddθ ,用于模型仿真有用. 2. 逆动力学:已知轨迹点θ/dθ/ddθ ,求出期望的关节力矩矢量τ,用于机械臂 ...

  10. matlab阻抗控制仿真,机械臂阻抗控制与仿真研究.PDF

    机械臂阻抗控制与仿真研究 机械臂阻抗控制与仿真研究 Manipulator impedance control and simulation 高添泉* 乔枫 周旋 赵雨 沈阳建筑大学 信息与控制工程学 ...

最新文章

  1. 手动删除oracle 归档文件,Oracle手动删除归档日志厚,出现ORA-19571错误
  2. 控件设置相对位置_惊人的Divi转换控件!
  3. redis集群断电数据怎么恢复_如何做到 10T 集群数据安全备份、1GB/s 快速恢复?...
  4. 精读《如何编译前端项目与组件》
  5. Optimization of Machine Learning
  6. Markdown生成左边框目录
  7. 小米note2鸿蒙ROM,小米Note2官方原版系统rom线刷刷机包_小米Note2线刷官方包
  8. html5 中国地图统计图,html5 echarts中国地图网络销售分布图表代码
  9. 优化计算机组策略,Windows 10神州网信版优化
  10. php测线路网速,php 测试网速
  11. 服务器系统2008恢复,win2003升级为win2008、win2012保留数据重装恢复数据说明
  12. Windows10官网原版系统下载地址汇总
  13. STM32CubeMX学习笔记(25)——FatFs文件系统使用(操作SPI Flash)
  14. CV7 颜色追踪和图像阈值
  15. 【iOS】—— 工厂设计模式
  16. BioPython(一)
  17. 华为AP固件升级方法 (适用 4051TN系列AP)
  18. 2021教师副高考试成绩查询,2021年教师资格证考试成绩查询入口
  19. 10【matplotlib常用统计图】02绘制条形图
  20. PYQT5 Painter的简单入门

热门文章

  1. 解析offsetHeight,clientHeight,scrollHeight之间的区别
  2. 快手视频下载和转发工具
  3. 浅析小米登录/注册页面(原生)
  4. 能源消耗总量计算公式_能源统计
  5. radius认证服务器无响应,squid radius认证“RADIUS服务器没有响应”
  6. c99和c++11相互调用
  7. 【快速测试】TF02-i-CAN通过CAN分析仪与电脑通信操作教程
  8. DROOL 5分钟上手Case
  9. Simply Fortran 保姆级教程
  10. Springer期刊LaTeX模板的一些问题