EDA365电子论坛网

标题: 逆运动学求解ikine [打印本页]

作者: zaiyiaaaa    时间: 2020-9-30 14:28
标题: 逆运动学求解ikine
matlab robotics toolbox的逆运动学求解ikine为题。% q# W+ r5 D; v( \0 u$ _: J
代码如下:
& B2 F4 I1 A) @1 Uclear all;! t8 k" u4 W8 \, X' |8 P" s
clc;* W: s$ `7 u# @$ _# D7 K. @
startup_rvc;: b/ n; Y( Q& k. c- Q1 y8 f
L(1) = Link([0,0.194,0.45,0,0]);( E4 K% j; V$ Z- {
L(1).qlim=([-130*pi/180,130*pi/180]);3 D0 l2 |2 A" u
L(2) = Link([0,0.072,0.35,0,0]);
3 u9 x, x$ u# u. L& OL(2).qlim=([-5*pi/6,5*pi/6]);) S; o' A1 d1 F9 n2 p
L(3) = Link([0,0,0,0,1]);* g3 ]$ q- ]4 Y+ Q& [7 w; s
L(3).qlim=[0,0.5];   3 E( p% g8 P5 l7 n6 [% f- g& y" d0 V
L(4) = Link([0,0,0,0,0]);
0 P8 L5 D/ V. q9 h+ o4 ^, `0 vL(4).qlim=([-pi,pi]);
: S, _! n" y: ]3 |8 ?bot = SerialLink(L);   %连接连杆5 E$ m( D$ k2 Q: N$ ~9 J
bot.name='SCARA';
* y& R; G; r3 @  f  B, p" Ybot.display()         %显示D-H参数表
( i. o. m. \$ n8 m4 `4 B6 n0 g/ obot.teach()
* R: _# g( }# Q, Z: }" ^: F8 X$ k
T=[-0.2588 0.9659 0 0.1344;-0.9659 -0.2588 0 0.7278;0 0 1 0.366;0 0 0 1]2 \$ s* l+ y0 q1 t+ [; @0 O9 I
inverse_kinematics=bot.ikine(T) %逆向运动学. 这个逆解为啥就是不能求?????
' {. v. I- c8 M3 j8 A' [# [" E) [, ]2 r2 s! x9 j6 [, w

# c. @( e, M9 f3 e3 itheta1=inverse_kinematics(1);- t1 g/ `) U; L6 p, e3 h2 L! A- F
theta2=inverse_kinematics(2);
; v0 }6 A# X) A4 a+ C8 I/ m7 Wd=inverse_kinematics(3);
8 ~# B& M: j0 H) xtheta4=inverse_kinematics(4);
/ g! q" F* K) vforward_kinematics=bot.fkine([theta1 theta2 d theta4])
& e9 a0 S7 i1 N. c错误信息:
* F4 j& V# {; W: x! n8 tError using SerialLink/ikine (line 164)
( e7 r8 e+ k8 sNumber of robot DOF must be >= the same number of 1s in the mask matrix9 I+ [3 A7 V6 E4 _5 J$ \8 r

" @' r& _; ]. H. E" S# V  m. b. ~Error in ikine (line 19)4 D: V, w3 B, B
inverse_kinematics=bot.ikine(T)
8 x+ R& r7 q2 _, K8 X, X/ m% h% Y

% o+ P% W: B( K( X2 B' Y8 y" d, R" f. q  S$ m
想问下大家这个错误信息的自由度问题怎么解决? 8 l5 w9 M- h! x( {

作者: shuddkk    时间: 2020-9-30 15:31
默认6自由度,如果少于6自由度逆解,需要用M参数忽略转角  T; [+ y. M* p  H$ Q6 h& J& b
ikine(robot,T,Q,M)
作者: Uifhjvv    时间: 2020-9-30 16:18
关节3是移动关节吗,如果是的话那一行不应该这么写,其次是四关节可能不是任何点都能到达,可以换个点试一试,还有就是如果要支持移动关节的逆解就要升级robotics toolbox到9.10以后的版本可能不会出错
1 h; f0 p( \/ @1 o% k( U" [0 w; N2 Y% X
作者: pTDbn25    时间: 2020-10-9 13:41
来学习一下
作者: cichishia    时间: 2020-10-9 13:49
Uifhjvv 发表于 2020-9-30 16:181 F* E" l$ v1 ?# t6 c# F
关节3是移动关节吗,如果是的话那一行不应该这么写,其次是四关节可能不是任何点都能到达,可以换个点试一 ...
+ P9 m" M1 i' r) l3 R
请问如果第三关节是移动的话,ikine函数应该怎么写?
/ s+ o( v) X- A- x# t. {




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2