robomaster-oss / rmoss_contrib

RoboMaster OSS中的基础项目,为RoboMaster提供任务级功能模块包,如自动瞄准模块,能量机关模块等。
Apache License 2.0
23 stars 3 forks source link

Use tf2 package to develop auto aim task #2

Open gezp opened 2 years ago

gezp commented 2 years ago

Feature request

Feature description

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

Implementation considerations

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

(2)瞄准解算:

gezp commented 2 years ago

实现步骤:

gezp commented 10 months ago

这种方式可能会限制开发模式,从中间件(ROS)-算法功能解耦的角度看,建议采用的开发模式为:

同时,也可以支持tf的发布,方便进行可视化调试,而不是直接用tf参与自瞄目标位置到控制命令的计算。

另一方面,对于数据同步,可以采用buffer进行自行处理,更加方便,如需插值,也可实现插值工具类(可支持线性插值,球面插值等不同插值算法)。