Robotics system toolbox中simulink相应模块计算实验

 前言:

        在https://blog.csdn.net/weixin_39090239/article/details/92432477中使用了MATLAB库函数进行了部分计算。simulink中同样封装了类似的block块,以下为实例介绍。

        参考:https://www.mathworks.com/help/robotics/manipulators.html?s_tid=CRUX_lftnav

1、主要涉及模块如下

1.1、Forward Dynamics

"正动力学"模块计算机器人模型的关节加速度,给定由关节扭矩、关节状态和外力组成的机器人状态。要获得关节加速度,计算需要指定机器人配置(关节位置)、关节速度、施加的扭矩和外力。

刚体树参数中将机器人模型指定为"RigidBodyTree对象,并在对象上设置"重力"属性。您还可以使用importrobot从 URDF(统一机器人描述形成)文件导入机器人模型.

以上的加速度求得值与下述一致:

1.2、gravityTorque

函数计算出的值与上面simulink截图模块中计算结果一致。

   

1.3、Get Jacobian

指定末端到关节空间的映射。

函数计算值也是一样的,如下:

1.4、Get Transformations

将'iiwa_link_ee'末端执行器中的坐标转换为“world”基础坐标。

函数计算结果一致:

1.5、Joint Space Mass Matrix

Joint Space Mass Matrix块计算给定配置的惯量矩阵(作为具有n-by-n大小的正定对称矩阵返回)

函数计算结果一致:

1.6、Velocity Product Torque

            消除速度引起的力的关节扭矩

速度乘积块计算由给定速度引起的扭矩。 通过将相同的速度传递给Inverse Dynamics块而不加速或外力来验证这些值。

函数计算结果同:

小结:以上为simulink中动力学封装的模块计算实验,如何利用上述构建机器人控制器是下一步需要做的。 到此,个人觉得这个机器人刚体树的class类尤其好使:  https://www.mathworks.com/help/robotics/ref/robotics.rigidbodytree-class.html

参考链接中的可以自己构建机器人刚体模型,进行相应计算等。

构建机器人控制器,如计算力矩控制器,前馈补偿控制器等,后续推出。

猜你喜欢

转载自blog.csdn.net/weixin_39090239/article/details/92593025
今日推荐