Robotics Toolbox :(4)常用函数

转载自这里

建立机器人:

Link

SerialLink. name

SerialLink. plot

SerialLink.display

运动学:

SerialLink.A   

s = R.A(jlist, q) %返回 jlist 关节的齐次矩阵,关节变量为 q

SerialLink.trchain


SerialLink.getpos

q = R.getpos(), %返回图形中机器人在当前位置是的各关节角度

SerialLink.fkine

T = R.fkine(q, options),%求正运动学,options 可设置为‘deg’

逆运动学:

SerialLink.ikine6s

q = R.ikine6s(T),%求带有球形腕的六自由度机器人逆运动学

SerialLink.ikine

q = R.ikine(T) %逆运动学

q = R.ikine(T, q0, options),%逆运动学,可用于大于或等于6关节的机器人

SerialLink.ikine3

q = R.ikine3(T), %求没有腕关节的机器人(三自由度)逆运动学

SerialLink.ikine_sym

q = R.IKINE SYM(k, options),%求末端位姿矩阵为symbolic matrix 类型的逆运动学

雅可比矩阵:

SerialLink.jacob0

j0 = R.jacob0(q, options),%求雅可比矩阵,在世界坐标系下

V = j0*QD

SerialLink.jacobn

jn = R.jacobn(q, options),%求雅可比矩阵,在末端操作器空间中

V = jn*QD

SerialLink.jacob_dot

jdq = R.jacob_dot(q, qd),%求雅可比矩阵的微分

XDD = J(q)QDD + JDOT(q)qd

动力学:

SerialLink.pay

tau = R.PAY(w, J),%根据末端负重w和雅可比矩阵j,求关节力

tau = R.PAY(q, w, f),%根据末端负重w和关节变量为q雅可比矩阵,求关节力。f=0,世界坐标系。f=1,末端关节坐标系。

tau = J'w

SerialLink.paycap

 [wmax,J] = R.paycap(q, w, f, tlim),%求关节变量为q,有效负荷为w,关节能承受的参考力为tlim时,末端允许的最大力 wmax,和此时达到力极限的关节J

SerialLink.payload

R.payload(m, p),%在末端关节坐标系下,坐标为p处,添加质量为m的负荷

SerialLink.dyn ,%返回动力学参数

SerialLink.rne

tau = R.rne(q, qd, qdd),%逆动力学,达到预定的(q, qd, qdd),所需要的力tau

tau = R.rne(q, qd, qdd, grav, fext),%逆动力学,达到预定的q, qd, qdd),重力加速度为grav,末端受力为fext,各关节所需要的力tau

SerialLink.fdyn

[T,q,qd] = R.fdyn(T, torqfun)

%时间[0,T], 返回时间、位置、速度,关节初始位置和速度为0。关节上的力矩用户提供的函数提供:

TAU = TORQFUN(T, Q, QD)

%力矩是时间、位置、速度的函数。

[ti,q,qd] = R.fdyn(T, torqfun, q0, qd0)

在力矩函数中,可以自定义参数:

[T,q,qd] = R.fdyn(T1, torqfun, q0, qd0, ARG1, ARG2, ...) 
TAU = TORQFUN(T, Q, QD, ARG1, ARG2, ...) 

例如,对PD 控制

function tau = mytorqfun(t, q, qd, qstar, P, D) 
tau = P*(qstar-q) + D*qd; 

调用格式为:

[t,q] = robot.fdyn(10, @mytorqfun, qstar, P, D) 

猜你喜欢

转载自blog.csdn.net/qq_27838307/article/details/80715179