Speed Measurement

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:

speeeeed

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:

pythagoras-theorem

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.

Running Sleipnir

Easy, really easy. Let the software do it’s thing. Announces speed correctly every time and stores the flight-direction correctly every time, really robust and well-working solution. After the flights are done stop the cameras and click on the flight in log, adjust camera-frames if needed and read the speed. It really could not be any easier than this.

I wrote a small script asking for two speed-values for calculation of average for the Speed Cup I’m organizing in Finland this summer. It’s really easy and fast to choose fastest flight to both directions, adjust frames if needed, calculate the average and write it down. Real time results are always a good thing for participants.

Sleipnir

Pro’s and con’s on Sleipnir

Definite pro’s are the really simple and easy usability. Reliability is very high, if configured properly no issues that would risk running competitions etc. Also possibility to customize the look and feel is a plus, it really is not that hard.

However there is con’s also. One is that it is pretty demanding on hardware, does not run on old sluggish laptops. Also some might consider the need for linux to be a downside. Also it’s not plug’n’play but it’s questionable if that is an downside or a feature. I like tinkering so this does not bother me.

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.