DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法

本系列博客用于记录如何利用DJI M210和OSDK进行上位机的算法开发,以及开发过程中遇到的问题。

ERROR 1: 在运行stereo-vision-single-thread-sample时报错:Failed to open selected camera

原因:从DJI无人机到上位机的网络通信不畅通。

检查确认:

ifconfig
DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法
注意到第一个连接enp0s20u1,它代表的是DJI无人机。但是它的IP地址不正确。

解决方法:

创建一个连接,选择DJI设备
DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法
输入Address:192.168.42.3, Netmask:255.255.255.0, Gateway 192.168.42.1
DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法
通过该设置连接即可。

ERROR 2: Undefined refrence to viz3d / Undefined refrence to cuda

原因:现有的OpenCV库编译时没有选择WITH VTK或者WITH CUDA

解决方法:

1、卸载原有的OpenCV,重新以源码编译的方式安装。安装过程中勾选WITH VTK或者WITH CUDA
可以使用cmake .也可以使用cmake-gui编译。cmake-gui勾选VTK如图所示:
DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法
2、安装一个新的OpenCV,然后为程序指定新OpenCV的路径。
具体而言:分别找到Onboard-SDK-ROS和Onboard-SDK的CMakelists,然后在project(Onboardsdk)之前指定路径,如图:
DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法

ERROR 3: can’t find yaml

解决方法:

  • 对于Linux方式而言,把yaml文件拷到/build/bin下面即可(yaml 在src路径下)。
    然后正常执行。
    ./stereo-vision-depth-perception-sample UserConfig.txt m210_stereo_param.yaml
  • 对于ROS节点而言,不能只给出文件名
    rosrun dji_sdk_demo demo_stereo_depth_perception m210_stereo_param.yaml
    还要给出文件的位置
    rosrun dji_sdk_demo demo_stereo_depth_perception /home/zzy/cy_ws/src/Onboard-SDK-ROS-3.7/dji_sdk_demo/yaml/m210_stereo_param.yaml

ERROR 4: Failed to open MAIN_CAMERA

解决方法:

不能同时运行ROS节点和Linux例程。把ROS主节点关掉即可。

ERROR 5: Unable to read from MAIN_CAMERA lost, retry connecting

解决办法:

把遥控器打开。目前只有和主相机相关的例程运行时需要开遥控器。