求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Modeler   Code  
会员   
要资料
 
追随技术信仰

随时听讲座
每天看新闻
 
 
目录
Autoware.Auto
安装
系统依赖性和目标环境
使用 ADE 安装
使用 ADE 安装 arm64 系统
没有使用 ADE 安装
SVL 仿真器
使用
自动代客泊车示范
F1Tenth 演示1
F1Tenth 演示2
启动和测试行为计划
启动和测试全局计划
地图创建
初始化 NDT 定位器
运行 EKF 过滤器进行本地化
3D感知堆栈
记录/回放计划
使用rosbag进行本地化演示
Autoware Auto启动场景仿真器
建立
设计
Autoware Auto常见的设计-1
Autoware Auto常见的设计-2
Autoware.Auto 控制器设计
Autoware.Auto 驱动程序设计
Autoware.Auto 设计融合
Autoware.Auto 本地化
Autoware.Auto 的地图
Perception设计
Autoware.Auto 的 设计计划
Autoware.Auto 的 设计跟踪
Autoware.Auto 的 预测
Autoware.Auto 的系统
Autoware.Auto 的工具
Autoware.Auto 提供的指南
 
 
Autoware.Auto 的系统
李澎涛,俎涛 翻译(火龙果软件工程)
1106 次浏览
5次  

系统

该 system 子目录包含与系统监控和维护相关的节点和库。

子页面

Autoware状态监控

这是 autoware_state_monitor 包装的设计文件。

目的/用例

的目的 autoware_state_monitor 是以紧凑的形式呈现系统状态。

设计

当前状态是基于对多个源和状态机的观察生成的(下图)。

可能的状态:

  • 初始化
  • 等待路由
  • 规划
  • 等待订婚
  • 驾驶
  • 到达目标
  • 敲定
图 TD 开始 --> 初始化 初始化 --> WaitingForRoute 初始化 --> 完成 WaitingForRoute --> 规划 WaitingForRoute --> 完成 计划 --> WaitingForEngage 计划 --> 完成 WaitingForEngage --> 驾驶 WaitingForEngage --> 计划 WaitingForEngage --> ArrivedGoal WaitingForEngage --> 完成 驾驶 --> ArrivedGoal 驾驶 --> WaitingForEngage 驾驶 --> 规划 驾驶 --> 完成 ArrivedGoal --> WaitingForRoute ArrivedGoal --> 完成

在状态机的每次更新中,都会检查输入并生成新状态。 例如,在转换到 ArrivedGoal 状态之前,该组件检查车辆是否接近目标以及车辆是否停止。

输入/输出/API/参数

参数

  • update_rate 确定状态机循环频率。
  • arrived_distance_threshold 是一个距离阈值,它确定车辆应该离目标多近才能认为目标已达到。
  • stopped_velocity_threshold_mps 是一个速度阈值,低于该阈值车辆被认为是停止的。
  • stopped_time_threshold 是时间阈值。 如果车辆速度在指定时间内低于阈值,则认为车辆已停止。
  • wait_time_after_initializing 是状态后的延迟 Initializing ,在切换到新状态之前
  • wait_time_after_planning 是状态后的延迟 Planning ,在切换到新状态之前
  • wait_time_after_arrived_goal 是状态后的延迟 ArrivedGoal ,在切换到新状态之前

输入

  • autoware_auto_vehicle_msgs/msg/Engage 用于检查车辆是否已启动。
  • autoware_auto_planning_msgs/msg/HADMapRoute 用于提取目标点并纠正状态之间的转换。
  • autoware_auto_vehicle_msgs/msg/VehicleOdometry 用于计算当前车辆速度。
  • autoware_auto_vehicle_msgs/msg/VehicleStateReport 用于确定车辆是处于手动模式还是自动模式。
  • tf/tfMessage 用于确定全局框架中的车辆姿态。

输出

  • autoware_auto_system_msgs/msg/AutowareState 包含系统状态。

服务

  • std_srvs/srv/Trigger (/autoware/shutdown) 用于请求关闭系统(即进入 Finalizing 状态)。

相关问题

  • #1236 - 实施 Autoware 状态监视器
  • #821 - 检测节点的传入消息何时被跳过

紧急处理程序

这是 emergency_handler 包装的设计文件。

目的/用例

其目的 emergency_handler 是根据输入信息检测紧急状态并生成紧急控制和状态命令。

设计

这些组件检查多个来源并生成带有诊断信息的紧急速度/状态命令。 只要车辆停止或不存在紧急状态,就会发送紧急命令。 DrivingCapability 它还包含心跳检查器(看门狗),如果没有以指定的频率接收到消息 ,则会生成紧急状态。 紧急状态也可以通过特定的服务来清除。

输入/输出/API/参数

输入

  • autoware_auto_system_msgs/msg/DrivingCapability 用于确定车辆能力
  • autoware_auto_system_msgs/msg/AutowareState 用于确定 Autoware 系统状态。
  • autoware_auto_vehicle_msgs/msg/VehicleControlCommand 用于确定当前车轮角度。
  • autoware_auto_vehicle_msgs/msg/VehicleStateReport 用于确定车辆是处于手动模式还是自动模式。
  • autoware_auto_vehicle_msgs/msg/VehicleOdometry 用于计算当前车辆速度。

输出

  • autoware_auto_vehicle_msgs/msg/VehicleControlCommand 包含紧急控制命令。
  • autoware_auto_vehicle_msgs/msg/VehicleStateCommand 包含车辆状态命令。
  • autoware_auto_system_msgs/msg/EmergencyMode 用于传播有关紧急模式的信息。
  • autoware_auto_system_msgs/msg/HazardStatusStamped 包含有关危险状态的详细信息。
  • autoware_auto_system_msgs/msg/DiagnosticArray 包含有关当前状态的诊断信息。

服务

  • std_srvs/srv/Trigger (/system/clear_emergency) 用于请求清除紧急状态。

参数

  • update_rate 是节点循环频率。
  • data_ready_timeout 确定紧急处理程序在启动后应等待多长时间以获取必要的输入数据。 如果在指定时间内没有出现数据,则报告紧急模式。
  • timeout_driving_capability DrivingCapability 确定随后收到的消息 之间的最长时间。 如果新消息未在指定时间内出现,则报告紧急状态。
  • use_emergency_hold 确定是否应保持紧急状态。 如果它被持有,那么它只能由 clear_emergency 服务清除。
  • emergency_hazard_level 是危险等级阈值。 如果危险等级大于或等于参数值,则报告紧急模式。
  • emergency_stop_acceleration_mps2 是紧急停止期间使用的加速度值。
  • use_parking_after_stopped 确定当车辆在紧急模式下停止时是否应发送带有停车模式的状态命令。
  • stopped_velocity_threshold 是速度阈值,低于该阈值车辆被视为停止。

相关问题

  • #1245 Autoware 监控系统:实施紧急处理程序
  • #821 - 检测节点的传入消息何时被跳过
欢迎参加课程:
数据建模方法与工具
MBSE(基于模型的系统工程)
基于 UML 和EA进行分析设计