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 NIST SP 800-82 and CISA guidance, open-source licensing and the EAR, 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 American version of this course. See the Canadian 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 licenses, 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. 1 Robot software architecture 31 min · quiz
  2. 2 Requirements, design and documentation for robot software 29 min · quiz
  3. 3 Software quality: coding standards, static analysis and code review 31 min · quiz
  4. 4 Testing robot software 27 min · quiz
  5. 5 Simulation fundamentals: physics engines, time steps and real-time factor 29 min · quiz
  6. 6 Building simulation worlds and robot models 29 min · quiz
  7. 7 Continuous integration, containers and deployment 27 min · quiz
  8. 8 Hardware-in-the-loop testing and sim-to-real transfer 29 min · quiz
  9. 9 Logging, monitoring and fleet operations 29 min · quiz
  10. 10 Security for connected robots 25 min · quiz
  11. 11 Open-source licensing, community and export controls 29 min · quiz
  12. 12 Capstone: the software and simulation pipeline for a delivery robot 31 min · quiz
  13. 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 NIST SP 800-82 and CISA guidance, open-source licensing and the EAR, and a capstone delivery robot pipeline.

Part of the Science stream, typically taken in year 3.