基于线激光的3D相机嵌入式软件设计与研究
【摘要】:传统二维工业相机显然在某些场景下具有很大局限性,而采用三维轮廓测量系统可以获得被测物体的深度信息使得测量信息更全面。因此本文设计了基于线激光三角测量原理的3D相机嵌入式软件,主要应用于工业生产线中零部件表面轮廓的测量。3D相机作为线激光三维轮廓检测系统的核心,完成图像采集、光条中心线提取、三维坐标转换以及轮廓数据传输的功能。本文在现有的3D相机硬件基础上,根据需求分析,设计了符合要求的嵌入式软件,主要内容如下:(1)研究了3D相机软件设计的关键技术。分析了二维像素坐标与三维点云坐标数据的转换关系,使相机软件具备输出高度轮廓的功能。针对3D相机高速扫描物体时CPU的中断过于频繁导致其负载过高的问题,提出了轮廓数组合的方案。另外根据线激光扫描原理对数据均匀采集的要求,使用轮廓数组合和Gig E Vision消息通道的方法实现“生产者-消费者”的速度匹配,保证数据完整传输,为后续处理提供保证。(2)修改驱动程序增加符合3D功能控制相关的接口及选取图像采集区域的功能。基于V4L2框架根据需求添加了针对本项目中3D相机相关的控制功能。另外,添加了图像传感器采集区域可选取的功能及切换逻辑,并解决了其在相机通道切换后数据缓存区大小冲突的问题。(3)基于多线程技术设计了相机的应用软件。根据需求分析对应用软件进行模块化设计,主要分为数据采集模块、数据传输模块、参数配置模块以及系统管理模块。其中数据采集处理模块和数据传输模块涉及到共享数据缓冲区,本文使用加互斥锁的方式实现线程同步。通过模块功能的测试和系统联合调试验证了驱动程序和嵌入式应用软件设计的有效性和可靠性。通过功能性测试验证了数据采集模块及其通道切换的功能、数据传输功能、配置相机参数及修改IP等功能,最后通过三组实验数据验证了轮廓组合配合消息通道实现数据完整传输的功能。经测试,系统进行中心线数据传输稳定运行时,能够达到物体重构的要求。