Skip to content

Troubleshooting

Inkyu edited this page Aug 31, 2017 · 5 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 the NUC 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.

  1. Problem: One of the following error message while running realsense driver:
[ERROR] [1504121503.793784565]: /raven/camera/driver - Error calling rs_get_device_info ( device:0x26efd98, info:ADAPTER_BOARD_FIRMWARE_VERSION ): 
selected camera info is not supported for this camera! 
[FATAL] [1504121503.958103430]: Failed to load nodelet '/raven/camera/driver` of type `realsense_camera/ZR300Nodelet` to manager `nodelet_manager'
[FATAL] [1504123423.092960431]: Failed to load nodelet '/raven/driver` of type `realsense_camera/ZR300Nodelet` to manager `nodelet_manager'
[raven/nodelet_manager-4] process has died [pid 2273, exit code -11, cmd /opt/ros/indigo/lib/nodelet/nodelet manager __name:=nodelet_manager __log:=/home/falcon2/.ros/log/51f05e98-8dbe-11e7-93c7-3413e84bc04e/raven-nodelet_manager-4.log].
log file: /home/falcon2/.ros/log/51f05e98-8dbe-11e7-93c7-3413e84bc04e/raven-nodelet_manager-4*.log

Possible workaround: It seems lack of proper deconstructing routines that free resources. Unplug and plug back may resolve this issue. We are investigating this issue now but don't know whether this is caused by librealsense, realsense ROS wrapper, or our modifications.

Clone this wiki locally