APP下载

基于ROS系统的SLAM视觉智能勘察小车*

2022-03-07阳映雯陈凯凯余思琪谢诗语赵艳芳

南方农机 2022年5期
关键词:工控机激光雷达小车

阳映雯 ,邓 鹏 ,陈凯凯 ,余思琪 ,谢诗语 ,赵艳芳

(荆楚理工学院电子信息工程学院,湖北 荆门 448000)

随着智能化技术的逐渐普及,机器人系统越来越多地运用到了人们生活的各个方面,给人们的日常生活带来了许多的方便和益处。越来越多的智能移动小车被广泛应用到人们的日常生活中。它们脱离了连接线缆和固定安装位置,它们的活动也更加灵活自由,便于帮助人们解决许多生活日常的事情,从而代替人们完成工作。项目小组以自动化工程中机器人综合智能应用为背景,采用移动机器人作为手段和对象。按复杂工程应用需求进行设计,参考指定场景和具体设计要求,基于机器人操作系统ROS完成具有明确的系统与作业性能要求的智能机器人系统设计过程,包括分工设计、编程开发及集成应用实现、测试、评估及报告。而智能小车被应用到这些任务和工作的关键技术是智能小车在勘察任务中的自主导航和智能小车的SLAM地图的构建。本智能勘察小车通过深度相机来对机器人实时环境进行SLAM地图构建,在智能小车自主移动的过程中对实时环境进行勘察。通过不断实验,确保小车能够解决在室内执行任务或者遮挡情况下,定位不准确以及区域位置难以识别的问题。

1 系统总体方案设计

该系统的总体分为硬件部分和软件部分。硬件部分以工控机作为智能小车的上位机,各个传感器为辅助,且主要传感器包括深度相机和激光雷达传感器来对智能勘察小车硬件进行搭建。智能小车在软件方面主要以Ubuntu系统下的机器人操作系统ROS作为智能勘察小车的大脑,来对智能勘察小车的实时地图和自主导航进行控制和计算,软件部分主要包括上位机Ubuntu系统、SLAM地图的构建、建图算法和自主导航。通过对智能勘察小车的硬件搭建和软件设计,实现对智能勘察小车的自主移动和实时勘察功能。主要包括上位机Ubuntu系统中的机器人操作系统ROS和相关建图算法。采用开源机器人系统ROS,能够更好地控制小车。上位机界面在ROS操作系统的基础上进行开发,从而更好地对智能小车的实时移动环境和导航情况进行勘察。最后构建地图,通过激光SLAM和视觉摄像头来实现对室内环境的地图构建[1-2]。

ROS机器人操作平台具有容易修改和调控以及更方便控制的特点,用于对小车的控制,无疑是较好的选择。再通过激光SLAM与深度相机联合ROS的图形化模拟,就能够更方便准确地对小车的位置进行定位,然后实行建图。

2 系统硬件设计

系统的硬件结构包括工控机、深度相机、二维激光雷达、超声波传感器、显示器等。工控机预装了ROS机器人操作系统。智能小车通过碰撞传感器和超声波传感器在自主移动的过程中采集实时障碍物信息,并将实时障碍物信息传到工控机,通过工控机来对智能小车在行进过程中遇到的障碍物、台阶及坑洼地段进行判断。深度相机和二维激光雷达将采集到的地图信息也传到工控机,通过工控机来对智能小车的实时地图进行创建和实时更新。SLAM视觉智能勘察小车硬件组成框图如图1所示。

图1 SLAM视觉智能勘察小车硬件组成框图

2.1 深度相机

随着自动驾驶和机器视觉等技术的逐渐发展[3-4],采用深度相机进行行为识别、物体识别以及场景建模的相关发现和应用越来越多。可以说深度相机就是机器人和终端的眼睛,用来检测目标拍摄环境的环境深度的信息,与普通的相机具有很大的差别。普通的相机所拍摄的图片仅能看到相机视角内的所有物品并记录下来,但是对于物品与相机的距离,就不得而知了,没有确切的数据。本设计中机器人所采用的深度相机为Orbbec深度相机,通过深度相机获取到的数据,能准确地知道图像中每个点与相机的距离。因此,加上该点在二维空间上的x、y坐标,就能成功获取到每个点在三维空间上的位置坐标。最后,通过三维坐标位置就能真实还原真实的小车环境,实现环境的建模处理等工作。本设计中的Orbbec深度相机最远测试范围可达8 m,比较适用室内较远距离的应用场景,支持基本的手势跟踪,可以用于手势识别的人机交互。

