• 内部数据结构: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

2023.02.24

  • 需求:
    • 输入Joint的名字和Link的名字,返回找到的Joint结构体和Link结构体
    • 每一个Joint和它的 child link 合成一个segment
  • 思路:
    • 将解析到的Joint和Link保存起来,
    • 输入一个Joint的名字,返回这个Joint结构体和它的子Link结构体