Last summer, I got fixated on an idea. The Blue Alliance allows users to submit links to their CAD files, meaning we aggregate lots of 3D models of robots. What’s stopping us from showing these 3D models in augmented reality from our iOS app? So, I took a week off of my usual TBA development and started playing around with this idea.
Success! A robot model in AR. It was weirdly nostalgic to see a robot from 6 years ago and remember all of its little details. I’d forgotten about the 33/148 tribute panel on the front, and the pneumatic cylinders that would slide around the ground on the intake.
The demo above is using a pretty low-quality model, exported via some sketchy 3D modeling converting software. I wondered – what would a higher-quality robot look like? It turns out – REALLY awesome, although slightly laggy.
So – what did I learn from this experiment? Robot models are the exact opposite of what makes good 3D models. Models with a lot of geometry (like robot CAD – they need to have a lot of detail, since we build robots based on those specs) end up creating really big files. A good 3D model would have less geometry, and make up for the lack of geometry by having higher detail in the texture you apply to the model (which robots almost never have – because we don’t pretty up robots in CAD). You can see this difference between the first and second video – the first model has much less detail/geometry than the second model. I’m convinced it’s possible to do a conversion from a high-geometry model to a low-geometry model with a detailed texture based on the high-geometry model, but that’s not an easy task. So, although this won’t be coming to TBA for iOS as a full blown feature anytime soon, it did make for a really cool project!
You can checkout the code (and 3D model) for this experiment on GitHub. The Blue Alliance is an open-source project built by volunteers. Come help us build The Blue Alliance for iOS any of our other open source projects on GitHub!