当前位置: 首页 > 工具软件 > Auto Maker > 使用案例 >

autoware-Decision Maker

萧宏远
2023-12-01

给定任务(航路点)状态,行为和运动状态的车辆软件包,用于管理车辆状态。
每个状态由状态机管理。

Parameter|Type|Description

auto_mission_reload|Bool|(default: *false*)<br> 如果设置为true,则Decision Maker会在上一个任务完成后自动将任务重新加载为新任务。

auto_engage|Bool|(default: *false*)<br> 如果设置为true,则Decision Maker在准备开车后会立即自动参与。

auto_mission_change|Bool|(default: *false*)<br >如果将其设置为true,则在驾驶过程中加载新任务时,决策者无需state_cmd即可自动更改任务(航路点)。

use_fms|Bool|(default: *false*)<br> 为了与[Autoware Management System]合作,这必须是true(https://github.com/CPFL/AMS)

disuse_vector_map|Bool|(default: *false*)<br> 如果设置为* true *,则即使未成功加载矢量地图,decision_maker也将退出“ MapInitState”。

num_of_steer_behind|Int|(default: *20*)<br> 沿航路点查找距离以确定转向状态(直线,向右转或向左转)

change_threshold_dist|Double|(default: *1*)<br> 仅当* use_fms *为* true *时,这才是相关事件。<br>如果新任务中车辆到最近的路点的距离大于* change_threshold_dist * [m],则任务更改失败。

change_threshold_angle|Double|(default:*15*)<br>仅当* use_fms *为* true *时,这才是相关的。<br>如果新任务中从车辆到最近航路点的角度大于此* change_threshold_dist * [deg],则任务更改失败。

time_to_avoidance|Double|(default: *3*)<br> 如果车辆在* time_to_avoidance *秒内被卡住(例如,由于障碍物),则状态从“开始”转换为“避免”。

goal_threshold_dist|Double|(default: *3*)<br> 用于检查车辆是否已达到目标(即航点终点)的阈值。 车辆必须小于目标的* goal_threshold_dist * [m]。

goal_threshold_vel|Double|(default: *0.1*)<br>用于检查车辆是否已达到目标(即航点终点)的阈值。 车辆必须小于* goal_threshold_vel * [m / s]才能视为目标到达。

## ROS Parameters

Parameter|Type|Description

state_vehicle_file_name|string|file  定义车辆状态转换

state_mission_file_name|string|file 定义任务状态转换

state_behavior_file_name|string|file 定义行为状态转换

state_motion_file_name|string|file 定义运动状态转换

stopline_reset_count|int| 如果车辆停在停车线并向后移动而不越过停车线,则使用此参数。 当车辆通过此路点计数向后移动时,将再次识别停止线。

## Subscribed topics

Topic|Type|Objective 

/based/lane_waypoints_array|autoware_msgs/LaneArray 车辆遵循的航路点。 (例如,从waypoint_loader节点提供的路标)

/change_flag|std_msgs/Int32|Vehicle  如果设置了此标志,车辆将尝试更改车道。 发布/ lamp_cmd以根据此标志更改信号灯。 (0 =直,1 =右,2 =左)

/closest_waypoint|std_msgs/Int32|Closest     /based / lane_waypoints_array所指定的航路点中最接近的航路点索引。

/config/decision_maker|autoware_config_msgs::ConfigDecisionMaker  参数从运行时管理设置

/current_pose|geometry_msgs/PoseStamped| 车辆当前姿态

/current_velocity|geometry_msgs/TwistStamped| 车辆当前速度

/filtered_points|sensor_msgs/PointCloud2|  用于检查传感器数据是否准备就绪。同时为了提供用于ndt_matching的点云数据。

/final_waypoints|autoware_msgs/Lane| 来自计划者节点的合成航路点,例如 来自velocity_set节点。

/obstacle_waypoint|std_msgs/Int32 障碍物路点索引。 在“执行”状态下使用。

/state_cmd|std_msgs/String Decision_maker将尝试根据此主题提供的密钥转换状态。

/state/stop_order_wpidx|std_msgs/Int32 车辆将尝试在此航点索引处停止。 在“ OrderedStop”状态下使用。

/vector_map_info/area|vector_map_msgs/AreaArray| 矢量地图的区域信息。 <br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此设置。

/vector_map_info/cross_road|vector_map_msgs/CrossRoadArray| 从矢量地图的交叉路信息。 <br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此设置。

/vector_map_info/line|vector_map_msgs/LineArray| 矢量地图中的线信息。 <br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此设置。

/vector_map_info/point|vector_map_msgs/PointArray| 矢量地图中的点信息。<br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此信息。

/vector_map_info/road_sign|vector_map_msgs/RoadSignArray| 从矢量地图的路标信息。 <br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此设置。

/vector_map_info/stop_line|vector_map_msgs/StopLineArray| 矢量地图中的停线信息。<br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此信息。

/vector_map_info/vector|vector_map_msgs/VectorArray| 矢量地图中的矢量信息。 <br>除非订阅了area,cross_road,line,point,road_sign,stop_line和vector,否则将忽略此设置。

## Published topics

Topic|Type|Objective 

/decision_maker/available_transition|std_msgs/String 从当前状态的可用过渡 

/decision_maker/operator_help_text|jsk_rviz_plugins/OverlayText 操作过程中的帮助信息

/decision_maker/state|std_msgs/String| “车辆”,“任务”和“驾驶”状态机的当前状态。

/decision_maker/state_msg|autoware_msgs/State| 带标题的“车辆”,“任务”和“驾驶”状态机的当前状态。

/lamp_cmd|autoware_msgs/LampCmd 车辆的信号灯命令(0 =直行,1 =右,2 =左)

/lane_waypoints_array|autoware_msgs/LaneArray 航点传递给后续计划者。 (例如lane_rule)

/light_color_managed|autoware_msgs/TrafficLight| 旨在发布light_color状态。 尚未实施。

/decision_maker/state_overlay|jsk_rviz_plugins/OverlayText 当前状态为overlay_txt。 

/state/stopline_wpidx|std_msgs/Int32| 车辆停止的航点索引。

/decision_maker/target_velocity_array|std_msgs/Float64MultiArray| 从final_waypoints获得的目标速度数组。

/stop_location|autoware_msgs/VehicleLocation|   关于`/ state_stop_order_wpidx`主题的fms的反馈。 它包含车辆将要停止的索引以及该车辆当时正在使用的lane_array的ID。\

## State Description

### Vehicle States

State name|Required topic|Description|Implementation

Init|-| 以下状态的父状态-

SensorInit|/filtered_points| 等待所有传感器准备就绪 |直到接收到/ filtered_points为止,除非启动wf_simulator节点。

MapInit| 等到矢量图准备好|如果将disuse_vector_map设置为false,则等待直到订阅了vector_map。

LocalizationInit|/current_pose|Waits until localizer is ready | Waits until current_pose is converged. (i.e. ndt_matching is stable.)

PlanningInit|/closest_waypoint|Waits unil planners are ready | Subscriber is set for /closest_waypoint.

VehicleInit|-|等待直到车辆准备出发.|没有实现会直接进入车辆就绪状态.

VehicleReady|-|车辆已准备好移动。|当给出“紧急”键时,退出到车辆紧急状态state_cmd或其他状态设置为“ emergency_flag

BatteryCharging Charging the battery|Waits until `charging_end` key by state_cmd from other nodes(e.g. by AMS).

VehicleEmergency Emergency is detected somewhere in the system. |Waits until `return_from_emergency` or `return_to_ready` key is by /state_cmd (e.g. by DecisionMakerPanel)

 

 

 

 

 

 

 

 

 类似资料:

相关阅读

相关文章

相关问答