- 内部数据结构:manipulator
- manipulator,是由多个segment组成,一个segment包括关节和连杆信息
- (base和flank,也是一个segment)
- URDF文件里是由多个joint和link等组成
- 需求:
- 根据URDF文件里joint和link的内容,解析成多个segment
2023.02.22
- 思路:
- 解析URDF文件,输出到自己设计的结构体
- 调用北京提供的接口,将数据传入,返回一个segment
- 调用lambda表达式
add_segment
,传入内部参数,增加segment - 最后执行语句:
manipulator.PushBack(segment);
添加将生成的segment
- 当前需要解析出来的数据:
- Joint
- name(string) – 关节名字
- xyz(double) – 空间坐标 P
- rpy(double) – 旋转角度 R
- parent link(string) – 父连杆
- child link(string) – 子连杆
- Link
- name(string) – 连杆名字
- xyz(double) – 空间坐标
- rpy(double) – 旋转角度
- mass(double) – 连杆质量
- ixx(double) – 惯性张量矩阵3 * 3
- ixy(double) – 惯性张量矩阵3 * 3
- ixz(double) – 惯性张量矩阵3 * 3
- iyy(double) – 惯性张量矩阵3 * 3
- iyz(double) – 惯性张量矩阵3 * 3
- izz(double) – 惯性张量矩阵3 * 3
- Joint
2023.02.24
- 需求:
- 输入Joint的名字和Link的名字,返回找到的Joint结构体和Link结构体
- 每一个Joint和它的 child link 合成一个segment
- 思路:
- 将解析到的Joint和Link保存起来,
- 输入一个Joint的名字,返回这个Joint结构体和它的子Link结构体