【Autoware】框架结构

智能驾驶核心

Autoware智能驾驶核心主要是依赖感知、规划、控制。其次,需要传感器、地图、定位模块进行辅助。

功能层

功能层

基础层

基础层

Planning(规划)

 Missing Planning(全局路径规划):决定起点到终点的路线,和普通的地图应用道路规划一样,但是侧重于道路可执行性,依赖高精地图。
 Scenario Planning(场景规划):复杂的交通场景,分为路径级决策、速度级决策、车道保持。最核心最复杂的模块,核心实现是行为树。(Autoware行为树依赖BehaviorTree开源库)。主要是做决策,所以涉及的算法主要是状态评估、预测、决策、代价计算、规则约束等。
 Motion Planning(运动规划):生成可执行的平滑轨迹。涉及路径规划、轨迹平滑、速度规划、轨迹优化等几个步骤。
  路径规划:局部路径生成、避障路径规划;
  (搜索算法:A*、RRT*、Dijkstra)
  轨迹平滑:路径点插值、曲线拟合;
  (曲线拟合算法:B-Spline、五次多项式、样条插值)
  速度规划:速度剖面生成、加减速规划、限速处理;
  (速度剖面算法:梯形速度规划、S曲线、Jerk-limited)
  轨迹优化:动力学约束优化、障碍约束优化、舒适性优化;
  (约束优化算法:QP优化、MPC、贝塞尔曲线优化)

Control(控制)

控制架构,输出到ECU,有两种方式:

  1. 横向、纵向分别输出转向和速度;
  2. 综合控制器统一优化后输出;
    控制算法类型:
  3. PID算法:固定的数学公式,通过调节参数进行应用适配。解决状态跟踪的问题,例如速度跟踪、位置跟踪、温度控制等。
  4. MPC算法:提供一个控制框架的算法类别。在约束条件下,实时预测未来行为,例如自动驾驶在避障时的最有路径跟踪等。
  5. LQR算法:固定的数学公式,基于Riccati方程,设计代价矩阵进行应用适配。调节状态平衡点,例如最有轨迹跟踪、姿态稳定控制、精确运动控制等。

Perception(感知)

主要分两类:自身状态感知、环境感知;
 自身感知:IMU、RTK/GPS、轮速计、里程计等。(不需要复杂的算法,状态获取)
 环境感知:Camera、LiDAR、Radar等。(需要计算机算法进行信息提取)
基于两类基本算法提供的原始信息,在进行传感器级的融合感知。
主要工作:感知信息的准确性和稳定性。

Map(地图)

主要的地图数据结构:
 Lanelet2:高精地图,主要用于全局规划、车道级导航;(静态)
 PCD:点云地图,点云,主要用于定位、环境感知;(静态)
 Occupancy Grid:局部避障,主要用于运动规划;(动态)
静态地图建图:
 Lanelet2:需要离线导入;
 PCD:利用SLAM算法现场建图;
 源码位置:/core/autoware_core/map/autoware_map_loader
动态地图建图:
 Cost Map:通过传感器识别障碍物,通过栅格的方式,标注障碍物位置。
 代价地图的创建,依赖3个图层:
  primitives:Lanelet2地图,静态导入;
  points:PCD地图,静态导入;
  objects:感知的移动物体,动态扫描;
 源码位置:/universe/autoware_universe/planning/autoware_costmap_generator

实际工作时,所有的地图坐标系重合,不同地图提供不同的信息,协作工作。统一使用UTM坐标系,通过TF变换系统进行坐标转换。

 Autoware消费对象:
Autoware地图消费

Localization(定位)

核心是多传感器融合,确定车辆再地图中的精确位置和姿态。
涉及的传感器包括RTK、IMU、LiDAR、轮速计等。
主要技术是基于卡尔曼滤波算法的融合感知。
卡尔曼滤波算法的目标是从带有噪声的观测数据中,最优地估计系统的真实状态。核心思想是预测未来状态,实时更新修正预测数据,根据卡尔曼增益决定预测和观测的权重,通过协方差矩阵跟踪估计的不确定性,还更新预测权重。

