matlab机器人建立动力学模型,机械臂动力学建模(1)- 建立机器人模型
建立机器人模型)
机械臂
参考资料
建模
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)- 建立机器人模型相关推荐
- 用matlab和RTB做二连杆机械臂动力学建模
文章目录 写在前面 二连杆机械臂 RTB建模 仿真与验证 源代码 写在前面 本文使用的工具为matlab以及Peter Corke的RTB(Robotics Toolbox).基于RTB 10.3.1 ...
- 机械臂动力学建模(3)- Newton Euler牛顿欧拉算法
Newton Euler算法 参考 思路(参考丁教授第二讲ppt) 矢量在不同坐标系下的转换关系 速度的递推 重心处的力和力矩 力的递推 完整公式 代码 参考 北航丁希仑教授的机器人动力学课件: 检出 ...
- vrep和matlab,VREP与MATLAB联合仿真程序--UR5机械臂动力学控制
[实例简介] VREP与MATALB联合仿真,针对UR5机械臂进行PD加重力补偿控制. [实例截图] [核心代码] UR5_TEST_VREP └── UR5_TEST_VREP ├── Bloque ...
- 机械臂动力学建模(4)- Lagrangian拉格朗日算法
Lagrangian算法 参考 思路 实现 参考 哈密顿原理和拉格朗日的推导: 第六章拉格朗日动力学. 书籍: 机械工业出版社的<机器人学导论>145页开始 <Rigid Body ...
- 机械臂机器人——使用Matlab Robotic ToolBox建立四轴机械臂模型并实现运动控制仿真
文章目录 四轴机械臂实物 Robotic ToolBox机械臂建模 1.建立机械臂的D-H表 建立机械臂坐标系 根据坐标系建立D-H表 2.代码建模 机械臂运动学仿真 1.正运动学仿真 2.逆运动学仿 ...
- Matlab机械臂综合仿真平台,包含运动学、动力学和控制。 MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等
Matlab机械臂综合仿真平台,包含运动学.动力学和控制. MATLAB机器人仿真正逆运动学simulink轨迹规划 机械臂动力学控制等 gui控制仿真平台PUMA机器人 robotics toolb ...
- adams matlab 联仿 5DOF机械臂 建模以及联合仿真
adams matlab 联仿 5DOF机械臂 建模以及联合仿真 模型搭建 人类手臂活动限制 Adams 力矩设置 控制模型 联仿之坑 1. 初始化错误 2. S-function 错误 3. 仿真到 ...
- matlab adams 机械臂,基于ADAMS与MATLAB/SIMULINK的二杆机械臂动力学仿真与验证
川七 一 , , , 乓 基于 与 的二杆机械臂动力学仿真与验证 贾雪峰' , 宋洪军' , 荣学文 , 李贻斌 山东农业大学机械与电子工程学院 , 山东泰安 , 一 ] 」 山东大学控制科学与工程学 ...
- matlab 机械臂动力学
机械臂动力学解决的问题: 1. 正动力学: 已知一个力矩τ,计算出操作臂的运动θ dθ ddθ ,用于模型仿真有用. 2. 逆动力学:已知轨迹点θ/dθ/ddθ ,求出期望的关节力矩矢量τ,用于机械臂 ...
- matlab阻抗控制仿真,机械臂阻抗控制与仿真研究.PDF
机械臂阻抗控制与仿真研究 机械臂阻抗控制与仿真研究 Manipulator impedance control and simulation 高添泉* 乔枫 周旋 赵雨 沈阳建筑大学 信息与控制工程学 ...
最新文章
- 手动删除oracle 归档文件,Oracle手动删除归档日志厚,出现ORA-19571错误
- 控件设置相对位置_惊人的Divi转换控件!
- redis集群断电数据怎么恢复_如何做到 10T 集群数据安全备份、1GB/s 快速恢复?...
- 精读《如何编译前端项目与组件》
- Optimization of Machine Learning
- Markdown生成左边框目录
- 小米note2鸿蒙ROM,小米Note2官方原版系统rom线刷刷机包_小米Note2线刷官方包
- html5 中国地图统计图,html5 echarts中国地图网络销售分布图表代码
- 优化计算机组策略,Windows 10神州网信版优化
- php测线路网速,php 测试网速
- 服务器系统2008恢复,win2003升级为win2008、win2012保留数据重装恢复数据说明
- Windows10官网原版系统下载地址汇总
- STM32CubeMX学习笔记(25)——FatFs文件系统使用(操作SPI Flash)
- CV7 颜色追踪和图像阈值
- 【iOS】—— 工厂设计模式
- BioPython(一)
- 华为AP固件升级方法 (适用 4051TN系列AP)
- 2021教师副高考试成绩查询,2021年教师资格证考试成绩查询入口
- 10【matplotlib常用统计图】02绘制条形图
- PYQT5 Painter的简单入门
热门文章
- 解析offsetHeight,clientHeight,scrollHeight之间的区别
- 快手视频下载和转发工具
- 浅析小米登录/注册页面(原生)
- 能源消耗总量计算公式_能源统计
- radius认证服务器无响应,squid radius认证“RADIUS服务器没有响应”
- c99和c++11相互调用
- 【快速测试】TF02-i-CAN通过CAN分析仪与电脑通信操作教程
- DROOL 5分钟上手Case
- Simply Fortran 保姆级教程
- Springer期刊LaTeX模板的一些问题