The landscape of software deployment in robotics

We’ve been looking at the different ways companies deploy software to robots for a while and put together an article on the most common techniques we’ve seen.

They usually fall into a few buckets:

  1. Manually updating (with ssh, git, rsync, etc.)
  2. Software Configuration Management (SCM) tools (e.g. Ansible, Salt Project, etc.)
  3. A/B updates (RAUC, Mender, SWUpdate)
  4. Containers - Can be used in combination with techniques (Docker, Kubernetes, Balena, etc.)
  5. AWS Greengrass.
  6. Various other options.

We go through each one at a high-level discussing their pros and cons as applied to robotics based on the learnings we’ve found from the community. Hope it’s helpful to some folks.


The link to the article does not work - I see a 404 error in my browser. Is a copy available?