Sensing(传感)

传感器类型:LiDAR、Cameara、Radar、IMU、RTK等。
主要的职责:
 原始数据采集:这里包括驱动集成或SDK集成,最终目的就是获取传感器原始数据;
 数据预处理:去噪、下采样、矫正、坐标变换等;
 时间同步:时间戳对齐;
 数据质量评估:评估传感器数据的可靠性;
 数据标准化发布:生成ROS标准消息格式发布;

系统管理

智能驾驶核心模块只是整个分布式系统的一个主要功能,所有的计算机系统都离不开系统级的管理,Autoware里的系统管理包括任务调度、状态监控、故障诊断、日志管理、启动、安全等等。

子模块

State Management(系统状态管理):
 负责状态机的管理,核心组件包括AutowareStateMachine、StateTransitionManager;
Task Scheduler(任务调度模块):
 负责任务的优先级管理和调度执行,核心组建包括TaskScheduler、TaskPriorityQueue;
Fault Diagnosis(故障诊断模块):
 负责系统故障的检测和处理,核心组件包括FaultDetector、FaultHandler、FaultLogger;
Safety Monitoring(安全监控模块):
 负责保障车辆安全,核心组件包括SafetyMonitor、EmergencyHandler;
Log Management(日志管理模块):
 负责管理系统日志,核心组件包括LogManager、LogUploader;
Launch Management(启动管理模块):
 管理系统启动和关闭,核心组件包括:LaunchManager、HealthChecker;
Parameter Management(参数管理模块):
 管理系统参数,核心组件:ParameterServer、ParameterValidator;

相关节点

launch_manager:启动管理节点
 职责:依次拉起各个模块。
 模块启动顺序:
  Sensing > Localization > Map >
  Perception > Planning > Control >
  System Management > HMI
autoware_state_machine:状态机
 职责:负责系统状态的管理和切换。
 话题:/system/state(发布系统状态)
 服务:/system/transition(状态转换服务)
autoware_task_scheduler:任务调度
 职责:任务队列管理,按优先级调度任务。
 话题:/system/task
system_monitor:系统监控
 职责:监控各个模块的运行状态。
 话题:/system/health(发布系统健康状态)
fault_diagnosis_node:故障诊断
 职责:检测传感器、模块、通信等故障。
 话题:/system/fault(故障信息发布)
safety_monitor_node:安全监控
 职责:负责安全检测及紧急情况下触发停车。
 话题:/system/safety_event(发布安全事件)

内容概要:本研究聚焦于绿电直连型电氢氨园区的优化运行,提出一种集成绿色电力直接供给、电解水制氢及氢气合成氨工艺的综合能源系统架构。通过建立包含风光发电、电解槽、氨合成反应器、储氢罐、电网交互及多类型负荷在内的系统模型,综合考虑绿电直供优先、能量梯级利用与多能互补原则,构建以系统综合运行成本最小化为目标的优化调度模型。研究采用Matlab与Python工具进行算法求解和仿真分析,利用实际气象与负荷数据完成案例验证,评估了不同运行策略下系统的经济性、可再生能源消纳能力与碳减排效益,为新型电氢氨一体化园区的规划与运行提供了理论依据和技术支撑。; 适合人群:具备一定电力系统、新能源或化工背景的研究生、科研人员及从事综合能源系统规划与优化工作的工程技术人员。; 使用场景及目标:①用于科研学习,理解电-氢-氨多能转换系统的建模与优化方法;②为工业园区的低碳化、智能化改造提供技术参考与决策支持;③作为开发类似综合能源管理系统的理论基础。; 阅读建议:此资源包含完整的模型代码、数据与论文,使用者应结合代码仔细研读论文中的模型构建部分,重点关注目标函数与约束条件的设计逻辑,并尝试修改参数进行仿真,以深入掌握优化算法在实际系统中的应用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

M2_Bono

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值