舵机与性能调试#

本页说明如何读取舵机状态、设置编号,以及检查网络和计算负载。端口、ID、相位和位置值需要按实际硬件填写。先结束占用相同总线的 Host 或客户端,再连接调试程序。

1. 读取状态与确认 ID#

python examples/debug/motors.py get_motors_states \
  --port /dev/ttyACM0

确认读到的舵机型号、ID 与接线一致。只有一只待编号舵机接入时,修改其 ID:

python examples/debug/motors.py configure_motor_id \
  --id 1 --set_id 8 --port /dev/ttyACM0

1 和 8 是示例值。底盘编号按对应机型装配图,机械臂编号按其关节定义;修改后重新读取验证。

2. 移动指定舵机#

python examples/debug/motors.py move_motor_to_position \
  --id <motor_id> \
  --position <target_tick> \
  --port /dev/ttyACM0

position 是原始 tick,不是角度或毫米。2 仅是位置值示例,不能作为所有关节的测试目标。确认当前值、零位、机械范围和周边空间后才执行小范围运动。

3. 修改相位#

指定一只舵机:

python examples/debug/motors.py configure_motor_phase \
  --id <motor_id> \
  --set_phase <phase_value> \
  --port /dev/ttyACM0

省略 --id会作用于脚本找到的多个舵机:

python examples/debug/motors.py configure_motor_phase \
  --set_phase <phase_value> \
  --port /dev/ttyACM0

批量操作前确认连接对象。不要把 12 等示例值当作通用正确值;保留旧配置,确认改动后是否需要重新校准。

4. 中位、扭矩与动作脚本#

设置当前位置为中位相关配置:

python examples/debug/motors.py reset_motors_to_midpoint \
  --port /dev/ttyACM0

关闭扭矩前承托会因重力下落的部件:

python examples/debug/motors.py reset_motors_torque \
  --port /dev/ttyACM0

确认脚本内每个目标位置与实物匹配后执行:

python examples/debug/motors.py move_motors_by_script \
  --script_path /path/to/checked_action_script.txt \
  --port /dev/ttyACM0

这些操作改变硬件状态,不替代 校准流程。完整参数帮助:

python examples/debug/motors.py --help

5. 底盘与升降独立入口#

旧版独立调试入口如下:

python examples/debug/wheels.py --port /dev/ttyACM0
python examples/debug/axis.py --port /dev/ttyACM0

当前脚本内部保留 sts3215 型号常量及独立轮位、几何参数,不会自动读取二代或 Pro 的整机 profile。二代 / Pro 首次调试优先使用 仅底盘与升降遥操作;不要以为更换串口就完成了型号适配。

6. 网络与 Wi-Fi#

ping <Pi_IP>
iw dev
iw dev wlan0 link

wlan0 应替换成 iw dev 列出的接口。观察丢包、延迟波动与链路信息;单次低延迟不代表连续视频传输稳定。

已有 iperf3 时,在 Pi 运行服务:

iperf3 -s

在 PC 连接:

iperf3 -c <Pi_IP>

带宽测试会占用链路,在独立调试阶段进行;结果主要用于判断当前网络条件。

7. CPU、GPU 与视频编码#

top
htop
nvidia-smi
ffmpeg -hide_banner -encoders
python -c "import av, cv2, torch; print('av', av.__version__); print('cv2', cv2.__version__); print('torch', torch.__version__)"

htop 可能需要额外安装,nvidia-smi 只用于具备 NVIDIA 驱动的设备。编码器列在列表中还不等于当前硬件和依赖能顺利执行,需结合真实录制日志确认。

8. 降低负载后对比#

按 遥操作低负载示例 与 短数据测试 使用本机型号,临时降低 FPS 或启用相机数量。每次只改一项,记录网络、CPU、相机缺帧与录制结果。问题消失后逐项恢复配置,避免把低负载排错设置误作正式训练数据规范。