引言:
随着自动驾驶技术的飞速发展,它已成为交通领域创新的前沿。在这个充满挑战的新时代中,Autoware Universe作为一个开源自动驾驶平台,为研究和开发人员提供了一个强大的工具,用以实现复杂的自动驾驶功能,其中最引人注目的便是其先进的变道逻辑。
在实际道路条件下,安全有效的变道不仅是自动驾驶车辆必须掌握的技能,也是衡量其智能化水平的重要标准。Autoware Universe中的变道逻辑通过综合考虑车辆的当前状态、周围环境、交通规则以及驾驶意图,来实现顺畅且安全的车道变更。它不仅仅是简单的车道切换,而是一个涉及多个方面的复杂决策过程。
本文的目的是探索如何将Autoware Universe的变道逻辑成功集成到一个特定的应用场景中——即智能网联智慧交通沙盘小车环境。这一环境不同于实际道路,它是一种用于教育和研究的模拟环境,可以在相对安全和可控的条件下测试和验证自动驾驶算法。我们将讨论沙盘小车的硬件配置和软件架构,如何适配和集成Autoware Universe的变道逻辑,并展示具体的实现方法和代码示例。
通过这项工作,北京渡众机器人旨在为教育和科研人员提供一个实际的案例,展示如何在模拟环境中应用和测试先进的自动驾驶技术。这不仅有助于提升自动驾驶领域的教学和研究水平,也为未来在真实环境中部署这些技术奠定了坚实的基础。

Autoware Universe的变道逻辑概述:
变道的必要性:
在复杂且动态的道路环境中,变道是自动驾驶车辆必须具备的关键能力之一。变道的必要性主要由以下几个方面构成:
- 避免障碍物:在遇到前方道路上的障碍物,如施工区域或停车车辆时,自动驾驶车辆需要通过变道来继续其行程。
- 优化行驶路线:为了遵循预定的导航路线或响应实时交通状况,如避开拥堵区域,车辆可能需要进行变道。
- 遵守交通规则:在某些情况下,例如即将到达的左转或右转车道,车辆需要提前变道以符合交通规则。
- 应对紧急情况:在紧急情况下,如为救护车或警车让路,变道成为必要的应急响应。
Autoware Universe中的变道算法:
Autoware Universe提供了一套复杂且成熟的变道逻辑,该逻辑在确保安全和效率的同时,允许自动驾驶车辆在多种交通情况下灵活变道。这一逻辑包括以下几个关键组成部分:
-
感知与环境理解:首先,系统利用车辆的传感器数据(如激光雷达、摄像头等)来准确感知周围环境。这包括识别邻近车道的车辆、障碍物、路面标记和交通信号。
-
决策制定:
变道决策依赖于车辆对周围环境的感知和理解,特别是对当前车道和邻近车道的动态对象的识别。Autoware Universe在变道请求条件满足时激活变道模块,这些条件包括:
- 车辆不在首选车道上。
- 在变道路径上没有交叉路口或人行横道。
- 变道路径没有与其他动态对象发生碰撞。
- 变道候选路径得到操作员的批准。
当需要变道时,变道模块被激活,可以安全地执行。
变道要求
在变道请求条件期间
- 自我车辆不在
preferred_lane.- 变道路径上既没有十字路口也没有人行横道
变道就绪条件
- 变道路径不会与其他动态物体发生碰撞(见下图)
- 变道候选路径由操作员批准。
生成变道候选路径
变道候选路径分为准备和变道两个阶段。下图说明了变道候选路径的每个阶段。

准备阶段
准备轨迹是候选路径的第一条和沿自我车辆当前车道生成的直线部分。准备轨迹的长度计算如下。
lane_change_prepare_distance = current_speed * lane_change_prepare_duration + 0.5 * deceleration * lane_change_prepare_duration^2
在准备阶段,当剩余距离等于或小于时,转向信号灯将被激活 lane_change_search_distance 。
变道阶段
变道阶段包括将自我从当前车道移动到目标车道的移动路径。变道阶段的总距离如下。请注意,在变道阶段,自我车辆以恒定速度行驶。
lane_change_prepare_velocity = std::max(current_speed + deceleration * lane_change_prepare_duration, minimum_lane_changing_velocity) lane_changing_distance = lane_change_prepare_velocity * lane_changing_duration
添加 是为了 backward_length_buffer_for_end_of_lane 为任何可能的延迟留出一些窗口,例如制动滞后期间的控制或机械延迟。
多个候选路径样本(纵向加速度)
变道速度受自我车辆当前速度的影响。高速需要更长的准备时间和变道距离。但是,我们还需要规划变道轨迹,以防自我车辆减速。计算假设自我车辆减速的候选路径是通过将预定的减速值代入 prepare_length 和 prepare_velocity lane_changing_length 方程来执行的。
预定的纵向加速度值是从longitudinal_acceleration = maximum_longitudinal_acceleration 开始并递减 longitudinal_acceleration_resolution 直到达到 longitudinal_acceleration = -maximum_longitudinal_deceleration 的值。 maximum_longitudinal_acceleration 公式为:在 common.param 文件中定义为 normal.min_acc 。 maximum_longitudinal_deceleration
其中 common_param 是车辆公共参数,它定义了车辆公共最大纵向加减速。而 lane_change_param 变道模块具有最大纵向加减速。例如,如果用户将和 common_param.max_acc=1.0 lane_change_param.max_acc=0.0 设置为 maximum_longitudinal_acceleration 0.0 ,并且变道在变道阶段不会加速。
由 longitudinal_acceleration_resolution 以下因素决定
longitudinal_acceleration_resolution = (maximum_longitudinal_acceleration - minimum_longitudinal_acceleration) / longitudinal_acceleration_sampling_num
请注意,当 低于 minimum_lane_changing_velocity 时 current_velocity ,小车需要将其速度加速到 minimum_lane_changing_velocity 。因此,纵向加速度变为正值(而不是减速)。
下图说明了 longitudinal_acceleration_sampling_num = 4 .假设 maximum_deceleration = 1.0 、 a0 == 0.0 == no deceleration 、 a1 == 0.25 a2 == 0.5 a3 == 0.75 和 a4 == 1.0 == maximum_deceleration 。 a0 是预期的变道轨迹,应自负车辆不减速, a1 而 的路径是预期的变道轨迹应自负车辆在

本文聚焦于将Autoware Universe的变道逻辑集成到智能网联智慧交通沙盘小车环境。介绍了变道的必要性及算法关键组成,包括感知、决策、轨迹规划等。阐述了沙盘小车的硬件配置和软件架构,详细说明了集成的关键步骤,如环境适配、算法细节融入等,以验证自动驾驶算法的有效性和可靠性。
3037

被折叠的 条评论
为什么被折叠?



