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. YAML 字段完整参考
  5. 手把手添加自定义状态
  6. 自定义过渡行为
  7. 手把手添加自定义遥控器驱动
  8. 框架底层运行原理
  9. 高级配置范式
  10. 发布保护与公开版同步
  11. 调试、验证与常见问题

按任务查找

只想绑定一个新按键:

想写一个新动作状态:

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

想把配置写到更高上限:

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

遇到按键不触发、状态不切换、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