




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Matlab Robotic Toolbox工具箱学习笔记(一)软件:matlab2013a工具箱:Matlab Robotic Toolbox v9.8Matlab Robotic Toolbox工具箱学习笔记根据Robot Toolbox demonstrations目录,将分三大部分阐述:1、General(Rotations,Transformations,Trajectory)2、Arm(Robot,Animation,Forwarw kinematics,Inverse kinematics,Jacobians,Inverse dynamics,Forward dynamics,S
2、ymbolic,Code generation)3、Mobile(Driving to a pose,Quadrotor,Braitenberg,Bug,D*,PRM,SLAM,Particle filter)General/Rotations%绕x轴旋转pi/2得到的旋转矩阵(1)r = rotx(pi/2);%matlab默认的角度单位为弧度,这里可以用度数作为单位(2)R = rotx(30, deg) * roty(50, deg) * rotz(10, deg);%求出R等效的任意旋转变换的旋转轴矢量vec和转角theta(3)theta,vec = tr2angvec(R);%旋转
3、矩阵用欧拉角表示,R = rotz(a)*roty(b)*rotz(c)(4)eul = tr2eul(R);%旋转矩阵用roll-pitch-yaw角表示, R = rotx(r)*roty(p)*rotz(y)(5)rpy = tr2rpy(R);%旋转矩阵用四元数表示(6)q = Quaternion(R);%将四元数转化为旋转矩阵(7)q.R;%界面,可以是“rpy”,“eluer”角度单位为度。(8)tripleangle(rpy);General/Transformations%沿x轴平移0.5,绕y轴旋转pi/2,绕z轴旋转-pi/2(1)t = transl(0.5, 0.0,
4、 0.0) * troty(pi/2) * trotz(-pi/2)%将齐次变换矩阵转化为欧拉角(2)tr2eul(t)%将齐次变换矩阵转化为roll、pitch、yaw角(3) tr2rpy(t)General/Trajectoryclear;clc;p0 = -1;% 定义初始点及终点位置p1 = 2;p = tpoly(p0, p1, 50);% 取步长为50figure(1);plot(p);%绘图,可以看到在初始点及终点的一、二阶导均为零p,pd,pdd = tpoly(p0, p1, 50);%得到位置、速度、加速度%p为五阶多项式,速度、加速度均在一定范围内figure(2);s
5、ubplot(3,1,1); plot(p); xlabel(Time); ylabel(p);subplot(3,1,2); plot(pd); xlabel(Time); ylabel(pd);subplot(3,1,3); plot(pdd); xlabel(Time); ylabel(pdd);%另外一种方法:p,pd,pdd = lspb(p0, p1, 50);figure(3);subplot(3,1,1); plot(p); xlabel(Time); ylabel(p);subplot(3,1,2); plot(pd); xlabel(Time); ylabel(pd);%
6、可以看到速度是呈梯形subplot(3,1,3); plot(pdd); xlabel(Time); ylabel(pdd);%三维的情况:p = mtraj(tpoly, 0 1 2, 2 1 0, 50);figure(4);plot(p)%对于齐次变换矩阵的情况T0 = transl(0.4, 0.2, 0) * trotx(pi);% 定义初始点和目标点的位姿T1 = transl(-0.4, -0.2, 0.3) * troty(pi/2) * trotz(-pi/2);T = ctraj(T0, T1, 50);first=T(:,:,1);%初始位姿矩阵tenth=T(:,:,1
7、0);%第十个位姿矩阵figure(5);tranimate(T);%动画演示坐标系自初始点运动到目标点的过程Matlab Robotic Toolbox工具箱学习笔记(二)Arm/Robots机器人是由多个连杆连接而成的,机器人关节分为旋转关节和移动关节。创建机器人的两个最重要的函数是:Link和SerialLink。1、Link类一个Link包含了机器人的运动学参数、动力学参数、刚体惯性矩参数、电机和传动参数。操作函数:%A连杆变换矩阵%RP关节类型: R或 P%friction摩擦力%nofriction摩擦力忽略%dyn显示动力学参数%islimit测试关节是否超出软限制%isrevo
8、lute测试是否为旋转关节%isprismatic测试是否为移动关节%display连杆参数以表格形式显示%char转为字符串运动学参数:%theta关节角度%d连杆偏移量%a连杆长度%alpha连杆扭角%sigma旋转关节为0,移动关节为1%mdh标准的D&H为0,否则为1%offset关节变量偏移量%qlim关节变量范围min max动力学参数:%m连杆质量%r连杆相对于坐标系的质心位置3x1%I连杆的惯性矩阵(关于连杆重心)3x3%B粘性摩擦力(对于电机)1x1或2x1%Tc库仑摩擦力1x1或2x1电机和传动参数:%G齿轮传动比%Jm电机惯性矩(对于电机)2、SerialLink类操作函
9、数:%plot以图形形式显示机器人%teach驱动机器人%isspherical测试机器人是否有球腕关节%islimit测试机器人是否抵达关节极限%fkine前向运动学求解%ikine6s6旋转轴球腕关节机器人的逆向运动学求解%ikine33旋转轴机器人的逆向运动学求解%ikine采用迭代方法的逆向运动学求解%jacob0在世界坐标系描述的雅克比矩阵%jacobn在工具坐标系描述的雅克比矩阵%maniplty可操纵性度%jtraj关节空间轨迹%accel关节加速度%coriolis关节柯氏力%dyn显示连杆的动力学属性%fdyn关节运动%friction摩擦力%gravload关节重力%ine
10、rtia关节惯性矩阵%nofriction设置摩擦力为0%rne关节的力/力矩%payload在末端坐标系增加负载%perturb随机扰动连杆的动力学参数属性:%links连杆向量(1xN)%gravity重力的方向gx gy gz%base机器人基座的位姿(4x4)%tool机器人的工具变换矩阵 T6 to tool tip (4x4)%qlim关节范围qmin qmax (Nx2)%offset偏置(Nx1)%name机器人名字(在图形中显示)%manuf注释, 制造商名%comment注释, 总评%plotoptoptions for plot() method (cell array)
11、%n关节数%config机器人结构字符串,例如 RRRRRR%mdh运动学中约定的布尔数 (0=DH, 1=MDH)怎样创建一个机器人?%Link调用格式:%(1) L = Link() 创建一个带默认参数的连杆(2)L = Link(L1)复制连杆L1(3)L = Link(OPTIONS) 创建一个指定运动学、动力学参数的连杆OPTIONS可以是:% theta,THjoint angle, if not specified joint is revolute% d,Djoint extension, if not specified joint is prismatic% a,Ajoin
12、t offset (default 0)% alpha,Ajoint twist (default 0)% standarddefined using standard D&H parameters (default).% modifieddefined using modified D&H parameters.% offset,Ojoint variable offset (default 0)% qlim,Ljoint limit (default )% I,Ilink inertia matrix (3x1, 6x1 or 3x3)% r,Rlink centre of gravity
13、 (3x1)% m,Mlink mass (1x1)% G,Gmotor gear ratio (default 0)% B,Bjoint friction, motor referenced (default 0)% Jm,Jmotor inertia, motor referenced (default 0)% Tc,TCoulomb friction, motor referenced (1x1 or 2x1), (default 0 0)% revolutefor a revolute joint (default)% prismaticfor a prismatic joint p%
14、 standardfor standard D&H parameters (default).% modifiedfor modified D&H parameters.% symconsider all parameter values as symbolic not numeric注:不能同时指定“theta”和“d”连杆的惯性矩阵(3x3)是对称矩阵,可以写成3x3矩阵,也可以是Ixx Iyy Izz Ixy Iyz Ixz所有摩擦均针对电机而不是负载齿轮传动比只用于传递电机的摩擦力和惯性矩给连杆坐标系。%SerialLink调用格式:%(1)R = SerialLink(LINKS,
15、OPTIONS),OPTIONS可以是:name、comment、manufacturerbase、tool、gravity、plotopt(2)R = SerialLink(DH, OPTIONS),矩阵DH的构成:每个关节一行,每一行为theta d a alpha(默认为旋转关节),第五列(sigma)为可选列,sigma=0(默认)为旋转关节,sigma=1为移动关节(3) R = SerialLink(OPTIONS) 没有连杆的机器人(4)R = SerialLink(R1 R2 ., OPTIONS) 机器人连接, 将R2的基座连接到R1的末端.(5)R = SerialLink
16、(R1, options) 复制机器人R1%L1 = Link(d, 0, a, 1, alpha, pi/2);%定义连杆1,没有写theta说明theta为关节变量L1.a;%查看a的值L1.d;%查看d的值%还可以L1.RP,L1.display,L1.mdh,L1.isprismatic,L1.isrevolute等等,这样就可以查看一些默认值L2 = Link(d, 0, a, 1, alpha, 0);bot = SerialLink(L1 L2, name, my robot);bot.n;%查看连杆数目bot.fkine(0.1 0.2);%前向运动学bot.plot(0.1
17、0.2);%绘制机器人定义完连杆和机器人便可以求机器人前和逆向运动学、动力学等等。L1.参数或属性():查看连杆的参数或属性L1.操作函数(参数):操作连杆参数bot.属性():查看机器人的属性bot.操作函数(参数):操作机器人,可以进行前向、逆向运动学求解等实例:Stanford ManipulatorD-H参数表:clear;clc;L1 = Link(d, 0, a, 0, alpha, -pi/2);%定义连杆L2 = Link(d, 1, a, 0, alpha, pi/2);L3 = Link(theta, 0, a, 0, alpha, 0);L4 = Link(d, 0, a
18、, 0, alpha, -pi/2);L5 = Link(d, 0, a, 0, alpha, pi/2);L6 = Link(d, 1, a, 0, alpha, 0);bot = SerialLink(L1 L2 L3 L4 L5 L6);%连接连杆bot.display();%显示D-H参数表forward_kinematics=bot.fkine(-0.2 0.1 10 0.1 1 2)%前向运动学求出末端的齐次变换矩阵:clear;clc;L1 = Link(d, 0, a, 0, alpha, -pi/2,sym);%定义连杆L2 = Link(d, d2, a, 0, alpha
19、, pi/2,sym);L3 = Link(theta, 0, a, 0, alpha, 0,sym);L4 = Link(d, 0, a, 0, alpha, -pi/2,sym);L5 = Link(d, 0, a, 0, alpha, pi/2,sym);L6 = Link(d, d6, a, 0, alpha, 0,sym);bot = SerialLink(L1 L2 L3 L4 L5 L6);%连接连杆syms theta1 theta2 d3 theta4 theta5 theta6;forward_kinematics=bot.fkine(theta1 theta2 d3 th
20、eta4 theta5 theta6)%前向运动学Stanford arm的运动学逆解:clear;clc;clear L%thdaalphaL(1) = Link( 000-pi/20);%定义连杆L(2) = Link( 010pi/20);L(3) = Link( 00001);L(4) = Link( 000-pi/20);L(5) = Link( 000pi/20);L(6) = Link( 01000);bot = SerialLink(L, name, Stanford arm);%连接连杆T=transl(1,2,3)*trotz(60,deg)*troty(30,deg)*t
21、rotz(90,deg)inverse_kinematics=bot.ikine(T,pinv);%逆向运动学theta1=inverse_kinematics(1);theta2=inverse_kinematics(2);d3=inverse_kinematics(3);theta4=inverse_kinematics(4);theta5=inverse_kinematics(5);theta6=inverse_kinematics(6);forward_kinematics=bot.fkine(theta1 theta2 d3 theta4 theta5 theta6)%前向运动学,验证结果的准确性.%求解结果为T与forward_kinematics一致。正确。求解Stanford arm在世界坐标系描述
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030年中国板材铣型眼镜架数据监测研究报告
- 2025至2030年中国机车电动架车机市场调查研究报告
- 2025至2030年中国普通传输送带行业发展研究报告001
- 2025至2030年中国日本豆市场分析及竞争策略研究报告001
- 2025至2030年中国无纺土工布市场分析及竞争策略研究报告001
- 2025至2030年中国无头螺丝数据监测研究报告
- 2025至2030年中国旅游度假村市场分析及竞争策略研究报告
- 2025至2030年中国数字式变压器后备保护装置行业投资前景及策略咨询报告
- 怎样培养孩子每日读书
- 2025年春初中地理七年级下册人教版教案设计 第十章第二节 第2课时
- 幼升小必练20以内加减法练习试题打印版
- 2024年四川省成都市“蓉漂”人才荟武候区招聘23人历年(高频重点提升专题训练)共500题附带答案详解
- 农村生活污水治理提升工程-初步设计说明
- 财政投资评审咨询服务预算和结算评审项目投标方案(技术标)
- 学校食品安全工作领导小组及具体职责分工
- 一年级语文下册《荷叶圆圆》课件
- 旅游概论(刘伟主编)(全国高职高专旅游类“十二五”示范教材) 全套课件(中)
- 2023年中国疾病预防控制中心招聘应届高校毕业生考试真题及答案
- 2024年建筑业10项新技术
- 建设工程检测报告编制导则DB64-T1685-2020
- 项目干系人与干系人管理
评论
0/150
提交评论