matlab www.corobotic.com工具箱怎么进行4自由度机械臂运动学反解

robotics&toolbox&for&matlab的机器人仿真(四)
robotic toolbox for matlab工具箱下载地址:
4 运动学的正问题
利用Robotics Toolbox中的fkine函数可以实现机器人运动学正问题的求解。
其中fkine函数的调用格式:
TR = FKINE(ROBOT, Q)
参数ROBOT为一个机器人对象,TR为由Q定义的每个前向运动学的正解。
以PUMA560为例,定义关节坐标系的零点qz=[0
0 0 0 0 0],那么fkine(p560,qz)将返回最后一个关节的平移的齐次变换矩阵。如果有了关节的轨迹规划之后,我们也可以用fkine来进行运动学的正解。比如:
t=0:0.056:2; q=jtraj(qz,qr,t);
T=fkine(p560,q);
返回的矩阵T是一个三维的矩阵,前两维是4&4的矩阵代表坐标变化,第三维是时间。
5 运动学的逆问题
利用Robotics Toolbox中的ikine函数可以实现机器人运动学逆问题的求解。
其中ikine函数的调用格式:
Q = IKINE(ROBOT, T)
Q = IKINE(ROBOT, T, Q)
Q = IKINE(ROBOT, T, Q, M)
参数ROBOT为一个机器人对象,Q为初始猜测点(默认为0),T为要反解的变换矩阵。当反解的机器人对象的自由度少于6时,要用M进行忽略某个关节自由度。
有了关节的轨迹规划之后,我们也可以用ikine函数来进行运动学逆问题的求解。比如:
t=0:0.056:2; T1=transl(0.6,-0.5,0);
T2=transl(0.4,0.5,0.2); T=ctraj(T1,T2,length(t));
q=ikine(p560,T);
我们也可以尝试先进行正解,再进行逆解,看看能否还原。
Q=[0 &pi/4 &pi/4 0 pi/8 0]; T=fkine(p560,q);
qi=ikine(p560,T);
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。&& 查看话题
请问matlab的机器人工具箱可不可以求得机械臂的工作空间?
: Originally posted by 俟雨亭 at
可以 怎么做?有例子吗?谢谢 可以,给出DH参数后,根据机器人正运动学很容易求解出工作空间 : Originally posted by 优雅的懒鬼 at
可以,给出DH参数后,根据机器人正运动学很容易求解出工作空间 是用matlab吧,机器人工具箱没法求 : Originally posted by inbluesky at
是用matlab吧,机器人工具箱没法求... 那就编程直接用m函数人人网 - 抱歉
哦,抱歉,好像看不到了
现在你可以:
看看其它好友写了什么
北京千橡网景科技发展有限公司:
文网文[号··京公网安备号·甲测资字
文化部监督电子邮箱:wlwh@··
文明办网文明上网举报电话: 举报邮箱:&&&&&&&&&&&&基于MATLAB教学型机器人空间轨迹仿真_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于MATLAB教学型机器人空间轨迹仿真
上传于||暂无简介
阅读已结束,如果下载本文需要使用
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩3页未读,继续阅读
你可能喜欢3391人阅读
Matlab Robotic Toolbox工具箱学习笔记(一)
软件:matlab2013a
工具箱:Matlab Robotic Toolbox v9.8
Matlab Robotic Toolbox工具箱学习笔记根据Robot Toolbox demonstrations目录,将分三大部分阐述:
1、General(Rotations,Transformations,Trajectory)
2、Arm(Robot,Animation,Forwarw kinematics,Inverse kinematics,Jacobians,Inverse dynamics,Forward dynamics,Symbolic,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);
%旋转矩阵用欧拉角表示,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);
%将四元数转化为旋转矩阵
&%界面,可以是“rpy”,“eluer”角度单位为度。
(8)tripleangle('rpy');
General/Transformations
%沿x轴平移0.5,绕y轴旋转pi/2,绕z轴旋转-pi/2
&(1)t = transl(0.5, 0.0, 0.0) * troty(pi/2) * trotz(-pi/2)
%将齐次变换矩阵转化为欧拉角
(2)tr2eul(t)
%将齐次变换矩阵转化为roll、pitch、yaw角
(3) tr2rpy(t)
General/Trajectory
p0 = -1;% 定义初始点及终点位置
p = tpoly(p0, p1, 50);% 取步长为50
figure(1);
plot(p);%绘图,可以看到在初始点及终点的一、二阶导均为零
[p,pd,pdd] = tpoly(p0, p1, 50);%得到位置、速度、加速度
%p为五阶多项式,速度、加速度均在一定范围内
figure(2);
subplot(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');% 可以看到速度是呈梯形
subplot(3,1,3); plot(pdd); xlabel('Time'); ylabel('pdd');
%三维的情况:
p = mtraj(@tpoly, [0 1 2], [2 1 0], 50);
figure(4);
%对于齐次变换矩阵的情况
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(:,:,10);%第十个位姿矩阵
figure(5);
tranimate(T);%动画演示坐标系自初始点运动到目标点的过程
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:220822次
积分:3246
积分:3246
排名:第5768名
原创:68篇
转载:264篇
评论:16条
(3)(2)(9)(2)(7)(7)(2)(36)(10)(1)(4)(5)(4)(4)(1)(8)(8)(23)(20)(20)(2)(5)(25)(9)(8)(16)(10)(32)(4)(14)(5)(3)(8)(16)}

我要回帖

更多关于 robotic toolbox 下载 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信