机器人动力学是机器人学中最核心的部分,也是机器人力控制的基础。 matlab Robotics Toolbook 工具箱中有具体的动力学计算函数: 已知各关节上电机提供的力,求对应的各关节的角度、角速度、角加速度等信息。 用到的函数是:SerialLink.fdyn 具体的调用格式: [ T ,q,qd] = R.fdyn( T , torqfun) T 表示时间间隔,就是采样时间。根据给定的力矩函数 torqfun,求各关节的 q,qd 也可以设定关节角度、角速度的初值,并且确定力矩函数中所含的参数,如下 [ T ,q,qd] = R.fdyn( T , torqfun, q0, qd0, ARG1, ARG2, …) 如 PD 控制: [t,q] = robot.fdyn( 10 , @mytorqfun, qstar, P, D); function tau = mytorqfun (t, q, qd, qstar, P, D) tau = P * (qstar-q) + D * qd ; end 已知关节的角度、角速度、角加速度等信息,求各关节所需提供的力 用到的函数是:SerialLink.rne 具体的调用格式: tau = R.rne(q, qd, qdd) 根据给定的 q, qd, qdd,求个关节需要提供的 tau 如果机器人末端受到力的作用 fext