rmoss_contrib icon indicating copy to clipboard operation
rmoss_contrib copied to clipboard

Use tf2 package to develop auto aim task

Open gezp opened this issue 2 years ago • 2 comments

Feature request

Feature description

在自瞄中,需要在相机与云台之间做坐标变换,采用tf2可以方便的管理维护坐标关系,其还提供了简洁的坐标变换接口,以及tf消息同步功能(将IMU转换为tf,间接的实现IMU-相机同步),可以极大的方便开发。

Implementation considerations

(1)建立坐标系之间关系:

  • base_link->gimbal_yaw->gimbal_pitch->camera->camera_optical->target(识别到的目标装甲板):其中gimbal_yaw和gimbal_pitch根据云台角度实时更新维护,camera_optical->target之间的变换由自瞄算法计算出来。
  • 在使用枪管瞄准的时候,需要使用一个额外的参考坐标系gimbal_home,用于计算瞄准所需要的云台转动yaw,pitch角度,其为当云台角度为0时的gimbal_pitch参考系,可使用静态tf维护base_link->gimbal_home。

Tip:

  • gimbal_pitch->camera->camera_optical 可简化为gimbal_pitch->camera_optical
  • gimbal_home参考系可以灵活选取,如果base_link->gimbal_home绑定静态变换,那计算出来的yaw为绝对角,如果gimbal_yaw->gimbal_home绑定静态变换,则计算出的yaw为相对角度。

(2)瞄准解算:

  • 使用tf2工具,将target转换到gimbal_home坐标系下,计算云台转到绝对角。

gezp avatar Mar 11 '22 00:03 gezp