Mobile robots have to operate in a wide range of environments. For example, Spot collects data in high-radiation disaster sites, identifies air leaks in manufacturing sites, and wades through winter snow in Boston. These applications have necessitated advancements in hardware and software to maneuver mobile robots in such complex environments.

In addition to handling challenging physical conditions, Spot also needs to reliably receive and send data to operators, in order to execute the latest commands and return valuable data.  Orbit is Boston Dynamics web-based software that connects operators to their Spot fleet so they can collect and review data about their facility from anywhere. Connecting to these operators in such varying environments presents its own set of unique challenges, and lead us to create Auto-Connect, our new system for connecting robots to operators. Read on to hear about how we solved these challenges in mobile robot networking.

Are Robots Servers?

Traditional Robot Networking Topology using the Robot as a Server
Figure 1: Traditional Robot Networking Topology using the Robot as a Server

When a mobile robot such as Spot needs to send data to an operator, who may be hundreds of miles away in an office (or beach resort), how can it do so? One approach is to think of the robot as an internet “server”, like the website you’re reading this on, and have the software used by the operator connect to the robot using a fixed IP address, like the digital equivalent of a postal address.

Simple enough, right? This approach is familiar to engineers and well supported by existing technologies. In fact, it’s how most of our customers currently connect to Spot (and will continue to be a viable option). But there are a few important ways that robots are unlike internet servers, and those differences can lead to unreliable connections to your robot when you need it most.

Common Issues with Robot as a Server network topology
Figure 2: Common Issues with Robot as a Server network topology

One obvious difference is that robots move around! A typical day in the life of Spot may start with Spot sitting on its dock, charging its batteries and connecting to the internet with a fixed cable (like a desktop computer). When the time comes, Spot stands up from the dock, walks up the stairs, and performs a scheduled inspection of a gauge, now connected to the Wifi in the building. Later, Spot leaves the building to inspect outdoor equipment, losing the Wifi access and connecting to a nearby cell tower with 5G.

With each of these transitions, Spot loses its connection to any operators and needs to re-connect. This approach works, but each transition takes time and changes the IP address, potentially causing downstream challenges. Spot could choose to always use the “lowest common denominator” network, such as the 5G signal, but then it would be missing out on the opportunity to use the more reliable, faster, and in some cases, more cost effective wired connection when Spot is on the dock.

To make things even more complicated, each of these networks may have its own security filters, or “firewalls”, that prevent some or all of Spot’s data from getting through to the operator. For many Spot customers cybersecurity is a high priority, or even subject to specific regulations. In the most extreme cases, internet traffic is allowed only to a specific list of websites, and only using the latest encryption standards. Our field deployment and support teams work with customer IT departments to configure firewalls to allow Spot’s data through, but this can be time consuming and complex given the many types of data Spot uses that could each be filtered from the firewall (video from cameras, API commands, etc).

A final notable difference between traditional internet servers and a mobile robot such as Spot is regarding those unique IP addresses we discussed earlier. In addition to having a different address for each network (Dock, Wifi, 5G), Spot’s address on a single network may not be unique or stable over time.

Most devices on the internet today receive an IP address automatically by the router it’s connected to, and that address can change every few days. In many cases, devices are behind a “NAT” (Network Address Translation) where multiple devices connected to the same router will all share one “public” IP address. When the router receives a connection for this address, such as an operator connecting to Spot from a remote location, the router does not know which specific device to send it to. Of course, these issues can be addressed in the  configuration of a customer network, but it takes time and introduces another point of failure in the already complicated situation of connecting mobile robots to human operators and external services.

Let’s Get (Auto) Connected

Auto-Connect network topology handles complex environments
Figure 3: Auto-Connect network topology handles complex environments

After deploying over 1000 Spot robots for customers around the world, Boston Dynamics identified these complex issues in robot connectivity as a major barrier to customer success and adoption. We developed Auto-Connect to address the unique complexity of mobile robot connectivity, all while reducing the time needed to set up Spot in your unique environment.

Auto-Connect works by creating a point-to-point secure network overlay between the robot and external applications that are connected to it, such as Orbit. A point-to-point overlay creates a virtual network on top of the existing internet connection(s) Spot has. This has a benefit as an added security layer, ensuring that robots only connect to trusted endpoints, and all communications are encrypted using industry leading protocols, so that the connection remains secure even if the underlying network is compromised.

Importantly for mobile robots, the Auto-Connect overlay means that applications such as Orbit can always reach Spot at a unique virtual address, even as the underlying network and address changes. For example, Spot’s IP address on a Wifi network can change suddenly from 192.168.1.37 to 192.168.1.38, but the virtual overlay address that Orbit connects to will always be 100.0.0.37. Customers no longer need to configure their network to give Spot a stable address. In fact, they don’t need to know Spot’s IP address at all. Even if Spot needs to connect to a device from behind a router which shares one address for many devices, the overlay can be established and will maintain this unique virtual address.

Connecting Spot to a point-to-point overlay also simplifies the requirements on firewall configuration. To network firewalls, the Auto-Connect traffic will all look like a single encrypted connection to one website (Orbit), while internally this connection contains many streams for all of the data transferred between Spot and Orbit.  Spot can now connect with just one simple firewall rule (which is allowed by default in many cases).

Figure 4: Enabling and Customizing Auto-Connect on Spot

Enabling and Customizing Auto-Connect on Spot

In addition to Auto-Connect providing a useful abstraction around network addresses, it can seamlessly switch between different networks without interrupting the connection to a data collection service or an operator. This is accomplished by monitoring the robot state and the available networks, and seamlessly moving the traffic to the best available network. From the perspective of the Orbit software or the operator, the virtual network layer remains unchanged. Data continues to stream and commands or mission schedules continue to be executed. But in the background, Spot notices when it is on the  dock and can use the more reliable wired connection, or detects the Wifi network is becoming weak and switches to the 5G cell service to stay connected. This mechanism is robust to momentary network failures, allowing for typical environments where data is occasionally dropped. Users may configure their preferences as a ranked list of what network to use when multiple.

Indication of Dynamic Network Interface Routing

Figure 5: Indication of Dynamic Network Interface Routing

As we’ve seen, Auto-Connect makes Spot an even more valuable and reliable asset in the complex environments it operates in globally. Auto-Connect allows Spot to reliably send data in situations where it has previously been impossible. No longer requiring complex firewall exceptions, static IP addresses, or a single always-available network connection, Auto-Connect lets robot operators and facility administrators focus on what matters most—operating the robot and viewing the data insights it produces!