Rpanion-Server 0.10 Released

Rpanion-Server 0.10.0 has been released. This is primarily a bugfix update, with some important camera streaming updates.

Rpanion-Server is an Open-Source software package for easily managing your companion computer (such as a Raspberry Pi or NVIDIA Jetson) on a ArduPilot-powered vehicle. It provides such functions as MAVLink telemetry distribution, video streaming and network management, NTRIP streaming and flight log management.

This release includes the following major changes:

  • Migrate to libcamera API on the Raspberry Pi
  • Added support for the 2nd CSI port on Raspberry Pi
  • Hardware x264 encoding for USB cameras
  • Reduced x264 latency
  • Support for CSI camera streaming on the NVIDIA Jetson
  • Option to send datastream requests to flight controller
  • More consistent user interface
  • Enhanced Wireguard status reporting

Comprehensive documentation and pre-built disk images for the Raspberry Pi are available here.

If you’re curious about the inner workings of Rpanion-Server, the source code can be found on GitHub. We welcome bug reports and Pull Requests!

10 Likes

Great to see this. The Xacti camera gimbals have a USB interface which is just like a normally webcam interface so I will give it a try with this version of RPanion.

1 Like

Great work and great sofrware! Solve many challenges for using companion computers and long range telemetry and control.

This looks similar to the minla hdw system that i was using for the purpose but now gennady is no longer hosting the servers so is out of action. Does it work using a java app?

Rpanion-server is self-hosted on the companion computer. It uses a Node.js backend and ReactJS frontend.

Ok thanks I’ll have a read of the docs and see if its something i think i can do

@stephendade,

I wonder if we could get RPanion to send out VIDEO_STREAM_INFORMATION messages so that the ground stations can more easily find video streams and pop-up a window for the user. As far as I know, none of the GCSs will consume this message yet but I think they probably should.

That’d be a nice thing to add. Can you add it as a new issue on the Github repo? That way I won’t forget.

@stephendade,

Great, added here.

This is a very cool project, thanks @stephendade. This suggestion of VIDEO_STREAM_INFORMATION is very interesting, it is something we could add to the GCSs. I think if we start using it it will save a lot of time of initial setup when working with digital video systems. I will probably give this a try as well very soon.

Thanks!

1 Like

Good day!

I just tried this today. I am getting a huge lag when trying the MAVLink forwarding. When I try to connect with Mission Planner it starts connecting, but takes forever to download parameters. Link is shown as low (<50 %). I then tried the RTSP camera stream and it worked well. Quite low latency and little artifacting.

Before installing rpanion-server I used MAVProxy with zerotier. It worked very well, quick to connect and everything. I also tried using MAVProxy with NordVPN meshnet, which worked even better.

All these tests were performed using a Huawei 4G USB dongle.

Do you know how to fix this MAVLink issue? Is it possible to use NordVPN instead of zerotier? NordVPN seem to perform much better from my testing with MAVProxy.

Thankful for any help.

Are you using UDP or TCP? What baud rate to the flight controller?

I’e not used NordVPN meshnet before, but it should work ok.

I am using UDP and 921 600 baudrate. Works like a charm with MAVProxy, that’s why I am a bit unsure why this isn’t working as it should. It is the same hardware, I just swapped out the SD-card and setup Rpanion-server. Camera also worked with Rpanion, which should rule out a “connection” issue?

I did install NordVPN meshnet through the SSH like I did when I used MAVProxy, but it didn’t work with Rpanion for some reason. I could connect through SSH on the nordVPN meshnet.

Not sure what could be the issue here. Which RasPi board and flight controller are you using?

Also, could you send a logfile?

I am using a Raspberry Pi 4. Which logfile is that? Thanks!

Soo. Today when I set everything up again, I was able, for some reason to connect via Mission planner using the NordVPN meshnet. Much less lag than what I experience from the Zerotier. The only thing I did, which I don’t think should have any impact on this, is to install MAVProxy (I wanted to try if using MAVLink would work again). I am also able to reach the webui through the nordVPN:3000 IP. I am having a bit of packet loss, but I think that is to expect?

EDIT:
Now I rebooted everything. Now MAVLink is no longer present, or extremely slow/unstable. I get a steady stream from the RPI video into mission planner, but no MAVLink. It looks like this from the web-UI:

Sometimes I get a “bad” link, showing about 10-20% in MP HUD. Then it’s gone again. I tried rebooting the AP and starting/stopping the telemetry in the web-UI.

That screenshot would indicate an issue on the UART connection - so narrows things down.

  • Which flight controller are you using?
  • Are you connecting via the Pi’s in-built UART (on the 40-pin header) or a USB-serial converter?
  • Perhaps try a slower baud rate

Yes. I am using the UART. It works very good with MAVProxy. I will change to a slower baudrate and see what happens! I would like to use the logging on the raspberry pi, which if I am not mistaken, requires 921 600 baudrate. Is that correct?

EDIT 1:
I tried with 500 000 baudrate, I got a brief connection.

EDIT 2:
Tried all the way down to 115200, I get no connection… I tried Telem 2 and telem 1 port on the AP at different baudrates, same problem. Brief connection, then lost. I checked the cabling to the RPI and refitted it. No change.

Correct.

What version of Ardupilot are you using? The screenshot you posted looks like Rpanion-server is having a lot of trouble decoding the MAVLink packets. Note that Rpanion-server only supports MAVLink V2, which has been the default in ArduPilot for a few years now.

On the “About” page, you can download the Rpanion-server logfile

I am using 4.3.3. I have set it to MAVLink 2. I am currently reflashing the rpanion image and trying again.

EDIT:
Just reflashed it, without doing any changes whatsoever, connected to the RPI via the wifi it is the same behaviour. These are my settings on the telem 1 on the AP:

Some times I get a few packets, but connection lost very quickly.

EDIT 2:
I tried connecting to ttyACM0 instead of serial0 and it worked. I have the AP connected to one of the USB ports on the RPI. This is not how I would like it. I’d like to have the USB port free on the AP.

Any idea why this is happening?