Background: IAM Robotics is a team of world-class engineers focused on delivering innovation and operational value that is transforming the material handling industry. Originally, we had cumbersome testing processes that required us to manually verify our code on the robotic hardware, which was slow and prone to errors. These manual processes included running existing unit tests, generating release packages, testing internal networks, and numerous regression tests. We needed to be able to streamline the processes to reduce errors and efficiently validate and test our code, both virtually and on robotic hardware. And we needed to reduce test time from hours to minutes.
Goals: Improving testing efficiency and reducing errors.
"Jenkins helped us simplify and speed up the deployment process for our autonomous mobile manipulation robots."
*
Solution & Results: By adopting Jenkins, we implemented an automated pipeline for building and validating our codebase. This allowed us to have release packages available for robots at the click of a button. It also eliminated the need for a developer to manually create release packages, which was a time consuming and error-prone process.
Instead of using a large server configuration, what makes our Jenkins instance unique is that we deploy this process across multiple pieces of robotic hardware. Jenkins accesses the robotic hardware directly to allow the build process to be fully automated without impacting the general operation of robots, simplifying and speeding up the deployment process. Jenkins easily integrates with other development tools we use to evaluate our code, and it helps to identify bugs and potential issues before they impact deployment.
Further, it automatically provides feedback to developers so they can quickly debug and improve the robustness of the codebase. Cumulatively, these improvements have allowed us to develop aggressively with fewer errors.
The capabilities we relied on most include Jenkins pipelines, Jenkins webhooks, Bitbucket webhooks, Cloudbees stable plugin manager, and Jenkins Node and Agent networking.
Overall, we’re thrilled with the results, including:
a deployment process that is 8 times faster
development release cycles shortened by 80%
improved robot software quality
happier developers