sensors#
Gazebo Sensors : Sensor models for simulation
Maintainer: ichen AT openrobotics DOT org
Gazebo Sensors, a component of Gazebo, provides numerous sensor models designed to generate realistic data from simulation environments. Gazebo Sensors is used in conjunction with Gazebo Libraries, and especially relies on the rendering capabilities from Gazebo Rendering and physics simulation from Gazebo Physics.
Table of Contents
Features
Gazebo Sensors provides a set of sensors models that can be configured at run time to mimic specific real-world sensors. A noise model is also provided that can be used to introduce Gaussian or custom noise models into sensor streams.
Install
See the installation tutorial.
Usage
Please refer to the examples directory.
Folder Structure
Refer to the following table for information about important directories and files in this repository.
├── examples Example programs.
├── include/gz/sensors Header files that will be installed.
├── src Source files and unit tests.
├── test
│ ├── integration Integration tests.
│ ├── performance Performance tests.
│ └── regression Regression tests.
├── tutorials Tutorials, written in markdown.
├── Changelog.md Changelog.
├── CMakeLists.txt CMake build script.
└── README.md This readme.
Contributing
Please see the contribution guide.
Code of Conduct
Please see CODE_OF_CONDUCT.md.
Versioning
This library uses Semantic Versioning. Additionally, this library is part of the Gazebo project which periodically releases a versioned set of compatible and complimentary libraries. See the Gazebo website for version and release information.
License
This library is licensed under Apache 2.0. See also the LICENSE file.
Gazebo Sensors 9
Gazebo Sensors 9.0.0 (2024-09-25)
Baseline: this includes all changes from 8.2.0 and earlier.
Miscellaneous documentation fixes
Add boundingbox_camera tutorial to the tutorials list
Update badges to point to gz-sensors9
Update changelog
Fix SphericalCoordinate deprecation warning in DVL sensor
Fix frame_id in rgbd_camera
Enable Ubuntu Noble github actions, require cmake 3.22.1
Fixed unused variable warning in DVL
ForceTorqueSensor: add API for newest measurement
Skip apply noise / distortion if parameters are 0s
Publish lidar scan only if there are lidar scan connections
Use //sensor/frame_id sdf element
Fix boundingbox_camera integration test
Suppress unused variable warning
Remove HIDE_SYMBOLS_BY_DEFAULT: replace by a default configuration in gz-cmake.
Avoid calling DblNormal with invalid standard deviation
Fix unresolved external symbols on Windows
Bumps in Ionic: gz-sensors9
Set lens intrinsics in Depth and Rgbd camera sensors
Gazebo Sensors 8
Gazebo Sensors 8.2.0 (2024-06-14)
Add API to check if sensor is in trigger mode
Set rendering sensor pose
Gazebo Sensors 8.1.0 (2024-05-16)
Set camera projection matrix based on lens params for other types of cameras
Move trigger logic to base Sensor class and enable trigger for all camera sensors
Add package.xml
Gazebo Sensors 8.0.1 (2024-03-15)
Avoid calling DblNormal with invalid standard deviation
DepthCamera and RGBDCamera - optimize RGB point cloud connection
Update CI badges to point to release branch job
Infrastructure
Clean up rendering resources
Destroy rendering sensors when sensor is removed
Support protobuf >= 22
Gazebo Sensors 8.0.0 (2023-09-29)
Documentation fixes
populate the covariance fields using the noise models
Tests need to include message types they are using
Update air sensor with air_speed.proto
Bumps in harmonic : sdformat14, rendering8, transport13
ign -> gz
Remove deprecations
Infrastructure
Support protobuf >= 22
Minor cleanup - lint, typos
Fix frame_id for depth camera point cloud
Fix dvl integration test
Add support for bayer images to camera sensor
Fix flaky trigger camera test
Generate default trigger topic name if empty
Add DopplerVelocityLog sensor
⬆️ Bump main to 8.0.0~pre1
Gazebo Sensors 7
Gazebo Sensors 7.3.0 (2023-09-26)
Infrastructure
Expose optical frame in CameraSensor so it can be set in DepthCameraSensor
Fix CameraSensor to check if element is null before access
Support protobuf >= 22
Minor cleanup - lint, typos
Fix frame_id for depth camera point cloud
Add support for bayer images to camera sensor
Fix flaky trigger camera test
Generate default trigger topic name if empty
Gazebo Sensors 7.2.0 (2023-04-13)
Cleanup resources in CameraSensor destructor
CI workflow: use checkout v3
Rename COPYING to LICENSE
Fix links in Changelog
Fix flaky triggered bounding box camera test
Fix Camera info test
Added trigger to BoundingBoxCamera
clean up rendering resources
Added Camera Info topic support for cameras
ign -> gz Migrate Ignition Headers : gz-sensors
Gazebo Sensors 7.1.0 (2023-02-09)
Added airspeed sensor
Add HasInfoConnections() method to expose infoPub.HasConnections() to child of CameraSensor class
CameraInfo is now published when there’s a CameraSensor subscriber
Disable ogre tests on windows
Add and Revert DopplerVelocityLog sensor
Set custom projection matrix based on intrinsics params from SDF
Renamed
ignition_frame_id
togz_frame_id
and fix warningFix navsat frame id
Fix compile time warning
Update Camera Intrinsics in camera_info topic
RgbdCameraSensor.cc: fix include
Camera: configure projection matrix from SDFormat
Improved noise coverage
Improved coverage Lidar
Add support for 16 bit image format
Add optional optical frame id to camera sensors
Add missing DEPENDS_ON_COMPONENTS parameters
Remove redundant namespace references
Gazebo Sensors 7.0.0 (2022-09-27)
Clear scene before exiting wide_angle_camera_test
Fixed INTEGRATION triggered_camera test
Update README.md
Tutorial and documentation updates
Fix msgs.hh uses
Fix forward-port: use gz_add_component
Add missing msgs include statements
ign -> gz
Make sensors’ HasConnections function virtual
Disable thermal camera test on MacOS
Update GoogleTest to latest version
[garden] Use anti-aliasing value from <anti_aliasing> SDF element
Use pose multiplication instead of subtraction
Add support for single channel 16 bit grayscale image format
Remove deprecated common/PluginMacros.hh include
Bumps in garden : ign-sensors7
Remove Bionic from future releases (Garden+)
Add API to set next sensor update time
Change to use SuppressWarning from ign-utils
Let derived sensors call Sensor::Update
Add wide angle camera sensor
Gazebo Sensors 6
Gazebo Sensors 6.8.0 (2024-01-12)
Allow specifying gz_frame_id as an alternative to ignition_frame_id
[backport fortress] camera info topic published with the right data
Infrastructure
Gazebo Sensors 6.7.1 (2023-09-01)
Support protobuf >= 22
Infrastructure
Rename COPYING to LICENSE
Fix links in Changelog
Fix Camera info test
clean up rendering resources
Added Camera Info topic support for cameras
Gazebo Sensors 6.7.0 (2023-02-13)
Disable thermal camera test on MacOS.
Add optional optical frame id to camera sensors.
Add support for 16 bit image format.
Fix navsat frame id.
CameraInfo is now published when there’s a CameraSensor subscriber.
Add HasInfoConnections() method to expose infoPub.HasConnections() to child of CameraSensor class.
Forward port 3.5.0.
Gazebo Sensors 6.6.0 (2022-06-17)
Add BoundingBox Sensor
Gazebo Sensors 6.5.0 (2022-05-24)
Add HasConnections function
Gazebo Sensors 6.4.0 (2022-05-13)
Set lidar visibility mask
Fix triggered camera test
Add support for l8 format
Fix
<ignition_frame_id>
not working for GpuLidarSensor
Gazebo Sensors 6.3.0 (2022-04-04)
IMU custom_rpy parent_frame should be set to ‘world’
Triggered Camera
Check if noise or distortion render pass is null
Gazebo Sensors 6.2.0 (2022-03-29)
Distortion Camera Sensor
Add Ubuntu Jammy CI
Add function for enabling / disabling a sensor
IMU sensor API to get world ref frame and heading offset
Use pose multiplication instead of addition
Enable cpplint check in github actions CI
Conform to ros format for header field frame_id of sensor msgs
Fix compiler warnings (CMP0072 and copy elision)
Gazebo Sensors 6.1.0 (2022-01-04)
Add NavSat (GPS) sensor
Added Logic to flag pointcloud as not dense if invalid point is detected
IMU
custom_rpy
tag parsing added
Gazebo Sensors 6.0.1 (2021-11-12)
Disable GPU lidar tests on macOS
Added macOS install instructions.
Destroy rendering sensors when sensor is removed.
Gazebo Sensors 6.0.0 (2021-09-30)
Trivial tutorial typo correction in Custom Sensors tutorial
Bumps in fortress: ign-sensors6
Port codecov to new configuration
Remove deprecations: tock
Make Sensors aware of CameraPassCountPerGpuFlush & Scene::PostFrame
Remove plugin interface and support custom sensors
Run ogre 1.x tests on macos
Segmentation sensor
Joint Force-Torque Sensor
Gazebo Sensors 5
Gazebo Sensors 5.X.X
Gazebo Sensors 5.1.0 (2021-10-15)
Depend on ign-msgs 7.2 and libSDFormat 11.3
👩🌾 Print debug messages when sensors advertise topics
Infrastructure
Publish performance sensor metrics.
Add API for enabling / disabling IMU orientation
Init will now set the nextUpdateTime to zero
Remove clamping from lidar noise
👩🌾 Disable tests that consistently fail on macOS
Gazebo Sensors 5.0.0 (2021-03-30)
Bump in edifice: ign-common4
Bump in edifice: sdformat11
Bump in edifice: ign-msgs7
Bump in edifice: ign-rendering5
Documentation updates
Gazebo Sensors 4
Gazebo Sensors 4.X.X
Gazebo Sensors 4.2.0 (2021-07-12)
Add API for enabling / disabling IMU orientation
Init will now set the nextUpdateTime to zero
Remove clamping from lidar noise
Remove tools/code_check and update codecov
Disable macOS workflow
👩🌾 Disable tests that consistently fail on macOS
Master branch updates
👩🌾 Clear Windows warnings (backport #58)
Update thermal camera tutorial - include varying temp. objects
Fix macOS/windows tests that failed to load library
Removed issue & PR templates
Gazebo Sensors 4.1.0 (2021-02-10)
Added issue and PR templates.
Added
set_rate
service to all sensors.Added support for 8 bit thermal camera image format.
All features up to version 3.2.0.
Gazebo Sensors 4.0.0 (2020-09-30)
Fix link in README.md
Move installation instructions from README.md to Installation tutorial
Bump ign-math to 6.6
Replaced common::Time with std::chrono
Depend on ign-msgs6, ign-transport9, sdf10
GitHub migration
Set camera sensor visibility mask
Depend on ign-rendering4
Gazebo Sensors 3
Gazebo Sensors 3.6.0 (2024-01-05)
Update github action workflows
Clean up rendering resources
Destroy rendering sensors when sensor is removed
Support protobuf >= 22
Fix links in Changelog
Fix Camera info test
Added Camera Info topic support for cameras
Gazebo Sensors 3.5.0 (2022-11-30)
Add missing DEPENDS_ON_COMPONENTS parameters.
Improved coverage Lidar.
Improved noise coverage.
Camera: configure projection matrix from SDFormat.
RgbdCameraSensor.cc: fix include.
Ignition to Gazebo header migration.
Gazebo Sensors 3.4.0 (2022-08-16)
Remove redundant namespace references
Ignition -> Gazebo
Conform to ros format for header field
frame_id
of sensor msgsFix compiler warnings (
CMP0072
and copy elision)Require ign-transport >= 8.2
Gazebo Sensors 3.3.0 (2021-08-26)
👩🌾 Print debug messages when sensors advertise topics
Publish performance sensor metrics.
CI and infrastructure
👩🌾 Disable tests that consistently fail on macOS
👩🌾 Clear Windows warnings (backport #58)
Fix macOS/windows tests that failed to load library (backport #60)
Gazebo Sensors 3.2.0 (2021-02-08)
Apply noise to lidar point cloud.
Add Windows Installation.
Added thermal camera tutorial.
Prevent segfaults on test failures, make tests verbose.
Resolve updated codecheck issues.
Improve fork experience.
Gazebo Sensors 3.1.0 (2020-09-03)
Update camera sensor only when needed
Add noise to RGBD camera.
Fix version numbers in config.hh
Make sure all sensors have a default topic. When invalid topics are passed in, convert them to valid topics if possible. If not possible to convert into valid topic, fail gracefully.
GitHub migration
Gazebo Sensors 3.0.0 (2019-12-10)
Add support for sdformat frame semantics
Remove deprecations in ign-sensors3
Break out image noise classes
Depend on ign-transport8, ign-msgs5, sdformat9
Add Thermal Camera Sensor
Updating exports and includes
Removed deprecations from Manager.
Depend on ign-rendering3
Gazebo Sensors 2
Gazebo Sensors 2.9.1 (2020-12-23)
Fix version numbers in config.hh
Resolve codecheck issues
Gazebo Sensors 2.9.0 (2020-08-07)
Add noise to RGBD camera.
Make sure all sensors have a default topic.When invalid topics are passed in, convert them to valid topics if possible. If not possible to convert into valid topic, fail gracefully.
Gazebo Sensors 2.8.0 (2020-03-04)
Added sequence numbers to sensor data messages.
Gazebo Sensors 2.7.0 (2019-12-16)
Add clipping for depth camera on rgbd camera sensor (requires sdformat 8.7.0)
Gazebo Sensors 2.6.1 (2019-09-13)
Fix IMU noise model dt
Gazebo Sensors 2.6.0 (2019-08-27)
Update depth and rgbd camera sensor to output point cloud data generated by ign-rendering DepthCamera
Gazebo Sensors 2.5.1 (2019-08-12)
Add intensity and ring fields to GpuLidarSensor point cloud msg
Gazebo Sensors 2.5.0
Add
IGN_PROFILER_ENABLE
cmake option for enabling the ign-common profiler.Deduplicate
frame_ids
from sensor message headersBaseline for stereo cameras
Gazebo Sensors 2.4.0 (2019-07-17)
Support manual scene updates for rendering sensors
Gazebo Sensors 2.3.0 (2019-07-16)
The GpuLidar and Rgbd sensors publish point cloud data using
msgs::PointCloudPacked
.
Gazebo Sensors 2.2.0 (2019-06-27)
Update the GPU Lidar to use the sensor’s name as the
frame_id
.Fix camera_info topic to be on the same level as image and depth_image for RGBD Camera.
Gazebo Sensors 2.1.0 (2019-06-18)
Adds an RGBD camera sensor that combines a CameraSensor and DepthCameraSensor, and also outputs a pointcloud.
Create and publish on
camera_info
topics for the Camera and DepthCamera sensors.
Gazebo Sensors 2.0.0 (2019-05-21)
Zero update rate, virtual SetParent and fix gpu_lidar
Add
frame_id
to sensor messagesRestore
pixel_format
in message and add deprecation comment.Added noise to camera and lidar sensors.
Add support for loading a Lidar sensor from an SDF Sensor DOM object.
Add support for loading an IMU sensor from an SDF Sensor DOM object.
Add support for loading a camera and depth camera sensor from an SDF Sensor DOM object.
Add support for loading an air pressure sensor from an SDF Sensor DOM object.
Add support for loading an altimeter sensor from an SDF Sensor DOM object.
Noise factory uses
sdf::Noise
objects, Magnetometer sensor utilizes noise parameters.Add support for loading a magnetometer sensor from an SDF Sensor DOM object.
Add magnetometer
Add IMU
Add altimeter
Create component for rendering sensor classes
Upgrade to gz-rendering2
Upgrade to gz-msgs4 and gz-transport7
Gazebo Sensors 1.X.X (2019-XX-XX)
Fix windows linking
Gazebo Sensors 1.0.0 (2019-03-01)