Onboard-SDK-ROS icon indicating copy to clipboard operation
Onboard-SDK-ROS copied to clipboard

Enabling h264 stream on M210 hangs indefinitely in 4.1.0

Open ghost opened this issue 4 years ago • 5 comments

We have successfully been using 4.0.1 since shortly after its release. Recently, we upgraded to 4.1.0 and have started seeing the service call to enable h264 stream randomly block indefinitely. The frequency is 1-2 failures per 10 flights. In comparison, we haven't seen any issues with M300 in over 100 flights.

To recover we have had to kill the node process and do rosnode cleanup or even reboot the drone.

Setup

  • M210V2: 01.00.0710
  • XT2: 01.00.00.34
  • DJI OSDK: 4.1.0
  • DJI OSDK ROS: 4.1.0

Failing service call rosservice call /dji_osdk_ros/setup_camera_h264 "request_view: 0 start: 1"

Log file In this log file the stream was enabled and disabled a number of times. Note that is says the camera is already streaming at the button where the blocking happens. This is not the case; the camera is not streaming, and the service call blocks indefinitely. vehicle_node-6-stdout.log

ghost avatar Apr 19 '21 14:04 ghost

Agent comment from kyle.cai in Zendesk ticket #46673:

Dear developer ,

Thank you for contacting DJI.

Could you please provide the XT2 Firmware(the camera firmvare: v01.00.00.34) ? please comfirm and update to the lastest firmware to verify this issue: https://dl.djicdn.com/downloads/Zenmuse%20XT%202/20200508/Zenmuse_XT%202_Release_Notes_en_.pdf

and please comfirm both OSDK(linux) and OSDK ROS has been upgraded to 4.1.0.

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team
inline1102599945.png

dji-dev avatar Apr 20 '21 07:04 dji-dev

Thank you for your rapid response.

As said in the original post:

Camera 1 Firmware version: 01.00.00.34 OSDK(linux): 4.1.0 OSDK ROS: 4.1.0

ghost avatar Apr 20 '21 08:04 ghost

Agent comment from kyle.cai in Zendesk ticket #46673:

Dear developer ,

Thank you for contacting DJI.

I have test this issue with OSDK master branch and ROS master branch(orignal demo), stream was enabled and disabled, but failed to reproduce. result:

version:

The log you provided, ​it seems that the thread stoped failed and not create pthread to receive stream, could you please provide more info about how to reprodce this issue, the better using the orignal demo to operate. ​ ​ Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team ​
inline1592548630.png
inline-210594680.png
inline1057252569.png
inline-1133830896.png

dji-dev avatar Apr 21 '21 08:04 dji-dev

Unfortunately, as initially stated the failures are random/periodic.

We are using the provided vehicle_node and have exposed the async funtions to take off and land.

The flow is:

  1. Start camera h264 stream
  2. Takeoff
  3. Control with software joystick for 2 minutes
  4. Land
  5. Stop camera h264 stream
  6. Repeat from step 1 until the error occurs

We have never seen the failure on the first start of the stream after boot of the drone. Also, it only happens when the drone flies in between start and stop of the stream.

ghost avatar Apr 21 '21 09:04 ghost

Agent comment from kyle.cai in Zendesk ticket #46673:

Dear developer ,

Thank you for contacting DJI.

From the information currently provided, it is recommended to troubleshoot the receiving stream thread exception during repeated start and stop of the camera stream.

Thank you for your understanding and support, hope you have a nice day.

Best Regards, DJI SDK Support Team ​

dji-dev avatar Apr 21 '21 10:04 dji-dev