How We Deliver a Robot
summary
Describes a delivery pipeline that builds Java projects with GitLab CI (Maven, Gradle + Nebula), packages artifacts as Debian packages with preinst/postinst hooks to flash motor firmware, and deploys them to a control box running Ubuntu inside each robot. An update center bundles releases and supports robot pull or USB install for offline robots; the new pipeline replaces manual flashing, generally works in production, but lacks telemetry and package signing and once caused a burned motor during a bad update.
AI-written summary · about
chapters (33)
- 0:00Introduction
- 1:23Collaborative robot
- 2:26Robot software structure
- 5:25Updating offline robots
- 7:11Manual update drawbacks
- 9:20Software update process
- 10:03Building code and deb packages
- 12:13Control Box
- 14:20Installing via deb packages
- 16:49Dependency and version management
- 18:42Launching services via systemd
- 19:26Package delivery to robot
- 20:07Update Center role
- 21:14Building and delivering updates
- 23:25User manual updates
- 24:07Summary
- 25:33Q&A
- 26:39Q&A: Motor firmware
- 27:44Q&A: Update testing
- 28:47Q&A: Update Center security
- 29:54Q&A: Update Center complexity
- 30:38Q&A: Dependency conflicts
- 31:48Q&A: OS updates
- 32:35Q&A: Package signing
- 33:19Q&A: Forced updates
- 34:44Q&A: Robot monitoring
- 35:25Q&A: Update frequency
- 36:11Q&A: Remote control
- 37:17Q&A: Robot programming
- 38:01Q&A: Programming interfaces
- 39:12Q&A: Ubuntu choice
- 40:17Q&A: Funny bugs
- 41:20Q&A: Virtualization and images
related talks
53mOur CI/CD in Robot Testing at the Edge of Software and Hardware
38mAutomating and Managing an IoT Fleet Using Git
37mAutomated Testing and Continuous Integration/Delivery: Lessons Learned
08mLeverage GitLab To Automate Machine Learning Pipelines
46mFrom Dev to Prod with GitLab CI
43mDevOps for Mere Mortals
25mJourney to Automated Releases
47mOur CI/CD in Robot Testing, on the Edge of Software and Hardware
