ROS2 Eloquent执行ros2 bag record出现--qos-profile-overrides-path参数不识别错误
ROS2 Eloquent rosbag录制参数报错原因分析
- 核心报错原因:
--qos-profile-overrides-path是ROS2 Foxy及更高发行版才新增的ros2 bag指令参数,你使用的 Eloquent 版本早于 Foxy,原生没有集成该参数的支持,因此传入后会直接触发「参数不识别」的错误。 - 额外指令修正提示:即使在支持该参数的高版本ROS2中,你当前的指令写法也存在问题:
ros2 bag record后的第一个位置参数默认是要录制的话题名,若要指定输出包名需要额外加-o/--output参数,高版本下的正确参考写法为:ros2 bag record -o sample.bag --qos-profile-overrides-path /home/ubuntu/profile.yaml <你需要录制的话题名> - 适配方案:如果必须在Eloquent环境下实现QoS自定义,需要手动修改rosbag2源码配置QoS规则后编译使用;更建议升级到ROS2 Foxy及以上的长期支持版本,可直接使用官方提供的QoS覆盖参数能力。
内容的提问来源于stack exchange,提问作者harika
相关产品推荐
相关产品推荐

