ARUW Relay is a robot communication debug platform built for our robot fleet from the ground up. It supports two-way communication and data visualization in near real-time, giving us accurate and pixel-perfect rendering. Relay is extremely important in testing out our robot vision models, checking whether each layer of visualization is detected properly.
Developer & Designer
Spring 2024
The original "Debug server" system was built into our robots, rewriting individual image pixels to visualize data. This resulted in a feed FPS of 20fps when our cameras captured at 60fps. On top of this, the image editing process used up computation that could go towards other vision processes.
"Debug Server" made it difficult for team members to create their own visualizations without significantly changing the shape rendering process. They would need to know how the rendering system worked, which was a black box itself.
"Debug server" relied on connecting to a robot over SSH, and accessing the robot's localhost. This isn't ideal for non-technical members who need to access robot visualization data, and might not have the background. This also made it hard to update the server over time without editing the robot codebase.
We wanted Relay to scale with the complexity of your goals. Our modular Sidebar accomplishes this, with a variety of widgets, giving users full control of what they see and do in Relay. And with a click, they can hide the whole thing, enlarging the Camera feed.
We wanted to give users full control of what they see in Relay. By separating the rendering layer from the camera feed, we added Isolation Mode. Isolation Mode lets users show and hide groups or individual render layers to help de-clutter and focus. Our internal API lets team developers add new render layers at will, all with no hit to Relay's streaming latency.
We built Relay for the cloud to give back computation to the vision model codebase, update code independently and safely, and for easy access to all members. To use Relay, you can connect directly to a robot or be on the same network. Then, just access Relay from your browser and press connect. For wireless connections, specify the robot's IP.