DJI M210+Onboard-SDK(OSDK)开发——(四)常见ERROR及解决办法
本系列博客用于记录如何利用DJI M210和OSDK进行上位机的算法开发,以及开发过程中遇到的问题。
ERROR 1: 在运行stereo-vision-single-thread-sample时报错:Failed to open selected camera
原因:从DJI无人机到上位机的网络通信不畅通。
检查确认:
ifconfig
注意到第一个连接enp0s20u1
,它代表的是DJI无人机。但是它的IP地址不正确。
解决方法:
创建一个连接,选择DJI设备
输入Address:192.168.42.3, Netmask:255.255.255.0, Gateway 192.168.42.1
通过该设置连接即可。
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如图所示:
2、安装一个新的OpenCV,然后为程序指定新OpenCV的路径。
具体而言:分别找到Onboard-SDK-ROS和Onboard-SDK的CMakelists,然后在project(Onboardsdk)之前指定路径,如图:
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
解决办法:
把遥控器打开。目前只有和主相机相关的例程运行时需要开遥控器。