- 收藏
- 加入书签
基于ROS系统的无人驾驶小车可视化教学系统研究
摘要:无人驾驶智能小车作为未来汽车行业主要发展方向,为了奠定学生在此行业的就业发展,本文旨在基于ROS系统设计无人驾驶校车可视化教学系统,为学生提供自由发挥、创作、实践、学习的平台。使用Linux 16.04操作系统,主要包括STM32控制无人车移动、车道线识别、红绿灯识别、交通避障等。学生可以自由设计底盘硬件结构,利用各类传感器实现自己的无人驾驶车设计及控制。在教学实践中运用此系统,引导学生正确的研究方向对学生研究中遇到的问题给予解决思路,鼓励学生使用新的思路、 新的技术去实现研究任务。
关键词:ROS系统;无人驾驶小车;可视化;实践教学;图像处理
课题来源:内蒙古交通职业技术学院;课题名称:基于ROS系统的无人驾驶小车可视化教学系统研究。
1引言
智能网络化车辆是汽车开发的主要方向,自动驾驶技术是智能网络化车辆的重要组成部分,也是汽车产业核心竞争力的重要指标。本研究旨在改进无人驾驶技术在当前研究热点上的教学内容,使学生能够了解无人驾驶技术的开发情况,完全了解无人驾驶技术(包括相机、骑乘者)的整体技术框架和技术重点,以及陀螺仪无人驾驶技术中其他传感器的使用方法和数据处理方法[1]。旨在提高学生对人工智能、机械、检测、控制等跨学科知识的综合应用能力,同时为学生提供不失兴趣、自由创作的实验平台。
2无人驾驶小车系统硬件
无人驾驶系统主要由计算机、STM32、双筒望远镜相机、骑手、陀螺仪等组成,作为主计算机的主控制单元,计算机完成系统导航、障碍物回避、通信等功能,作为显示和操作机制,程序变更和加载、导航显示、轨迹路径规划和其他功能;为了机器人通信,每辆车都有自己的局域网 Wi-Fi,在实验中必须选择相应的车辆;STM32 用作系统的底部控制,收集传感器数据,例如:陀螺仪、超声波、左右轮编码器和马达的控制、旋转功能;陀螺仪用于测量车辆的旋转角度;超声波主要用于检测透明障碍物,如玻璃。
3基于ROS的软件系统设计
本实验使用Linux 16.04操作系统,ROS是连接该操作系统和开发者所写程序的机器人操作系统,它提供类似于操作系统的功能,如硬件抽象、通信架构、 软件分发、包管理等ROS下可以同时运行多个节点,每个节点可以单独设计,ROS将提供一个框架来管理这些节点,作为他们之间通信的桥梁。软件系统的构建主要包括STM32控制无人车移动、车道线识别、红绿灯识别、交通避障等[2]。此外,还给学生提出了以下拓展研究点:车辆自主导航,车与车之间的控制决策、通信及复杂环境识别等。
3.1 STM32控制通信
STM32模块与电脑是通过串口在规定的通信协议下进行通信的。STM32模块将采集的陀螺仪、超声波、左右轮电机编码器等传感器数据传输给电脑,并且接收电脑传输过来的左右轮电机速度数据,控制电机转动。在dashgo ws X程中,dashgo driver包负责与STM32通信并控制无人车移动,因此需要先启动dashgo driver驱动,然后再启动键盘控制程序,来控制车的移动。键盘控制节点会向速度主题发布ROS消息,包括机器人中心的线速度和角速度,驱动节点监听到/cmd_vel中有新消息后,将其转成左右轮电机速度,并下发给STM32,从而控制无人车移动。
3.2车道线识别
使用ZED摄像头对交通环境中的车道线进行识别,将图像原来的RGB图像空间转换为HSV图像空间。如果不进行颜色识别,可以采用HSL通道。然后再将H通道进行二值化处理,对车道线截面进行分析,统计出各个截面中点的横坐标,取其中点数目最多的横坐标作为车道线位置,进行PID调节。
3.3红绿灯识别
实验采用AdaBoost算法进行红绿灯的位置识别,共有两个步骤。第初始化训练数据的权值分布。假设有n个样本数据,则初始化所有样本权值为1/n。 第二,训练所有的弱分类器。在具体训练过程中,如果某个样本已经被准确地分类,那么在构造下一个训练集时,它的权重就被降低;相反,如果某个样本点没有被准确地分类,那么它的权重就得到提高,同时得到弱分类器对应的话语权。更新权值后的样本集被用于训练下一个分类器,整个训练过程如此迭代地进行下去[3]。
3.4交通避障
激光雷达用于测试周围环境,判断相对于车的哪个角度及多远距离处有障碍物。首先要对激光雷达数据进行处理,选取一个扇形区域.设定最小和最大弧度为-1.05 rad和1.05 rad,检测的最小和最大距离为0.1〜1.8 m,该设定值可以根据环境在程序中调整。然后订阅雷达消息,对每一个角度激光的返回距离值进行阈值判断,当满足条件的激光数达到一定阈值时, 则认定为有障碍物。
4教学实践分析
4.1教学实践
基于Ubuntu 16.04系统.并以ROS机器人操作系统作为上位机.在ROS下很容易将车道线识别、红绿灯识别、避障等程序节点调用起来,对车进行控制。 学生基于给定的车和DEMO程序,通过调试来实现运行效果。对于在调试过程中出现的各种问题逐一解决。
4.2实践考核
在课程实践中,鼓励学生提出改进无人驾驶技术的想法,因此在课程考核中,拓展研究点的分值权重最高。能够在原有设计基础上,进行一定的创新或者是技术改进,都可获得加分。考核标准中列出了很多加分点,大大激发了学生的研究热情。
结论
基于ROS构建的无人驾驶创新实验课,是教学中的一门新的实践课程,在课程教学中,教师构建课程框架,引导学生正确的研究方向,对学生研究中遇到的问题给予解决思路,鼓励学生使用新的思路、新的技术去实现研究任务。在这样的学科交叉研究活动中,与新工科高校建设相契合。
参考文献
[1]张伟民,户肖剑,贾群喜.基于ROS无人驾驶车算法优化的研究[J].现代信息科技,2020,4(23):80-82+86
[2]葛亚明,胡一博,雷乔治,陈浩耀.ROS无人驾驶创新实验课程研究与教学实践[J].实验技术与管理,2020,37(06):221-224.
作者简介
李昂(1993.1—),汉族,内蒙古赤峰市红山区人,硕士研究生,讲师。
京公网安备 11011302003690号