Bunker_mini多传感器外参标定,雷达相机IMU

这篇具有很好参考价值的文章主要介绍了Bunker_mini多传感器外参标定,雷达相机IMU。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Sensor Calibration

Lidar to lidar

使用Livox Viewer标定外参,具体步骤参考https://github.com/Livox-SDK/Livox-SDK/wiki/Calibrate-extrinsic-and-display-under-ros-cn
需要说明的是,Bunker_mini前面拼了三个AVIA,均安装在定制的支架。
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

外参标定需要给一个初始的标定数据,由于我们的支架有三维模型,所以可以通过CAD算出来
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

根据CAD计算出的初始标定结果:

<Device roll="0" pitch="0" yaw="-45" x="-0.234" y="-0.067" z="0">3JEDL9L00102891</Device>    
<Device roll="0" pitch="0" yaw="45" x="-0.234" y="0.067" z="0">3JEDL9L001ML931</Device>    
<Device roll="0" pitch="0" yaw="0" x="0" y="0" z="0">3JEDL9L001P4551</Device>

然后找一个特征明显且多,范围够大的场景,例如电线杆、铁架、树、楼梯
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

利用Livox Viewer慢慢调,一共六个参数。填好最后拼接显示的点云信息
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

最后标定结果:
可以看到用CAD算出的标定结果还是很准确的,如果定制的支架制作误差足够小,完全可以直接用初始标定参数

<Device roll="0" pitch="0.73" yaw="-45.18" x="-0.234" y="-0.067" z="0">3JEDL9L00102891</Device>    
<Device roll="0" pitch="-0.84" yaw="45.05" x="-0.234" y="0.067" z="0">3JEDL9L001ML931</Device>    
<Device roll="0" pitch="0" yaw="0" x="0" y="0" z="0">3JEDL9L001P4551</Device>

Lidar to camera

使用OpenCalib进行雷达到相机的外参手动标定
https://github.com/PJLab-ADG/SensorsCalibration
https://github.com/PJLab-ADG/SensorsCalibration/tree/master/lidar2camera
README文件说要用opencv 2.4 eigen 3 PCL 1.9 Pangolin
实测Ubuntu1804,装好ros后只需要安装Pangolin即可,最好安装0.8版
https://github.com/stevenlovegrove/Pangolin
网上有很多安装Pangolin教程,安装好依赖,然后

cd Pandolin
mkdir build 
build 
cmake .. 
make -j4 # 多线程,编译更快
sudo make install

下载好OpenCalib包后编译

cd lidar2camera 
cd manual_calib
mkdir build && cd build
cmake ..
make -j4

这时候会报错,会提示PCL或者Pangolin版本不对,修改CMakeList.txt

find_package(Pangolin 0.8 REQUIRED)
改为
find_package(Pangolin REQUIRED)

find_package(PCL 1.9 EXACT REQUIRED)
改为
find_package(PCL REQUIRED)

重新编译即可,然后运行一下示例,如报错OpenGL等显示不出来窗体,应该是Docker运行的,请修改docker run ,具体参考Environment(Quick Start)

cd ~./manual_calib/
./bin/run_lidar2camera data/0.png data/0.pcd data/center_camera-intrinsic.json data/top_center_lidar-to-center_camera-extrinsic.json

这个标定也是要一个初始的外参标定信息和相机的内参信息,相机的内参信息可以通过tostopic可以查到camera/info,外参的旋转矩阵要看一下相机和雷达的坐标系,比如我们的是奥比中光astar2,找到用户手册坐标系

Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

大疆AVIA的
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

所以我们要做一个坐标转换,lidar2camera 是雷达到相机的坐标系,本文中,AVIA需要绕着相机坐标系y轴转-90°,然后再绕x轴转90°,一定要注意旋转的正方向和负方向,一般是对着轴方向看顺时针旋转是正方向,顺着轴看逆时针旋转是正方向,反之为负方向。根据以下公式
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

最后得出:

0	-1	0
0	0	-1
1	0	0

修改data/center_camera-intrinsic.json 替换为自己相机的内参,top_center_lidar-to-center-extrinsic.json 修改旋转矩阵,三轴的偏移量给一个测量出来的就可以,然后找一个特征多场景大的场地录制雷达和相机数据,bag格式转为image 和pcd可参考我上篇。
然后和雷达到雷达标定一样,自己慢慢调就可以了,最后save一下终端会输出标定结果
Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

Transfromation Matrix: 
-0.0209424   -0.999781   8.67362e-19   -0.00408393
  0             0          -1           0.18  
 0.999781   -0.0209424   8.67362e-19    0.0399679   
 0               0              0            1

Lidar to IMU

