Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/qualcomm-qrb-ros/qrb_ros_simulation/llms.txt

Use this file to discover all available pages before exploring further.

Each sensor in QRB ROS Simulation is configured through a dedicated YAML file. The launch system loads these files at startup and applies their values to the corresponding Gazebo sensor plugin. You can override the default config file for any sensor by passing the path to your custom file as a launch argument, for example:
ros2 launch qrb_ros_sim_gazebo gazebo_robot_base.launch.py \
  laser_config_file:=/path/to/custom_laser.yaml
The default config files are located in the installed package at qrb_ros_sim_gazebo/config/params/. The sections below show the full contents of each file and explain the key parameters.

Sensor config files

Two LiDAR config files are provided — one for the AMR and one for the AMR Mini. Both sensors share the same topic name, range, and noise settings, but differ in their horizontal scan coverage.
# laser parameters for qrb robot base
sensor_name: "qrb_robot_base_lidar"
update_rate: 15
horizontal:
  samples: 1150
  resolution: 1
  min_angle: -2.005
  max_angle: 2.005
vertical:
  samples: 1
  resolution: 1
  min_angle: 0
  max_angle: 0
range:
  min: 0.15
  max: 25.0
  resolution: 0.01
noise:
  type: "gaussian"
  mean: 0.0
  stddev: 0.01
always_on: 1
visualize: "true"
topic: "scan"
The AMR LiDAR covers a horizontal arc of approximately ±115° (–2.005 to +2.005 radians) with 1150 samples per scan.
Key parameters:
ParameterDescription
sensor_nameInternal Gazebo sensor name
update_rateScan frequency in Hz
horizontal.samplesNumber of rays per horizontal scan
horizontal.min_angle / max_angleHorizontal scan arc in radians
range.min / range.maxMinimum and maximum detection distance in meters
range.resolutionDistance measurement resolution in meters
noise.stddevStandard deviation of Gaussian range noise in meters
topicROS topic name; bridged to /scan
Both models use a single-layer (2D) LiDAR: vertical.samples is fixed at 1 with both angle values set to 0. For 3D LiDAR simulation you would need a custom sensor definition.

Using a custom config file

To use your own sensor parameters, create a YAML file following the same structure as the defaults shown above, then pass its path as the corresponding launch argument:
# Custom LiDAR config
ros2 launch qrb_ros_sim_gazebo gazebo_robot_base.launch.py \
  laser_config_file:=/path/to/custom_laser.yaml

# Custom IMU config
ros2 launch qrb_ros_sim_gazebo gazebo_robot_base.launch.py \
  imu_config_file:=/path/to/custom_imu.yaml

# Custom camera configs (Mobile Manipulator only)
ros2 launch qrb_ros_sim_gazebo gazebo_mobile_manipulator.launch.py \
  rgb_camera_config_file:=/path/to/custom_rgb.yaml \
  depth_camera_config_file:=/path/to/custom_depth.yaml
You can also specify custom sensor config paths inside a YAML launch config file:
laser_config_file: "/path/to/custom_laser.yaml"
imu_config_file: "/path/to/custom_imu.yaml"
Custom sensor config files must include all required fields for their sensor type. Omitting a required field will cause the sensor plugin to fail at startup. Use the default files shown above as complete templates.

Build docs developers (and LLMs) love