-
Notifications
You must be signed in to change notification settings - Fork 12
Home
konodoki edited this page May 13, 2026
·
32 revisions
这个 wiki 按工程任务拆分。建议先读架构总览,再根据要做的事进入对应页面。
只想绑定一个新按键:
- 看 遥控器 YAML 配置 的
sources -> controls -> outputs。 - 如果这个按键要切状态,再看 状态机 YAML 配置 的
remote_events和states.*.transitions。
想写一个新动作状态:
- 从 手把手添加自定义状态 开始。
- 需要更复杂的进入、退出动作时,看 自定义过渡行为。
想接入新的遥控器或协议:
- 先看 遥控器 YAML 配置,确认是否只改 YAML 就够。
- 如果需要读串口、CRSF、SBUS、UDP、自定义 HID,再看 手把手添加自定义遥控器驱动。
想发布公开版并删除高危动作:
- 看 发布保护与公开版同步。
遇到按键不触发、状态不切换、failsafe 误触发、Ctrl+C 退不出:
- 看 调试、验证与常见问题。
- 不修改底层
communication/msg/MotionCommands来适配业务状态。 - 遥控器输入统一走
sources -> controls -> outputs。 - 状态机只判断当前 state 和 event,不在业务代码里散落按键判断。
- 每个具体状态是一个类,状态私有变量放在状态对象内部。
-
state_machine.py保持通用;机器人相关逻辑放到robot_state_base.py和具体状态类。 - 新遥控器 driver 只生产 raw source,不写业务状态名。
- 发布保护以配置驱动,公开版只发布脱敏后的目录。