-
Notifications
You must be signed in to change notification settings - Fork 10
Troubleshooting
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!
-
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.
-
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.
-
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).
-
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.
- 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.
-
Problem: When running the
realsense_ros
package orOnboard_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.
-
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:
-
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.