Understanding ROS Build Systems

A build systems is a functional program or scripts developed to automate and simplify compiling and linking source code.  A meta-build system like CMake  generates native makefiles and workspaces that can be used in the compiler environment of your choice. CMake is a powerful open-source cross-platform set of tools designed to build, test and package…Read more Understanding ROS Build Systems

Extracting Images and Sensor Data from ROS bag files to Python

The ROS bag file format is popular in robotics, where it is used to store ROS message data. Several tools for working with ROS bag files exist, such as rosbag (a tool for recording, playing back, and filtering data), rqt_bag (a tool for visualising rosbag data), rostopic (a tool for listing and echoing the content…Read more Extracting Images and Sensor Data from ROS bag files to Python

Optimising the RealSense R200 camera for outdoor use

The RealSense cameras are widely used on robots which often have to venture outdoors. Using any camera outdoors can pose some challenges with glare from sunlight. The RealSense D435 camera's default settings work quite well outdoors. This is however not the case for the older R200 cameras. This tutorial outlines how to optimise the R200…Read more Optimising the RealSense R200 camera for outdoor use

Running the RealSense R200 camera with librealsense and pyrealsense legacy libraries

The legacy Intel RealSense cameras such as the R200/F200/SR300/LR200/ZR300 can be challenging to work with because support is limited. Documentation is sparse, so this tutorial provides a step by step guide for installing librealsense and pyrealsense for running the older RealSense R200 camera in ROS or natively in Python. Install librealsense The first part of…Read more Running the RealSense R200 camera with librealsense and pyrealsense legacy libraries

Converting the KITTI dataset to rosbags

The KITTI Vision Benchmark Suite dataset is a popular robotics dataset from Karlsruhe Institute of Technology and Toyota Technological Institute at Chicago. Several benchmarking datasets are provided including stereo, flow, scene flow, depth, odomerty, object, tracking, road, semantics and the raw data. To use this dataset in ROS, the streams should first be converted to…Read more Converting the KITTI dataset to rosbags

Working with 3D point clouds in ROS

A point cloud is a set of data points in 3D space. Such data is usually derived from time-of-flight, structured light or stereo reconstruction. Laser scanners such as the Hukuyo or Velodyne provide a planar scan or 3D coloured point cloud respectively. The perception_pcl package is the PCL ROS interface stack. A previous post covered how to integrate the Point…Read more Working with 3D point clouds in ROS

Updating the RealSense nodelet

The ROS Wrapper for Intel RealSense Devices provides a ROS nodelet interface between the camera and the ROS system. Intel updates this ROS package on a fairly regular basis, which could lead to API version mismatch errors. When this happens, the camera (sometimes) works fine on realsense-viewer but any code using the RealSense nodelet fails to compile.…Read more Updating the RealSense nodelet