What are my options in long range wireless communication in ROS?

asked 2018-04-18 02:02:12 -0600

Infection gravatar image

Hello everyone,

I am trying to set up a project which involves flying a DJI M100 with a Raspberry Pi 3 attached running ROS quite a distance away from the base station from which it is controlled. I would like to publish commands to the Pi and subscribe to various topics with sensor data posted by the Pi from a PC or laptop on the ground.

Can you recommend any communication protocols and/or devices that may allow me to communicate between the Pi and the PC on the ground at distances varying from a few meters to about 2 km? Any and all suggestions are welcome, as technical and detailed as possible.

Kind regards.

edit retag flag offensive close merge delete

Comments

Can you clarify how ROS factors in here? As-is, your question seems at best only partly relevant, as I assume the choice of hw/transport is to a large extend independent of the traffic flowing over/through it.

gvdhoorn gravatar imagegvdhoorn ( 2018-04-18 02:44:50 -0600 )edit

I want to control the M100 through the DJI OSDK using the Raspberry Pi, controlled remotely from a PC or laptop on the ground. I want to be able to control more than one UAV as well if this works robustly in the future. I figured ROS might be capable of doing this?

Infection gravatar imageInfection ( 2018-04-18 02:49:15 -0600 )edit

ROS 1 is agnostic of the exact physical comms channel used, as long as it supports (eventually) an IP transport. ROS 2 is the same, but might be more flexible, as it uses DDS under the hood.

But as long as you have some form of IP network, ROS 1 should be able to use it (as any other ..

gvdhoorn gravatar imagegvdhoorn ( 2018-04-18 03:15:45 -0600 )edit

.. networking application would). That is why I asked how you feel ROS (specifically) already comes into play / influences your choice of comms hw.

gvdhoorn gravatar imagegvdhoorn ( 2018-04-18 03:16:17 -0600 )edit

In any case: I would probably recommend to look at ROS 2, especially because of the support for DDS. DDS is much better suited for lossy/noisy links with intermittent complete failures. There are some ROS 1 transport implementations for DDS, those might also be an option.

gvdhoorn gravatar imagegvdhoorn ( 2018-04-18 03:17:26 -0600 )edit

This is of course the software side of things. I don't have any recommendations wrt exact hw to use for the use-case you describe.

Let's see whether other forum members do have some advice/experience.

gvdhoorn gravatar imagegvdhoorn ( 2018-04-18 03:19:21 -0600 )edit