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
ROS
Setting up CLion for ROS and GitHub
CLion is a cross-platform C/C++ IDE that natively supports CMake (which ROS Catkin is based on), and also supports Python code. Creating or opening ROS projects within CLion makes it easy to debug code, execute nodes, and view packages and classes within a ROS workspace in an intuititve way. More details on the setup can…Read more Setting up CLion for ROS and GitHub
3D Computer Vision in ROS
The RealSense D435 camera can be readily set up to publish all the image and pointcloud streams via ROS topics. For an in-depth setup, read Integrating the Intel RealSense D435 with ROS. Once this data becomes available in ROS, processing it via custom nodes requires a larger ROS ecosystem for perception. Three popular 2D/3D computer…Read more 3D Computer Vision in ROS
Integrating the Hokuyo URG Lidar with ROS
The Hukuyo URG is a lightweight, affordable USB powered lidar sensor. It outputs a single planar scan with 240º scanning range at 0.36º angular resolution and scan rate of 100ms/scan. This sensor can be used for, amongst other things, indoor mapping or collision avoidance. There is presently no pre-compiled driver available for ROS kinetic so…Read more Integrating the Hokuyo URG Lidar with ROS
Integrating the Intel RealSense D435 with ROS
The Intel RealSense D435 is the latest RGBD camera available from Intel, and is an upgrade from the Intel R200 camera already discussed in a previous post. The D435 is a stereo depth camera that is designed to work both indoors and outdoors. The 3D reconstruction is constructed using active Infrared (IR) stereo. The camera is…Read more Integrating the Intel RealSense D435 with ROS
Step-by-step setup of a new laptop for robotics
Setting up a new laptop for robotics can be time consuming. This post will focus on using the Dell Alienware 15 R4 laptop. With its Intel i9 processor and Nvidia GTX 1080 graphics card, it's the perfect laptop for robotics or computer vision projects. Setting up the laptop comprises of two main steps: installing Ubuntu…Read more Step-by-step setup of a new laptop for robotics
Troubleshooting: Rosbuild to Catkin migration
Migrating from Rosbuild to Catkin can be accomplished using the ros-industrial catkinize script as described in Quickly migrating from Rosbuild to Catkin. Although this script attempts to replace rosbuild commands with catkin ones, some errors arise when compiling using the catkin_make command. This troubleshooting guide covers steps to take after catkinizing a package. Update messages…Read more Troubleshooting: Rosbuild to Catkin migration
Quickly migrating from Rosbuild to Catkin
ROS uses CMake, a powerful cross-platform build tool, at its core. Rosbuild and Catkin are ROS scripts for managing the CMake-based build system for ROS. Catkin is the newer, preferred option. ROS packages that are build using Rosbuild do not work in a Catkin workspace thus it becomes necessary to migrate from Rosbuild to Catkin.…Read more Quickly migrating from Rosbuild to Catkin
How the Intel RealSense R200 camera works
The Intel RealSense R200 is a USB powered long range stereoscopic camera that can be used for robotics and HCI computer vision applications. About the camera The camera consists of two infrared and one full HD colour imaging sensors, as well as an infrared laser projection system. As a result, the camera provides three video…Read more How the Intel RealSense R200 camera works
ROS performance testing: C++ vs Python
ROS supports both Python and C++ programming languages, however, using Python can come at a performance cost. I did an experiment to test this by writing four combinations of publisher to subscriber and then checking whether the real loop rate (of the publisher) is equal to the actual loop rate of the subscriber. The combinations…Read more ROS performance testing: C++ vs Python