AutonomyLab / bebop_autonomy

ROS driver for Parrot Bebop Drones 1.0 & 2.0
http://wiki.ros.org/bebop_autonomy
BSD 3-Clause "New" or "Revised" License
153 stars 120 forks source link

[DISCO] `Video streaming started` encounters `shared_ptr` error #77

Closed weiweikong closed 6 years ago

weiweikong commented 7 years ago

My platform is

- Indigo
- Ubuntu 14.04
- Disco Platform

When running roslaunch bebop_driver bebop_node.launch, we received

 INFO] [1481012040.781340550]: Initializing nodelet with 4 worker threads.
[ INFO] [1481012040.842065688]: [BebopSDK] 16:14:00:841 | Bebop:225 - Bebop Cnstr()
[ INFO] [1481012040.842178176]: Nodelet Cstr
[ INFO] [1481012040.852265261]: Connecting to Bebop ...
[ INFO] [1481012040.858184131]: [CB] 16:14:00:858 | Ardrone3PilotingStateFlatTrimChanged:382 - [STATES] Enabling states/ardrone3/PilotingState/FlatTrimChanged
[ INFO] [1481012040.860158026]: [CB] 16:14:00:860 | Ardrone3PilotingStateFlyingStateChanged:426 - [STATES] Enabling states/ardrone3/PilotingState/FlyingStateChanged
[ INFO] [1481012040.862821376]: [CB] 16:14:00:862 | Ardrone3PilotingStateNavigateHomeStateChanged:528 - [STATES] Enabling states/ardrone3/PilotingState/NavigateHomeStateChanged
[ INFO] [1481012040.864662541]: [CB] 16:14:00:864 | Ardrone3PilotingStatePositionChanged:586 - [STATES] Enabling st
....

which seems that ROS has been correctly connect with Parrot Disco, but after a while, we received the following errors

[ INFO] [1481012048.090233874]: Enabling video stream ...
[ WARN] [1481012048.090320800]: [BebopSDK] 16:14:08:090 | StartStreaming:359 - Video streaming started ...
[ INFO] [1481012048.090545332]: Nodelet lwp_id: 8498
[ INFO] [1481012048.090600575]: [CameraThread] thread lwp_id: 8922
[ INFO] [1481012048.090657502]: bebop_driver nodelet loaded.
[ INFO] [1481012048.090768550]: [AuxThread] thread lwp_id: 8923
bebop_driver_node: /usr/local/include/boost/smart_ptr/shared_ptr.hpp:648: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const bebop_msgs::Ardrone3PilotingStatePositionChanged_<std::allocator<void> >; typename boost::detail::sp_member_access<T>::type = const bebop_msgs::Ardrone3PilotingStatePositionChanged_<std::allocator<void> >*]: Assertion `px != 0' failed.
[bebop/bebop_driver-2] process has died [pid 8498, exit code -6, cmd /home/alvin/bebop_ws/devel/lib/bebop_driver/bebop_driver_node __name:=bebop_driver __log:=/home/alvin/.ros/log/f0e64cc0-bb8b-11e6-ac45-34de1a0f21c0/bebop-bebop_driver-2.log].
log file: /home/alvin/.ros/log/f0e64cc0-bb8b-11e6-ac45-34de1a0f21c0/bebop-bebop_driver-2*.log

I googled and found that it might be the boost::shared_ptr error, however, I am not so familiar with boost and bebop_autonomy source code.

Would it be possible to share some information about this issue?

Thanks.

mani-monaj commented 7 years ago

Thanks for this bug report. Unfortunately I do not have access to a Disco FPV and I can not confirm that this driver works (at least without further modification) with the Disco. However, the issue you are facing might be caused by a bug in the driver's code.

Could you please change this line from:

if ((gps_state_ptr->header.stamp - last_gps_time).toSec() > util::eps)

to

if (gps_state_ptr && ((gps_state_ptr->header.stamp - last_gps_time).toSec() > util::eps))

and recompile/test the driver?

weiweikong commented 7 years ago

@mani-monaj Hi, thank you for your kind reply. I recompiled the whole package as you recommended, and received the similar errors

...
[ WARN] [1481511105.839228628]: [ARNETWORK_Receiver] 10:51:45:839 | ARNETWORK_Receiver_ThreadRun:271 - [0x7f75342812c0] Received an old frame for buffer 127
[ WARN] [1481511105.841021120]: [ARNETWORK_Receiver] 10:51:45:840 | ARNETWORK_Receiver_ThreadRun:271 - [0x7f75342812c0] Received an old frame for buffer 127
[ WARN] [1481511105.841111476]: [ARNETWORK_Receiver] 10:51:45:841 | ARNETWORK_Receiver_ThreadRun:271 - [0x7f75342812c0] Received an old frame for buffer 127
[ INFO] [1481511109.201209276]: Dynamic reconfigure callback with level: -1
[ INFO] [1481511109.232303990]: Enabling video stream ...
[ WARN] [1481511109.232424631]: [BebopSDK] 10:51:49:232 | StartStreaming:359 - Video streaming started ...
[ INFO] [1481511109.232769860]: Nodelet lwp_id: 10372
[ INFO] [1481511109.232848724]: [CameraThread] thread lwp_id: 10758
[ INFO] [1481511109.232944684]: [AuxThread] thread lwp_id: 10759
[ INFO] [1481511109.233010189]: bebop_driver nodelet loaded.
bebop_driver_node: /usr/include/boost/smart_ptr/shared_ptr.hpp:653: typename boost::detail::sp_member_access<T>::type boost::shared_ptr<T>::operator->() const [with T = const bebop_msgs::Ardrone3PilotingStateSpeedChanged_<std::allocator<void> >; typename boost::detail::sp_member_access<T>::type = const bebop_msgs::Ardrone3PilotingStateSpeedChanged_<std::allocator<void> >*]: Assertion `px != 0' failed.
[bebop/bebop_driver-2] process has died [pid 10372, exit code -6, cmd /home/amax/Workspace/120.bebop_autonomy/devel/lib/bebop_driver/bebop_driver_node __name:=bebop_driver __log:=/home/amax/.ros/log/df071712-c015-11e6-9a86-001d4320131b/bebop-bebop_driver-2.log].
log file: /home/amax/.ros/log/df071712-c015-11e6-9a86-001d4320131b/bebop-bebop_driver-2*.log
^C[rosout-1] killing on exit
[master] killing on exit
^Cshutting down processing monitor...
... shutting down processing monitor complete
done

