matlab中ikines函数的应用?

SCADQ1999 2020-03-04 01:50:05
我想创造一个二自由度的双杆机器人,
我在写函数的时候发现在逆运动学的时候跳出
Number of robot DOF must be >= the same number of 1s in the mask matrix这个提示。在查找后发现是因为ikines的自由度太多需要用mask约束一下,于是进行改进
代码如下:

L1=Link([0 0 2 0 0]);
L2=Link([0,0,1,0,0]); //两杆长度为2和1,初始位置在x轴上
r1=SerialLink([L1 l2]);
theta=[pi/6 pi/6]; //两杆转角都为pi/6
p=r1.fkine(theta); //先求正运动学

p.display();


p =
0.5000 -0.8660 0 2.232
0.8660 0.5000 0 1.866
0 0 1 0
0 0 0 1 //获得坐标


//这里其实我想同时获得姿态角,但是不知道如何操作
t=transl(2.2321,1.8660,pi/3); //这里想反代回去,角度没求出来但是已知了
q1=r1.ikine(t,[0 0],[1 1 0 0 0 0]); //我也设置了原始点为[0 0],mask矩阵也是两个1,机构也是两个自由度,不知道为什么还是会跳出来上文所述的提示。

求求各位大神教教小学渣,不胜感激
...全文
722 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

249

社区成员

发帖
与我相关
我的任务
社区描述
其他产品/厂家
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