这个最简单,直接固定在AVIA上,三轴无旋转,旋转矩阵为单位阵。这样应该能满足大部分需求,相信IMU和AVIA的工艺。(主要是偷个懒)

1	0	0
0	1	0
0	0	1

Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu

Bunker_mini多传感器外参标定,雷达相机IMU,Bunker_mini-dev,数码相机,机器人,ubuntu文章来源地址https://www.toymoban.com/news/detail-812244.html

到了这里,关于Bunker_mini多传感器外参标定,雷达相机IMU的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 机器人内部传感器-位置传感器-电位器式位置传感器

    位置传感器 位置感觉是机器人最基本的感觉要求,可以通过多种传感器来实现。位置传感器包括 位置 和 角度 检测传感器。常用的机器人位置传感器有 电位器式 、 光电式 、 电感式 、 电容式 、 霍尔元件式 、 磁栅式 及 机械式 位置传感器等。机器人各关节和连杆的 运动

    2024年02月19日
    浏览(49)
  • 高效学习传感器|霍尔式传感器

    霍尔式传感器的物理基础是霍尔效应。如图1所示,在一块长度为l、宽度为b、厚度为d的长方体导电板上,左、右、前、后侧面都安装上电极。在长度方向上通入电流I,在厚度方向施加磁感应强度为B的磁场。 ■ 图1 霍尔效应示意图 导电板中的自由电子沿电流反方向作定向移

    2024年02月05日
    浏览(108)
  • 相机传感器和镜头传感器面积关系

    相机的传感器尺寸和镜头传感器尺寸之间存在密切关系。 传感器尺寸指的是相机传感器的大小,通常用对角线长度表示,单位为英寸。传感器尺寸越大,相机能捕捉到的光线就越多,成像质量也就越好。 镜头传感器尺寸指的是镜头所能覆盖的传感器面积的大小。如果镜头传

    2024年02月03日
    浏览(56)
  • 常用传感器-温湿度传感器SHT30

    SHT30温湿度传感器 工作电压:2.4V-5.5V 通讯协议:IIC 湿度测量范围:0-100 温度测量范围:-40°-125° VIN:电源正极 GND:电源负极 SCL:数据线 SDA:数据线 1.加载库文件:ClosedCube_SHT31D 选择库文件:ClosedCube_SHT31D 2.连接esp mini d1和温湿度传感器 VIN和GND分别取主板5V电压 SCL和SDA分别接

    2024年02月01日
    浏览(48)
  • 无线传感器基础:获取手机传感器、加速度

    一些实验过程中的疑问: 如何知道设备上有哪些传感器? 如果手机不支持的传感器,程序运行往往不会抛出异常,只是无法获得传感器传回的数据。那么如何知道设备上有哪些传感器可用呢?有两种方式,一种是直接方式,一种是间接方式。直接方式就是遍历获取得到传感

    2024年02月02日
    浏览(64)
  • 传感器:探索Android中的传感器功能与使用

    利用 Android 传感器框架,您可以访问多种类型的传感器。有些传感器基于硬件,有些基于软件。基于硬件的传感器是内置在手机或平板设备中的物理组件。这类传感器通过直接测量特定的环境属性(如加速度、地磁场强度或角度变化)来采集数据。基于软件的传感器不是物理

    2024年02月03日
    浏览(71)
  • Arduino驱动MiCS-4514气体传感器(气体传感器篇)

    目录 1、传感器特性 2、控制器和传感器连线图 3、驱动程序

    2024年02月11日
    浏览(45)
  • Arduino驱动BME680环境传感器(环境传感器篇)

    目录 1、传感器特性 2、硬件原理图 3、控制器和传感器连线图 4、驱动程序

    2024年02月13日
    浏览(54)
  • Arduino驱动VEML6075紫外线传感器(光照传感器篇)

    目录 1、传感器特性  2、控制器和传感器连线图 3、驱动程序 VEML6075传感器能够将日光的UV光强度转换成数字信号,准确地测量信号强度。即使长时间暴露在阳光的紫外辐射下,VEML6075紫外线传感器依然具有良好的性能,在-40℃~+85℃温度范围内具有很高的温度补偿稳定性。VE

    2024年02月09日
    浏览(30)
  • 智能传感器阅读笔记-物联网用智能传感器技术的发展重点

    物联网用智能传感器技术的发展重点 包含 边缘计算算法优化 、 身份认证算法优化 和 能量采集技术 。 图1  物联网用智能传感器技术的发展重点 边缘计算算法优化 边缘计算是指在靠近物或数据源头的一侧(传感器侧),采用集检测、计算、存储、通信功能于一体的平台,

    2024年02月20日
    浏览(51)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包