您好, 访客   登录/注册

基于无人车自动构图导航系统的设计与实现

来源:用户上传      作者:

  摘 要:为了解决复杂环境下无人驾驶小车的定位导航问题,提出基于激光雷达SLAM技术的无人车自动导航系统。采用SSH远程登录协议实现PC端的命令控制,通过无线传输协议将手机终端数据传送到无人车,利用手机终端对无人车进行地图构建和自动导航操作。操作人员无需手动控制躲避障碍物,只需在手机端设定终点即可实现小车的自动导航功能。最后,选择室内环境进行测试分析。结果表明,该系统实现了无线传输、远程监控以及自动构图导航的设计目标。
  关键词:无人车;物联网技术;SLAM技术;远程监控;地图构建;自动导航
  中图分类号:TP274 文献标识码:A 文章编号:2095-1302(2020)05-00-03
  0 引 言
  随着我国科技的不断发展,人工智能产品在日常生活中越来越受欢迎,ROS作为最主流的机器人通信框架,其提供了非常完善的操作服务。对于目前无人小车研究中存在的对不同环境的识别、复杂地图构建和精确导航等问题[1-2],本文设计基于激光雷达SLAM技术的地图构建与自动导航系统,结合移动终端、无线网关、激光雷达及摄像头等设备可以实现无人车对复杂环境的地图构建,同时能够精确地对无人车进行地图自动导航。该系统可以依据构建的地图自动规避障碍物,为无人车规划最优路径,提高了无人车定位的精确度。
  1 系统总体设计
  系统主要分为硬件部分、软件部分及开发平台三部分。系统总体架构如图1所示。
  系统的硬件部分采用树莓派3B+主控板、STM32驱动板、激光雷达、摄像头等设备来实现对环境信息的采集和无线信号的接收与处理;软件部分采用Android Studio编译环境来实现对移动终端的设计与调试;系统开发平台则采用Ubuntu 16.04操作系统来实现远程登录和命令控制操作。系统通过Ubuntu 16.04平台远程接入树莓派系统,使用启动命令将硬件设备调试到工作状态,然后利用手机终端控制无人车进行地图构建和自动导航。
  2 硬件设计
  2.1 树莓派主控板
  Raspberry Pi 3B+不仅体积小,同时还具有完善的电脑功能,并且该主板支持Python,C等编程语言[3]。Raspberry Pi 3B+含有64位的1.4 GHz四核处理器,并装载2.4 GHz和5 GHz双频段的无线网卡和蓝牙4.2,支持PoE功能[4-5]。Raspberry Pi 3B+实物如图2所示。
  通过烧录软件将系统镜像烧进SD卡,然后把SD卡插入树莓派3B+上电启动,正确显示界面后,通过键盘和鼠标进行网络连接和命令键入。
  2.2 STM32驱动板
  STM32系列单片机具有高性能、低成本、低功耗的特点[6-7]。本设计使用的型号为STM32F103RCT6,具有256 KB的FLASH空间,48 KB的RAM容量。STM32F103RCT6实物如图3所示。
  在使用过程中,连接驱动板、电机、电压表及电源等设备,通过供电设备使其进入工作状态。同时,驱动板上装载姿态传感器,可以用来感知无人车的运动姿态和方位等信息。
  2.3 激光雷达与摄像头
  与普通微波雷达相比,激光雷达具有高分辨率、抗干扰能力强、体积小、质量轻等优势[8-9]。在构建地图过程中,通过控制小车的移动使激光雷达能够对环境进行准确的扫描,最后在终端呈现出精确的环境平面图。激光雷达设备如图4所示。监控设备采用普通USB接口的摄像头,其成本低且可以调节焦距,成像清晰,驱动程序简单易懂,可以满足设计中对环境的监控功能。摄像头设备如图5所示。
  3 Ubuntu平台搭建
  本系统采用Ubuntu 16.04操作平台,不仅符合树莓派的操作系统,同时具有运行速度快、可移植性强、多终端并行工作等优势,不仅节省后续复杂算法的开发时间,还可以多平台进行移植操作。此外,除了在PC端移植Ubuntu 16.04系统,还在系统上构建次级系统—ROS系统[10]作为无人车的上层决策系统。搭建完成后的平台界面如图6所示。
  4 软件设计
  4.1 集成开发环境
  本系统使用Android Studio来开发手机端的APP。在进行Android Studio开发环境配置过程中需要注意JDK版本的一致性问题。此开发环境相比Eclipse而言,提供基于Gradle的项目构建系统,在构建Android项目时更加灵活[11],可以通过变量配置来生成多个版本的APK文件,拥有大量的代码模板可以快速地构建Android项目,可直接拖拽UI编辑器以及内置Link Tools代码优化工具,可以解决性能、可用性、版本兼容等问题。
  4.2 软件界面设计
  设计的移动终端界面效果如图7所示。移动终端的设计主要分为地图区、监控区和控制区3个部分。地图区用来呈现无人车在移动过程中通过激光雷达扫描后得到的环境平面结构图,其中黑色表示不可通行区域;监控区用来显示在无人车移动过程中前方呈现的影像,方便操作者在移动终端对实际环境进行监控;右下方的控制区则是用来控制无人车在构建地图时移动的方向,提高构建地图的准确性。
  5 系统调试与实现
  本系统在设计完成后,选取室内环境对无人车进行测试,具体实现步骤如下:
  步骤1:打开树莓派主控板和操作平台,将二者接入同一网络中,在搭建的Ubuntu 16.04平台上通过SSH远程登录的方式进入树莓派系统;
  步骤2:登录成功后,利用终端分别打开树莓派底板、激光雷达构图、导航及摄像头等功能的启动文件;
  步骤3:打开移动终端,对无人车所在环境进行地图构建和自动导航测试。
  实际操作效果如图8所示。
  6 结 语
  本系统利用Raspberry Pi 3B+与激光雷达等设备设计无人车的自动构图导航功能,并通过测试对设计的功能进行展示。结果表明,所设计的无人车能够对复杂环境进行准确地地图构建,并且可以有效地躲避复杂路况上的障碍物到达指定位置,同时操作人员可以对环境进行远程监控。此系统有效地融合激光雷达技术与智能控制技术,为后期的定位导航和路线规划等研究提供了重要基础。
  参考文献
  [1]张梦巍.智能无人驾驶车辆路径跟踪及底层控制方法研究[D].沈阳:沈阳理工大学,2018.
  [2]陈静.基于无人机的室外全景漫游地图设计与实现[J].物联网技术,2019,9(1):103-104.
  [3]张伟,王宜怀.基于Raspberry Pi 3的智能家居系统设计[J].单片机与嵌入式系统应用,2018,18(2):43-46.
  [4]靳建彬,吴昊,张海龙.基于Raspberry Pi平台的火灾报警智能小车实现[J].电子世界,2018(13):191.
  [5]朱得元,胡冰,俞宝库.基于Android/Raspberry Pi的智能家居安防系统的设计与实现[J].电脑知识与技术,2017,13(19):158-161.
  [6]王鹏飞,张映宏,王昊,等.基于STM32F103微控制器自动避障小车控制系统设计[J].信息技术与信息化,2019(2):77-80.
  [7]杨辉,吴赛燕.农业机器人路径识别自主导航系统:基于STM32与物联网[J].农机化研究,2019,41(9):176-179.
  [8]李晨曦,张军,靳欣宇,等.激光雷达SLAM技术及其在无人车中的应用研究进展[J].北京联合大学学报,2017,31(4):61-69.
  [9]王会,罗涛,陆培源.激光雷达在无人车辆中的应用及关键技术分析[J].激光与红外,2018,48(12):1458-1467.
  [10]李步恒,杜玉曉.基于ROS的人形机器系统设计[J].电子世界,2018(5):59.
  [11]马力.基于Android的智能小车远程控制与视频监控系统研究[D].西安:西安电子科技大学,2018.
转载注明来源:https://www.xzbu.com/8/view-15244217.htm