Rover controled over internet

I overlooked you were using an Raspberry Pi Zero. You are right the Zero W is using less power than a 3B+, but it also has much less computing power, being only single core with a relativly low clockspeed.
Can you ssh into the Zero W after it booted the rpanion image? Even on a RPi3B+ it takes a while till the rpanion server responds. The single core Zero W might be struggling to get everything up and running in time or at all.

when trying with the zero, the wifi network comes up pretty quickly, and connecting to it works smoothly as well. I can ssh to the pi, so there is a little chance that I can fix it if I know what.
I will write to the rpanion thread asking for a work around if any esixts for a zero.

Rpanion writes a log file in its home directory. Perhaps you can find a clue in there or post the log in the Rpanion thread, so Stephen can have a look at it.
If you run “top”, do you see any “node” process running?
I have few RPi Zero Ws here, I will try to run Rpanion on one of them later.

by the mean time I do some test with pi 3b+ with rpanion. With the rpicam, I was able to stream to VLC, the delay is more than 2s, so this is not really suitable for remote driving a rover. streaming to MP was not working. The cam is selected and stream is started. tried both gstreamer and MP strings. MP always re-launched. anything else to set up?

Which version of MissionPlanner are you using? I remember having problems with one version of MP, but upgrading to the latest beta helped.
Another option is to use Qgroundcontrol with the rtsp string.

1.3.68
checked for updates, but nothing is available
rtsp has very high latency. it would be impossible in manual.

Rtsp in Qgroundcontrol has a relativly low latency. MP 1.3.70 should be available.

I have installed Qgroundcontrol, but realized that would take a week to understand and correctly calibrate, setup everything so I gave up for now. Installed a buster image and gstreamer 1.0 on top of that, to verify the stream. it worked to a w10 pc. So I have installed MP 1.3.70 but it is still not working and gives different errors.
does gstreamer to MP work for you , or only rtsp?

Finally I could setup a gstreamer stream from rpi zero buster image to MP, that proves that MP gstreamer installation is ok (I had to remove and re-download gstreamer)
my successful pipe is
sending:

raspivid -t 999999 -w 1280 -h 720 -fps 10 -rot 270 -b 2000000 -o - | gst-launch-1.0 -e -vvv fdsrc ! h264parse ! rtph264pay pt=96 config-interval=5 ! udpsink host=192.168.1.103 port=5000

receiving:
gst-launch-1.0 udpsrc port=5000 ! application/x-rtp, payload=96 ! rtpjitterbuffer ! rtph264depay ! avdec_h264 ! fpsdisplaysink sync=false text-overlay=false

the one in rpanion server are not udp and raspivid is not in.

I use MP 1.3.70 build 1.3.7336.16828. The rover has a RPi 2 with a Raspicam2 connected.
I copy and paste the correct (not loacalhost) MP string from the Rpanion video streaming page into MPs “Set Gstreamer Source” dialogue and the video starts. There is no noticable latency.
Raspivid is not needed anymore, the raspicam is accessible as /dev/video0.

thanks for the detailed decription! I do exactly the same, only difference is that I am using a 3B+. As I can stream with this setup to VNC, I suppose that MP’s rtsp handling must fail. There may be a missing plugin too. I will consider to save all settings and do a complete reinstall of MP. or just deleting rtsp folders. tht helped to get working gstreamer.

Finally I was able to get the stream running and then I carried on some tests. I have noticed that some times when settings are changed, the MP, RPI and FC might need a reboot the changes take effect. Or the video stream has to be set twice.
In the first time video latency was realy variable, anything between 0,5s-10s. so I have started playing with settings:

  • lower mavlink baud rate to min of 9600 on FC and MP side
  • swap to 5G radio
  • increase video bandwith

finally I lower video resolution and that solved all problems. I have now latency<0.5s and very nice stream quality with 640x480. much better that I had with 2Mp. when navigating a rover latency is more important, than resolution, and 640x480 is good enough.

what settings are you using?
in the mean time I have bought an RPI 3 A+ as I am afraid it will also disappear from shops as the zero did.
Have you run some tests with Apsync too?

I went on with test this weekend and I registered fo zerotier account and installed the client on my pc and on the RPI3. I was surprised when I saw that there was a bridge between rpanion wifi AP and the ethernet adapter. My pc was connected to rpanion wifi, so not having internet and when I pluged in the ethernet I had internet on my pc. I did not know it is prepared that way, but anyways it made easy zerotier installation. So after a few trial I could connect rpanion rpi with the MP pc through their zerotier ip address, but both were on the same location. What I can not see is that how the connection will be done when rpanion server and MP is not located at the same place? The rpanion AP will not be connected by anyone and I can not plug in a ethernet cable either so RPI will not have internet connection. So zerotier will not work either. Or you plan to use a second wifi adapter for internet connection? I think that the whole setup would be much easier if the rpanion RPI is configured as client, then it can forward telemetry to anywhere. But it is likely not possible due to the nature of the whole setup.

You can always configure the wifi adapter as a client to whatever network is available and deactivate/delete the AP settings. I use two wifi adapters on my rovers, so I do not have to change anything for indoors/outdoors operation and I can have the rovers connect to each other for follow mode.

that woud be perfect for me! how are you changing wifi AP/client, etc… settings? I used to do it with wpa_supplicant, but Stephen mentioned on his blog that it was not used in rpanion. I would set it up only with the client config, but if not possible I can plug in additional usb wifi adapter for client and keep the on board wifi for ap. How ever that would be useful to switch off AP after settings done to save battery.

There is a network setup page provided by the Rpanion webserver. There you can setup everything to your liking.

Hi, I’m building a copter that can stream over 4G LTE. The hardware I am using are navio2 and Pi 3B. And the ground station is the Mission planner. I am wondering about the combination of Rpanion-server and a flight program. However, emlid’s flight program is in image format. Can you give me advice? Thank you very much.

Every OS for the Raspberry Pi is in image format. After writing the image to a SDcard and booting the card in the RPi, you can install everything you like. I once tried to install Rpanion server on the Raspberry Pi running the Emlid image, but got stuck somewhere along the install. I can not remember what did not work out.
It might have been a missing dependency that could not be resolved.

1 Like

Thanks for your answer. I tried the Zerotier server and the ssh got to my laptop. When I try to use the ip provided by the zerotier server to connect to the Mission planner, it does not work. What should I do next? Thank you for the suggestion.

There can be many possible reasons. It is not 100% clear what you did to get a connection. Did you enter the zerotier IP of your GCS, so ardupilot uses it as a telemetry output? Do you use any mavlink proxy on the RPi (like mavproxy, mavlink-router, rpanion, etc.)?

1 Like