I’ve been lucky to see and do some fun things as a Product Manager over the years, but this past weekend raised the bar pretty high. As part of capturing some video for the JavaOne Community Keynote, I got to spend the day with Perrone Robotics at the Insurance Institute of Highway Safety test track in gorgeous Ruckersville, VA.
The Perrone team has done many amazing things with Java over the years, but I think their work on this project takes the cake.
Normally the IIHS tests safety of vehicles during collisions – and in order to do that, you need to actually collide cars. Head on, side impact, you name it – they’ve crashed it.
With the emergence of collision avoidance systems over the past few years, they need a standard way to test the systems. And since they’re testing avoidance, not the safety during collisions themselves, the goal was to design a repeatable test framework that doesn’t ruin the vehicles if they fail.
There’s two main parts to the test framework. First, automating the test vehicles to ensure they are all being driven in a standard and repeatable manner. Second, automating the the targets that must be “avoided” by the cars.
The goal is that the robotic driver of the cars be adaptable to any car claiming to have a collision avoidance system, so it’s designed to be a drop-in kit. Here you can see the steering chassis:
The backseat hosts the nav system – which tracks where the car is based on a Locata system so it can also work indoors and in inclement weather.
And again, this will ultimately be a drop-in kit that fits into any car. Unfortunately on my day at the track it wasn’t a Cadillac Escalade, but a Subaru Legacy:
Next up is the target robot platform (literally, and figuratively it’s a platform). The idea of the platform is to be able to host a variety of foam moving targets that should be avoided — and yet if they’re not, the worst case is some broken foam. The car will simply roll over the platform.
Pictures are deceiving – this platform weighs over 600lbs when fully assembled, only 4″ high and can move at over 50mph. All that and a car can run over it at high speeds without damaging either. It’s still a prototype version, so a bit messy with the wiring, but this picture should give a better sense of how it all fits:
Once assembled and the foam target is in place, they are able to fine-motor position and orient it to the test starting point using a joystick assembly that they had just wired in that morning.
At the end of the day, I was able to take a spin in the Java-driven Subaru. They didn’t quite trust me with the “kill switch”, but the view from the pax seat was better anyways as I could get a good view of the steering and location systems at work.
So that was the exciting parts of my day. Programming car-driving robots is pretty damn exciting work. But it’s also very grueling. A lot of the day looked like this:
Ultimately – lots of programming a hacking going on.
I’m looking forward to JavaOne and the Community Keynote, where we’ll talk more about this project with Paul, and show some video of this all in action!