Robotic Toolbox 入门使用
一、配置环境
matlab机器人工具箱是澳大利亚Peter Corke等完成的基于matlab的机器人建模、仿真等工具箱,极大简化了机器人学初学者的代码量,使学习者可以将注意力放在算法应用上而不是基础而繁琐的底层建模上。[1].
- 下载安装包后(V9.10)解压到MATLAB-toolbox文件夹下
- 在MATLAB界面“设置路径”中添加解压后的文件夹
- 在命令行中运行“startup_rvc”安装工具箱
- 命令行输入“ver”检查工具箱“Robotics Toolbox ”是否安装成功(注意:不是Robotics System Toolbox!)
二、基本操作与功能
二维空间的位姿描述
T=se2(x,y,theta);
代表(x,y)的平移和theta角度的旋转trplot2(T);
画出相对世界坐标系的旋转矩阵TT=transl2(x,y) ;
二维空间中纯平移的齐次变换
建立机器人类型
-
Link类——搭建单个关节
R=Link([theta,d,a,alpha])
关节角、连杆偏距、连杆长度、连杆转角 -
SerialLink类——将各个关节组合起来
L=SerialLink(links,options)
三、demo(以作业6为例)
运动学——轨迹规划
traj1=jtraj(theta0,theta1,t1);
关节空间中的轨迹规划,给出时间、初始关节角和末端关节角即可得到机械臂运动轨迹
画出机械臂末端轨迹:
JTA1=transl(Robot.fkine(traj1));
plot2(JTA1,'b');
hold on;
动力学——控制算法
-
R.rne(q,qd,qdd) 根据角度、角速度、角加速度得到力/力矩
-
R.rne(q,qd,qdd,grav,fext) grav 重力加速度,fext 末端力和力矩
动力学方程
- M(q)——关节空间的惯性矩阵
- V(q,qd)——科氏力和向心力的耦合矩阵
- g(q)——重力载荷
- Robot.gravload([1 2 3 ...] )计算重力载荷 参数为位置
- Robot.inertia([1 2 3 ...] )关节空间惯性矩阵 参数为位置
- Robot.coriolis(q,qd) %给定位置和速度
- Robot.payload( ) 施加有效载荷
Simulink 部分
命令行中输入roblocks 打开功能模块
命令行中调出模型,且simulink中模块名字与机器人相同
P.I.Corke,Robotics,Vision&Control:FundamentalAlgorithmsinMATLAB.Secondedition.Springer,2017.ISBN978-3-319-54413-7. ↩︎