把当前控制栈收成一份可克隆的源码:腕部看不见时用顶视一次定到基座,二阶段对孔和手外标定跟着进同一份树。

现场 site.yaml、权重和编译产物仍不入库;模板只留占位符。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
arm_dev
2026-10-09 14:51:03 +08:00
parent 16d2912a9a
commit 7d22f777c8
67 changed files with 8597 additions and 409 deletions
+13
View File
@@ -28,6 +28,19 @@ if iface:
break
except TypeError:
continue
except RuntimeError as exc:
# 这个 iface 用不了(实测:enp4s0 上有 5 个 IPv4 时,RDK 的
# UDPv4Transport 会把整张白名单都过滤掉,报 "All whitelist
# interfaces were filtered out"),别再拿它试了,交给下面的
# 「不指定网卡」兜底。
#
# **这一条以前漏了**:老代码只捕获 TypeError,而真实失败是
# RuntimeError —— 于是异常直接抛出去,下面那行兜底永远走不到。
# 后果是预检报「机械臂 RDK 连不上」这个**假阻断**,
# 而真机栈其实连得上(flexiv_hardware_interface.cpp 构造
# flexiv::rdk::Robot 时只传 robot_sn、不传网卡)。
print(f" iface={iface} 不可用({str(exc)[:70]}),回退到不指定网卡")
break
if robot is None:
robot = flexivrdk.Robot(sn)
print("Connected. Clearing fault if any...")