点击上方“3D视觉工坊”,选择“星标”

干货第一时间送达

来源丨古月居

点击进入—>3D视觉工坊学习交流群

相机和激光雷达之间的时间戳同步问题一直是实时跑SLAM的先决条件。本文试图以最清晰的思路去讲明白这个事情。

01  相机特性-曝光和读出

相机获取一帧图像分为曝光和读出两个阶段。相机使用的传感器不同,相机的曝光时间和读出时间的重叠关系也有所不同,分为交叠曝光非交叠曝光两种。交叠曝光和非交叠曝光相比,交叠曝光可以减少曝光时间对出图时间的影响。

非交叠曝光是指当前帧的曝光和读出都完成后,再进行下一帧的曝光和读出。非交叠曝光帧周期大于曝光时间与帧读出时间的和。

内触发模式非交叠曝光

交叠曝光是指当前帧的曝光和前一帧的读出过程有重叠,即前一帧读出的同时,下一帧已经开始曝光。交叠曝光帧周期小于等于曝光时间与帧读出时间的和。

内触发模式交叠曝光

对!上一段就是为了告诉你:后文叙述中无论当前帧曝光时间和上一帧的读出时间是否重叠都不要惊讶。

02  图像采集:触发模式(外部输入)

相机的触发模式分为内触发模式和外触发模式 2 种。

  • 内触发模式:相机通过设备内部给出的信号采集图像。

  • 外触发模式相机通过外部给出的信号采集图像。外部信号可以是软件信号,也可以是硬件信号,主要包含软触发和硬件触发。外触发模式如图:

外触发模式

软触发:触发信号由软件发出(也可以利用相机SDK提供的API接口进行软触发)。

硬件触发:外部设备通过相机的 I/O 接口与相机进行连接,触发脉冲信号由外部设备给到相机进行采图。其实是直接对相机内部寄存器进行读写。下图是海康相机的电源IO的6-pin线缆:

海康相机电源及IO接口(6-pin Hirose)

其中,海康相机有1个光耦隔离输入Line0+,1个可配置输入输出Line2+,可选择一个配置为输入信号。

03  触发输出

相机触发输出信号为开关信号,可用于控制报警灯、光源、PLC等外部设备。触发输出信号可通过Strobe 信号实现。

相机的曝光发生时,会立即输出一个Strobe信号,该信号为高电平有效。后文我们主要使用该信号对Lidar等其他传感器进行硬触发。这里有一个Strobe的预输出的概念。

Strobe信号早于曝光生效。其工作原理为延迟曝光先进行Strobe输出。该功能可应用于响应比较慢的外部设备。Strobe预输出时序如图所示。(后面会讲为啥要延迟曝光)

Strobe信号预输出时序

现在我们回到正题吧,现在讲起来就很快了。

要同步相机和激光雷达的时间戳主要有三个方式,硬触发、软触发、软触发+硬触发。下面我以手绘示意图的形式一一介绍。

先说硬触发吧。一个MCU产生脉冲信号对三个传感器设备进行硬触发。

对于软触发+硬触发来说,可以先用相机SDK的API对一个相机进行软触发,然后利用相机的外触发信号Strobe对雷达和相机等其他传感器进行硬触发。

这里需要注意一个问题,如果进行软触发的第一个相机在曝光的同时发出Strobe信号,其他被硬触发的传感器总归是晚了一步,不能完全同步。因此引出了之前Strobe的预输出的概念,即先进行Strobe输出再延迟曝光。

配置该模式时注意四点:

1.上升沿or下降沿的触发方式;

2.有效电平宽度,电平幅值,你要知道能触发Lidar的最低幅值;

3.Strobe预输出

4.两边电平信号是否一样,3v or 5v是否需要升压...

最后讲讲不被推荐的软触发。

首先调用API操作相比于硬触发(对传感器内部寄存器直接进行读写操作)明显是慢了,执行第二句命令API(2)前API(1)就已经花了些时间

