ego-planner代码阅读-状态机的实现
2025-09-23
计算机学习
00
请注意,本文编写于 73 天前,最后修改于 73 天前,其中某些信息可能已经过时。

目录

文件结构说明
egoreplanfsm.h 中

状态机(Finite State Machine, FSM) 是一种计算模型,用来描述系统在不同时间点所处的不同状态,以及在这些状态之间如何转换。

基本概念

  • 状态(State):系统在某一时刻的特定情况或模式
  • 事件(Event):触发状态转换的条件或输入
  • 转换(Transition):从一个状态到另一个状态的过程
  • 动作(Action):在状态转换时执行的操作

文件结构说明

  • 头文件: ego_replan_fsm.h - 包含类的声明、枚举定义、成员变量声明等
  • 源文件: ego_replan_fsm.cpp - 包含类的具体实现

ego_replan_fsm.h 中

  • FSM_EXEC_STATE 枚举 - 有限状态机执行状态
c
展开代码
private: /* ---------- flag ---------- */ enum FSM_EXEC_STATE { INIT, // 初始状态 WAIT_TARGET, // 等待目标 GEN_NEW_TRAJ, // 生成新轨迹 REPLAN_TRAJ, // 重新规划轨迹 EXEC_TRAJ, // 执行轨迹 EMERGENCY_STOP // 紧急停止 };

这个枚举定义了无人机路径规划系统的6个核心状态

TARGET_TYPE 枚举 - 目标类型

  • TARGET_TYPE 枚举 - 目标类型
c
展开代码
enum TARGET_TYPE { MANUAL_TARGET = 1, // 手动选择目标 PRESET_TARGET = 2, // 预设目标 REFENCE_PATH = 3 // 参考路径 };

这个枚举定义了3种目标设置方式

cpp文件ego_replan_fsm.cpp具体使用了状态机

本文作者:cc

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!