feat: harden TG3 teleop and add right-B point gesture
This commit is contained in:
@@ -21,6 +21,17 @@ Z+C 按键及诊断字段;若 5001 的双侧 `hand.position` 在 250 ms 内有
|
||||
xTELE 已处理的标量或六维 BrainCoRevo2 目标。5002 的界面事件和腰、头、腿、行走、
|
||||
底盘命令不会进入机器人双臂桥。
|
||||
|
||||
右侧原始按键顺序是 `A/B/C`。按住右 `B` 时,sender 仍合并 5001 的左手
|
||||
目标,但保留 5003 的原始右手开合量,不用 xTELE 处理后的右手目标覆盖。
|
||||
这样右 B 的自定义长按手势还未满 3 秒时,原厂 B 处理不会让右手提前动作。
|
||||
松开 B 并连续稳定释放 `0.5 s` 后,还要等新鲜 5001 右手目标连续至少 `0.25 s`
|
||||
恢复到按键前基线或当前 5003 原始开合量,才恢复双侧合并;无法确认时持续使用原始
|
||||
右手值,防止释放沿后的锁存/延迟目标漏入。
|
||||
5001 目标的时间戳也必须不晚于当前 5003 原始帧;若两个本机 ZMQ socket 的轮询顺序
|
||||
暂时颠倒,该 processed 目标会等到对应或更新的原始帧到达后才可合并。
|
||||
`tg3_transport.processed_hand_sides` 记录本帧实际合并
|
||||
的侧;右 B 抑制生效时还会设置 `processed_right_hand_suppressed_by_b=true`。
|
||||
|
||||
公网业务数据由 EAI 本地会话门控:服务启动后仍持续读取本机 5003/5001,但不发送
|
||||
xTELE 帧;连续长按左 Z + 右 C 3 秒后才生成新的 128-bit `session_id` 并开始发送。
|
||||
再次长按 3 秒时发送最后一帧 `stop`,等待有界 KCP 刷新后关闭 OmniSocket Session;
|
||||
@@ -42,7 +53,7 @@ xTELE 帧;连续长按左 Z + 右 C 3 秒后才生成新的 128-bit `session_i
|
||||
}
|
||||
```
|
||||
|
||||
`start` 连续发送 50 个源帧,避免接收端只取最新帧时错过唯一启动事件;机器人对同一
|
||||
当前用户服务将 `start` 连续发送 500 个源帧,避免接收端只取最新帧时错过唯一启动事件;机器人对同一
|
||||
`session_id` 只做一次启动安全检查。`stop` 是该会话最后一个业务帧。服务重启、源数据
|
||||
失联或网络错误都会使会话失效,恢复后必须先松开组合键,再重新长按 3 秒。
|
||||
`tg3_local_teleop` 内部直接拒绝非预期发送端、
|
||||
|
||||
Reference in New Issue
Block a user