Skip to content
This repository has been archived by the owner on Jan 23, 2024. It is now read-only.

Troubleshooting

Marija Popovic edited this page Jun 12, 2017 · 4 revisions

This section provides you possible solutions that we have faced while developing DJI M100. Most are software issues (e.g., segmentation fault, buffer overflow, etc.). We hope this helps you!


  1. Problem: Buffer overflow from dji_sdk_node:
*** buffer overflow detected ***: /home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node terminated
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x7338f)[0x7f9327fa438f]
/lib/x86_64-linux-gnu/libc.so.6(__fortify_fail+0x5c)[0x7f932803bc9c]
/lib/x86_64-linux-gnu/libc.so.6(+0x109b60)[0x7f932803ab60]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN13DJISDKMission23mission_status_callbackEPhh+0x18)[0x500b58]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN3DJI10onboardSDK7CoreAPI11recvReqDataEPNS0_6HeaderE+0xb0)[0x516220]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN3DJI10onboardSDK7CoreAPI7callAppEPNS0_9SDKFilterE+0x54)[0x518534]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN3DJI10onboardSDK7CoreAPI11byteHandlerEh+0x3a1)[0x519171]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN3DJI10onboardSDK7CoreAPI8readPollEv+0x57)[0x514bd7]
/home/flourish/catkin_ws/devel/lib/dji_sdk/dji_sdk_node(_ZN3DJI10onboardSDK10ROSAdapter13APIRecvThreadEPv+0x10)[0x4b99b0]
/lib/x86_64-linux-gnu/libpthread.so.0(+0x8182)[0x7f9328b1e182]
/lib/x86_64-linux-gnu/libc.so.6(clone+0x6d)[0x7f932802b47d]
======= Memory map: ========
00400000-00569000 r-xp 00000000 08:05 21368163                           /home/flourish/catkin_ws/devel/.private/dji_sdk/lib/dji_sdk/dji_sdk_node
00768000-00769000 r--p 00168000 08:05 21368163                           /home/flourish/catkin_ws/devel/.private/dji_sdk/lib/dji_sdk/dji_sdk_node
00769000-0076b000 rw-p 00169000 08:05 21368163                           /home/flourish/catkin_ws/devel/.private/dji_sdk/lib/dji_sdk/dji_sdk_node
0076b000-0076c000 rw-p 00000000 00:00 0 
007d1000-00835000 rw-p 00000000 00:00 0                                  [heap]

Possible workaround: Comment out the following two lines from Onboard-SDK-ROS/dji_sdk/src/modules/dji_sdk_node_mission.cpp (line 354-355):

// rosAdapter->setMissionStatusCallback(&DJISDKMission::mission_status_callback, this);
// rosAdapter->setMissionEventCallback(&DJISDKMission::mission_event_callback, this);

Mission status and event callback functions are not being used for controlling M100. We are thus not registering two ROS callback functions. Please note that this workaround may affect other modules and be only a temporary solution.

  1. Problem: When building realsense_ros package:
CMake Error at /home/falcon2/indigo_catkin_ws/devel/share/catkin_simple/cmake/catkin_simple-extras.cmake:38 (find_package): By not providing "Findlibrealsense.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "librealsense", but CMake did not find one.

Possible workaround: You may have forgotten to run sudo make install when installing this package.

  1. Problem: When building rovio package:
CMake Error at /opt/ros/indigo/share/catkin/cmake/catkinConfig.cmake:83 (find_package):
  Found package configuration file:
 
    /home/Bob/indigo_catkin_ws/devel/share/kindr/cmake/kindrConfig.cmake
 
  but it set kindr_FOUND to FALSE so package "kindr" is considered to be NOT

Possible workaround: It seems that the kindr dependency in rovio cannot be fulfilled. Try to clean rovio and build again, or issue catkin clean in your ROS workspace (this takes around 15mins).

  1. Problem: When launching roslaunch ./realsense_rovio_test.launch:
Testing zero velocity update
==== Test successful (3.04311e-10) ====
==== Test successful (1.39778e-10) ====
[realsense_zr300-2] process has died [pid 24250, exit code -6, cmd /home/falcon2/indigo_catkin_ws/devel/lib/realsense_ros/zr300node __name:=realsense_zr300 __log:=/home/falcon2/.ros/log/d97fefe4-33dd-11e7-a038-3413e84bc04e/realsense_zr300-2.log].
log file: /home/falcon2/.ros/log/d97fefe4-33dd-11e7-a038-3413e84bc04e/realsense_zr300-2*.log

Possible workaround: It seems that you haven't applied udev rules for the ZR300. Please follow the instructions here.

  1. Problem: It seems that the joypad commands don't reach the autopilot since there are no vibrations heard from the motors, despite changing roll/pitch/thrust commands.

Possible workaround: It seems that permission with the autopilot has not been established fully. Please check your "app_id" and "enc_key" in the Onboard_joy_for_systemID.launch file.

  1. Problem: When running the realsense_ros package or Onboard_exp_with_zr300_rw_indoor_falcon2.launch:
terminate called after throwing an instance of 'rs::error'
  what():  cannot stop device without first starting device
[falcon2/realsense_zr300-4] process has died [pid 13390, exit code -6, cmd /home/falcon2/indigo_catkin_ws/devel/lib/realsense_ros/zr300node __name:=realsense_zr300 __log:=/home/falcon2/.ros/log/1bb3887c-3aef-11e7-8eaa-3413e84bc04e/falcon2-realsense_zr300-4.log].
log file: /home/falcon2/.ros/log/1bb3887c-3aef-11e7-8eaa-3413e84bc04e/falcon2-realsense_zr300-4*.log

Possible workaround: We are still investigating this error and are not sure why it happens. The log messages are:

[ INFO] [1495018786.152031731]: There are 1 connected RealSense devices.
[ INFO] [1495018786.152102054]:
Using device 0, an Intel RealSense ZR300
[ INFO] [1495018786.152121223]:     Serial number: yourDeviceSerialNumber
[ INFO] [1495018786.152138981]:     Firmware version: 2.0.71.28

Thus, there may be some mismatch between the firmware and librealsense version. A tentative fix is to unplug the USB cable of the RealSense from the NUC and plug it back in. This section will be updates as soon as we find a more reliable solution.

  1. Error: Even though the NUC has been commanded to turn off via sudo poweroff, sudo halt, etc., it remains running after a while (Ubuntu 14.04 only).

Possible workaround: This is a power management issue you can fix by changing the bios power setting. At boot time, enter theNUC bios, and navigate to the "Power" tab on top. Here, change "Wake on LAN from S4/S5" to "Stay Off" (by default, it is set to "Power On - Normal Boot). The figure below shows this menu for reference:

System diagram

  1. Error: When trying to connect the MAV through node_manager:

rosrun: command not found

Possible workaround: This happens due to the line ordering in the .bashrc file. Try to move the line source ~/indigo_catkin_ws/devel/setup.bash to the top of the file and run again. This issue was also reported here.