vins-fusion单目IMU跑港大MARS数据集注意事项

vins-fusion跑港大MARS数据集只能跑单目IMU的。

港大MARS数据集链接如下:

HKU MaRS Labicon-default.png?t=N7T8https://mars.hku.hk/dataset.html

港大MARS数据集里的单目图片消息类型是sensor_msgs/CompressedImage,而vins订阅的图像消息类型是sensor_msgs/Image,所以需要把sensor_msgs/CompressedImage消息类型转换成sensor_msgs/Image消息类型。

可以用一个python脚本实现(代码参考自:sensor_msgs/CompressedImage消息类型转换成sensor_msgs/Image消息类型_compressedimage转为image-CSDN博客

import rospy
from sensor_msgs.msg import CompressedImage, Image
from cv_bridge import CvBridge, CvBridgeError

bridge = CvBridge()

def compressed_image_callback(msg):
    try:
        cv_image = bridge.compressed_imgmsg_to_cv2(msg)
    except CvBridgeError as e:
        rospy.logerr("CvBridgeError: %s", e)
        return

    try:
        image_msg = bridge.cv2_to_imgmsg(cv_image, encoding="bgr8")
    except CvBridgeError as e:
        rospy.logerr("CvBridgeError: %s", e)
        return

    image_msg.header = msg.header

    pub.publish(image_msg)

if __name__ == '__main__':
    rospy.init_node("compressed_to_image")
    sub = rospy.Subscriber("compressed_image", CompressedImage, compressed_image_callback, queue_size=1)
    pub = rospy.Publisher("image", Image, queue_size=1)
    rospy.spin()

FAST-LIVO自己跑bag包时,也是借助image_transport把压缩图像话题转为原始图像话题跑的
https://gitee.com/huanglilong/FAST-LIVO/blob/main/launch/mapping_avia.launch

 

vins订阅的MARS数据集里的imu话题注意订阅大疆飞控的imu话题/dji_osdk_ros/imu,不要订阅livox激光雷达的imu话题/livox/imu,因为/livox/imu里的加速度值是普通加速度值的十分之一,会导致vins一直没法初始化过去,终端一直报misalign visual structure with IMU。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值