#全景相机-Mid360彩色点云着色
pipeline:
- 输入:
- 雷达 + IMU:Mid360 LiDAR + IMU
- 全景相机:Insta360 X4
- 雷达跑一个LIO
- 相机根据外参标定得到的结果,将图像在点云上进行投影着色。
相机SDK
参考文档:Insta360中文SDK文档
民间Ros-Driver地址(X4不可直接使用): Insta-ros-driver
民间Ros-Driver+我的魔改版地址: Insta-ros-driver
官方SDK地址:Insta-SDK (我已经向官方申请好了,不用再去申请了)
驱动安装
sudo apt-get install libusb-dev sudo apt-get install libudev-dev sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev pkg-config
|
在Linux系统上,演示程序必须使用sudo运行。
更新固件
下载Insta360手机App,与设备进行WiFi连接后选择更新固件。
连接与模式切换
默认情况下,当你将Insta360相机连接到计算机时,相机会自动切换到U盘模式,使相机成为一个USB存储设备。 我们需要将相机切换到正确模式,才能连接并控制它。
使用一根可以传数据的usb线,连接后,弹出模式选择的界面,选择“Android手机控制”模式,等待切换成功。


创建udev规则
sudo gedit /etc/udev/rules.d/99-insta360.rules # 在文件中写入 SUBSYSTEM=="usb", ATTR{idVendor}=="2e1a", ATTR{idProduct}=="0002", MODE="0666", SYMLINK+="insta360"
|
输入ls -l /dev/insta360查看:
lrwxrwxrwx 1 root root 15 1月 30 22:10 /dev/insta360 -> bus/usb/003/022
即为绑定成功
运行
roslaunch insta360_ros_driver bringup.launch
|
节点图:

主要修改了main.cpp函数中的OnVideoData函数.
连接本地Insta360X4,会有报错,但只要rostopic有数据就是正常的.有时候启动不成功多多插拔几次
使用image_saver.py可以订阅话题图片.
不管VideoResolution被设置成什么,输出图像始终是2880*1440(前+后),只能拉取到该分辨率的流,官方未发布拉取高清流的方法.
全景相机内参标定
参考文章:全景相机标定
使用Kalibr+棋盘格标定板进行标定.
front相机标定结果
cam0: cam_overlaps: [] camera_model: omni distortion_coeffs: [0.09747877595536, -0.3376643796134572, -0.0009491186352457004, 0.00011504754493873151] distortion_model: radtan intrinsics: [1.2425811604992385, 892.485973534534, 892.9563621015641, 718.6189149155972, 722.4093921039683] resolution: [1440, 1440] rostopic: /camera/image
|
back相机标定结果
cam0: cam_overlaps: [] camera_model: omni distortion_coeffs: [0.09568054411527066, -0.3217603520590313, 0.0014165036338120724, -0.00048654825885449557] distortion_model: radtan intrinsics: [1.25247258539852, 892.381529983635, 892.4736063672572, 721.1075859302954, 717.7031284815047] resolution: [1440, 1440] rostopic: /camera/image
|
全景相机-雷达外参标定
参考文章:激光相机数据融合(6)–激光相机标定
最终使用的方法还是FAST-Calib,当作两个鱼眼相机处理.
front相机标定结果
# FAST-LIVO2 calibration format cam_model: Pinhole cam_width: 1440 cam_height: 1440 scale: 1.0 cam_fx: 892.486 cam_fy: 892.956 cam_cx: 718.619 cam_cy: 722.409 cam_d0: 0.09748 cam_d1: -0.33766 cam_d2: -0.000949 cam_d3: 0.000115
Rcl: [ 0.033727, -0.999388, 0.009324, 0.188078, -0.002816, -0.982150, 0.981575, 0.034879, 0.187868] Pcl: [ 1.020967, 0.554951, 6.556103]
|
back相机标定结果
# FAST-LIVO2 calibration format cam_model: Pinhole cam_width: 1440 cam_height: 1440 scale: 1.0 cam_fx: 892.382 cam_fy: 892.474 cam_cx: 721.108 cam_cy: 717.703 cam_d0: 0.0956805 cam_d1: -0.32176 cam_d2: 0.0014165 cam_d3: -0.00048655
Rcl: [ 0.014816, -0.992748, -0.119301, 0.136128, 0.120206, -0.983372, 0.990580, -0.001671, 0.136922] Pcl: [ 0.905396, -0.232314, 3.009219]
|
点云着色
front相机着色

bak相机着色

对于鱼眼相机图像还需后续处理,不过已经可以发现它在边缘处出现了角分辨率低的问题.