2.2 二维激光雷达

随着智能化技术的不断发展,在机器人、无人驾驶等领域中都能看到激光雷达的身影。激光雷达是集激光、全球定位系统(GPS)和IMU(惯性测量装置)三种技术于一体的系统,比起普通雷达,激光雷达具有分辨率高、隐蔽性好、抗干扰能力更强等优势。随着激光雷达的应用越来越广泛,激光雷达的种类也变得越来越多,在功能上有激光测距、激光测速、激光成像、大气探测、跟踪雷达等应用。本文设计的仓库巡逻机器人采用的是思岚RPLIDAR A1激光雷达。测距范围为0.15 m~6 m;扫描角度为0~360°;扫描频率为5 Hz~15 Hz。

2.3 其他传感器

SLAM视觉智能勘察机器人也可以添加一些其他的传感器来实现其巡逻的功能。例如,防跌落传感器利用超声波进行测试距离,当超声波测试的距离超过限定值的时候,传感器就会向控制器发出信号,进而控制器就会发出命令改变机器人运行轨迹;温湿度传感器,它是利用探头作为测温元件,将温度和湿度信号采集出来,经过信号调理电路处理后,转换成信号输出。同时,SLAM视觉智能勘察机器人通过陀螺仪、里程计、加速度计来获取机器人的角速度和加速度。将数据传输到工控机,由工控机结合二者将其姿态数求出,同时在TF坐标变换中进行计算。

3 系统软件设计

本激光SLAM视觉智能勘察小车使用开源机器人ROS系统来对小车进行控制操纵。ROS系统是关于控制机器人系统的一个很好的工具,里面包含了多种用于控制机器人系统的软件包,在编写相关机器人程序的时候,修改相对应的参数便可实现对相应机器人程序的操作应用。ROS系统包含非常强大的能够对环境实行模拟化的功能,结合深度摄像头对相关图形进行数据的收集,进而实现人体识别,最后可以实现测试相关的距离从而躲避障碍物。

3.1 ROS控制系统设计

ROS控制系统是一个机器人软件平台,提供一些标准操作系统服务。例如,底层设备控制,常用功能实现以及数据包管理。目前,ROS主要支持的是Ubuntu系统。ROS可以分成两层,底层是操作系统层,上层则是各种软件包,这些软件包有着各种功能,这些功能主要都来自于使用者在日常生活中所反映的生活所需,如定位建图、感知、模拟开发等等。

ROS系统包含非常强大的能够对环境实行模拟化的功能,方便直接实现对机器人小车的控制。ROS也提供了许多容易被调用的功能函数,因此在设计小车系统时可以对应寻找使用相关的功能函数并直接调用,极大地提高了开发效率。并且采用ROS进行控制,可以方便在各个机器人系统之间进行联合和切换,降低了相关硬件选择方面的成本。

开源ROS机器人操作平台具有容易修改和调控以及更方便控制的特点,因此选用它来对小车进行控制与操作,无疑是最好的选择。再通过激光SLAM与深度相机联合ROS的图形化模拟,就能够更方便准确地对小车的位置进行确定,然后实施建图。室内自主定位和自主导航仿真图如图2所示。

图2 室内自主定位和自主导航仿真图

3.2 上机位控制界面设计

要实现对小车实时的移动环境进行检查,并能够及时、准确地实现对小车的定位以及对小车进行导航,上位机采用ROS开发了简易的人机交互界面,相关的运行系统为Ubuntu系统。Ubuntu系统是一个Linux操作系统,它是以桌面应用为主的。Ubuntu系统能够为一般用户提供一个最新的且又相当稳定的操作系统,它主要由自由软件构建而成,并且可供免费使用。

进入Ubuntu系统,掌握小车的实时移动环境以及小车的定位、导航情况。通过ROS系统,可以观察智能小车在地图上的位置[5-6]。

3.3 建图算法

