A Month Off: Migrating a Robot Controller from the Proprietary INtime RTOS to Linux
summary
Six weeks of focused work attempt to replace the proprietary INtime RTOS by reimplementing the INtime API in user space and running the controller on a preempt_rt Debian flex core platform. The team builds libgrintime plus a green time daemon, implements object directories (64k IDs), thread suspend/resume via signals, jemalloc-based tracked allocations for shared memory, and a physical-memory mapping workaround. The real‑time controller boots and interprocess comms work; the GUI remains unported, and the team votes to continue.
AI-written summary · about
chapters (23)
- 0:00Intro
- 0:16About me
- 1:40What is this talk about?
- 3:14TenAsys INtime RTOS history
- 6:09What is inside a robot controller?
- 6:59Realtime requirements
- 8:53The codebase
- 12:24Keba flexcore
- 14:14Benefits
- 16:06Don't use force, Luke
- 19:23Concept
- 22:32INtime object directories
- 23:45Object directory API
- 24:20Linux system object implementation
- 25:04Object structure
- 25:29Linux object directory
- 26:16Process API
- 26:28main()
- 28:36Thread priorities
- 29:19Shared memory
- 31:13Physical memory
- 34:49Consequences
- 36:23Question?
related talks
27mCustomize Real-Time Linux for Rocket Flight Control System
54m3D Printing with Linux and Xenomai
34mPREEMPT_RT isn't Just for Lasers: The Perfect Match
39mReal-Time Rust in Robotics
46mBuilding Mixed Criticality Linux Systems with the Jailhouse Hypervisor
37mDebugging & Tracing and More Between Linux and RTOS on Heterogeneous ARM SoC
49mSteering Xenomai into the Real-Time Linux Future
51mPanel Discussion: Industrial Linux Beyond 2022
