First Commit

This commit is contained in:
meiqi
2026-03-27 16:10:51 +08:00
commit c45245038f
103 changed files with 10994 additions and 0 deletions

View File

@@ -0,0 +1,66 @@
# UDP Loopback
独立于原 `rl_control_node.py` 的 localhost UDP 键盘测试目录。
包含:
- `udp_keyboard_sender.py`:从终端读取按键,编码 UDP 报文并发送
- `udp_loopback_node.py`:接收 UDP 报文,解码事件并计算目标值
- `protocol.py`:自定义协议和状态结构
- `config/udp_loopback.yaml`:本地测试配置
运行方式:
```bash
cd /home/meiqi/tienkung/Deploy_Tienkung
python3 udp_loopback/udp_loopback_node.py
```
另开一个终端:
```bash
cd /home/meiqi/tienkung/Deploy_Tienkung
python3 udp_loopback/udp_keyboard_sender.py
```
接回现有 FSM 的方式:
1. 把 [dex_config.yaml](/home/meiqi/tienkung/Deploy_Tienkung/config/dex_config.yaml) 里的 `control_tool` 改成 `udp_loopback`
2. 启动原控制链,例如:
```bash
cd /home/meiqi/tienkung/Deploy_Tienkung
python3 rl_control_node_sim.py
```
3. 再启动发送端:
```bash
cd /home/meiqi/tienkung/Deploy_Tienkung
python3 udp_loopback/udp_keyboard_sender.py
```
此时 UDP 接收结果会在接收侧被映射回现有 FSM 命令:
- `pose_home -> gotoZERO`
- `pose_hold -> gotoSTOP`
- `mode_stride -> gotoWALKAMP`
- `mode_dash -> gotoMYPOLICY`
- `surge/sway/spin -> x/y/yaw speed command`
当前事件码不是原工程里的 `gotoZERO` / `gotoSTOP` / `x_speed_command` 这一套,而是:
- `pose_home`
- `pose_hold`
- `mode_stride`
- `mode_dash`
- `surge_up`
- `surge_down`
- `sway_left`
- `sway_right`
- `spin_left`
- `spin_right`
- `lift_up`
- `lift_down`
- `trim_reset`
- `session_quit`