![93d796012deaee280382948431f5cc7e.png](https://img-blog.csdnimg.cn/img_convert/93d796012deaee280382948431f5cc7e.png)
写作说明:
1. 本文主要记录学习 Matlab - Robotics System Toolbox [1]的过程,就其中的一些重要知识点做相关记录。方便后期供自己与他人进行学习。
2. 由于 Matlab 官方只提供了该工具箱的部分示例,本系列文章将会在记录完所有的官方示例代码后,添加自己的一些机器人仿真代码,进行更多的开发尝试。
机器人建模与仿真
1 机器人模型
1.1 刚体结构树模型
刚体树模型是机器人结构的一种表示方式。你可以使用它来表示机器人,如机械臂或其他结构。使用 rigidBodyTree
对象创建这些模型。
刚体树由通过关节 rigidBodyJoint
连接的刚体 rigidBody
组成。每个刚体都有一个关节,该关节定义了该刚体相对于树中其父对象的移动方式。通过在每个关节上设置固定转换setFixedTransform
,指定从一个实体到下一个实体的转换。
整个的结构大致为:
- rigidBodyTree
- rigidBody
- rigidBodyJoint
- setFixedTransform
- rigidBody
- ...
在刚体树上,可以添加、替换或移除实体 rigidBody
。也可以替换特定实体的关节 rigidBodyJoint
。rigidBodyTree
对象用于维护各个 rigidBody
对象属性以及关联关系。可以使用 getTransform
获取这个关联关系。
1.1.1 刚体树的组成
- Base
- 每一个刚体树的基础,且每一个刚体树都必须有一个 base。
- base 定义了刚体树与世界坐标系的关系,定义了刚体树在世界上的位置。
- Rigid Body
- 刚体,主要是指机械臂的连杆结构。
- Joint
- 每一个 rigid body 关联一个 joint,决定了 rigid body 与其 parent rigid body 的关联关系。
- joint 有三大类。
- 固定关节(Fixed)
- 旋转关节(Revolute)
- 直线关节(Prismatic)
- Joint 可配置参数
- 关节坐标(Joint Axis)
- 原始位置(Home Position)
- 变换参数(Transformation)