Skip to content

Architecture

OSRacer is organized as a layered ROS 2 project. Each layer should remain easy to replace during secondary development.

Package layers

LayerPackageResponsibility
Descriptionosracer_descriptionRobot model, URDF/Xacro, visual model, TF assumptions
Bringuposracer_bringupHardware startup, chassis, sensors, serial devices, launch entry points
Debugosracer_debugRViz and runtime inspection tools
SLAMosracer_slamMapping pipelines and map saving workflows
Navigationosracer_navigationNav2, localization, planners, costmaps, map navigation

Data flow

Design principle

Keep package boundaries stable. Add new hardware through launch arguments, parameter files, frame names, and remapping before changing core package behavior.

Released under the MIT License.