Ouster SDK 0.13.0 is out

Version 0.13.0 of the Ouster SDK is out. There are many updates in this version that we hope you’ll like, some of the key highlights include:

  • Multi sensor support - Record, Visualization and SLAM with multi sensor datasets.

  • ROS bag support - Record, playback and convert .bag files using ROS1 and ROS2 format.

  • SensorScanSource in c++ - A higher level API in c++ to consume data from ouster sensors.

  • and many more changes that can be seen in the CHANGELOG.rst


Multi Sensor Support

Recording

With the ouster-sdk 0.13.0 you can record data from multiple sensors into a single file of your preferred format (osf, pcap or .bag). This can be accomplished using the ouster-cli, or the python and c++ libraries.

For example:


ouster-cli source -E extrinsics.json <hostname1>,<hostname2> save my_multi_sensor_recording.osf

Or with python


from ouster.sdk import open_source
from ouster.sdk import osf

source = open_source(["<hostname1>", "<hostname2>"])
fields_to_write = source.fields[0] # fields from the first sensor
writer = osf.Writer("my_multi_sensor_recording.osf", source.metadata, fields_to_write)

for scans in source:
    writer.save(scans)

Visualization

The OusterSdk 0.13.0 allows you to visualize multiple sensors using the ouster-cli or the python library, regardless of the source type. (live sensors, OSF file, pcap, etc.)


ouster-cli source my_multi_sensor_recording.osf viz #or
ouster-cli source -E extrinsics.json my_multi_sensor_recording.pcap viz #or
ouster-cli source -E extrinsics.json <hostname1>,<hostname2> viz
#etc.

This visualizer allows users to turn on and off point clouds from different sensors in the recording using CTRL+<N>, (N = 1|2|3…)

SLAM

Version 0.13.0 supports SLAM using multiple sensors, which helps producing richer point cloud maps.

To use it, the commands are the same as they would be for single sensor slam usage.


ouster-cli source my_multi_sensor_recording.osf slam save multi_sensor_slam.osf
ouster-cli source multi_sensor_slam.osf viz --accum-every-m 10

More details can be found in this post

Ros bag support

The Ouster-SDK now supports ROS bags as both a recording format and a scan source!

For those unfamiliar, ROS bags are valuable tools in the Robot Operating System (ROS) that allow for the recording and playback of sensor data, messages, and other information. They make it easier to share and analyze robotic data, streamlining the development and testing of algorithms.

With this update, you can now work with both ROS1 and ROS2 bags, enhancing your capabilities and workflow.

This means that with the ouster-cli we can now take, for example, ros bags recorded with ouster-ros, visualize its contents, convert to OSF, slice, etc.


ouster-cli source my_ros_bag.bag save converted.osf viz
ouster-cli source rosbag.bag slice 0:10 save --ros2 rosbag_sliced.bag
# etc


Happy coding!

3 Likes