3

Our Hardware:

Drone: Matrice 600, RC controller: DJI - GL 858A connected through LightBridge 2, Flight Controller: A3, OES: Intel NUC 5i5RYK running ROS, Mobile: iOS, Camera connected to Gimbal

Problem:

We are trying to move the images captured from the Camera's SD card to the OES

Current architecture:

The onboard SDK doesn't allow to transfer of images from camera to the OES but only allows it to control the camera and take pictures. We are able to download the images to the Mobile but we need to move the images to the OES file system. The only way I can communicate to the OES is through the mobile SDK which restricts me to send 100bytes of data in a 1kb/s connection. This will take forever to upload the images to the OES.. Is there any alternative solution for this?

3 Answers3

3

Update Jan 2018 - On M210 and M210 RTK, OSDK 3.5 now allows you to stream raw video feeds from the gimbaled cameras (X4s, X5s) and from the FPV cameras to an onboard computer through a regular USB port.

Rohit Sant
  • 343
  • 1
  • 5
0

I'm struggling with the same limitation and have brainstormed the following solutions for the X3 camera (untested):

  • Wifi SD:
    • Insert a microSD->SD converter cable into the camera.
    • Use a WiFi SD card, such as this one, which sets up an access point that your onboard device can join and use to download images.
  • Direct h.264 stream

    • The 8 pin connection on the X3 camera gimbal mount exposes a USB-host bus.
    • You can setup the USB device as VID/PID 0x0547/0x1002, USB class 0xFF (vendor spec), with a bulk DIR_IN endpoint 6 and bulk DIR_OUT endpoint 2.

      Note that hardware support for USB-otg or USB "gadget" is required. I plan on using a Raspberry Pi Zero for this.

    • This device endpoint will receive a raw h.264 stream at 1280x720, which you can decode frames from and use.

The DJI "Manifold" product uses the latter method.

Mark
  • 768
  • 5
  • 12
0

I'm facing a similar problem with the X3 camera and the Matrice100.

In my opinion the only way to do this is using the Onboard_SDK. This implies to build a homemade proprietary-to-USB connector (you can start from the Inspire 8-pin connector which is exactly the same) to separate the video signal transmitted over the 2 pins (D+ and D- in the previous link posted by Mark) and then try to read the h.264 compressed video stream using Manifold_cam setting up a proper gadgetFS in your OES.

Unfortunately I'm currently working on this last step and I don't have further informations. I don't know if Mark has found the solution, but it should be possible according this video.