by running

roslaunch bebop_driver bebop_node.launch 

Should we change all the shared_ptr related codes? Thanks.

mani-monaj commented 7 years ago

Thanks for the update. I think the problem is that the driver's code does not properly guard against all cases of NULL [shared] pointers before accessing them.

Looking at the code and your error report, I guess the problem is from this line:

if ((speed_esd_ptr->header.stamp - last_speed_time).toSec() > util::eps) 

Could you please change it to

if (speed_esd_ptr && ((speed_esd_ptr->header.stamp - last_speed_time).toSec() > util::eps))

Then recompile and test?

Since I do not have access to a Disco, it is helpful if you could run the driver in a debugger such as gdb. This is what I use to run a Nodelet with gdb:

$ rosrun --prefix "gdb --args" nodelet nodelet standalone bebop_driver/BebopDriverNodelet

Prior to running this command, please catkin clean your workspace and recompile it with catkin build -DCMAKE_BUILD_TYPE=Debug [or -DCMAKE_BUILD_TYPE=RelWithDebInfo. When gdb starts, use the run command to execute the code. When it SEGFAULTS, use bt to get the call stack that led to the fault. You may find this tutorial helpful.

weiweikong commented 7 years ago

@mani-monaj Hi, sorry for my late testing. The camera streams was receivedl, as shown

screenshot from 2016-12-23 17 3a19 3a55

but there were some warnings related to H264Filter

[ WARN] [1482484759.094475629]: [ARSTREAM2_H264Filter] 17:19:19:094 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #222 AUTS:879945444 Missing NALU is probably a slice
[ WARN] [1482484759.094522639]: [ARSTREAM2_H264Filter] 17:19:19:094 | ARSTREAM2_H264Filter_fillMissingSlices:1703 - #222 AUTS:879945444 Current slice is not a P-slice, aborting
[ WARN] [1482484759.097729950]: [ARSTREAM2_H264Filter] 17:19:19:097 | ARSTREAM2_H264Filter_enqueueCurrentAu:1006 - AU output cancelled (!outputIncompleteAu)
[ WARN] [1482484759.925153540]: [ARSTREAM2_H264Filter] 17:19:19:925 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #226 AUTS:880779600 previousSliceFirstMb:960 previousSliceMbCount:160 currentSliceFirstM

Another problem is, I could not access the autopilot state, following are the topic list and service list.

/bebop/autoflight/navigate_home
/bebop/autoflight/pause
/bebop/autoflight/start
/bebop/autoflight/stop
/bebop/bebop_driver/parameter_descriptions
/bebop/bebop_driver/parameter_updates
/bebop/camera_control
/bebop/camera_info
/bebop/cmd_vel
/bebop/fix
/bebop/flattrim
/bebop/flip
/bebop/image_raw
/bebop/image_raw/compressed
/bebop/image_raw/compressed/parameter_descriptions
/bebop/image_raw/compressed/parameter_updates
/bebop/image_raw/compressedDepth
/bebop/image_raw/compressedDepth/parameter_descriptions
/bebop/image_raw/compressedDepth/parameter_updates
/bebop/image_raw/theora
/bebop/image_raw/theora/parameter_descriptions
/bebop/image_raw/theora/parameter_updates
/bebop/joint_states
/bebop/land
/bebop/odom
/bebop/record
/bebop/reset
/bebop/snapshot
/bebop/states/ardrone3/CameraState/Orientation
/bebop/states/ardrone3/GPSState/NumberOfSatelliteChanged
/bebop/states/ardrone3/MediaStreamingState/VideoEnableChanged
/bebop/states/ardrone3/PilotingState/AltitudeChanged
/bebop/states/ardrone3/PilotingState/AttitudeChanged
/bebop/states/ardrone3/PilotingState/FlatTrimChanged
/bebop/states/ardrone3/PilotingState/FlyingStateChanged
/bebop/states/ardrone3/PilotingState/NavigateHomeStateChanged
/bebop/states/ardrone3/PilotingState/PositionChanged
/bebop/states/ardrone3/PilotingState/SpeedChanged
/bebop/states/common/CommonState/BatteryStateChanged
/bebop/states/common/CommonState/WifiSignalChanged
/bebop/states/common/FlightPlanState/AvailabilityStateChanged
/bebop/states/common/FlightPlanState/ComponentStateListChanged
/bebop/states/common/MavlinkState/MavlinkFilePlayingStateChanged
/bebop/states/common/MavlinkState/MavlinkPlayErrorStateChanged
/bebop/states/common/OverHeatState/OverHeatChanged
/bebop/takeoff
/rosout
/rosout_agg
/tf

these optics seems dead becasue I could not use rostopic echo to get data and the rqt_graph shows nothing about this topcis.

/bebop/bebop_driver/get_loggers
/bebop/bebop_driver/list
/bebop/bebop_driver/load_nodelet
/bebop/bebop_driver/set_logger_level
/bebop/bebop_driver/set_parameters
/bebop/bebop_driver/unload_nodelet
/bebop/image_raw/compressed/set_parameters
/bebop/image_raw/compressedDepth/set_parameters
/bebop/image_raw/theora/set_parameters
/bebop/set_camera_info
/rosout/get_loggers
/rosout/set_logger_level
mani-monaj commented 7 years ago

Thanks @weiweikong for the update.

  1. To clarify, does the changes I propose fix the segfault issue? Could you please send a Pull Request with all those changes if that's the case?

  2. Could you please run the driver, do a rosbag recored -a and upload/share the resulting bag file with me? It can be huge since it will include non-compressed image topics. The order I suggest to run the commands is:

  3. Run roscore

  4. rosbag record -a

  5. Launch the driver

  6. Kill the recored script after 30 seconds or so.

weiweikong commented 7 years ago

Sorry for my late replay.

rosbag record -a failed

When I run the command line

rosbag record -a

there were following warnings and the nodes crashed

[ INFO] [1483364228.753029394]: [CB] 21:37:08:752 | Update:1420 -   No
[ INFO] [1483364228.754733563]: Value for NetworkSettingsWifiSelectionBand recved: 0
[ INFO] [1483364228.754828603]: [CB] 21:37:08:754 | Update:1438 - Checking if NetworkSettingsWifiSelectionBand exists in params ...
[ INFO] [1483364228.755995494]: [CB] 21:37:08:755 | Update:1441 -   No
[ INFO] [1483364228.757409919]: Value for NetworkSettingsWifiSelectionChannel recved: 6
[ INFO] [1483364228.757477382]: [CB] 21:37:08:757 | Update:1459 - Checking if NetworkSettingsWifiSelectionChannel exists in params ...
[ INFO] [1483364228.758744974]: [CB] 21:37:08:758 | Update:1462 -   No
[ INFO] [1483364228.771349406]: Value for PictureSettingsVideoStabilizationModeMode recved: 3
[ INFO] [1483364228.771445612]: [CB] 21:37:08:771 | Update:1539 - Checking if PictureSettingsVideoStabilizationModeMode exists in params ...
[ INFO] [1483364228.772760891]: [CB] 21:37:08:772 | Update:1547 -   Yes
[ INFO] [1483364228.780480640]: Value for GPSSettingsReturnHomeDelayDelay recved: 10
[ INFO] [1483364228.780566953]: [CB] 21:37:08:780 | Update:1939 - Checking if GPSSettingsReturnHomeDelayDelay exists in params ...
[ INFO] [1483364228.781891282]: [CB] 21:37:08:781 | Update:1947 -   Yes
[ INFO] [1483364228.783519477]: Value for GPSSettingsHomeTypeType recved: 0
[ INFO] [1483364228.783627727]: [CB] 21:37:08:783 | Update:1859 - Checking if GPSSettingsHomeTypeType exists in params ...
[ INFO] [1483364228.784873432]: [CB] 21:37:08:784 | Update:1867 -   Yes
[ INFO] [1483364232.038771032]: Dynamic reconfigure callback with level: -1
[ INFO] [1483364232.038956437]: [CB] 21:37:12:038 | UpdateBebopFromROS:309 - PilotingSettingsMaxDistanceValue changed!
[ INFO] [1483364232.039010804]: [CB] 21:37:12:038 | UpdateBebopFromROS:323 - Sending PilotingSettingsMaxDistance changes to bebop
[ INFO] [1483364232.056417989]: Value for PilotingSettingsMaxDistanceValue recved: 200
[ INFO] [1483364232.056491649]: [CB] 21:37:12:056 | Update:351 - Checking if PilotingSettingsMaxDistanceValue exists in params ...
[ INFO] [1483364232.057692696]: [CB] 21:37:12:057 | Update:359 -   Yes
[ INFO] [1483364232.072941835]: Enabling video stream ...
[ WARN] [1483364232.073075975]: [BebopSDK] 21:37:12:073 | StartStreaming:359 - Video streaming started ...
[ INFO] [1483364232.073392469]: Nodelet lwp_id: 19021
[ INFO] [1483364232.073478692]: [CameraThread] thread lwp_id: 19433
[ INFO] [1483364232.073590521]: [AuxThread] thread lwp_id: 19434
[ INFO] [1483364232.073664378]: bebop_driver nodelet loaded.
[ WARN] [1483364232.155402193]: [ARSTREAM2_H264Filter] 21:37:12:155 | ARSTREAM2_H264Filter_RtpReceiverNaluCallback:2174 - ARSTREAM2_RtpReceiver NALU buffer is too small, truncated AU (or maybe it's the fi
[ WARN] [1483364232.191659456]: [ARSTREAM2_H264Filter] 21:37:12:191 | ARSTREAM2_H264Filter_enqueueCurrentAu:1018 - AU output cancelled (waitForSync)
[ WARN] [1483364232.327678192]: [ARSTREAM2_H264Filter] 21:37:12:327 | ARSTREAM2_H264Filter_sync:550 - SPS/PPS sync OK
[ INFO] [1483364232.327748749]: [BebopSDK] 21:37:12:327 | DecoderConfigCallback:147 - H264 configuration packet received: #SPS: 26 #PPS: 9 (MP4? 0)
[ WARN] [1483364232.327901892]: [ARSTREAM2_H264Filter] 21:37:12:327 | ARSTREAM2_H264Filter_generateGrayIFrame:1254 - Waiting for a slice to generate gray I-frame
[ WARN] [1483364232.327967009]: [ARSTREAM2_H264Filter] 21:37:12:327 | ARSTREAM2_H264Filter_generateGrayIFrame:1254 - Waiting for a slice to generate gray I-frame
[ WARN] [1483364232.328274023]: [ARSTREAM2_H264Filter] 21:37:12:328 | ARSTREAM2_H264Filter_generateGrayIFrame:1322 - Gray I slice NALU output size: 3609
[ INFO] [1483364232.328330583]: [BebopSDK] 21:37:12:328 | FrameReceivedCallback:174 - Frame Recv & Decode LWP id: 19436
[ INFO] [1483364232.329614947]: [Decoder] 21:37:12:329 | InitCodec:117 - H264 Codec is partially initialized!
[ INFO] [1483364232.329667044]: [Decoder] 21:37:12:329 | Decode:263 - Updating H264 codec parameters (Buffer Size: 35) ...
[ERROR] [1483364232.337201280]: [Decoder] 21:37:12:337 | Decode:302 - Frame size changed to 1280 x 720
[ INFO] [1483364232.337291103]: [Decoder] 21:37:12:337 | ReallocateBuffers:123 - Buffer reallocation request
[ INFO] [1483364232.345410540]: camera calibration URL: package://bebop_driver/data/bebop_camera_calib.yaml
[ WARN] [1483364232.849684167]: [ARSTREAM2_H264Filter] 21:37:12:849 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #4 AUTS:163231289 Missing NALU is probably a slice
[ WARN] [1483364232.849788518]: [ARSTREAM2_H264Filter] 21:37:12:849 | ARSTREAM2_H264Filter_fillMissingSlices:1688 - #4 AUTS:163231289 Streaming info is not available
[ WARN] [1483364232.879619300]: [ARSTREAM2_H264Filter] 21:37:12:879 | ARSTREAM2_H264Filter_enqueueCurrentAu:1006 - AU output cancelled (!outputIncompleteAu)
[ WARN] [1483364233.867120714]: [ARSTREAM2_H264Filter] 21:37:13:867 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #9 AUTS:164232278 previousSliceFirstMb:2560 previousSliceMbCount:160 currentSliceFirstMb
[ WARN] [1483364233.867220104]: [ARSTREAM2_H264Filter] 21:37:13:867 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #9 AUTS:164232278 Missing NALU is probably a slice
[ WARN] [1483364233.867289447]: [ARSTREAM2_H264Filter] 21:37:13:867 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #9 AUTS:164232278 Skipped P slice NALU output size: 14
[ WARN] [1483364234.828379126]: [ARSTREAM2_H264Filter] 21:37:14:828 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #14 AUTS:165066444 previousSliceFirstMb:3040 previousSliceMbCount:160 currentSliceFirstM
[ WARN] [1483364234.828481850]: [ARSTREAM2_H264Filter] 21:37:14:828 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #14 AUTS:165066444 Missing NALU is probably a slice
[ WARN] [1483364234.828534436]: [ARSTREAM2_H264Filter] 21:37:14:828 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #14 AUTS:165066444 Skipped P slice NALU output size: 14
[ WARN] [1483364235.708033429]: [ARSTREAM2_H264Filter] 21:37:15:707 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #20 AUTS:166067433 previousSliceFirstMb:2880 previousSliceMbCount:160 currentSliceFirstM
[ WARN] [1483364235.708122364]: [ARSTREAM2_H264Filter] 21:37:15:708 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #20 AUTS:166067433 Missing NALU is probably a slice
[ WARN] [1483364235.708183792]: [ARSTREAM2_H264Filter] 21:37:15:708 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #20 AUTS:166067433 Skipped P slice NALU output size: 14
[ERROR] [1483364235.718997728]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364235.869788093]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364236.105199278]: [ARSTREAM2_H264Filter] 21:37:16:105 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #22 AUTS:166401089 previousSliceFirstMb:1760 previousSliceMbCount:160 currentSliceFirstM
[ WARN] [1483364236.105304645]: [ARSTREAM2_H264Filter] 21:37:16:105 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #22 AUTS:166401089 Missing NALU is probably a slice
[ WARN] [1483364236.105353805]: [ARSTREAM2_H264Filter] 21:37:16:105 | ARSTREAM2_H264Filter_fillMissingSlices:1703 - #22 AUTS:166401089 Current slice is not a P-slice, aborting
[ WARN] [1483364236.105432652]: [ARSTREAM2_H264Filter] 21:37:16:105 | ARSTREAM2_H264Filter_enqueueCurrentAu:1006 - AU output cancelled (!outputIncompleteAu)
[ERROR] [1483364236.194404638]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364236.368872766]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364236.519622992]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364236.686597241]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364236.866207055]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.040443423]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.194072226]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.368995708]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.568133959]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.706373040]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364237.862976849]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364238.029445407]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364238.207800515]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364238.377621552]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364238.553557064]: [ARSTREAM2_H264Filter] 21:37:18:553 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #36 AUTS:168903567 previousSliceFirstMb:1120 previousSliceMbCount:160 currentSliceFirstM
[ WARN] [1483364238.553662374]: [ARSTREAM2_H264Filter] 21:37:18:553 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #36 AUTS:168903567 Missing NALU is probably a slice
[ WARN] [1483364238.553744020]: [ARSTREAM2_H264Filter] 21:37:18:553 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #36 AUTS:168903567 Skipped P slice NALU output size: 13
[ERROR] [1483364238.564942387]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364238.707610524]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364238.924333099]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.041933244]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.222264614]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.381847730]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.543403647]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.693019626]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364239.862729064]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364240.031721912]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364240.214733317]: [ARSTREAM2_H264Filter] 21:37:20:214 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #46 AUTS:170571889 Missing NALU is probably a slice
[ WARN] [1483364240.214801296]: [ARSTREAM2_H264Filter] 21:37:20:214 | ARSTREAM2_H264Filter_fillMissingSlices:1688 - #46 AUTS:170571889 Streaming info is not available
[ WARN] [1483364240.214908181]: [ARSTREAM2_H264Filter] 21:37:20:214 | ARSTREAM2_H264Filter_enqueueCurrentAu:1006 - AU output cancelled (!outputIncompleteAu)
[ERROR] [1483364240.371076192]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364240.523647819]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364240.724804942]: [ARSTREAM2_H264Filter] 21:37:20:724 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #48 AUTS:171072389 previousSliceFirstMb:320 previousSliceMbCount:160 currentSliceFirstMb
[ WARN] [1483364240.724905439]: [ARSTREAM2_H264Filter] 21:37:20:724 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #48 AUTS:171072389 Missing NALU is probably a slice
[ WARN] [1483364240.724960989]: [ARSTREAM2_H264Filter] 21:37:20:724 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #48 AUTS:171072389 Skipped P slice NALU output size: 13
[ERROR] [1483364240.744473982]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364240.873289929]: [ARSTREAM2_H264Filter] 21:37:20:873 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #49 AUTS:171239211 previousSliceFirstMb:160 previousSliceMbCount:160 currentSliceFirstMb
[ WARN] [1483364240.873376826]: [ARSTREAM2_H264Filter] 21:37:20:873 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #49 AUTS:171239211 Missing NALU is probably a slice
[ WARN] [1483364240.873427042]: [ARSTREAM2_H264Filter] 21:37:20:873 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #49 AUTS:171239211 Skipped P slice NALU output size: 13
[ERROR] [1483364240.885535517]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364241.060601196]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364241.228509686]: [ARSTREAM2_H264Filter] 21:37:21:228 | ARSTREAM2_H264Filter_fillMissingSlices:1621 - #51 AUTS:171572878 previousSliceFirstMb:2720 previousSliceMbCount:160 currentSliceFirstM
[ WARN] [1483364241.228596233]: [ARSTREAM2_H264Filter] 21:37:21:228 | ARSTREAM2_H264Filter_fillMissingSlices:1660 - #51 AUTS:171572878 Missing NALU is probably a slice
[ WARN] [1483364241.228665956]: [ARSTREAM2_H264Filter] 21:37:21:228 | ARSTREAM2_H264Filter_fillMissingSlices:1735 - #51 AUTS:171572878 Skipped P slice NALU output size: 14
[ERROR] [1483364241.239967276]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364241.413180179]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364241.540202121]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ WARN] [1483364241.835026202]: [ARSTREAM2_RtpReceiver] 21:37:21:834 | ARSTREAM2_RtpReceiver_ProcessData:1251 - Change of timestamp without marker bit set on previous packet
[ WARN] [1483364241.835119066]: [ARSTREAM2_H264Filter] 21:37:21:835 | ARSTREAM2_H264Filter_fillMissingEndOfFrame:1803 - #54 AUTS:172073378 missingMb:400 firstMbInSlice:3200
[ WARN] [1483364241.835170742]: [ARSTREAM2_H264Filter] 21:37:21:835 | ARSTREAM2_H264Filter_fillMissingEndOfFrame:1835 - #54 AUTS:172073378 Missing NALU is probably a slice
[ WARN] [1483364241.835228299]: [ARSTREAM2_H264Filter] 21:37:21:835 | ARSTREAM2_H264Filter_fillMissingEndOfFrame:1910 - #54 AUTS:172073378 Skipped P slice NALU output size: 14
[ WARN] [1483364241.845122071]: [ARSTREAM2_H264Filter] 21:37:21:845 | ARSTREAM2_H264Filter_fillMissingSlices:1584 - #55 AUTS:172240211 Missing NALU is probably a SPS, PPS or SEI or on previous AU => OK
[ERROR] [1483364241.847111286]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364241.868995196]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364242.034487413]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).
[ERROR] [1483364242.200640873]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: rgb8).

