Matlab Robotic Toolbox V9.10工具箱(四):常用函数

来源:互联网 发布:淘宝商品降价通知 编辑:程序博客网 时间:2024/06/06 02:00

机器人工具箱 V9.10 有很多函数,对于一般的简单进行建模、仿真常用的函数如下:

建立机器人:

LinkSerialLink. nameSerialLink. plotSerialLink.display

运动学:

SerialLink.A   s = R.A(jlist, q) %返回 jlist 关节的齐次矩阵,关节变量为 qSerialLink.trchainSerialLink.getposq = R.getpos(), %返回图形中机器人在当前位置是的各关节角度SerialLink.fkineT = R.fkine(q, options),%求正运动学,options 可设置为‘deg’

逆运动学:

SerialLink.ikine6sq = R.ikine6s(T),%求带有球形腕的六自由度机器人逆运动学SerialLink.ikineq = R.ikine(T) %逆运动学q = R.ikine(T, q0, options),%逆运动学,可用于大于或等于6关节的机器人SerialLink.ikine3q = R.ikine3(T), %求没有腕关节的机器人(三自由度)逆运动学SerialLink.ikine_symq = R.IKINE SYM(k, options),%求末端位姿矩阵为symbolic matrix 类型的逆运动学

雅可比矩阵:

SerialLink.jacob0j0 = R.jacob0(q, options),%求雅可比矩阵,在世界坐标系下V = j0*QDSerialLink.jacobnjn = R.jacobn(q, options),%求雅可比矩阵,在末端操作器空间中V = jn*QDSerialLink.jacob_dotjdq = R.jacob_dot(q, qd),%求雅可比矩阵的微分XDD = J(q)QDD + JDOT(q)qd

动力学:

SerialLink.paytau = R.PAY(w, J),%根据末端负重w和雅可比矩阵j,求关节力tau = R.PAY(q, w, f),%根据末端负重w和关节变量为q雅可比矩阵,求关节力。f=0,世界坐标系。f=1,末端关节坐标系。tau = J'wSerialLink.paycap [wmax,J] = R.paycap(q, w, f, tlim),%求关节变量为q,有效负荷为w,关节能承受的参考力为tlim时,末端允许的最大力 wmax,和此时达到力极限的关节JSerialLink.payloadR.payload(m, p),%在末端关节坐标系下,坐标为p处,添加质量为m的负荷SerialLink.dyn ,%返回动力学参数SerialLink.rnetau = R.rne(q, qd, qdd),%逆动力学,达到预定的(q, qd, qdd),所需要的力tautau = R.rne(q, qd, qdd, grav, fext),%逆动力学,达到预定的q, qd, qdd),重力加速度为grav,末端受力为fext,各关节所需要的力tauSerialLink.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)

1 0
原创粉丝点击