Skip to content
konodoki edited this page May 13, 2026 · 32 revisions

bxi_rl_controller_ros2_example Wiki

这个 wiki 按工程任务拆分。建议先读架构总览,再根据要做的事进入对应页面。

推荐阅读顺序

  1. 架构总览
  2. 遥控器 YAML 配置
  3. 状态机 YAML 配置
  4. 手把手添加自定义状态
  5. 自定义过渡行为
  6. 手把手添加自定义遥控器驱动
  7. 发布保护与公开版同步
  8. 调试、验证与常见问题

按任务查找

只想绑定一个新按键:

想写一个新动作状态:

想接入新的遥控器或协议:

想发布公开版并删除高危动作:

遇到按键不触发、状态不切换、failsafe 误触发、Ctrl+C 退不出:

核心原则

  • 不修改底层 communication/msg/MotionCommands 来适配业务状态。
  • 遥控器输入统一走 sources -> controls -> outputs
  • 状态机只判断当前 state 和 event,不在业务代码里散落按键判断。
  • 每个具体状态是一个类,状态私有变量放在状态对象内部。
  • state_machine.py 保持通用;机器人相关逻辑放到 robot_state_base.py 和具体状态类。
  • 新遥控器 driver 只生产 raw source,不写业务状态名。
  • 发布保护以配置驱动,公开版只发布脱敏后的目录。

Clone this wiki locally