Robot Software Engineering and Simulation
Engineering robot software that teams can trust: layered architectures and ros2_control, requirements, interfaces and ADRs, coding standards, static analysis and review, the test pyramid with replay and property-based tests, physics engines, time steps and real-time factor, URDF, Xacro and SDF models with measured sensor noise, CI with containers and staged rollout, system identification, domain randomization and hardware-in-the-loop, fleet logging and diagnostics, SROS2 and SBOM security with CCCS guidance and Bill C-8, open-source licensing and the Export Control List, and a capstone delivery robot pipeline.
ROB-360 Year 3 3 credits 12 lessons · 5 h 46 min
Offered by HSM University · Robotics
This is the Canadian version of this course. See the American version.
What you'll learn
- Design layered, component-based robot software architectures, choosing interaction styles, process composition and hardware abstraction with ros2_control
- Write verifiable requirements bounded by an operational design domain, plan trial counts for statistical requirements, and maintain interface control documents, ADRs and traceability
- Apply coding standards, formatters, linters, static analysis, sanitizers and code review to catch robot software defects early
- Build a robot test suite shaped like the test pyramid, using unit, property-based, mock-based, launch_testing and replay tests, and manage coverage and flaky tests
- Explain how physics engines integrate dynamics and handle contacts, choose time steps, use simulated time and the real-time factor, and compare simulators
- Build robot models and worlds with URDF, Xacro and SDF, with realistic inertia, simple collision geometry, measured sensor noise and scenarios derived from use cases
- Set up continuous integration and delivery for ROS 2 with pinned containers, caching, semantic versioning, signed images and staged rollout with rollback
- Narrow and measure the reality gap using system identification, domain randomization, hardware-in-the-loop testing and statistical comparison of matched experiments
- Design logging, rosbag2 recording, diagnostics, telemetry, alerting, over-the-air updates and reliability metrics for a robot fleet
- Threat-model connected robots with STRIDE and apply SROS2, secure boot, SBOMs, network segmentation and least privilege, within Canadian or US regulatory context
- Comply with open-source licences, contribute effectively to open-source communities and recognize when export controls apply
- Design and justify a complete software, test, simulation, delivery and operations pipeline for a robot product against measurable requirements
Course content
12 lessons · 5 h 46 min total · final exam
- 1 Robot software architecture 31 min · quiz
- 2 Requirements, design and documentation for robot software 29 min · quiz
- 3 Software quality: coding standards, static analysis and code review 31 min · quiz
- 4 Testing robot software 27 min · quiz
- 5 Simulation fundamentals: physics engines, time steps and real-time factor 29 min · quiz
- 6 Building simulation worlds and robot models 29 min · quiz
- 7 Continuous integration, containers and deployment 27 min · quiz
- 8 Hardware-in-the-loop testing and sim-to-real transfer 29 min · quiz
- 9 Logging, monitoring and fleet operations 29 min · quiz
- 10 Security for connected robots 25 min · quiz
- 11 Open-source licensing, community and export controls 29 min · quiz
- 12 Capstone: the software and simulation pipeline for a delivery robot 31 min · quiz
- E Final exam 20 questions
Requirements
Recommended background. You can start any course at any time.
Description
Engineering robot software that teams can trust: layered architectures and ros2_control, requirements, interfaces and ADRs, coding standards, static analysis and review, the test pyramid with replay and property-based tests, physics engines, time steps and real-time factor, URDF, Xacro and SDF models with measured sensor noise, CI with containers and staged rollout, system identification, domain randomization and hardware-in-the-loop, fleet logging and diagnostics, SROS2 and SBOM security with CCCS guidance and Bill C-8, open-source licensing and the Export Control List, and a capstone delivery robot pipeline.
Part of the Science stream, typically taken in year 3.