Remote-first Robotics Development

Remote-first Robotics Development: Faster iteration, more reliable systems, and broader talent

Robotics software development usually happens on-site, due to the nature of working at the intersection of hardware and software. When we talk with robotics companies, they are often more inclined to hire people on-site instead of remote developers.

We work most of the time with robots remotely, and it can be highly important and beneficial to do so. It enforces the practices of remote working early on and prevents development and debugging from being tied to only local environments. When robots are deployed around the country or the world, there is no longer room for on-site debugging alone.

We have noticed that working with robots remotely is highly beneficial for the following reasons:

1. Adaptation of efficient simulation tools

Having a simulated version of a robot makes it easy to develop and test the system remotely, accelerating the full development cycle. The simulation doesn’t even need to have perfectly accurate physics, as long as the behaviors and software stack correspond with the ones on the real robot.

With simulation, it is also possible to run high-level system testing to avoid bugs and regressions and to keep the software stable and reliable.

2. Remote development and testing

At the very early stages of robotics start-ups, it can be tempting to attach a monitor to a robot and code directly on it to quickly move things forward. However, as the team grows, this approach becomes extremely slow and doesn’t scale.

It is important to establish proper development pipelines that ensure easy and versioned development, as well as tools for testing the robot remotely.

As the project grows further and new features and bug fixes are added at a fast pace, it becomes mandatory to test existing functionality on the real robot. In the best scenario, this whole process of running system tests on a real robot is automated in order to avoid manual testing.

3. Remote diagnosis and data collection

How many times have you seen a problem on a robot when piloting or testing, but have been unable to reproduce it later? Or does the bug only occur in a certain situation at a specific client’s site? We don’t know of any robotics company that hasn’t struggled with this issue.

It is not feasible to visit the client’s site every time something unexpected happens, so having tools for remote debugging is absolutely necessary.

This is where diagnostics and data collection come into play. The ability to monitor the robots’ health in real time and to replay real scenarios from recorded data is crucial for debugging and diagnosing issues that cannot be easily reproduced.

4. Remote deployment

Have you ever deployed your code to a robot with a USB stick? It works well when you have a single robot and when you are in the same room as the robot. But anything beyond this doesn’t scale.

Establishing good pipelines early on for deploying software remotely over the air will not only ease the development process but also prepare you for managing fleets of robots that need regular updates.

5. Top-tier talent

Preparing the robotics development flow for remote work opens up the entire world for attracting top-level talent. Instead of hiring from a local pool and possibly requiring a long training process, it becomes possible to work with experts who are internationally recognized as top performers in their domain. A-class products require an A-class team!

And as an additional benefit, working globally helps you get to know new cultures!

SUMMARY

There are certainly cases where local development is necessary (hardware!). But in most cases, there simply isn’t a difference, and remote work can bring huge benefits over the long term! 

Building remote-first practices now will make your robotics development more scalable, resilient, and ready for real-world deployments.

Leave a Comment

Your email address will not be published. Required fields are marked *