> ## Documentation Index
> Fetch the complete documentation index at: https://dragonwingdocs-staging.qualcomm.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Robotics layers specifications

Provides the detailed information for the robotics layers used in QIR SDK.

The QIR SDK includes both Qualcomm Linux layers and robotics layers. This information lists the details of all robotics layers.

* QIR robotics layers
  * [meta-ros](#meta-ros)
  * [meta-qcom-robotics-sdk](#meta-qcom-robotics-sdk)

## `meta-ros`

The `meta-ros` layer publishes its information to the [meta-ros GitHub repository](https://github.com/ros/meta-ros).

## `meta-qcom-robotics-sdk`

* **BitBake classes** The following table lists the BitBake classes defined in the meta data layer `meta-qcom-robotics-sdk`:
  | BitBake class | Description |
  | :- | :- |
  | `psdk-image.bbclass` | Packages the QIRP SDK for robotics images by collecting the toolchain, setup scripts, sample content, runtime scripts, and runtime packages into a distributable archive. Used by image recipes such as `qcom-robotics-proprietary-image`. |
  | `robotics-package.bbclass` | Provides common packaging behavior for robotics SDK components, including install layout adjustment, package splitting, and QA/shlibs handling for ROS-style deliverables. By default, relocates installed files under `/opt/qcom/qirp-sdk`. |
  | `rdepends-collector.bbclass` | Collects direct RDEPENDS from a packagegroup recipe and writes them to `PACKAGEGROUP_LIST_DIR` as a package list file. The generated `*.list` files are consumed by `psdk-image.bbclass` when assembling the final QIRP SDK archive. |
  | `rootfs-symlink.bbclass` | Creates symbolic links inside the image root filesystem during post-processing. Reads link definitions from `ROOTFS_SYMLINK_PAIRS` and applies them using `ln -snf` semantics. |

* **Distro configuration**
  | File | Description |
  | :- | :- |
  | `conf/layer.conf` | Configures the project layer with the following information:<ul><li>Recipe file paths (`recipes/**/*.bb`, `recipes-**`)</li><li>Collection name: `meta-qcom-robotics-sdk`</li><li>Layer priority: 13</li><li>Supported Yocto version: `wrynose`</li><li>ROS base prefix and unresolved dependency overrides</li></ul> |
  | `conf/distro/qcom-robotics-ros2-jazzy.conf` | Primary ROS 2 Jazzy distro configuration. Requires `qcom-robotics-sdk.inc` and `qcom-distro.conf`. Sets `DISTRO_NAME` to "QCOM Robotics Reference Distro with ROS" and appends `ros2-jazzy` to `DISTRO_FEATURES`. |
  | `conf/distro/include/qcom-robotics-sdk.inc` | Shared include file with common settings for all distro configurations. |

* **Recipes**
  | Recipe | Description |
  | :- | :- |
  | **Cartographer / SLAM** | <ul><li>`cartographer_2.1.0.bb`</li><li>`cartographer-ros_2.1.0.bb`</li><li>`cartographer-ros-msgs_2.1.0.bb`</li><li>`qrb-ros-slam-msgs_2.1.0.bb`</li></ul> |
  | **Data Transport** | <ul><li>`dmabuf-transport_1.1.0.bb`</li><li>`lib-mem-dmabuf_1.1.0.bb`</li><li>`qrb-ros-transport-image-type_1.3.0.bb`</li><li>`qrb-ros-transport-imu-type_1.3.0.bb`</li><li>`qrb-ros-transport-point-cloud2-type_1.3.0.bb`</li></ul> |
  | **Libraries** | <ul><li>`libqrc_1.1.0.bb`</li><li>`libqrc-udriver_1.1.1.bb`</li></ul> |
  | **OCR Service** | <ul><li>`ocr-msg_1.0.0.bb`</li><li>`ocr-service_1.0.0.bb`</li><li>`python3-pytesseract_0.3.10.bb`</li><li>`python3-pytesseract_0.3.13.bb`</li></ul> |
  | **Orbbec Camera** | <ul><li>`orbbec-camera_1.5.10-1.bb`</li><li>`orbbec-camera-msgs_1.2.2-1.bb`</li><li>`orbbec-description_0.0.0-1.bb`</li></ul> |
  | **QRB ROS AMR Service** | <ul><li>`qrb-amr-manager_1.0.4.bb`</li><li>`qrb-ros-amr_1.0.4.bb`</li></ul> |
  | **QRB ROS Audio Service** | <ul><li>`qrb-audio-common-lib_1.0.3.bb`</li><li>`qrb-audio-service-lib_1.0.3.bb`</li><li>`qrb-ros-audio-common_1.0.3.bb`</li><li>`qrb-ros-audio-common-msgs_0.2.0.bb`</li><li>`qrb-ros-audio-service_1.0.3.bb`</li><li>`qrb-ros-audio-service-msgs_0.2.0.bb`</li></ul> |
  | **QRB ROS Benchmark** | <ul><li>`qrb-ros-benchmark_1.0.bb`</li><li>`ros2-benchmark_1.0.bb`</li><li>`ros2-benchmark-interfaces_1.0.bb`</li></ul> |
  | **QRB ROS Camera** | <ul><li>`qrb-camera_2.0.2.bb`</li><li>`qrb-ros-camera_2.0.2.bb`</li></ul> |
  | **QRB ROS Color Space Convert** | <ul><li>`qrb-colorspace-convert-lib_1.0.0.bb`</li><li>`qrb-ros-colorspace-convert_1.0.0.bb`</li></ul> |
  | **QRB ROS Docker** | <ul><li>`qrb-ros-docker_0.0.0.1.bb`</li></ul> |
  | **QRB ROS Follow Path Service** | <ul><li>`qrb-follow-path-manager_1.0.4.bb`</li><li>`qrb-ros-amr-msgs_0.2.0.bb`</li><li>`qrb-ros-follow-path_1.0.4.bb`</li><li>`qrb-ros-navigation-msgs_0.2.0.bb`</li></ul> |
  | **QRB ROS IMU** | <ul><li>`qrb-sensor-client_1.3.0.bb`</li></ul> |
  | **QRB ROS NN Inference** | <ul><li>`qrb-inference-manager_0.0.0.1.bb`</li><li>`qrb-ros-nn-inference_0.0.0.1.bb`</li><li>`qrb-ros-tensor-list-msgs_0.0.0.1.bb`</li></ul> |
  | **QRB ROS Robot Base** | <ul><li>`qrb-robot-base-manager.bb`</li><li>`qrb-ros-robot-base.bb`</li><li>`qrb-ros-robot-base-keyboard.bb`</li><li>`qrb-ros-robot-base-msgs.bb`</li><li>`qrb-ros-robot-base-urdf.bb`</li></ul> |
  | **QRB ROS System Monitor** | <ul><li>`qrb-ros-system-monitor_1.1.1.bb`</li><li>`qrb-ros-system-monitor-interfaces_1.1.1.bb`</li></ul> |
  | **QRB ROS Tensor Process** | <ul><li>`qrb-ros-cv-tensor-common-process_1.1.0.bb`</li><li>`qrb-ros-vision-msgs_0.2.0.bb`</li><li>`qrb-ros-yolo-process_1.1.0.bb`</li><li>`qrb-yolo-process-lib_1.1.0.bb`</li></ul> |
  | **QRB ROS Video** | <ul><li>`qrb-ros-video_0.1.7.bb`</li><li>`qrb-video-v4l2-lib_0.1.7.bb`</li></ul> |
  | **RPLidar** | <ul><li>`rplidar-ros2_2.1.2-1.bb`</li></ul> |
  | **Samples** | <ul><li>`sample-apriltag_1.0.0.bb`</li><li>`sample-depth-estimation_1.0.1.bb`</li><li>`sample-face-detection_0.0.1.bb`</li><li>`sample-hand-detection_1.0.0.bb`</li><li>`sample-hrnet-pose-estimation_1.0.0.bb`</li><li>`sample-object-detection_1.0.0.bb`</li><li>`sample-object-segmentation_1.0.0.bb`</li><li>`sample-remote-assistant_0.0.1.bb`</li><li>`sample-resnet101_1.0.1.bb`</li><li>`simulation-sample-amr-simple-motion_1.0.0.bb`</li><li>`simulation-sample-pick-and-place_1.0.1.bb`</li></ul> |
  | **Images** | <ul><li>`qcom-robotics-image.bb`</li><li>`qcom-robotics-proprietary-image.bb`</li></ul> |
  | **Package Groups** | <ul><li>`packagegroup-qcom-ros2.bb`</li><li>`packagegroup-robotics-opensource.bb`</li><li>`packagegroup-robotics-proprietary.bb`</li><li>`packagegroup-oss-with-prop-deps.bb`</li></ul> |
  | **SDK** | <ul><li>`qirp-sdk.bb`</li></ul> |

* **Recipe appends** (`recipes-bbappends`)
  | Category | Files |
  | :- | :- |
  | **Dev Tools** | `graphicsmagick_1.3.45.bbappend` |
  | **Kernel** | `linux-qcom_6.18.bbappend`, `linux-qcom-next_git.bbappend`, `lttng-modules_2.14.4.bbappend` |
  | **Samples** | `simulation-sample-pick-and-place_1.0.1.bbappend` |
  | **ROS Perception & Communication** | `apriltag_3.4.5-1.bbappend`, `apriltag-ros_3.3.0-1.bbappend`, `bondcpp_4.1.2-1.bbappend`, `domain-bridge_0.5.0-5.bbappend`, `foxglove-bridge_%.bbappend`, `geometric-shapes_2.3.2-1.bbappend`, `lapack_%.bbappend` |
  | **MoveIt Motion Planning** | `chomp-motion-planner_%.bbappend`, `moveit-core_2.12.4-1.bbappend`, `moveit-kinematics_2.12.4-1.bbappend`, `moveit-planners-chomp_%.bbappend`, `moveit-planners-ompl_%.bbappend`, `moveit-ros-move-group_%.bbappend`, `moveit-ros-occupancy-map-monitor_%.bbappend`, `moveit-ros-perception_2.12.4-1.bbappend`, `moveit-ros-planning_%.bbappend`, `moveit-ros-planning-interface_%.bbappend`, `moveit-ros-warehouse_%.bbappend`, `moveit-simple-controller-manager_%.bbappend`, `pilz-industrial-motion-planner_%.bbappend` |
  | **Navigation2** | `controller-interface_%.bbappend`, `control-toolbox_%.bbappend`, `costmap-queue_%.bbappend`, `diff-drive-controller_%.bbappend`, `dwb-core_%.bbappend`, `dwb-critics_%.bbappend`, `dwb-msgs_%.bbappend`, `dwb-plugins_%.bbappend`, `gz-cmake-vendor_%.bbappend`, `hardware-interface_%.bbappend`, `joint-limits_%.bbappend`, `joint-state-broadcaster_%.bbappend`, `nav2-amcl_%.bbappend`, `nav2-behaviors_%.bbappend`, `nav2-behavior-tree_%.bbappend`, `nav2-bringup_%.bbappend`, `nav2-bt-navigator_%.bbappend`, `nav2-collision-monitor_%.bbappend`, `nav2-constrained-smoother_%.bbappend`, `nav2-controller_%.bbappend`, `nav2-costmap-2d_%.bbappend`, `nav-2d-msgs_%.bbappend`, `nav-2d-utils_%.bbappend`, `nav2-graceful-controller_%.bbappend`, `nav2-lifecycle-manager_%.bbappend`, `nav2-map-server_%.bbappend`, `nav2-msgs_%.bbappend`, `nav2-navfn-planner_%.bbappend`, `nav2-planner_%.bbappend`, `nav2-regulated-pure-pursuit-controller_%.bbappend`, `nav2-rotation-shim-controller_%.bbappend`, `nav2-route_%.bbappend`, `nav2-smoother_%.bbappend`, `nav2-theta-star-planner_%.bbappend`, `nav2-util_%.bbappend`, `nav2-velocity-smoother_%.bbappend`, `nav2-voxel-grid_%.bbappend`, `nav2-waypoint-follower_%.bbappend`, `navigation2_%.bbappend`, `opennav-docking_%.bbappend`, `opennav-docking-bt_%.bbappend`, `pal-statistics_%.bbappend`, `python3-vcstool_%.bbappend`, `ros2-control-cmake_%.bbappend` |
  | **Additional Libraries** | `nanoflann_%.bbappend`, `ompl_%.bbappend`, `osqp-vendor_0.2.0-4.bbappend`, `warehouse-ros_%.bbappend` |
  | **Containers** | `lxc_git.bbappend` |
  | **Support Libraries** | `ceres-solver_%.bbappend`, `hdf5_2.0.0.bbappend` |