it seems that the bag record could not save the data correctly. However, without rosbag action, we could see the image stream correctly through rqt_gui.

Running the driver again, sometimes encountered following errors.

$ roslaunch bebop_driver bebop_node.launch 
... logging to /home/amax/.ros/log/67d14ee8-d0ef-11e6-ade1-001d4320131b/roslaunch-amax-X10DRi-16459.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://amax-X10DRi:38870/

SUMMARY
========

PARAMETERS
 * /bebop/bebop_driver/bebop_ip: 192.168.42.1
 * /bebop/bebop_driver/camera_info_url: package://bebop_d...
 * /bebop/bebop_driver/cmd_vel_timeout: 0.2
 * /bebop/bebop_driver/odom_frame_id: odom
 * /bebop/bebop_driver/publish_odom_tf: True
 * /bebop/bebop_driver/reset_settings: True
 * /bebop/bebop_driver/states/enable_altitudechanged: True
 * /bebop/bebop_driver/states/enable_autotakeoffmodechanged: True
 * /bebop/bebop_driver/states/enable_camerastate_orientation: True
 * /bebop/bebop_driver/states/enable_commonstate_batterystatechanged: True
 * /bebop/bebop_driver/states/enable_commonstate_wifisignalchanged: True
 * /bebop/bebop_driver/states/enable_controllerstate_ispilotingchanged: True
 * /bebop/bebop_driver/states/enable_flightplanstate_availabilitystatechanged: True
 * /bebop/bebop_driver/states/enable_flightplanstate_componentstatelistchanged: True
 * /bebop/bebop_driver/states/enable_gpsstate_numberofsatellitechanged: True
 * /bebop/bebop_driver/states/enable_mavlinkstate_mavlinkfileplayingstatechanged: True
 * /bebop/bebop_driver/states/enable_mavlinkstate_mavlinkplayerrorstatechanged: True
 * /bebop/bebop_driver/states/enable_mediastreamingstate_videoenablechanged: True
 * /bebop/bebop_driver/states/enable_numberofsatellitechanged: True
 * /bebop/bebop_driver/states/enable_overheatstate_overheatchanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_altitudechanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_attitudechanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_flattrimchanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_flyingstatechanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_navigatehomestatechanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_positionchanged: True
 * /bebop/bebop_driver/states/enable_pilotingstate_speedchanged: True
 * /rosdistro: jade
 * /rosversion: 1.11.20

