What are my options in long range wireless communication in ROS?
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.
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.
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?
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 ..
.. networking application would). That is why I asked how you feel ROS (specifically) already comes into play / influences your choice of comms hw.
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.
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.