numb0824 / localization_mapping

ROS nodes for outdoor SLAM on a ground robot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Localization and Mapping

Overview of the subsystem:

SLAM Overview

Note : Ellipses correspond to ROS Nodes and Rectangles correspond to the corresponding topics.

Build and Working Status

Node Build Status Working Status Credits Future Work
cartographer_ros build_passing Status_working Google Cartographer Tuning Parameters
img_to_laser build_passing Status_working IGVC IITK
(Built from scratch)
Adding support for multiple virtual lidars
robot_localization build_passing Status_need_modifications Charles River Analytics Tweaking Parameters
ros0xrobot build_passing Status_working NEX Robotics -
scanignore build_passing Status_need_modifications IGVC IITK
(Built from scratch)
-
tf_calibration build_passing Status_working IGVC IITK
(Built from scratch)
-

cartographer_ros

Cartographer is a system that provides real-time simultaneous localization and mapping (SLAM) in 2D and 3D across multiple platforms and sensor configurations.

Cartographer SLAM Example

img_to_laser

This node gives laser scan as read by a virtual LiDAR put at some position on binary classified image. Used for mapping the data obtained from the vision pipeline via mapping nodes that require data to be in laser scan form only.

Image to Laser-Scan Example

robot_localization

This node gives sensor-fused odometry. (Currently using wheel encoders, visual odometry and an IMU).

It is an open-source ROS package. Added an extra feature. Measured, calculated and tuned covariance matrices based on the robot dynamics, sensor configuration and the environment conditions.

img_to_pcloud

The node gives a point cloud from a binary classified image using its top-left corner as a reference point.

ros0xrobot

This node gives raw wheel odometry (and also provides a low-level controller) for the Firebird 0xDelta robot. This node is basically a driver for the robot's motors and encoders.

Acquired from NEX Robotics and added some fixes.

rplidar_ros

This node acts as the driver for the range sensors (LiDARs) mounted on the robot. It generates filtered scans from the laser scan topics by removing range data that corresponds to points on the robot itself (so that the robot does not map itself).

Configured for the Firbird 0xDelta (Daksh IITK).

tf_calibration

This is a one-time node used for calibrating sensor frames. It just publishes a tf that can be updated in real time using dynamic_reconfigure. One can visualize the sensor data on Rviz and then tune the tf till the data matches visually. Was used for LiDAR-LiDAR calibration on the Firebird 0xDelta.

tf Calibration Example

About

ROS nodes for outdoor SLAM on a ground robot

License:GNU General Public License v3.0


Languages

Language:C++ 88.2%Language:CMake 7.0%Language:C 3.1%Language:Makefile 0.8%Language:Python 0.7%Language:Shell 0.2%Language:HTML 0.0%