修正mavsdk自检方式: 4.x无mavsdk_server可执行文件
改为直接加载libcmavsdk.so(构造offboard设定点复现加载点)+ldd链接检查, 并注明单测全绿不证明mavsdk已装(测试已打桩脱钩)
This commit is contained in:
+14
-3
@@ -55,9 +55,20 @@ pytest # 仅上机自测需要,部署运行可省
|
||||
`undefined symbol: ..._M_futex_wait_until...` 不应复现。若仍报:
|
||||
`ldd <libcmavsdk.so 路径> | grep stdc` 确认链接对象,必要时用
|
||||
`LD_PRELOAD=/usr/lib/aarch64-linux-gnu/libstdc++.so.6` 兜底。
|
||||
- 安装后别只验证 import,要让内嵌二进制真跑一次:
|
||||
`find ~/venv-pod -name mavsdk_server` 找到路径后直接执行(无参数即起服务,
|
||||
Ctrl+C 退出),能打印启动信息说明架构匹配;`Exec format error` 则装错了架构。
|
||||
- 安装后别只验证 import,要让原生库真加载一次。**mavsdk 4.x 已无独立
|
||||
`mavsdk_server` 可执行文件**(2.x gRPC 架构的旧物),原生库是
|
||||
`mavsdk/lib/libcmavsdk.so`,正确自检:
|
||||
|
||||
```bash
|
||||
# 复现设定点构造(原生库在此加载),打印 cmavsdk OK 即通过
|
||||
python -c "from mavsdk import offboard; offboard.VelocityBodyYawspeed(0,0,0,0); print('cmavsdk OK')"
|
||||
# 动态链接齐全性(无输出=齐全)
|
||||
ldd ~/venv-pod/lib/python3*/site-packages/mavsdk/lib/libcmavsdk.so | grep "not found"
|
||||
```
|
||||
|
||||
报 `undefined symbol` 按上面 libstdc++ 条目排查;`Exec format error` 是架构装错。
|
||||
注意:单测全绿**不**证明 mavsdk 已装或原生库健康(测试已打桩脱钩),
|
||||
本步不可替代。
|
||||
- 连接串写法(`pod_bridge.json` 的 `px4.connection_string`):
|
||||
- Pi 串口直连飞控 TELEM:`serial:///dev/ttyUSB0:57600`(波特率按飞控侧设置);
|
||||
- 经数传/仿真:`udp://:14540`。
|
||||
|
||||
Reference in New Issue
Block a user