摘要:随着城市化进程的加速和公共交通需求的增加,公交场站的停车管理面临诸多挑战。当前,公交场站的停车方式主要依赖于人工驾驶,存在停车效率低、停车资源浪费、安全性差等问题。为了提高公交场站的管理效率和服务水平,智能化、自动化的停车系统成为亟须解决的问题。本研究提出了一种基于SLAM(同步定位与地图构建)技术的公交客车自动泊车系统,并在ROS 中部署,旨在解决当前公交场站停车难题。通过SLAM 技术实现公交客车的高精度定位和导航,系统能根据给定的初位置和终点位置实现精准泊车,极大地提升了停车效率和安全性。
关键词:自动泊车;激光雷达SLAM ;模型预测控制;ROS
中图分类号:U467 DOI :10.20042/j.cnki.1009-4903.2024.03.002
0 引言
21 世纪以来,汽车在国民生活中的重要性日益增加。特别是在“碳达峰”和“碳中和”战略推动下,新能源客车数量快速增长[1]。截至2023 年底,我国公交车保有量达68.25 万辆,其中新能源公交车55.44 万辆,占比81.2%。随着城市化进程的加速和公共交通需求的增加,公交场站停车管理面临诸多挑战[2] 。当前,公交场站的停车方式主要依赖于人工驾驶,存在停车效率低、停车资源浪费、安全性差、需要人找车等问题。为了提高公交场站的管理效率和服务水平,智能化、自动化的停车充电系统成为亟须解决的问题[3]。
本研究提出了一种基于SL AM( 同步定位与地图构建) 技术的公交客车自动泊车系统,旨在解决当前公交场站停车难题。该系统通过SL AM 技术实现公交客车的高精度定位和导航,并结合云端自动调度功能,实现精准泊车,从而显著提升停车效率和安全性。在公交场站智能化发展的背景下,自动泊车系统的应用具有重要意义。首先,它能有效优化场站空间利用,减少资源浪费。其次,自动泊车提升了停车过程的安全性,降低了事故风险。最后,基于SLAM 定位的自动泊车系统能够与智慧交通系统无缝对接,推动公交场站的全面智能化升级,进而提升整体运营效率。
目前,国内外对于自动泊车系统研究较多,该技术基本成熟且在乘用领域得到广泛应用,但在电动城市客车中尚未普及[4]。鉴于乘用车与电动城市客车在自动泊车系统开发目的及研究方法上的差异,本研究将综合考虑电动城市客车的特殊运动形式,结合实际的泊车场景特点,通过合理优化路径规划算法与轨迹跟踪控制算法,实现停车场内电动城市客车的自动入位和自动充电功能,从而大幅提升公交车充电场站的调度效率。
1 泊车调度方式及程序构架
本文提出的自主泊车调度方式,旨在配合智能充电站的高效运作,其流程如图1 所示。该系统主要服务于图2 所示的公交终点补能站点,该图为某条具体路线的示意图,实际站场可能包含多条类似路线。泊车流程始于驾驶员将车辆停靠在指定的起始位置,随后调度员在调度室通过程序进行调度。调度员在确认空闲充电弓的编号后,向车辆智驾控制器发送路线信息。在确认车辆状态及充电弓工作正常后,启动泊车程序,使车辆自动前往目标充电弓并精准停靠在目标位置范围内。之后,请求充电弓下落进行充电,待充电完成后充电弓升起,车辆自动开往发车点等待。
为了实现车辆与充电弓的精准对接,要求车辆在停靠时的横向和纵向位置偏差控制在±15 cm 以内。为此,本文提出了利用激光雷达、LeGO-LOAM 算法进行建图以及NDT 算法进行定位的方案,以支持无人驾驶汽车的精准轨迹跟踪。该方案的优势包括以下几点:
⑴高精度建图:能够生成高精度环境地图,助力无人驾驶汽车在复杂环境中实现精确导航。
⑵高效定位:快速准确地对齐激光雷达扫描数据与已有地图,确保汽车精确定位。
⑶实时感知:SLAM 算法结合激光雷达数据处理,实现实时环境感知和定位,确保汽车及时响应环境变化,保持预定轨迹。
⑷鲁棒性强:激光雷达在各种光照条件下( 如白天、夜晚、强光和阴影) 稳定工作,确保无人驾驶系统在不同环境中的可靠性。
基于激光雷达的建图定位模块在车辆行驶过程中,为车辆横纵向控制模块提供精准的车辆位置信息。同时,本系统对路径规划部分采用离线方式进行,即在起点和终点确定的情况下,提前使用Hybrid-A* 算法离线规划好每条路径的行驶路线。此外,CAN 信号转换模块负责在车辆控制命令与车辆线控底盘状态之间实现信息的中转。控制模块则包括MPC 前轮转角控制( 最终转换为转向盘角度) 和PID 车速控制( 主要通过向VCU 请求电机驱动扭矩)。
自主泊车系统中基于ROS(Robot Operating System) 开发的节点模块构架图如图3 所示。
2 激光雷达SLAM 定位
2.1 LeGO-LOAM 建图
点云地图在自动驾驶中扮演着重要角色,它是感知、定位和路径规划的关键参考。通过点云地图,自动驾驶车辆能够获取详细的三维环境信息,如建筑物、道路边界和交通设施等。凭借这些信息,自动驾驶车辆能够实现厘米级的定位精度,进而更好的获取准确的车辆位姿来配合轨迹跟踪控制器。
LeGO-LOAM 算法专为激光雷达设计,优化了对地面信息的处理,从而提高了建图的精度和效率。在建图过程中,建图节点会输出地图点云,通过rosbag 工具记录这些点云数据的话题( 例如,使用命令“rosbag record /laser_cloud_surround”来记录周围环境的点云数据)。记录完成后,我们可以使用ROS 中的pcl_ros 库将rosbag 文件中的点云数据转换为PCD文件格式,进而形成可供后续使用的点云地图。LeGO-LOAM建立点云地图过程如图4 所示。