//读取lidar和image数据的线程1
while(1)
{
API(1); //软触发第一个sensor
API(2); //软触发第二个sensor
//假设脉冲周期为0.5s
}
//处理数据线程2
for(i=0;i<nimage;i++)
{  t1 = getTickCount();
//部分程序有互斥锁t2 = getTickCount();Time = (t2 - t1) / getTickFrequency(); //当前帧处理时间sleep(1/fps-Time);
}

如上图示意,如果处理单帧数据的时间超过0.5s,线程1就会读到下一帧数据,就会导致线程2数据混乱。因此线程2单帧处理时间需要小于0.5s,且每帧需要等待(1/fps-当前帧处理时间)。

本文仅做学术分享,如有侵权,请联系删文。

点击进入—>3D视觉工坊学习交流群

干货下载与学习

后台回复:巴塞罗自治大学课件,即可下载国外大学沉淀数年3D Vison精品课件

后台回复:计算机视觉书籍,即可下载3D视觉领域经典书籍pdf

后台回复:3D视觉课程,即可学习3D视觉领域精品课程

3D视觉工坊精品课程官网:3dcver.com

1.面向自动驾驶领域的3D点云目标检测全栈学习路线!(单模态+多模态/数据+代码)
2.彻底搞透视觉三维重建:原理剖析、代码讲解、及优化改进
3.国内首个面向工业级实战的点云处理课程
4.激光-视觉-IMU-GPS融合SLAM算法梳理和代码讲解
5.彻底搞懂视觉-惯性SLAM:基于VINS-Fusion正式开课啦
6.彻底搞懂基于LOAM框架的3D激光SLAM: 源码剖析到算法优化
7.彻底剖析室内、室外激光SLAM关键算法原理、代码和实战(cartographer+LOAM +LIO-SAM)

8.从零搭建一套结构光3D重建系统[理论+源码+实践]

9.单目深度估计方法:算法梳理与代码实现

10.自动驾驶中的深度学习模型部署实战

11.相机模型与标定(单目+双目+鱼眼)

12.重磅!四旋翼飞行器:算法与实战

13.ROS2从入门到精通:理论与实战

14.国内首个3D缺陷检测教程:理论、源码与实战

15.基于Open3D的点云处理入门与实战教程

16.透彻理解视觉ORB-SLAM3:理论基础+代码解析+算法改进

重磅!粉丝学习交流群已成立

交流群主要有3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、多传感器融合、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、缺陷检测、行人重识别、目标跟踪、视觉产品落地、视觉竞赛、车牌识别、硬件选型、ORB-SLAM系列源码交流、深度估计、TOF、求职交流等方向。

扫描以下二维码,添加小助理微信(dddvision),一定要备注:研究方向+学校/公司+昵称,例如:”3D视觉 + 上海交大 + 静静“。请按照格式备注,可快速被通过且邀请进群。原创投稿也请联系。

▲长按加微信群或投稿,微信号:dddvision

3D视觉从入门到精通知识星球:针对3D视觉领域的视频课(三维重建系列、三维点云系列、结构光系列、手眼标定、相机标定、激光/视觉SLAM、自动驾驶等)源码分享、知识点汇总、入门进阶学习路线、最新paper分享、疑问解答等进行深耕,更有各类大厂的算法工程人员进行技术指导。与此同时,星球将联合知名企业发布3D视觉相关算法开发岗位以及项目对接信息,打造成集技术与就业为一体的铁杆粉丝聚集区,4000+星球成员为创造更好的AI世界共同进步,知识星球入口:

学习3D视觉核心技术,扫描查看介绍,3天内无条件退款

圈里有高质量教程资料、答疑解惑、助你高效解决问题

觉得有用,麻烦给个赞和在看~  

