RTL-201 · Real-Time Systems

Motion Control Systems

Applying real-time Linux to closed-loop control, with the architecture patterns that work in production.

Advanced 2 days in person4 half-days online Max 14 in person

Who this course is for

Controls and software engineers putting real-time Linux in the path of a closed-loop system — who need architecture patterns that hold up in production, not a demo.

Prerequisites

Control systems fundamentals: sampling, loop period, stabilityC programming and the Linux process/thread modelRTL-101 or equivalent PREEMPT_RT knowledge

Course outline

Day 1 — The control loop on Linux

  • Timing requirements and jitter budgets: how much jitter a loop actually tolerates
  • Periodic activation with clock_nanosleep and absolute deadlines
  • Structuring the RT application: SCHED_FIFO threads, memory locking, no allocation in the loop
  • Keeping non-RT work off the critical path: logging, networking, UI
  • Measuring loop jitter from inside the application

Day 2 — Fieldbus integration and safety architecture

  • EtherCAT and fieldbus integration on RT Linux: master placement and cycle alignment
  • Distributed clocks and synchronising the control loop to the bus cycle
  • Safety architecture: separating safety-rated and non-safety functions
  • Watchdogs, deadline monitoring and detecting a missed cycle in production
  • Case study: dissecting where a real system lost its determinism

Hands-on labs

Labs follow the academy model — 35% principles, 20% guided investigation, 45% engineering studio. Every claim you make in a lab is backed by a trace, a counter or a measurement you captured yourself. How we teach

  1. Lab: Implement a periodic control loop with clock_nanosleep and absolute deadlines; instrument its own jitter
  2. Lab: Break the loop deliberately — a page fault, an allocation, a mutex inversion — and identify each failure from the jitter trace
  3. Lab: Drive a simulated fieldbus cycle and align the control loop phase to the bus
  4. Lab: Add a deadline monitor and watchdog to the loop; prove it catches injected overruns and degrades safely

Capstone project

Build a two-axis simulated motion controller on PREEMPT_RT: a hard-deadline servo loop with in-loop jitter instrumentation, a fieldbus-cycle-aligned execution phase, a non-RT path for telemetry and commands, and a supervisor that detects missed deadlines and forces a defined safe state — delivered with jitter distributions under load and a written safety-separation argument for the architecture.

What you leave with

  • A production-shaped RT application skeleton: periodic loop, memory discipline, supervisor
  • Jitter instrumentation built into the application, not bolted on after
  • Fieldbus cycle alignment and distributed-clock basics
  • A safety-separation pattern for mixing RT and non-RT work on one Linux system

How it runs

Every course follows the same model: 35% principles, 20% guided investigation, 45% engineering studio. You leave with working code, raw measurements and an evidence-based report — not a certificate of attendance. Read the methodology or see a full sample lesson.

Material is adapted to your kernel version, hardware and workload before a private delivery. For public cohorts, the environment is provided and configured.

Questions

Who is this course for?

Controls and software engineers putting real-time Linux in the path of a closed-loop system — who need architecture patterns that hold up in production, not a demo. It sits at advanced level within the Real-Time Systems track.

What do I need to know already?

Specific prerequisites for this course: Control systems fundamentals: sampling, loop period, stability; C programming and the Linux process/thread model; RTL-101 or equivalent PREEMPT_RT knowledge. We confirm levels before the cohort starts and adapt if a group is stronger or weaker than expected.

Can this run privately for my team?

Yes. Any course runs on-site at your offices anywhere, or live online for a distributed team, with labs adapted to your hardware and codebase.

What is the difference between in-person and online?

In person is 2 full days with hardware on your desk, capped at 14. Online is 4 half-day sessions across about two weeks so you can keep working, capped at 20, with remote lab access.

Do you invoice companies?

Yes. Purchase orders are accepted and invoicing is available in USD, EUR, GBP, SAR and CAD.

Upcoming dates

DatesWhereSeatsEarly birdRegular
11 Oct – 12 Oct 20262 full days RiyadhIn person · KAFD Conference Centre 5 of 14 —SAR 6,000
11 Oct – 12 Oct 20262 full days Kuwait CityIn person · Al Hamra Tower 10 of 14 —KWD 500
18 Oct – 19 Oct 20262 full days MuscatIn person · Knowledge Oasis Muscat 5 of 14 —OMR 620
25 Oct – 28 Oct 20264 half-days Gulf bandLive online · 09:00–13:00 GMT+3 3 of 20 —US$1,150
26 Oct – 27 Oct 20262 full days OttawaIn person · Kanata North Tech Park 10 of 14 —CAD 2,180
26 Oct – 27 Oct 20262 full days TorontoIn person · MaRS Discovery District 5 of 14 —CAD 2,180
26 Oct – 29 Oct 20264 half-days Europe bandLive online · 09:00–13:00 CET 8 of 20 —US$1,150
2 Nov – 3 Nov 20262 full days LondonIn person · Shoreditch Works 10 of 14 —GBP 1,250
2 Nov – 5 Nov 20264 half-days Americas bandLive online · 13:00–17:00 ET 13 of 20 —US$1,150
9 Nov – 10 Nov 20262 full days BerlinIn person · Factory Görlitzer Park 5 of 14 EUR 1,320until 10 OctEUR 1,470

Dates shown for the next few months. If nothing fits, tell us where and when — cohorts are added on demand, and private delivery can be scheduled any week.

More in Real-Time Systems