Control plane roll from companion computer

Hi all,

I’m building a fixed wing plane with onboard vision for fine-tuning the plane’s position. The main goal is to use GPS positioning to get within a small margin and then see if we can find a way for vision to make an appreciable impact on flight precision (any opinions?). I can’t seem to find much information on how I can get the plane to make automated adjustments to roll and pitch with commands sent from my companion computer. I’m using pymavlink right now and would prefer to stick with that if possible as I have a deadline coming up and want to avoid learning something new for now. I’m having trouble understanding the pymavlink documentation so apologies in advance if I’m missing something obvious.

Thanks!

Whats the application for fixed wing where the normal gps or rtk is not precise enough?

:rofl:
That’s a good one… Visual Servoing of a nonholonomic vehicle is quite a challenge.
The only reference that I am thinking of is the outback challenge.
http://canberrauav.github.io/cuav/build/html/index.html

Good Luck

The fixed wing will be physically interacting with a ground station, which we want to be as low-tech, movable, and inexpensive as possible (currently there is no tech on it at all). I think rtk would work great for our purposes and we have it on our plane but as I understand it we would need another rtk module on the ground station for us to know where to position the plane, so we would have to add a battery, control board, gps, etc. which we want to avoid.

I just mean I’d rather use pymavlink if I can and not something like mavros… thanks! I’ll take a look.

That’s OK, it just sounded a little weird :wink:
Unfortunately I dont see the http://canberrauav.org.au/ link anymore, there was a lot of interesting information on the subject.

@peterbarker is there some stuff related to cuav still available somewhere? … and more specifically this one:
http://canberrauav.org.au/outback-challenge-2018-debrief/

I found a helpful example here for overriding RC inputs, and I think it’s what I’m looking for. We are using an ArUco marker and a telephoto lens to detect the marker from as far away as possible, and our first iteration of the code will just modify the plane’s orientation based on where the marker is in the frame.

Aruco is generally ROS and used as Copter Precision Landing, here is from our wiki
https://ardupilot.org/dev/docs/ros-aruco-detection.html

And this BLOG based on April Tag