- Gazebo model_states
Gazebo有一个服务/gazebo/get_model_state
和一个话题/gazebo/model_states
来反馈model的状态。
服务/gazebo/get_model_state
:
话题/gazebo/model_states
:
/gazebo/get_model_state
消息类型:
/gazebo/model_states
消息类型:
- 方案选择
方案一:写一个client,请求/gazebo/get_model_state服务的数据,并发给话题/odom,广播从odom到base_link的tf变换。
方案二:写一个话题/gazebo/model_states的订阅者,由于数据是数组形式的,所以需要查询model_name来确定数组下标,以此来根据name确定pose和twist。
方案一博主已经写好:
可参考下载:
效果如下:
方案二博主只想了思路,考虑到一旦gazebo world里面的模型过多,查询起来很耗费资源,感觉方案不是最优,所以就没有写,感兴趣的小伙伴可以写着试一下。