跳到正文
已核查原始資料

MicroDuck 0.17.2:UDP 斷流何時停走,搖桿軸如何改

核對 10 月 13 日正式版的搖桿對映、300 毫秒停走與 1000 毫秒會話超時,說明遲到資料包、鏈路紀錄、升級前檢查與回退條件。

0.17.2 於 10 月 13 日釋出,本站 14 日核查時是 GitHub 最新正式版。UDP 控制器 300 毫秒沒有新輸入會停走但保留髮送端會話;1000 毫秒才判定客戶端離開,約再一秒嘗試坐下。搖桿軸、反向和增益也可編輯。先確認執行版本,別把 0.17.1 的舊超時值套到新版。

繁體版於 2026 年 10 月 31 日上線。以下另列原資料修訂日,舊版紀錄不因本地化變成新發布。原資料修訂:

先分清發布日和本站核查日

Pollen Robotics 在 2026 年 10 月 13 日 09:46 UTC 釋出 正式版 0.17.2;本站 14 日核對固定提交 35b71a2。沒有升級實體機,也沒有測量 Wi-Fi 延遲。0.17.1 的舊說明只適用於當時版本,尤其不能沿用其 UDP 250 毫秒斷連值。

升級前,儲存這臺機器的狀態

可複製示例
robotctl version
robotctl update status
robotctl update check daemon
robotctl configure --list
robotctl pad bindings
robotctl policy list
robotctl health

update check daemon 只查穩定源;configure --list、pad bindings 和 policy list 分別保留個人設定、實際按鍵、策略槽位。沒有收到機器人時無需執行。官方 v8 策略 manifest今天沒有新版本;daemon 0.17.2 不能證明機器換了模型。

改搖桿前先讀模式和方向

在相容的官方機體上,用 sudo robotctl configure 搜尋 pad_axes。下面是編輯器中的 TOML,不是終端命令:前後放右搖桿、左搖桿轉向,轉向增益 0.7,並縮小前後指令範圍。

可複製示例
[pad_axes.drive.vx]
source = "right_y"

[pad_axes.drive.vyaw]
source = "left_x"
gain = 0.7

[pad_drive]
vx_min = -0.2
vx_max = 0.3

預設 drive 模式(方向鍵左)是左 Y 前後、左 X 側移、右 X 轉向;側移和轉向方向預設反向。預設 deadzone 為 0.1,每條繫結 gain 為 1.0。source 可選 left_x、left_y、right_x、right_y 或 none;none 會禁用該指令。未寫的方向和來源沿用預設,gain 在滿量程鉗制前生效。刪掉覆蓋才回到預設。pad_axes 和 pad_drive 對藍芽、UDP 兩種控制器約一秒內生效,無需重啟;無效設定會記紀錄並保留舊對映。托住機體,一次只改一個軸,別把指令上限當實測速度。當前命令表、軸定義。netpad.enabled 的切換是另一回事,需按 configure 的服務應用流程處理。

UDP 的停走與斷開是兩道門檻

UDP 功能仍預設關閉,只能用於可信區域網;4210 埠沒有認證和加密。0.17.2 的 stale_ms 預設 300 毫秒,必須小於安全 deadman_ms(預設 500);這段時間沒有有效新幀會停走但保留髮送端、按鍵狀態。timeout_ms 預設 1000 毫秒且不能小於 stale_ms,達到後才清會話與長按狀態;如果還站著,約再一秒請求坐下。期間重新收到該傳送端的新輸入可續用會話,不會重播舊搖桿指令。踢腿、起身等狀態可能暫時拒絕坐下,所以這不是保證的物理急停。固定 UDP 檔案。

排查網路時看遲包與鏈路紀錄

新接收器會丟棄相對同一資料流最快路徑晚到過多的 UDP 包,包裡的按鍵不會事後觸發。持續收到資料包時,netpadd 約每 10 秒彙總一條 link 行:p50/p99/最大額外延遲、丟棄遲包數、停走次數。完全斷流不一定繼續產生新行。以下只讀命令在機器人上檢視紀錄:

可複製示例

自寫傳送端若把時間戳 t_ms 置 0,遲包時間判斷不會啟用;不要把原始碼機制宣傳成所有網路都已實測安全。接收器固定原始碼。電腦端 duckctl 0.17.2 已釋出多平臺包,PyPI 版本可供核對。

確認相容後再升級,保留退路

穩定源確實提供與板卡匹配的版本,並準備好支撐、供電和服務重啟時間後執行:

可複製示例
sudo robotctl update apply daemon

更新後核對實際執行版本、設定覆蓋、按鍵、策略槽位、健康與紀錄:

可複製示例
robotctl version
robotctl configure --list
robotctl pad bindings
robotctl policy list
robotctl health
robotctl update log
robotctl update show

失敗先看 update show 和 log。只有本機已保留上一版 daemon,手動回退才有目標;獨立的 v8 策略集不會跟著回退:

可複製示例
sudo robotctl update rollback daemon
robotctl version
robotctl health

來源與核查日期

資料核查於 2026年10月14日 · 已核查原始資料

  1. 原始資料 1 · github.com / daemon-v0.17.1 ↗
  2. 原始資料 2 · github.com / daemon-v0.17.2 ↗
  3. 原始資料 3 · github.com / latest ↗
  4. 原始資料 4 · github.com / cheatsheet.md ↗
  5. 原始資料 5 · github.com / udp-pad.md ↗
  6. 原始資料 6 · github.com / pad_axes.rs ↗
  7. 原始資料 7 · github.com / robotd.toml ↗
  8. 原始資料 8 · github.com / configure.rs ↗
  9. 原始資料 9 · github.com / receiver.rs ↗
  10. 原始資料 10 · pypi.org / 0.17.2 ↗
  11. 原始資料 11 · huggingface.co / manifest.json ↗