Admit it. You have always wanted to know “how fast does it fly” no matter what it is you are flying with :)
How to measure speed of flying model?
There are several possibilities, many of them have some advantages but also disadvantages.
GPS-measurement is one thing. Problem is that it’s 3D-measurement, that means it does take the changes in altitude also. Another issue is error-rate, since measurement is done with formula “time between location points” raising update rate on the measurement also raises error-rate significantly. So, works for approximate values, not for precise.
Pitot-tube measurement is also an option. Issue here is that it measures air-speed, not ground speed. Also the fact that any wind whatsoever will affect the results. Not to talk about that in practice it’s impossible to use reliably in heli’s due air disturbances created by main blades. Not really useful in the end in our application.
Radar is one really good solution. It’s independent, measures true ground speed and so on. But the price is one thing. Not many hobbyist’s can afford that. So, we have to rule that out.
Basically one option left to ponder upon, the camera-solution. Capture the movement of model with one or more camera’s and process the images captured and calculate the speed. This is finally where things get interesting.
I am speed-interested, that is no secret, i love speed and big air. I have a project going on with attitude “damn if I can’t get Goblin G380 to go 200km/h+!” and I need/want an reliable measurement. Currently having GPS on it but it’s not that easy to read the log-files reliably. Also there is no way to get reliable instant notification of speed.
Hunt for equipment that won’t bankrupt me
So I started to hunt for an solution that would fill some requirements:
- Quick to set up on field
- Does not require anything on the flying model
- Result available immediately
- Result’s comparable between places when equipment moved around
I quickly noticed that the limiting factor was the bankrupt-issue…
Solution is close…
As it happens just in right time there is a user on the Helisweden-forum, Linus Larsson, that began building something very interesting. That caught my eye and I’ve been following the development closely. Linus is apparently extremely skillful in what he does, also the development’s been fast, there’s new features and improvements almost on daily bases. This is of course very encouraging to see.
The Linus’s Sleipnir setup
What Linus have done is borderline to genius way to achieve reliable measurement with affordable costs.
There are two Raspberry Pi 3 boards with original Raspberry Pi camera on them, these are 100 meters apart placed on the side of flight-line. These are then in network (Note: cabled!) to host-computer in the middle running host-software.
So basically what you need is here:
- 2 x Raspberry Pi 3
- 2 x Raspberry Camera module
- 2 x Stand for the above
- 2 x Power to above (5V DC available, LiPo + Bec is one way)
- 2 x ~60m network cable
- 1 x Network Switch
- 1 x Host-computer (Win or Linux, only Linux tested so far)
- Some way to measure distances reliably
- Some flying objects :)
The pod-raspberry’s need to be connected with cat-cable due speed and jitter. Using WiFi generates too much fluctuation time wise.
The way Sleipnir works
The idea is quite simple to explain:
- Capture flying model in known position 1 = Camera 1
- Capture flying model in known position 2 = Camera 2
- Process the data of captured images and timestamps
- Calculate speed between points, easy since time is measured and distance is known
- Announce the result in some way to user
From the start Sleipnir worked in the way that user had to browse for captured images and manually search the model and so on. Currently this is totally automated too.
Placing the cameras is important. These are placed 100 meters apart, from pilot’s standing point 50 meter to left and 50 meters to right. Placement is right next to flight-line, camera pointing in exact 90 degrees angle across the flight line. This angle is very important, we’ll look into that soon.
Camera’s are capturing images in 90 frames per second, software then process the data with motion-tracking continuously and captures the flying object when it’s on the measurement line on camera 1. Same happens on the camera 2 and after that Sleipnir is using the known distance (100m in this case) and used time between the captured frames to calculate speed.
Current functionality of Linus’s Sleipnir
As we have mentioned Linus’s Sleipnir measurement system is in early stages of development but it already has some absolutely brilliant functions:
- Fully automated motion tracking of flying model
- Direction independent measurement (fly both ways)
- Automated announcement of result
Every time a flying object enters first camera a signal is announced on the host-computer, when the flying object crosses the second camera once again signal is announced and the speed is announced. What you need is only a person to write down results, just as in real life :)
Things to note – important
There are some things we have to take in to account when using Sleipnir. One is that the placement of cameras is critical, these needs to be in so exact 90 degrees angle as possible, what we need is to have the distance between camera-lines absolutely same if the models flies 5 meters from camera or 20 meters from camera. Look at the illustration:
The important measurements are the 100 meters between camera 1 and 2. The pointing angle of cameras must be so close to 90 degrees from flightline as possible. This can be done with some mathematics, let’s use pythagoras:
We know a and b, they’re 30 meter and 50 meter, now we can calculate the , it’s 58,31 meters. Simply measure from point 3 the distance to points 1 and 2 so they’re 30 meters to point 2 and 58.31 meters to point 1. Place a cone or something to point 3.
Now, simply put the camera so that the middle-line in camera’s picture points to point 3. You have a perfect 90 degree angle between flight-line and camera, this means the distance between camera’s centre-lines are exactly 100 meter’s apart. Sound harder than it is actually.
Using Sleipnir
Using is still on the To-Do list for me, I need to get the hardware and start fiddling with it. I can show you something Linus have posted.
Motion tracking in real-time:
Test of automatic announcement of measurement start, stop and speed:
Linus have worked on the GUI also, he apparently just added a list of measured results so user can manually verify those if needs to be. This is starting to look absolutely fantastic!
Here’s an video of Sleipnir in action, pretty convincing stuff:
Where to get it?
Linus has the source frequently updated on his github: https://github.com/Lussarn/sleipnir-velocity-system so go and grab yourself something to tinker on!
What’s next?
I don’t know. What I’ve learned so far is that Linus is very enthusiastic on this project and updates are coming all the time. I wonder if his Gaui R5 or Funjet has anything to do with it… :)
Keep it up Linus, I love this project!
Linus’s videos and GUI-screenshot published with kind permission from Linus Larsson.
Nice article, but I should comment that GPS technology does allow very accurate speed measurements. Using GPS you can calculate 3d velocity vector – you can easily project it to ground plane to find true ground velocity. Also speed measurement is done based on doppler effects. GPS tracks multiple satellites and measures time of flight and doppler shifts for signals coming from each satellite – combining this information it can calculate speed and position for every measurement point. Thus speed measurement is not just difference of position of two samples, but instead measured over large amount of received signal samples from satellites.
In addtion it has benefit of recording flight path to verify that no diving was done while speed measurement. OTOH Real downside is necessary of having GPS receiver onboard while flying. Ground based solution might be easier when there are multiple fliers.
Problem with GPS-measurement on the solutions that are available for a reasonable cost is that pretty much everything demands after-flight processing of the data. But you are right on the tech-specs.
Also the factor that ground-based setup allows usage for "anything in the air" is a major advantage, more fun to more people :)
Has any work been completed on a Windoz version? What is current state of this project?
You should be in contact with Linus on that, I'm just a user :) To best of my knowledge there is no Windows-version being developed at the moment.
I have not worked on this for a while. The Linux version should work though but requires some knowledge to get going, the same would be true for windows too. You still need Linux knowledge for the Raspberrys. I'm hoping to get working a bit on this again sometime soon. I'm not promising a Windows version though.