CHANGELOG
Changelog for package ouster_ros
0.13.14 (2025-09-22)
Add ouster-sdk directly
Drop whole archive linkage (#489)
fix-rolling build (#483)
Correct pointcloud.is_dense flag (#473)
Port the pointcloud mask feature to ROS2 (#462) * Port the pointcloud mask feature to ROS2 * Base Image fixed * Update README and exclude iron from the build
[ROS2] Expose the vertical beam reduction param (#444) * Expose the vertical beam reduction value + rename arg + Better handling of deprecated topic names
ROS-317: Fix simulation in replay mode (#440) * Use node clock to properly populate the timestamp in replay modes * Update changelog and package number
Implement a padding-free version of pcl::PointXYZI (#439)
Add a new storage param to record.launch.xml (#437) * Add storage param to record
[ros2] Fix install directories (#433) * Cmakelists: Fix install directories * Bump package.xml patch version * Update changelog ——— Co-authored-by: Michael Wiznitzer <mwiznitzer@neyarobotics.com>
Port the changes to ROS2 (#430) * Port the changes to ROS2 * Update sensor.*.launch
SW-6906: publish sensor telemetry in ouster ros (#422) * Port changes from ROS1 to ROS2 * Mention TLM as an option in yaml configs
Enable auto start on replay node (#421)
ROS-389 [rolling/humble/iron/jazzy]: replay-improvments-and-fixes (#393) Remap metadata topic + Support loop capability in pcap replay + Add play_delay & play_rate for replay Added a launch file parameter pub_static_tf to disable sensor transforms broadcast ——— Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
ROS-350[HUMBLE/IRON/JAZZY]: ‘t’ timestamp field content is not plausible (#387) Align timestamps based on staggered/destaggered option
HOTFIX/ROS-382: os_driver fails when raw option is enabled (#384) * Fix os_driver fails when RAW option is enabled * Replace lifecycle_publisher with regular publisher for the os_pcap
HOTFIX/ROS-376-initialize-the-sensor-with-launch-config-params (#380) * Invoke parse_config_from_ros_parameters on node init * Fix a typo + Add a note regarding the recommendation
[HUMBLE|IRON|JAZZY] Port ROS-363 to ROS2 (#369) * Port ROS-363 to ROS2 * Turn off OSF * Update package version and CHANGELOG.rst + up the default max range to 10000.0 meters
ROS-368[HUMBLE|IRON|JAZZY]: Unable to use the replay mode due to unknown substitution arg (#370) * Fix replay unknown substitution arg * Fix the definition of _loop variable * Move remap verb to the node
ROS-119: ouster-ros driver automatic reconnection [HUMBLE/IRON/JAZZY] (#362) * Port sensor reconnection logic to ROS 2 * Add Jazzy to the build! * Update README and checkout * Add a note about not being able to properly handle invalid configuration * Implement automatic start for sensor/record modes
ROS-227: Set LIDAR FOV on startup and add an option to persist the config [HUMBLE/IRON] (#357) * Port azimuth window and persist config changes to ROS2
ROS2[HUMBLE/IRON] add pcap reader (#355) * Port the pcap replay to ros2-foxy * Add time update
Support FUSA dual returns udp profile [HUMBLE/IRON] (#335) * Add support for FUSA profile + set xyz to NaNs on zero range
Implement lock free ring buffer with throttling [HUMBLE/IRON] (#321) * Implement lock free ring buffer with throttling - (cherry picked from commit ade5822aba552f3839cf077daea44dc26869026b) * Update CHANGELOG and package version
docs: fix spelling mistakes (#296)
Use timeout when waiting for packets to be proceed in case they don’t come (#293)
ROS-196: laser scan from ros driver is not properly aligned with point cloud [humble] (#203) * Apply destagger to laser scan + Add laser to RVIZ * Align LaserScan with the PointCloud * Apply proper pixel shift * Resolve the issue of zeroed laserscan on dual mode * Address an issue where LaserScan appeared different on FW prior to 2.4 * Fix the issue for odd numbers * List selected sensors on the main page + Update RVIZ config to highlight the 2D LaserScan.
SW-5623: Bump up ouster_client to 20231031 release (#262) * Bump ouster-client to 2023103 release * fix: gracefully stop the driver when shutdown is requested.
SW-5466: Support Velodyne point type in the ROS driver amendments (#254) * Add support to control point_type through launch.xml files + * Add a note to CHANGELOG about the breaking change for ptp/utc time offset
SW-5466: Support Velodyne and other point types in ouster-ros driver (#216) * Quick protoype of Velodyne point type * Add PointXYZIR point type + other major pcl point types * Include point meta functions and point transform by the ouster_ros namesapce * Wrap point meta functions with a namespace and use shorter names for the functions + * Add a seed test module for the point_cloud_compose methods + Add description for the point_cloud_compose methods + refactor code and add compile time checks. * Propagate error state, warn about potential incompatible profile, propagate error state * Add minimal documentation about the new point_type parameter.
SW-5607: rename package ouster_msgs to avoid package name conflict in ros index (#244) * rename package ouster_msgs to avoid conflict name conflict in ros index * set ouster_sensor_msgs version number to match with ouster_ros package
Shutdown when can not connect to sensor on startup in ROS2 (Humble/Iron) (#211) * Shutdown when can not connect to sensor on startup * Apply same behavior to independent launch file * Update changelog and package version
SW-5459: add a parameter for utc/tai time offset (#195) * Implemented UTC/TAI offset for the PTP timestamp mode * Make sure all the timestamp values of LidarScan are utc corrected * Modify timestamp values before producing a PointCloud * Remove no longer needed comment from the Dockerfile * Destagger timestamp when generating destagger point clouds
SW-5396: publish point cloud in destaggered form (#182) * Quick implementtion of cloud destaggering * Perform destaggering of point clouds during the copy + add a viz-reliable file + wrap all classes in ouster_ros * Update changelog and version * Reformat changelog
SW-5345: merge-ouster-srvs into ouster-msgs (#176) * Merge ouster-srvs into ouster-msgs package + Update dockerfile + Other fixes and code improvements * Update launch file name within the dockerfile * Update CHANGELOG.txt * Update ouster_ros package version to highlight the breadking change due obseleting ouster_srvs * Use angle brackets for external headers * Remove unused library include * Remove unused launch params in sensor_mtp.launch * Fix the table of contents
SW-5167: follow ups from SW-5167-fix-black-columns-when-recording-under-ros-foxy (#163) * Initialize point_cloud_frame with an empty string + and expose point_cloud_frame through launch xml files + Remove unused/duplicate param definitions + Update descriptions * Correct the name of the node to be activated for merged node
ROS compatibility mode dual returns fix (#156) * Separately initialize vector elements * Update changelog and package version * Properly check for the write_text_to_file success
ROS2 compatibility mode (#146) * Factoring out Imu and Lidar packets handling * Added os_driver which combines os_sensor and os_cloud + Added required launch files + Better abstraction of classes + Simplified threading logic + Added thread safe implemention of ring buffer (not hooked yet) * Move down pragma once in the handlers * Adding unit tests for the ThreadSafeRingBuffer * Add one more case to the unit test of ThreadSafeRingBuffer * Quick hook up of the ThreadSafeRingBuffer for os_sensor and os_driver * Add an option to select the point_cloud frame * Keep transforms in Lidar Frame by default with option to switch * Formatting os_sensor and os_driver * Provide support for parsing the community driver params file with approprite launch file * Factor out tf transforms broadcast * Formatting imu and lidar packet handlers * Fix build issue * Incorporate LaserScan message composition * Refactor a bit and add the ability to process and publish point clouds and laser scans * Restor os_cloud_node ability to process point clouds * Parse proc_mask and hook to launch files and config * Add support for the selecting IMU + create topics/subs when their respective flags enabled * Reduce sync operations + restore sensor reset/reactivation * Add the ability to override current qos settings * Add minor note * More detailed explanation about the IMG node * Rename the file os_sensor_cloud_image_params to os_sensor_cloud_image_params.yaml and update corresponding launch files * Expose use_system_default_qos parameter to xml launch file and use proper defaults * Update minimal readme file and utilize os_driver by default + add proc_mask to xml file + Remove experminal marker from set_config and reset ros services * Update CHANGELOG.rst and package version * Apply && to accepted method of ThreadSafeRingBuffer + nits and code formatting * Add missing parameter declaration * Re-formatting CHANGELOG a bit * Added ImageProcessor to support IMG flag + Define new argument scan_ring * Expose scan_ring param and update relevant params description * Added notes to size(), empty(), full() * remove deprecated methods + naming nits * Update ChangeLog + Fix load_metadata_from_file * Try out building against Iron + revise sensor_mtp.launch * Correct the params file name + document params * Carry over fixes from foxy branch * Update README.md to mention compatibilty mode
SW-4997: Switch from using ROS timers to thread for polling lidar data (#140) * Switch from using ROS timers to thread for polling * Specify param defaults for non-required params
SW-4972: merge switching to static transform publisher contribution (#124) * use static tf broadcaster for ros2 (#112) * use separate params for tf frames * send static transforms once * Disable static transform publishers and update changelog and package version * Disable rviz static transform publisher * Remove rviz static transform publisher hack * Remove left out variables ——— Co-authored-by: Adam Aposhian <adam.l.aposhian@gmail.com>
SW-4859: enable having multiple components of same-type under same process (#108) * Remove the use of static vars within components * Resolve conflicts and update changelog and version * Fix a typo ‘instance’
Drop service_msgs dep (#117)
SW-4924: Replace tf_prefix by sensor_frame lidar_frame and imu_frame parameters (#115) * deprecate tf_prefix from os_cloud (#96) Co-authored-by: Guillaume Doisy <guillaume@dexory.com> * Squashed commit of the following: commit 6280bfa1178bdee4fe695cb4752efd5ff15279db Author: Ussama Naal <ussama.naal@ouster.io> Date: Fri Apr 28 07:54:34 2023 -0700 Merge branch ‘deprecate_tf_prefix’ commit 35f2fd2ba50eaf3e4b65909269eb9609bff7a010 Author: Guillaume Doisy <guillaume@dexory.com> Date: Mon Apr 3 18:12:44 2023 +0100 deprecate tf_prefix from os_cloud * Update ChangeLog and package version * Propagate the parameters to launch files * Add a TODO note ——— Co-authored-by: Guillaume Doisy <guillaume@dexory.com>
SW-4837: replace the use of ros service to retrieve sensor metadata with latched topics (#102) * Working port of latched metadata topic on ros2 * Update replay and record launch files to providing metadata file an optional parameter * Remove extra white space in replay record command * Undo changes to the metadata-qos-override * minor code syntax improvements * Add missing metadata topic when bag file isn’t specified * Use concise syntax and formatting * Reverse logic for easier read * Apply node transition if it exists
Explicity set cxx compile standard if the env isn’t (#99)
SW-4747: update the ros 2 driver(s) to the 20230403 sdk release (#94) * Update to the latest ouster sdk * Forward multicast funcitonality + Other improvements and fixes * Add service_msgs dependency to package.xml * Correct sensor_mtp.launch for ros2 launch file format * Move to most recent SDK update * Declare and fill defaults for mtp paramters + fix uninitialzed compute_to_scan * Launch file rename and README corrections
Remove the duplicate sensor_info object
Merge pull request #51 from ouster-lidar/SW-4342-prototype-ros-2-driver ROS2 driver MVP (beta release)
more sensor configuration change handling
Correct the logic around the detection of init_id change
Wire set_config service call into node lifecycle
Address typos and as to install rviz2 instead
Address potential vulnerability when saving metadata to file
Restructure reset operation on init_id change
Use initialization list when constructing std::atomic
When non legacy lidar profile is in use sniff lidar packes and perform self reset on init_id change event
Add a reset service to sensor node and cycle the node upon invocation
Uodate readme title and cleanup parameters yaml
Add specific ros2 installation and usage instructions + other refactor and corrections
code formatting
Fix a bug caused by the type of point_cloud msg
correct lidar_scan rename
Code refactor and formatting
Implement node lifecycle management for sensor node + refactoring launch files + rivz launch arg for overriding default config
move ouster-sdk to a subfolder of ouster-ros
More build fixes
Add libtins as a dependency and flush out changelog
Completely stripout topic_tools
fix docker build and target supported distros
launch file cleanup
Remove the extra ‘
Add a note about missing support of parameterize ros namespace when using launch.py
Restore scoping ouster_ros nodes and topics to a configurable namesapce when using xml launch format
Address the issue of missing sensor frame and/or old tf data when launching rviz2 from same launch file + correct sensor name in rviz
Add some level of robustness around invoking the get_metadata service from processing nodes
Re-enable replay functionality + address an issue where the os_replay node lose fields when load the metadata from file.
Restore recording functionality
Formulate the launch files in xml format + Rename separate to independent
Drop setting cxx stanard in ouster_ros + refactor
Enable running rviz from same launch file conditionally
Base point cloud color scheme on range values
Factor out parameters into a shared parameters.yaml file
Utilize SensorDataQoS and add RVIZ launch file + code refactor
Make connecting to get_metadata service robust + Drop TimerAction from the launch file Add ProcessingNode abstract class for os_cloud and os_image + Rename files to reflect the new changes Drop deprecated scan_to_cloud method + Code refactor and formatting
Code refactor and formatting, correct msg index of 2nd cloud
Auto generate standalone nodes from components
Move service definition into a separate ros2 package
Correct replay component name, replace bind with lambda
Rename namesapce and enable replay mode
Fix component discovery
More refactoring and code readabilty
Tidy up the cmake file
Drop std_msgs
Drop std_msgs
ROS2 driver prototype
Contributors: Andre Nguyen, Michael Wiznitzer, Ussama Naal, ralwing