本设计通过激光雷达和视觉摄像头来对室内外环境进行SLAM地图构建。目前,SLAM(Simultaneous Localization and Mapping)算法在机器人运动控制和建图应用中具有重要的地位,SLAM地图构建主要为激光雷达创建SLAM地图和视觉摄像头构建SLAM地图。由于二维激光雷达无法在坡道和坑洼环境下实现自主定位和实时地图的构建,所以本设计只要采用视觉摄像头来对智能勘察小车进行地图的构建。然而,二维激光雷达适合室内机器人在比较平整的地方移动时使用,在复杂的环境下不适用,例如:仓库机器人,因为仓储物流量的增大,传统二维激光雷达难以满足要求。对于视觉摄像头创建SLAM地图,会受光照环境影响,如逆光、黑暗环境下视觉摄像头采集的数据会有所欠缺。

SLAM的概念为同步定位与地图构建,智能勘察小车在从位置环境中向未知地点自主移动的过程,利用运动过程中重复观测的地图特征(例如柱子、桌子腿等)来定位自身的位置和姿态,再根据自身来构建地图,进而达到同步定位和地图构建的目的。在SLAM建图中最常用的方法是通过Gmapping方法来实现SLAM地图的构建,Gmapping是ROS导航包中的二维建图算法包,Gmapping基于粒子滤波算法,通过对机器人里程计数据获取粒子群的位姿,然后通过激光雷达采集的数据来构建SLAM地图。SLAM地图如图3所示,图中点为障碍物。

图3 SLAM地图

4 系统测试

为了使系统得到的数据更为准确,需要不断进行实验检测,不断发现该小车系统行驶中出现的问题并及时改正。通过不断实验,确保小车能够解决在室内执行任务或者遮挡情况下,定位不准确以及区域位置难以识别的问题。可以先分模块单独进行测验,在测试过程中,保持一定的WiFi有效距离,尽可能地减小实验误差。

4.1 误差估计

对该系统可能出现的所有误差进行估计,确保在最后进行实验数据对比时,能将误差排除在外,进行正确的数据比对。分模块进行实验测试,记录相应的数据值以及相应的误差范围值。在该系统中可能会存在上位机与智能小车的通信距离有限的问题[7-8]。当智能小车与控制终端的距离超过一定范围时,可能会出现信号收发较差的情况,所以要将这个误差情况考虑在其中。

4.2 地图构建

在主控板的终端上执行SLAM构建地图的命令,小车便会对周围的环境进行扫描[9-10]。随即便可将所扫描的区域都加入到构建的地图中,并将数据上传至上位机,基本上可以实现数据的实时传送与地图的构建。反复进行实验,直到小车系统所扫描构建的地图轮廓清楚,与实验场地的环境基本一致,则说明本次的小车勘察实验测试成功。当地图加载成功时,小车在对周围环境进行扫描并且将相关数据上传到控制界面时,中途会有一定的延误时间,但此延误时间只有零点几秒,可以忽略,从而基本上可以成功实现对数据的及时传送以及地图的构建。当小车系统所构建的地图轮廓比较清晰,与外围实验场地基本一致,则可以说明本次的系统测试成功。

5 结语

本研究提出了一种基于ROS系统的SLAM视觉智能勘察小车设计方案,小车可以实现室内外定位和自主导航功能。在特定的路线下进行自主导航和路线规划,并进行地图构建,不断进行测验,指导完成实验目标。该小车可完成视觉智能勘察方案,能够检测路面,完成指定路线的行进,掌握视觉智能勘察的控制方法,最后总结得到规律。小车能够在完成视觉勘察后进行实时地图的数据采集,将地图图像加载成功,加载成功之后通过对实时环境的扫描,智能小车即可在自主移动的过程中建立环境地图,再将地图信息上传到控制界面,最终实现将地图信息进行实时上传和对地图进行完善。通过实验仪器探究机器人控制算法和ROS操作系统,并通过各方面的学习与运用,不断地进行实验测试,从而得到准确的数据,通过大量数据的分析找出可能存在的问题,尽可能地解决掉问题。找出任何可能存在实验误差的地方或者可能出错的地方,仔细进行勘察,尽量减小实验误差。

猜你喜欢

工控机激光雷达小车
法雷奥第二代SCALA?激光雷达
基于激光雷达夜间观测提取重力波方法的定量比较
大车拉小车
刘老师想开小车
基于激光雷达的多旋翼无人机室内定位与避障研究
两轮自平衡小车的设计与实现
Velodyne激光雷达宣布将GaN技术用于小型化低成本固态激光雷达传感器的新设计
去修理厂
普通台机替代工控机成功应用
印刷网络化解决方案中工控机系统的设计与实现