基线可调同步双目视觉系统的设计与实现

Design and Implementation of Binocular Vision System with an Adjustable Baseline and High Synchronization

1. 创新

1)第一次提出了一个具有可调基线和高时间同步的低成本系统
2)在树莓派上用两个摄像头模块实现的低成本方案
3)通过ORB_SLAM2立体框架,得到的图像序列表现良好,证明了系统捕获的图像在自主车辆导航中是可行的
在这里插入图片描述

2. 软硬件结构设计

结构如图:在这里插入图片描述

1. 硬件

包括两个相机、滑轨和树莓派三个部分,相机型号为MT9V034(752*480),滑轨由铝合金制成,树莓派采用H264硬件编码采集视频流保存。在这里插入图片描述

2. 软件

基于树莓派的Linux操作系统启动三个并行线程:1)配置脉冲宽度调制(PWM)寄存器,使pin输出20hz的方信号;2)响应ISR获取图像的时间戳;3)通过H264硬件编码器分别将图像的缓冲区转换成视频流,降低了CPU开销。
由于晶体振荡器的频率为19.2mhz,wiringPi库为GPIO寄存器提供了丰富的接口,pwmsetlock(480)函数将频率划分为19.2M/480=40khz,函数pwmstrange(2000)将时钟设置为40 KHz/2000=20 Hz,函数pwmWrite(1,1000)将GPIO端口1设置为50%占空比。端口1的输出是20hz的方波,其上升沿用作外部触发信号和ISR触发信号。
在这里插入图片描述
采集好完整的图像后,信号将被传输到Raspberry Pi的USB端口。尽管在Pi中从两个相机获取准备好的图像时可能会出现错误,但鉴于全局快门的特点,两个图像的捕获时间与ISR的时间戳相同。在保存图像的程序中,Pi只需要高效地保存图像,并且节省CPU资源,以避免帧丢失。FFmpeg是一个完整的、跨平台的音频和视频录制、转换和流媒体解决方案。通过配置Pi的H264硬件编码器,FFmpeg可以在不占用高CPU资源和频繁访问硬盘的情况下,通过硬件将图像的缓冲区转换成视频流

3. 实验

1.方波

在图中,黄色的是用作照相机0的外部触发器的信道1,蓝色的是用作照相机1的外部触发器的信道2。水平轴-左图时基为25.0ms,右图时基为500nm。垂直轴-两个图中的电压为2.00V。从左图开始,两个通道的周期严格为20Hz,这意味着上升沿每50ms出现一次。从右图可以看出,时基足够小,信道1的上升时间为7.467ns,信道2的上升时间为28.67ns,两台摄像机的每一帧都是严格同时触发的,同步误差以纳秒为单位。
在这里插入图片描述

2. 外触发和软触发

外部触发采用外部信号,软触发采用上位机程序信号。软件信号不能严格同步,因为在Linux或Windows下,程序不能在CPU架构下并行运行。在一个软触发的演示中,程序运行在上位机上,以并行线程的方式发送软触发信号,然后用时间戳在另一个线程中捕获图像。两个相机的时间戳的差异如图所示。两台相机在-2~3ms和6次大于4ms的时间上存在差异,会影响SLAM框架的时间同步;在这里插入图片描述
外部信号的间隔处于有限的同步误差,考虑到ISR误差最大间隔在100um左右:在这里插入图片描述

3.ORB_SLAM2测试

1)室内
中间的桌子大概是1.2米×4.8米,拍摄了3个圆圈的图像,并用全局重新定位的方法编程发现了2次闭环。标记1和2的轨迹错误,在椅子或桌子上,用于闭合回路和执行全局重新定位。在这里插入图片描述
2)室外
建筑物周围是树木和灌木丛,在图像中显示出许多重复的特征。只有提取出足够的匹配特征点,SLAM才能正常工作,图中证明我们的系统在时间上处于良好的同步状态。
在这里插入图片描述

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值