Invisible Highway is an experiment in controlling physical things in the real world by drawing in AR. Simply make a pathway along the floor on your phone and the robot car will follow that path on the actual floor in your room. A custom highway with scenery is generated along the path to make the robots a little more scenic on your phone screen.
Remember how fun remote control cars were to play with as a child? Well, what if you could control where the car goes by drawing invisible highways in your living room? What if you could watch as an imaginative and fun scene is dynamically generated around your car as it drives through the roads you’re creating.
This playful experiment examines just how AR can be used to intuitively control physical objects.
Originally prototyped by Anna Fusté and Judith Amores from the MIT Media Lab, the two researchers who worked with Google Creative Lab over the summer to experiment with AR and developing new and meaningful interaction models with our environment. Google then brought on global design and experience studio Jam3, to design and build out the concept, and add dynamic functionality that would seamlessly meld the physical and digital worlds.
Google Blocks was used for initial modelling. The car was built using an off the shelf model from Adafruit with DIY additions. The app is built in Unity and communicates with the robot via Bluetooth.
You can read about this and other AR Experiments here.
To create the robot you will need the following:
PlatformIO should automatically install the dependencies. if you get build errors due to missing libraries:
pio install #
where # is the number from lib_depsUsing the Adafruit Bluefruit LE Connect app, connect to the robot and issue a few commands to make sure everything is working as expected.
To install the app on an ARCore-compatible device do the following:
InvisibleHighway.unity
sceneblue LED
on the Robot turn on to indicate that the bluetooth connection with the app is established.next
button.done
button to start the experience!The first time you run the app you will be asked for the required permissions (camera and bluetooth). After you accept you might see an error that ARCore failed to connect. Just restart the app to resolve this issue.
We believe this will be resolved in future versions of ARCore as hinted in the documentation.
We acknowledge and are grateful to these developers for their contributions to open source software. You can find the source code, project links, and license information below.