ROS

How to use image_geometry and camera_info_manager in ROS

camera_info_publisher.cpp:

image_geometry_demo.cpp:

  CMakeLists.txt

   

RGBD PCL point cloud from Stereo vision with ROS and OpenCV

In my other tutorial, I showed you how to calibrate you stereo camera. After Calibration, we can get disparity map and  RGBD PCL point cloud from our stereo camera cool huh 🙂 1)Save the following text under “stereo_usb_cam_stream_publisher.launch”

2) Then run the following node to publish both cameras and camera info (calibration matrix)

3) Run the …

RGBD PCL point cloud from Stereo vision with ROS and OpenCV Read More »

Stereo Camera Calibration with ROS and OpenCV

In this tutorial, I’m gonna show you stereo camera calibration with ROS and OpenCV. So you need a pair of cameras, I bought a pair of this USB webcam which is okay for this task. 1)Save the following text under “stereo_usb_cam_stream_publisher.launch”

2)Then run the following node to publish both cameras.

3)Now call the calibration node: …

Stereo Camera Calibration with ROS and OpenCV Read More »

Connecting PS4 Controller dualshock via Bluetooth in Ubuntu

PS4 controllers work out of the box in Ubuntu with USB cable but I was looking for a way to get it work via Bluetooth as well. After installing a couple of packages I found “ds4drv”. To install it:

Then you have to either add the user to the list of root user or simply run …

Connecting PS4 Controller dualshock via Bluetooth in Ubuntu Read More »

Octomap explanierend

In this tutorial, I explain the concept, probabilistic sensor fusion model and the sensor model used in Octomap library. related publication: OctoMap: An Efficient Probabilistic 3D Mapping Framework Based on Octrees 1)Octamap Volumetric Model 2)Probabilistic Sensor Fusion Model 3)Sensor Model for Laser Range Data    

Finding roll, pitch yaw from 3X3 rotation matrix with Eigen

 

Roll, pitch, yaw using Eigen and KDL Frame

 

From Eigen documentation: If you are working with OpenGL 4×4 matrices then Affine3f and Affine3d are what you want. Since Eigen defaults to column-major storage, you can directly use the Transform::data()  method to pass your transformation matrix to OpenGL. construct a Transform:

or like this:

But note that unfortunately, because of …

Roll, pitch, yaw using Eigen and KDL Frame Read More »

ROS packages for Dynamic Time Warping

Dynamic Time Warping (DTW) is a method to align two sequences under certain constraints. For instance, two trajectories that are very similar but one of them performed in a longer time. The alignment should be is such way that minimizes the distance between these two sequences. Here I have done DTW between two-time series with python. I found a …

ROS packages for Dynamic Time Warping Read More »