base_event_info
fourier_msgs/msg/BaseEventInfo
文件
fourier_msgs/msg/BaseEventInfo.msg
描述
基础事件信息消息,用于描述单个事件的详细信息。
定义
| 元素 | 类型 | 描述 |
|---|---|---|
| event_type | string | 事件类型标识符 |
| message | string | 事件描述信息 |
| source | string | 事件来源组件 |
| timestamp | int64 | 时间戳 |
已定义的事件类型
| 事件类型 | 值 | 说明 | 发布组件 | 触发事件后的播报频率 |
|---|---|---|---|---|
| SystemEventMapLoopClosure | map_loop_closure | 地图闭环检测 | slam | 播报一次 |
| SystemEventObstacleBlocked | obstacle_blocked | 路径被障碍物阻挡 | collision_monitor | 播报一次 |
| SystemEventNearObstacle | near_obstacle | 检测到近处障碍物 | collision_monitor | 每1秒 |
| SystemEventNearObstacleWhenStationary | near_obstacle_when_stationary | 机器人静止时检测到近处障碍物 | collision_monitor | 每1秒 |
| SystemEventOutOfMap | out_of_map | 机器人走出地图边界或进入未知区域 | monitor | 每5秒 |
| SystemEventEnterForbiddenArea | enter_forbidden_area | 机器人进入禁区 | monitor | 每5秒 |
| SystemEventEnterDangerousArea | enter_dangerous_area | 机器人进入危险区域(限速区) | monitor | 每5秒 |
| SystemEventLeaveForbiddenArea | leave_forbidden_area | 机器人离开禁区 | monitor | 播报一次 |
| SystemEventLeaveDangerousArea | leave_dangerous_area | 机器人离开危险区域(限速区) | monitor | 播报一次 |
| SystemEventGoalInForbiddenArea | goal_in_forbidden_area | 导航目标点落在禁区内,导航被拒绝 | navigation | 播报一次 |
| SystemEventNavigationRecoveryStarted | navigation_recovery_started | 机器人进入恢复模式尝试脱困 | navigation | 播报一次 |
注意:
enter_forbidden_area/enter_dangerous_area:机器人位于对应区域 内时,每5秒触发一次leave_forbidden_area/leave_dangerous_area:仅在「在区内 → 不在区内」状态切换瞬间触发一次,不重复- 区域进出检测在定位模式和建图模式下都生效(定位模式额外要求
odom_status_code == GOOD,建图模式无此要求)- 事件消息中包含区域ID、速度限制(危险区)和机器人位置信息
goal_in_forbidden_area:在navigate_to_pose目标校验阶段检测;目标点在任意禁区多边形内时触发,导航任务立即失败。message字段示例:Goal pose (1.20, 3.40) lies inside forbidden area id=2 on floor '1F'.goal_in_forbidden_area与enter_forbidden_area区别:前者校验目标点是否在禁区(导航发起时),后者检测机器人当前位置是否进入禁区(运行中周期性检测)
goal_in_forbidden_area 触发链路
Text
navigate_to_pose BT
└─ GoalNotInForbiddenArea (tick)
├─ map_manager: get_current_floor
├─ map_manager: list_forbidden_areas
└─ 点在禁区内 → EventProvider("navigation") → Humanoid_nav/component_events
└─ events_node 聚合 → /Humanoid_nav/events
map_manager 服务不可用或超时时,条件节点保守返回 SUCCESS(不阻断导航),此时不会发布该事件。
相关消息
- EventsInfo - 聚合事件信息