All posts by Mike

Garmin FIT Timestamp Converter

While the following may not be useful to most people, in the event that you need to convert FIT file timestamps produced by a Garmin product, this is a time-saver. For whatever reason, Garmin created their own epoch, which began at midnight on Sunday, Dec 31st, 1989 (the year of Garmin’s founding). And as far as I know, all Garmin products log data using this date as a reference. The conversion is simple, just add 631065600 seconds to a Garmin numeric timestamp, then you have the number of seconds since the 1970 Unix epoch, which is far more common (this is the reference used, for example, with the System.currentTimeMillis() call in Java). Hence, the following calculator:

  

Introducing: The Garmin Impact

Hard to believe it’s been more than five years since my last post… well, time flies.  A great many things have happened in that time, but I’ve logged back in to announce just one: the launch of the Garmin Impact bat swing sensor.  The Impact is a training device for baseball and softball players that provides measurements and feedback on their swings and makes recommendations for improvement.  It does this via an on-device display, as well as through an accompanying mobile app.

The Impact has been my primary focus for almost two years now, and I have taken part in everything from its PCB design and algorithm testing, all the way through to app development and sales training.  It’s been a great excuse to visit the batting cages during working hours.  I’ve also learned more than I ever wanted about iOS and Android development.  Don’t even get me started on Swift…

But enough about me, let’s talk about the sensor.  The Garmin Impact is powered by an accelerometer and a rate gyro, which together sense the orientation and position of the player’s bat throughout their swing.  This allows us to compute five metrics: bat speed, hand speed, time to impact, elevation angle, and attack angle.  We can also display the full swing path in 3D via the mobile app, with color-coding to indicate areas of high (red) and low (green) bat speed, with impact indicated by a purple line.
Phone with Impact SensorNow while other bat sensors exist today, the Impact is the only one to provide an on-device display, which allows for operation without a phone/tablet nearby.  Just take a swing, then turn over your bat to view your five metrics, as well as a coaching tip (optionally shown every three swings).  This instant feedback allows you to quickly make adjustments to improve your swing or to train for different scenarios.
Phone with Impact on Bat
The Impact mobile app allows you to explore your swings in full 3D detail, and provides images and extended descriptions to the shortened coaching tips displayed on the device.  It also allows users to create and customize multiple bats and batters (as the device itself has only two buttons, entering batter names would be a headache).  The app also enables your phone’s camera to capture swings, with triggering provided by the sensor itself.  All you have to do is select “RECORD” and then point your phone at the batter – the sensor and app do the rest via their BLE link.
Phone with Video Screenshot SmThe sensor is ready to ship today via Garmin’s website (Amazon coming soon).  The mobile app may be downloaded for free via both Google Play and iTunes.  Any questions, please let me know!  Oh, and the Impact sensor marks the first product on Garmin’s Baseball and Softball page, so stay tuned for more new and exciting tech on the way!

FIRST Tech Challenge: Iowa Championship Competition

First off, my congratulations to the students of FIRST Tech Challenge team 5445, the Trohawks, for making it all the way to the Iowa State Championship yesterday!  Buster (the robot) performed wonderfully.  He managed bowling balls, racquetballs, and crates, all while navigating the FTC arena war zone.

Although we didn’t quite make it to the national competition, we certainly had a lot of fun competing.  Although I don’t have any video this time (lighting was atrocious), take a look through these exciting action shots from our five matches (mouse over for captions):

The FTC Game Arena (Notice the spot lighting? This just didn't agree with my cell phone video camera.)

Tipping Crates (They had to be uprighted, of course, before we could put racquetballs into them.)

Raising a Crate (We were only able to manage this once in five matches, but when we did, it was an easy win.)

Tangled up with our alliance partner (Somehow they fell off the ramp in autonomous mode, causing us to miss the bowling ball.  We did, however, barely make it into the parking zone for some points.)

Clever Quadcopters Play Nicely Together

On the off chance you haven’t seen it yet, the UPenn GRASP Lab has just released yet another impressive video of their performance quadcopters.  This time they’ve got a new “nano” version that’s smaller, lighter, and capable of flying in formation.  It’s like synchronized swimming, but with more buzz:

Now as usual, the internet comments on this latest quadrotor development have largely consisted of “WOW!” and “Good heavens, they’ll kill us all!”  But as for me, once I’d retracted my dropped jaw, I started trying to figure out how it all worked.  Unfortunately, I haven’t found any real documentation on this project beyond the videos posted by PhD candidate Daniel Mellinger.  I just might have to send him an email…

But never fear, I have at least discovered how they’re tracking the quadcopters.  Did you notice those camera-like devices mounted along the walls?  And those funky red ring-lights surrounding their lenses?  Well those are VICON motion capture cameras:

VICON T-Series Cameras

These devices by themselves are quite impressive.  Much like traditional video cameras, each of these units contains a sensor with a certain number of megapixels.  However, VICON sensors are designed for fast frame rates (up to 2000fps), high resolution (up to 16MP, more than seven times the resolution of 1080p HD Video), and sensitivity to the red/infrared light emitted by their ring light strobes.  Why red light?  Well, these aren’t your typical video cameras.  Their purpose isn’t to capture a full-color image, it’s to capture points of light coming from passive reflectors.  In fact, what each camera sees looks like a star map of sorts.  Once multiple cameras are setup and calibrated, sophisticated software can measure and track the position of each reflector in real time.

So in the video above, it appears that each quadcopter has at least two reflectors attached to its top surface.  The perimeter cameras can then measure the position and orientation of each unit and relay that information to some kind of controlling computer.  What I still don’t know is how the software distinguishes between each quadrotor.  Perhaps VICON has reflectors which can be distinguised by the precise wavelength of light at which they reflect?  Or maybe the computer is just smart enough to know that the same set of points represents a certain unit from one frame to the next?

I’m also wondering how each quadcopter is controlled.  Some type of ZigBee wireless link perhaps?  And does the main computer handle everything?  I suspect there must be a certain amount of control embedded in each unit.  Perhaps they’ve all got accelerometers and MEMS gyros keeping them straight and level.  Still a lot of unanswered questions.  But in the meantime, enjoy this video on a radically different use of the VICON technology: