实测 ubuntu20.04 机械式激光雷达与相机联合标定
点击上方“3D视觉工坊”,选择“星标”
干货第一时间送达
作者丨月照银海似蛟龙
来源丨古月居
安装功能包
实测 ubuntu20.04 本地安装
安装步骤如下:
下载功能包
git clone -c http.sslverify=false https://gitlab.acfr.usyd.edu.au/its/cam_lidar_calibration.git
成功提示:
安装依赖:
sudo apt update && sudo apt-get install -y ros-noetic-pcl-conversions ros-noetic-pcl-ros ros-noetic-tf2-sensor-msgs
成功提示:
安装pandas 和 scipy
pip install pandas scipy
将功能包拷入ros的工作空间,然后编译
catkin_make
不出意外会报错误
仍然是 ubuntu20.04 opencv 的 版本问题
错位解决办法:
打开include文件夹下的 optimise.h文件
将第10行
#include <opencv/cv.hpp>
改为
#include <opencv2/opencv.hpp>
再次编译报错:
CV_REDUCE_SUM 这个变量没定义,opencv3到opencv4切换带来的错误
在 optimise.h文件中加入下面的包含文件
#include<opencv2/core/core_c.h>
编译通过
功能包测试
作者在功能包中放了测试数据,提供测试
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=true
该程序根据cam_lidar_calibration/data/vlp/文件夹下的pose.csv标定,在该文件夹生成一个标定camera和lidar外参文件
终端输出
每一行则是迭代后的结果
终端输出这个的时候
表示迭代完了
然后获取评估校准结果
终端输出
生成一个雷达投射到图片上的图片
利用功能包标定激光雷达和相机
设置参数
主要修改
cam_lidar_calibration/cfg/camera_info.yaml和
params.yaml
cam_lidar_calibration/cfg/camera_info.yaml 文件设置如下:
distortion_model: "non-fisheye"width: 1440height: 1080D: [-0.106460,0.103712,-0.000019,0.003994]K: [1213.343583,0.0,744.150520,0.0,1217.236982,586.154363,0.0,0.0,1]
设置是:
否为鱼眼相机
像素宽和高
内参矩阵
失真系数
相机的内参标定方法可以参考这篇博客:
params.yaml 文件设置如下:
# Topicscamera_topic: "/camera_array/cam0/image_raw"camera_info: "/camera_array/cam0/camera_info"lidar_topic: "/velodyne_points"
分别是:
相机消息名称
相机信息
激光雷达消息名称
feature_extraction: x_min: -10.0 x_max: 10.0 y_min: -8.0 y_max: 8.0 z_min: -5.0 z_max: 5.0
点云的选取范围,用默认的就是,之后可以在线调
chessboard: pattern_size: height: 14 width: 9 square_length: 11 board_dimension: width: 390 height: 596 translation_error: x: 0 y: 0
标定棋盘的相关参数
和背板的相关参数
距离都是mm为单位
启动相机和激光雷达
启动相机
roslaunch spinnaker_sdk_camera_driver acquisition.launch
启动激光雷达
roslaunch velodyne_pointcloud VLP16_points.launch
启动功能包
开启程序采集表定数据,运行命令:
roslaunch cam_lidar_calibration run_optimiser.launch import_samples:=false
会出现RVIZ和rqt_reconfigure窗口,在RVIZ中panels->display修改相机的话题和激光雷达点云对应的frame_id。
调整rqt_reconfigure /feature_extraction的xyz最大值最小值以使得标定板的点云和周围环境分开,使其仅显示棋盘。
如果棋盘没有完全隔离,可能会影响棋盘的平面拟合,还会导致棋盘尺寸误差较大。下图是过滤点云前后效果:
在过滤周围环境点云后,在rviz中点击Capture sample采集样本,会出线绿色框代表根据点云拟合出来的标定板平面
终端会打印出来添加的样本信息
最好采集10个样本以上,再点击rviz中的optimise进行标定,在优化过程中将会在cam_lidar_calibration/data生成当前时间日期的文件夹,存放采集的图像、点云pcd、位姿,标定后camer和lidar外参文件。
终端输出开始校准:
校准结束后输出:
评估参数和重投影误差:
roslaunch cam_lidar_calibration assess_results.launch csv:="$(rospack find cam_lidar_calibration)/data/2022-09-06_14-48-42/calibration_2022-09-06_15-13-07.csv" visualise:=true
注意这里默认加载第16个图像,如果没有那么大的标定样本,要修改launch文件中的加载序列
出现重投影效果图像
终端出现标定参数和重投影误差
本文仅做学术分享,如有侵权,请联系删文。
干货下载与学习
后台回复:巴塞罗那自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件
后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf
后台回复:3D视觉课程,即可学习3D视觉领域精品课程
3D视觉工坊精品课程官网:3dcver.com
1.面向自动驾驶领域的多传感器数据融合技术
2.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
3.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
4.国内首个面向工业级实战的点云处理课程
5.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
6.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
7.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
8.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)
9.从零搭建一套结构光3D重建系统[理论+源码+实践]
10.单目深度估计方法:算法梳理与代码实现
11.自动驾驶中的深度学习模型部署实战
12.相机模型与标定(单目+双目+鱼眼)
13.重磅!四旋翼飞行器:算法与实战
14.ROS2从入门到精通:理论与实战
15.国内首个3D缺陷检测教程:理论、源码与实战
16.基于Open3D的点云处理入门与实战教程
17.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进
重磅!3DCVer-学术论文写作投稿 交流群已成立
扫码添加小助手微信,可申请加入3D视觉工坊-学术论文写作与投稿 微信交流群,旨在交流顶会、顶刊、SCI、EI等写作与投稿事宜。
同时也可申请加入我们的细分方向交流群,目前主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、学术交流、求职交流、ORB-SLAM系列源码交流、深度估计等微信群。
一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。
▲长按加微信群或投稿,加微信:dddvision
▲长按关注公众号
3D视觉从入门到精通知识星球:针对3D视觉领域的视频课程(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答五个方面进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,近6000星球成员为创造更好的AI世界共同进步,知识星球入口:
学习3D视觉核心技术,扫描查看介绍,3天内无条件退款
圈里有高质量教程资料、答疑解惑、助你高效解决问题
觉得有用,麻烦给个赞和在看~
实测 ubuntu20.04 机械式激光雷达与相机联合标定相关推荐
- ubuntu20.04 实测 机械式激光雷达与相机联合标定
ubuntu20.04 实测 机械式激光雷达与相机联合标定 安装功能包 功能包测试 利用功能包标定自己的激光雷达和相机 设置参数 启动相机和激光雷达 启动功能包 安装功能包 实测 ubuntu20.0 ...
- 激光雷达和相机联合标定之cam_lidar_calibration
关于cam_lidar_calibration(2021)安装使用 一.简介 在众多的lidar和camera标定的开源程序中,效果相对不错的就是cam_lidar_calibration了,其余开源 ...
- ubuntu18.04 使用calibration_camera_lidar 实现激光雷达和相机联合标定
Autoware1.10以上的软件都需要单独安装这个calibration标定工具箱 1.nlopt安装 新开一个终端: git clone git://github.com/stevengj/nlo ...
- 激光雷达和相机联合标定之开源代码和软件汇总(2004-2021)
作者丨十点雨@知乎 来源丨https://zhuanlan.zhihu.com/p/404762012 编辑丨3D视觉工坊 LiDAR Camera Calibration (LCC)系列,主要介绍激 ...
- 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)
作者 | 十点雨 编辑 | 我爱计算机视觉 原文链接:https://zhuanlan.zhihu.com/p/404762012 点击下方卡片,关注"自动驾驶之心"公众号 AD ...
- 激光雷达和相机联合标定之-but_velodyne_camera
1. 概述 1.该方法适用于相机和激光雷达朝向方向相同或者近似相同的状态,相机和激光雷达之间的R矩阵较小,主要标定误差为T矩阵. /ps:可以先将激光雷达旋转到与相机安装坐标系相似的世界坐标系下,再使 ...
- 激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)
关注公众号,发现CV技术之美 本文转自知乎,获作者授权转载: https://zhuanlan.zhihu.com/p/404762012 LiDAR Camera Calibration (LCC) ...
- 激光雷达和相机联合标定
前言 最近搞了一下激光和相机的联合标定,分别用c艹+pcl与python+open3d写了写linux/windows上相应的联合标定软件,记录一下. 绪论 方法基于标定板,目的就为了求取传感器之间的 ...
- 激光雷达与视觉联合标定综述!(系统介绍/标定板选择/在线离线标定等)
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨汽车人 来源丨自动驾驶之心 点击进入->3D视觉工坊学习交流群 后台回复[相机标定]获取超 ...
- autoware 激光-相机联合标定
autoware进行激光-相机联合标定 ~~~ 刚开始进行激光-相机联合标定的时候,出现了不少问题,在此记录一下整体标定流程,以防忘记.在此,特别感谢佳明师弟,在录制数据集时提供的帮助. ~~~ 0. ...
最新文章
- java 注解继承注解_Java注解合并,注解继承
- Linux+Qt 下同一数据空间vfork多进程间通信的一种高效便捷方式(信号槽直接调用)
- 动态库的编写和调用 - Delphi
- 图论算法-图论的表示、分类及基本概念(系列1)
- 智能合约重构社会契约(6)赛迪智能合约安全标准
- What to bring in UK?
- php外卖系统源码单店,网上订餐系统 v3.1 单店版
- Modularity(模块化-CommonJS规范)
- CPU里都有几十亿个晶体管,万一坏掉几个还能用吗?
- 【LeetCode】49. Group Anagrams
- 商城系统使用redis做什么_B2B2C商城系统与B2C商城系统有什么区别呢?企业该如何选择?...
- Linux 超级漂亮的 Shell
- 多线程中的互斥控制程序代码_互斥锁解决 Python 中多线程共享全局变量的问题...
- 软件测试验收方法_验收测试是美丽的魔术。 这就是它可以改善您的生活的方法。...
- 关于通信知识的思维导图
- 如何使用SPSS进行两因素重复测量的方差分析
- 蓝牙耳机选什么好?5款主打高性价比的蓝牙耳机推荐
- 517.Super Washing Machines
- 微信名片加好友服务器繁忙,还傻乎乎的微信加好友?这些细节你要注意!
- 昆明某饭店的师傅正在制作气锅鸡
热门文章
- Python的运行环境
- 饥荒模块显示检查工作室订阅服务器,为什么我的饥荒主界面mod点进去就显示检查 – 手机爱问...
- divmod在python中是什么意思_python中divmod是什么
- Excel合并计算和分类汇总
- https://juejin.im/entry/559f1d31e4b0876bf61e4d20
- 数字传感器:新兴的应用
- oj1138c语言,九度OJ 1138:进制转换 (进制转换)
- 计算机专业应届毕业生找工作一定要知道的面试题--必背版
- Redis大Key优化
- 1.1.2 python基本数据类型与运算符