分类 ROS开发 下的文章

如果因为版本不兼容,引起的ros bag错误,可以采用如下步骤修复: 1: 生成迁移文件 rosbag check bad.bag -g repair.bmr 2: 手动修改repair.bmr a): 修改状态,将valid从False改为True valid = True b): 根据就消息和新消息,手动修改数据,举例如下: def update(self, old_msg, new_msg): self.migrate(old_msg.header, new_msg.header) new_msg.height = old_msg.height new_msg.width = old_msg.width new_msg.distortion_model = old_msg.distortion_model #No matching field name in old message new_msg.D = old_msg.d new_msg.K = old_msg.k 3: 用迁移文件修复 bag rosbag fix bad.bag ok.bag repair.bmr ok.bag即为修复之后的bag包。