Servers by jDrones

Aggressive indoor copter flying with SteamVR tracking

Having got bored of not being able to fly due to the CoronaVirus lock-down and trying to justify my recent purchase of a VR headset I have been playing with using a SteamVR tracker for position feedback.

Thanks to PYopenVR I was able to interface SteamVR with MAVProxy to stream vision position and vision speed MAVLink messages to copter. This works in the same way as the T265 camera however in this case the information is coming in from an external score, rather than a self-contained unit on the vehicle. The ArduCopter setup is much the same as the T265 however we set VISO_TYPE to 1 for MAVLink. For this example i’m using the dev vision of ArduCopter as support for the vision speed message has recently been added (thanks @chobitsfan!).

The tracking works very well, especially considering the cost of a Vicon system that would typically be used for such a positioning system. In this case the minimum setup is two base stations and a tracker along with a couple of dongles for them to communicate with the PC (although I would totally recommend getting a head-set too, very good fun). If you intested in how the system works this is a excellent video form Alan Yates.

For the demo I set aggressive accelerations and speeds to try and push the capability of the tracking, the various crashes are due to operator error and lack of space. The EKF and positioning system remains happy for all the flights. It should be theoretically possible to use up to 16 base stations cover a area of 65m^2. Each base station is quoted to give a 6m range, so 25m^2 should be possible with just two base stations, although my room is much smaller than that.

I found the trackers extremely susceptible to vibrations, they are designed to track people after all. I had to mount mine on a anti-vibration mount to maintain good tracking at all times. Possibly this would not be such a issue on a vehicle with larger props. My copter has very nasty high frequency vibrations. Nothing special about the copter, except I’m using a Wifi telemetry link to deal with the high bandwidth required to send position messages at a high rate. A vehicle with prop guards is a must if you plan on being in the same room as it.

This is a demo of the MAVProxy setup, the code can be found here.

18 Likes

That is excellent, thanks for sharing :+1:

Thanks for sharing the bloopers as well :rofl::rofl::rofl:

2 Likes

It’s incredible how quickly it’s moving in such a small space. Really well done! amazing.

1 Like

Great job! This is incredible cool! :+1:

1 Like

Ive got the same frame and tried getting a Matek 405 CTR tuned but din not like it im am thinking of trying a mRo zero seven as that was auwsome your video

I had very nasty vibrations, had to take a huge chunk out using the harmonic notch filter. See: https://ardupilot.org/copter/docs/common-imu-notch-filtering.html#common-imu-notch-filtering

These are my params, the tune is not great as I just did a manual tune indoors. These params might give you some hints, I have the 6S version.

TrackerQuad.param (18.1 KB)

1 Like

Are you using the stock Mamba FC with Arducopter.

No, frame only, the Mamba FC doesn’t have enough flash for AP.

Its got a Matek F765-Wing instead.

Servers by jDrones