🧪 新教程持续更新中 · 从机械臂到传感器,跟着教程从零搭建
跳到主要内容

故障排除 ​

淘宝店铺

本章节总结常见问题与解决方法,帮助用户快速排查和解决使用中遇到的各类问题。


硬件类问题 ​

舵机不响应 ​

可能原因:

  1. 舵机电源未连接
  2. 舵机与驱动板连接不良
  3. 串口连接失败
  4. 舵机未使能 解决方法:
  5. 检查舵机电源是否正确连接并通电
  6. 检查舵机与驱动板的连接线是否牢固
  7. 运行 examples/diagnostic.py 查看诊断信息
  8. 确保按 C 连接了云台,舵机已使能

舵机运动方向相反 ​

可能原因:

  • 舵机安装方向或程序控制参数需要调整 解决方法: 修改 src/trackers/tracking_controller.py 中的 calculate_move 方法,对相应参数取反:

如果左右反了 ​

python
delta_pan = -int(self.kp_pan * err_x)

如果上下反了 ​

python
delta_tilt = -int(self.kp_tilt * err_y)

舵机抖动 ​

可能原因:

  • 追踪参数过于灵敏
  • 死区范围太小
  • 舵机负载过重或供电不足 解决方法:
  1. 增大 dead_zone 参数
  2. 增大 min_move_interval
  3. 减小 kp_pan 和 kp_tilt
  4. 检查电源电压是否正常

串口连接失败 ​

可能原因:

  • 驱动未安装
  • 串口号不正确
  • 串口被其他程序占用
  • 连接线故障 解决方法:
  1. 在Windows下检查设备管理器,确认驱动安装正常
  2. 运行 examples/list_ports.py 查找正确的串口
  3. 关闭其他可能占用串口的程序
  4. 尝试更换USB接口或数据线

软件类问题 ​

摄像头无法打开 ​

可能原因:

  • 摄像头索引不正确
  • 摄像头被其他程序占用
  • 摄像头硬件连接问题
  • 摄像头驱动问题 解决方法:
  1. 运行 examples/list_cameras.py 查看可用摄像头索引
  2. 关闭其他可能使用摄像头的程序
  3. 检查摄像头连接是否正常
  4. 尝试更换USB接口

OpenCV报错 ​

可能原因:

  • OpenCV版本问题
  • 依赖库安装不完整
  • 摄像头硬件异常 解决方法:
  1. 尝试重新安装依赖库:
python
pip install --upgrade opencv-python numpy
  1. 检查Python版本是否符合要求(>=3.8)
  2. 查看错误堆栈信息,定位问题代码

依赖安装失败 ​

可能原因:

  • pip版本过旧
  • 网络连接问题
  • 权限问题 解决方法:
  1. 先升级pip:
python
pip install --upgrade pip
  1. 使用国内镜像源加速:
python
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
  1. 检查网络连接是否正常

程序启动缓慢 ​

可能原因:

  • Windows下未使用DSHOW
  • 摄像头硬件初始化需要时间 解决方法:
  1. 确认代码使用了 cv2.CAP_DSHOW 作为摄像头后端
  2. 检查是否有其他程序占用摄像头
  3. 等待几秒,摄像头初始化通常需要一些时间

追踪类问题 ​

目标识别不准确 ​

颜色追踪时:

  • 检查目标颜色与背景对比是否明显
  • 调整颜色参数(在 src/detectors/color_detector.py 中)
  • 确保光线充足且均匀 人脸追踪时:
  • 光线要充足,避免背光
  • 人脸要正对摄像头
  • 保持适当的距离

追踪时云台不动 ​

可能原因:

  1. 未连接云台
  2. 未锁定目标
  3. 目标在死区内
  4. 程序出错 解决方法:
  5. 确认已按 C 连接了云台
  6. 确认已按 T 锁定了目标
  7. 查看控制台输出,寻找错误信息
  8. 检查目标是否在 dead_zone 范围内

追踪方向反了 ​

解决方法: 参考“舵机运动方向相反”的解决方法。

追踪抖动 ​

解决方法: 参考“舵机抖动”的解决方法。

目标锁定失败 ​

可能原因:

  1. 锁定时目标不在画面中央
  2. 目标太小或颜色不明显
  3. 未检测到目标 解决方法:
  4. 确保锁定时目标在画面中央
  5. 目标大小合适,能被正确检测
  6. 查看控制台输出,确认目标是否被检测到
  7. 重新调整目标位置后再锁定

诊断工具使用 ​

使用诊断程序 ​

系统提供了全面的诊断工具,可以测试整个系统的硬件:

python
python examples/diagnostic.py --camera 0 --port COM3

诊断程序将依次测试:

  1. 摄像头是否正常工作
  2. 串口是否能正常连接
  3. 舵机是否能正常响应 诊断完成后会显示测试结果,帮助定位问题所在。

查看调试输出 ​

程序运行时,控制台会输出相关调试信息,包括:

  • 检测到的目标信息
  • 目标坐标
  • 误差值
  • 云台移动指令
  • 任何错误信息 仔细观察这些输出,有助于快速定位问题。

恢复方法 ​

恢复云台到安全位置 ​

  • 按 R 让云台回中
  • 或调用 gimbal.return_to_center()

重置所有设置 ​

  • 按 S 停止追踪
  • 按 R 回中
  • 重新锁定目标

重新校准 ​

如果追踪效果严重不佳,可以:

  1. 调整追踪参数
  2. 重新锁定目标
  3. 必要时重启程序
  4. 检查硬件连接

获得帮助 ​

如果以上方法无法解决问题,请记录以下信息:

  • 操作系统信息
  • Python版本
  • 详细的错误信息
  • 复现问题的步骤
  • 运行diagnostic的结果