ARC2-D2
Inspired by the one-and-only R2-D2, I started my co-op term in the Advanced Research department at Christie Digital Systems by pitching a robot capable of spontaneous and interactive projection-mapping. In collaboration with my fellow co-op students and department lead, we spent 8 months working on the prototype that became known as ARC2-D2. My main focuses on the project were software and content development, creating projected imagery that aligns with real-world objects using real-time laser scanning hardware. The video below is an early demo of scaling projected content based on the distance and angle from the wall ahead as the robot changes position.
Skills/Focus:
Unity
C#
JavaScript
Node.js and WebSocket
Adobe Photoshop
Frame-by-frame animation
Microsoft Azure Kinect DK
Depth sensor, RGB camera, IMU
Logo and Character Design
Derived from the Christie Digital logo, ARC2-D2 and our mascot, “R,” was born! Above are the initial sketches for the project logo and the character that all our content was based around! The goal was to have “R” move through the world with the robot, interacting with any objects that might be in his path.
Squinching and Animation
Squinching is a concept that was brought to my attention by the Amazing Adventures of Spider-Man ride at Universal Studios. It involves tracking a viewer’s position in relation to a screen and shifting each pixel of the projected image so that it appears “correct” based on what they would see in reality. This project involved a moving screen and a stationary viewer, so this idea was applied in reverse. Using the Unity game engine and an Xbox Kinect, content was transformed based on the angle and distance of the sensor from the target surface.
“R” was brought to life in two different programs. First, I created frame-by-frame animations in Photoshop of the character walking, waving, jumping, etc. From there, these animations were uploaded into Unity where the process became similar to creating a video game. Different animations were triggered by different “buttons” which were linked to sensor feedback (for example, if the sensor finds a box, “R” will then jump on top of it).
Acknowledgements
I would like to thank the ARC Team at Christie Digital Systems (especially my fellow co-ops and my manager, Chad Faragher) for believing in me and this project idea. I am so proud to have been a member of this team, if only for a short time.