1. 运动学树
KDL用树形结构来表示机器人的机构
而现代机器人通常用URDF模型来描述机器人运动学,所以KDL官方在ROS例编写了一个功能包kdl_praser,提供了从URDF中的XML文件来构造KDL树的工具
而使用这个包也很简单,直接使用apt安装后,
(1) CMakeLists:find_package
(2) package.xml:依赖
(3) 头文件引用
使用算法有四种,可以参考文献2,这里给出最简单的从file中读取URDF
2. 运动学类
这里汇总了运动学类中需要了解的hpp头文件
首先是机器人的三级机构
(1)由关节和连杆组成的最小单元segment
(2)由segment组成的核心单元chain,chain也是后续求解运动学和动力学的单元
(3)由chain组成的最高单元tree
KDL可以克服URDF描述串联机器人的不足(但是,我感觉还是不好使)
3. Segment成员
Segment类中四个重要的成员变量:name, Joint, Frame和RigidBodyInertia
四个重要的坐标系:
(1)reference坐标系(输入坐标系,上一个segment的输出坐标系)
(2)joint坐标系(通常与reference坐标系重合)
(3)cog坐标系(reference坐标系原点平移到质心)
(4)tip坐标系(输出坐标系,下一个segment的输入坐标系)
比较重要的是:旋转轴axis和关节位姿joint_pose
注意:固定关节(例如:基座)也可以表达
Get函数:由于都是public成员变量,所以直接可以得到
注意:质量,质心和转动惯量
Frame一般采用DH参数来描述
4. Segment类
注意构造函数与Get函数
以及三个重要的方法:
5. Chain
注意构造函数与Get函数
6. Tree
注意构造函数与Get函数
注意Tree的遍历算法
Reference
- http://wiki.ros.org/kdl_parser/Tutorials/Start%20using%20the%20KDL%20parser
- http://wiki.ros.org/urdf/XML/model
- https://blog.csdn.net/qq_27838307/article/details/80715277(Robotics Toolbox解读)
- https://orocos.org/wiki/main-page/kdl-wiki/user-manual/kinematic-trees/kinematic-trees-kdl-10x.html
- 林沛群. 机器人学. 国立台湾大学.
评论(0)
您还未登录,请登录后发表或查看评论