清晰讲解激光雷达与相机标定的时间戳同步问题相关推荐

  1. 【学习记录】激光雷达与相机标定

    本文仅用于个人纪录. 激光雷达与相机标定 基本原理即寻找雷达和相机的对应点,然后求解外参RT问题. 难点在于,如何进行数据关联,即雷达和普通相机的电如何确定对参数的约束方程? 手工标定法 一类方法手工 ...

  2. 鲁棒的激光雷达与相机标定方法

    点云PCL免费知识星球,点云论文速读. 文章:Optimising the selection of samples for robust lidar camera calibration 作者:Da ...

  3. 激光雷达和相机联合标定之开源代码和软件汇总(2004-2021)

    作者丨十点雨@知乎 来源丨https://zhuanlan.zhihu.com/p/404762012 编辑丨3D视觉工坊 LiDAR Camera Calibration (LCC)系列,主要介绍激 ...

  4. 激光雷达和相机联合标定 之 开源代码和软件汇总 (2004-2021)

    关注公众号,发现CV技术之美 本文转自知乎,获作者授权转载: https://zhuanlan.zhihu.com/p/404762012 LiDAR Camera Calibration (LCC) ...

  5. 开源代码和软件汇总!激光雷达和相机联合标定(2004-2021)

    作者 | 十点雨  编辑 | 我爱计算机视觉 原文链接:https://zhuanlan.zhihu.com/p/404762012 点击下方卡片,关注"自动驾驶之心"公众号 AD ...

  6. 基于平面的约束2D激光雷达和相机的联合标定(2D Laser and Camera Calibration )原理及项目代码具体使用——旷视

    1 基于平面的约束2D激光雷达和相机的联合标定(2D Laser and Camera Calibration )原理 这是旷视做的一个关于2D激光雷达和相机的联合标定算法,在看这个标定算法之前,你可 ...

  7. Halcon例程(基于多个标定图的单目相机标定)详解—— Camera_calibration_multi_image.hdev

    一.前言 在我的工业相机专栏里已经将相机标定涉及到的理论部分讲解完毕,为什么要标定以及标定要求出什么参数呢,用一个Halcon 例程来帮助理解. 这个例程是比较经典的标定程序,基本将标定过程讲的比较清 ...

  8. 多激光雷达与相机的外参快速精准标定(arxiv 2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:Fast and Accurate Ex ...

  9. 绝了!多个激光雷达和相机的快速且鲁棒的外参标定方法(代码开源)

    文章:Fast and Accurate Extrinsic Calibration for Multiple LiDARs and Cameras 作者:Xiyuan Liu , Chongjian ...

最新文章

  1. [转]【 视频 】PAR、DAR和SAR都是啥
  2. oracle客户端没有装exp,oracle 10G 客户端安装后,尝试 exp 命令报错, 求解
  3. .NET中的IO操作基础介绍
  4. Hibernate3的配置参数汇总
  5. C# char[]与string之间的相互转换
  6. datavideo切换台说明书_巴掌大三轴稳定器,稳过微云台,试试飞宇VLOGPocket2
  7. 软件设计师备考错题01
  8. 计算机组成原理实用教程第3版课后答案,计算机组成原理实用教程课后习题答案.docx...
  9. 单向链表反转(逆置)
  10. jQuery-1.9.1源码分析系列(十一) DOM操作续——克隆节点
  11. paip.提升中文分词准确度---新词识别
  12. SwiftUI实战二:组合视图和地图视图
  13. Quartus II 12.0 下载、安装和破解
  14. 微软服务器补丁每月几号发布,微软11月安全公告 发布一个紧急级补丁
  15. 为什么学习嵌入式会搞单片机以及如何学习C51单片机
  16. fastJson注解@JSONField指定字段的顺序
  17. IAR for STM8下载、安装、注册
  18. HTML技巧篇——禁止网页元素被右击、拖动、选中、复制
  19. 论文阅读——Aspect Sentiment Quad Prediction as Paraphrase Generation
  20. Word文档编辑受限解决办法

热门文章

  1. centos防火墙管理
  2. Python读取和保存GIF图片
  3. KTV服务员爆料内幕:果盘什么的千万别吃
  4. MyBatis和Hibernate的优缺点对比
  5. Android入门基础
  6. Redux 学习之 middleware详解
  7. APS-C画幅三强宾得K3、佳能70D、尼康D7100关键参数对比
  8. 网络分层(OSI7层模型和TCP/IP四层模型)
  9. 实现元素的滑入滑出效果
  10. 剑荡八荒手游怎么在电脑玩?剑荡八荒PC电脑版使用教程