ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

It has indeed been a time, and there might a better solution than the one I'll describe. I was working on an DJI drone and we wanted to communicate with it over a very slow connection (a mobile device using the remote controller) with DJI Onboard SDK ROS (running on the drone's Ubuntu computer). My solution was:

  • create a new Mavlink dialect (we wanted ROS-like messages) and use a generator to create Java and C++ classes
  • I copied Mavros' PluginBase class, so that it was easier to add new plugins to handle the new messages. This meant, I didn't need a reference to the Mavros project in the end (I needed only Mavlink)
    • created a new ROS node that handled communication between the mobile device and DJI Onboard SDK ROS via the Mavlink messaging protocol
    • link, if it helps: https://github.com/HrlecMatej/RCAndVRSupportForDrones/tree/master/remote_controller_support

To answer xlightx: It has indeed been a time, and there might a better solution than the one I'll describe. I was working on an DJI drone and we wanted to communicate with it over a very slow connection (a mobile device using the remote controller) with DJI Onboard SDK ROS (running on the drone's Ubuntu computer). My solution was:

  • create a new Mavlink dialect (we wanted ROS-like messages) and use a generator to create Java and C++ classes
  • I copied Mavros' PluginBase class, so that it was easier to add new plugins to handle the new messages. This meant, I didn't need a reference to the Mavros project in the end (I needed only Mavlink)
    • created a new ROS node that handled communication between the mobile device and DJI Onboard SDK ROS via the Mavlink messaging protocol
    • link, if it helps: https://github.com/HrlecMatej/RCAndVRSupportForDrones/tree/master/remote_controller_support

To answer xlightx: It has indeed been a time, and there might a better solution than the one I'll describe. I was working on an DJI drone and we wanted to communicate with it over a very slow connection (a mobile device using the remote controller) with DJI Onboard SDK ROS (running on the drone's Ubuntu computer). My solution was:

  • create a new Mavlink dialect (we wanted ROS-like messages) and use a generator to create Java and C++ classes
  • I copied Mavros' PluginBase class, so that it was easier to add new plugins to handle the new messages. This meant, I didn't need a reference to the Mavros project in the end (I needed only Mavlink)
      Mavlink)
    • created a new ROS node that handled communication between the mobile device and DJI Onboard SDK ROS via the Mavlink messaging protocol
    • link, if it helps: https://github.com/HrlecMatej/RCAndVRSupportForDrones/tree/master/remote_controller_support