NODES
  /bebop/
    bebop_driver (bebop_driver/bebop_driver_node)

ROS_MASTER_URI=http://localhost:11311

core service [/rosout] found
process[bebop/bebop_driver-1]: started with pid [16478]
[ INFO] [1483363743.860228667]: Initializing nodelet with 24 worker threads.
[ INFO] [1483363743.937334855]: [BebopSDK] 21:29:03:937 | Bebop:225 - Bebop Cnstr()
[ INFO] [1483363743.937479750]: Nodelet Cstr
[ INFO] [1483363743.951448377]: Connecting to Bebop ...
[ INFO] [1483363743.958524284]: [CB] 21:29:03:958 | Ardrone3PilotingStateFlatTrimChanged:382 - [STATES] Enabling states/ardrone3/PilotingState/FlatTrimChanged
[ INFO] [1483363743.961307858]: [CB] 21:29:03:961 | Ardrone3PilotingStateFlyingStateChanged:426 - [STATES] Enabling states/ardrone3/PilotingState/FlyingStateChanged
[ INFO] [1483363743.965026216]: [CB] 21:29:03:964 | Ardrone3PilotingStateNavigateHomeStateChanged:528 - [STATES] Enabling states/ardrone3/PilotingState/NavigateHomeStateChanged
[ INFO] [1483363743.967815264]: [CB] 21:29:03:967 | Ardrone3PilotingStatePositionChanged:586 - [STATES] Enabling states/ardrone3/PilotingState/PositionChanged
[ INFO] [1483363743.970562269]: [CB] 21:29:03:970 | Ardrone3PilotingStateSpeedChanged:651 - [STATES] Enabling states/ardrone3/PilotingState/SpeedChanged
[ INFO] [1483363743.973231005]: [CB] 21:29:03:973 | Ardrone3PilotingStateAttitudeChanged:716 - [STATES] Enabling states/ardrone3/PilotingState/AttitudeChanged
[ INFO] [1483363743.977066743]: [CB] 21:29:03:977 | Ardrone3PilotingStateAltitudeChanged:832 - [STATES] Enabling states/ardrone3/PilotingState/AltitudeChanged
[ INFO] [1483363743.986335192]: [CB] 21:29:03:986 | Ardrone3MediaStreamingStateVideoEnableChanged:1245 - [STATES] Enabling states/ardrone3/MediaStreamingState/VideoEnableChanged
[ INFO] [1483363743.990059231]: [CB] 21:29:03:990 | Ardrone3CameraStateOrientation:1347 - [STATES] Enabling states/ardrone3/CameraState/Orientation
[ INFO] [1483363743.996099879]: [CB] 21:29:03:996 | Ardrone3GPSStateNumberOfSatelliteChanged:1565 - [STATES] Enabling states/ardrone3/GPSState/NumberOfSatelliteChanged
[ INFO] [1483363744.003564555]: [CB] 21:29:04:003 | CommonCommonStateBatteryStateChanged:146 - [STATES] Enabling states/common/CommonState/BatteryStateChanged
[ INFO] [1483363744.012018098]: [CB] 21:29:04:011 | CommonCommonStateWifiSignalChanged:508 - [STATES] Enabling states/common/CommonState/WifiSignalChanged
[ INFO] [1483363744.021283716]: [CB] 21:29:04:021 | CommonOverHeatStateOverHeatChanged:963 - [STATES] Enabling states/common/OverHeatState/OverHeatChanged
[ INFO] [1483363744.024872899]: [CB] 21:29:04:024 | CommonMavlinkStateMavlinkFilePlayingStateChanged:1058 - [STATES] Enabling states/common/MavlinkState/MavlinkFilePlayingStateChanged
[ INFO] [1483363744.027500237]: [CB] 21:29:04:027 | CommonMavlinkStateMavlinkPlayErrorStateChanged:1123 - [STATES] Enabling states/common/MavlinkState/MavlinkPlayErrorStateChanged
[ INFO] [1483363744.035790733]: [CB] 21:29:04:035 | CommonFlightPlanStateAvailabilityStateChanged:1457 - [STATES] Enabling states/common/FlightPlanState/AvailabilityStateChanged
[ INFO] [1483363744.038355413]: [CB] 21:29:04:038 | CommonFlightPlanStateComponentStateListChanged:1508 - [STATES] Enabling states/common/FlightPlanState/ComponentStateListChanged
[ INFO] [1483363744.057407953]: [ARCONTROLLER_Network] 21:29:04:057 | ARCONTROLLER_Network_GetAvailableSocketPort:108 - d2c_port port: 44586
[ INFO] [1483363744.057753144]: [ARCONTROLLER_Stream2] 21:29:04:057 | ARCONTROLLER_Stream2_Open_Socket:122 - udp local port stream: 54803
[ INFO] [1483363744.057810341]: [ARCONTROLLER_Stream2] 21:29:04:057 | ARCONTROLLER_Stream2_Open_Socket:122 - udp local port control: 54024
[ERROR] [1483363749.063183500]: [ARDISCOVERY_Device] 21:29:09:063 | ARDISCOVERY_Device_NewARNetworkAL:241 - error: timeout error
[ERROR] [1483363749.063281283]: [ARCONTROLLER_Network] 21:29:09:063 | ARCONTROLLER_Network_New:335 - error: Error during the getting of the ARNETWORKAL_Manager from the device
[ INFO] [1483363749.063485440]: [ARCONTROLLER_Device] 21:29:09:063 | ARCONTROLLER_Device_StartRun:4815 - Start failed or canceled.
[ERROR] [1483363749.063616357]: [ARCONTROLLER_Device] 21:29:09:063 | ARCONTROLLER_Device_StopNetwork:5288 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_ARDRO
[ERROR] [1483363749.063672050]: [ARCONTROLLER_Device] 21:29:09:063 | ARCONTROLLER_Device_StopNetwork:5297 - Error occured durring unregistering ARCommands to the feature ARCONTROLLER_DICTIONARY_KEY_COMMO
[ERROR] [1483363749.063723330]: [ARCONTROLLER_Device] 21:29:09:063 | ARCONTROLLER_Device_StopRun:4858 - StopNetwork failed with error :Bad parameters
[ERROR] [1483363749.063797837]: [ARCONTROLLER_Device] 21:29:09:063 | ARCONTROLLER_Device_StartRun:4823 - Start fail error :Error during the getting of the ARNETWORKAL_Manager from the device
[ INFO] [1483363749.064076647]: [BebopSDK] 21:29:09:064 | Cleanup:326 - Bebop Cleanup()
[FATAL] [1483363749.064461464]: Init failed: Waiting for device failed: No error
[ INFO] [1483363749.064663151]: Bebop Nodelet Dstr: 0
[ INFO] [1483363749.064700328]: Killing Camera Thread ...
[ INFO] [1483363749.064739088]: Killing Aux Thread ...
[bebop/bebop_driver-1] process has died [pid 16478, exit code -11, cmd /home/amax/Workspace/120.bebop_autonomy/devel/lib/bebop_driver/bebop_driver_node __name:=bebop_driver __log:=/home/amax/.ros/log/67d14ee8-d0ef-11e6-ade1-001d4320131b/bebop-bebop_driver-1.log].
log file: /home/amax/.ros/log/67d14ee8-d0ef-11e6-ade1-001d4320131b/bebop-bebop_driver-1*.log
all processes on machine have died, roslaunch will exit
shutting down processing monitor...
... shutting down processing monitor complete

Other topics information

Would it be possible to access autopilot data such as IMU, gyro raw data through the driver by ROS node?

weiweikong commented 7 years ago

@mani-monaj Any update about other topic information with ROS node?

weiweikong commented 7 years ago

Any update @mani-monaj ?

mani-monaj commented 7 years ago

@weiweikong Sorry for my delayed response. I will be back on the development track very soon. I will update this issue with my answers. Any update on your side?

weiweikong commented 7 years ago

@mani-monaj No more update. : (

thomas-bamford commented 7 years ago

Hello @weiweikong, Sorry for the late reply. The bebop_autonomy ros driver is currently limited to the information that is provided by the Parrot, so information such as IMU, gyro raw data is not yet available. Here is a link to the list of information that these Parrot drones can provide http://developer.parrot.com/docs/reference/all/index.html. We hope to work towards providing support for the Disco platform (which upgrading to the latest SDK will add some new information for). Please let us know if there have been any updates from your side that you would be willing to collaborate to this project. Thanks.

thomas-bamford commented 6 years ago

Disco is supported in #168.