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 »

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    

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS

I found a really good code at GitHub for fitting a Gaussian Mixture Model (GMM) with Expectation Maximization (EM) for ROS. There are so many parameters that you can change. Some of the most important ones are:

To find the optimal number of components, it uses Bayesian information criterion (BIC). There are other methods to find …

Expectation Maximization algorithm to obtain Gaussian mixture models for ROS Read More »

Ackermann steering car robot model with simulation in Gazebo

Most of the wheeled robots in ROS use move_base to move the robot. move_base geometry model is based on differential drive which basically transforms a velocity command (twist message) into a command for rotating the left and the right wheels at a different speed which enable the car to turn into the right or left or goes straight. But cars …

Ackermann steering car robot model with simulation in Gazebo Read More »

Autonomous navigation of two wheels differential drive robot in Gazebo

Two wheels differential drive robot (with two caster wheels). List of installed sensors: • Velodyne VLP-16. • Velodyne HDL-32E. • Hokuyo Laser scanner. • IMU. • Microsoft Kinect/Asus Xtion Pro. • RGB Camera. You can manually control the robot with Joystick controller for mapping robot environment. Autonomous navigation is possible by setting goal pose.  

Converting sensor_msgs::PCLPointCloud2 to sensor_msgs::PointCloud and reverse

 

Converting pcl::PCLPointCloud2 to pcl::PointCloud and reverse

 

  more about pcl point cloud and conversion