🤖
Robotics Handbook
HomeConnect
  • Welcome
    • Authors Note
  • Computer Aided Designs and Simulations
    • Computer Aided Design and Simulations
    • 3D Modelling CAD
      • SolidWorks
    • Simulations
    • PCB Design
  • ROS (Advanced)
    • ROS
    • ROS
      • Concepts and Packages
      • Manual and Quick Setup
    • Some Important packages
  • Hardware
    • Design Processes
      • Materials Selection
      • Build and Prototyping
      • 3D Printing and Machining
    • Fabrication Parts
  • Common Mechanisms
    • Wheels and Drives
    • Power Transmission
  • Career Paths & Research Opportunities
    • Career in Robotics
    • Job Roles In Robotics
    • Conferences and Journals
  • Companies Hiring for Robotics
  • Leading Institutes
  • Mathematical and Programming Foundations
    • Linear Algebra for Robotics
    • Calculus
  • Programming for Robotics
    • Common Languages
    • Algorithms
    • Digital Twin
  • Embedded Systems for Robotics
    • Embedded Systems
    • Microcontrollers
      • Microcontrollers (Advanced Theory)
      • Choosing a Microcontroller
    • Sensors and Actuators
      • Sensors for Robotics
      • Actuators for Robotics
    • Communication
      • Communication Protocols
    • RTOS
    • Power Systems
      • Battery Charging and Storage Best Practices
  • ML and Perception
    • ML and Perception
    • Reinforcement Learning
    • Cameras, Depth Sensors and LiDAR
    • Image Processing Basics (OpenCV)
    • Object Detection and Tracking
    • Example of a Vision Pipeline
  • Mobile Robotics
    • Mobile Robotics
    • SLAM and Navigation
    • Robot Kinematics and Dynamics
      • Some Kinematic Models
    • Trajectory Planning
    • AMR's and AGV's
    • MH633 : Mobile Robotics
      • Geometric Foundations
      • Kinematics
  • Frontiers and Emerging Fields
    • Frontiers and Emerging Fields
    • Humanoids
    • Autonomous Navigation
    • Bio-inspired and Soft Robotics
    • Space Robotics
    • Cobots
    • Edge Robotics
    • Medical Robotics
  • Drones, Rocketry and Aviation
    • Drones
      • Drone Anatomy
    • Rocketry
Powered by GitBook
On this page
  1. ROS (Advanced)

Some Important packages

Category
Package Name(s)
Description & Key Concepts
ROS Wiki Link(s)
GitHub Repository (Typical)

Core ROS Infrastructure & Tools

Foundation of ROS, enabling communication, build, and basic operations.

ros_core (Metapackage)

roscpp

Part of ros_comm or ros/roscpp_core

rospy

Part of ros_comm

catkin

ros/catkin

rosmaster, roslaunch

Part of ros_comm

Command-line Tools (rostopic, etc.)

Part of ros_comm

std_msgs, common_msgs

ros/common_msgs

message_generation, genpy, gencpp

ros/genpy, ros/gencpp

nodelet / nodelet_core

ros/nodelet_core

dynamic_reconfigure

Allows parameters to be changed at runtime without restarting nodes.

ros/dynamic_reconfigure

pluginlib, class_loader

Tools for creating and loading plugins for extensible nodes.

ros/pluginlib, ros/class_loader

rosbag

Tools for recording and replaying ROS message data; essential for testing/debugging.

Part of ros_comm

Transformation System

Manages and tracks coordinate frames over time.

tf2, tf2_ros

ros/geometry2 (metapackage)

tf (Deprecated but foundational)

ros/geometry (metapackage for older ROS versions)

Robot Modeling & State

Describing robot kinematics, structure, and publishing its state.

urdf

ros/urdf

xacro

XML macro language to make URDF files more readable and maintainable.

ros/xacro

robot_state_publisher

Publishes TF2 transforms for a robot based on URDF and joint states.

ros/robot_state_publisher

joint_state_publisher

Publishes sensor_msgs/JointState messages, often with a GUI for testing.

ros/joint_state_publisher

Visualization & GUI Tools

Tools for visualizing robot data and interacting with ROS systems.

rviz

ros-visualization/rviz

rqt

ros-visualization/rqt (metapackage)

Navigation & Mapping (General)

Robot localization, path planning, and map creation.

navigation / nav2 (Metapackage)

ros-planning/navigation (ROS 1), ros-planning/navigation2 (ROS 2)

nav_msgs

Part of ros/common_msgs

SLAM (Simultaneous Localization and Mapping)

Algorithms for building a map while simultaneously tracking the robot's pose within it.

gmapping (slam_gmapping)

ros-perception/slam_gmapping

Cartographer (cartographer_ros)

cartographer-project/cartographer_ros

hector_slam

slam_toolbox

(Search ROS Index or GitHub for specific documentation)

SteveMacenski/slam_toolbox

Localization

Determining the robot's pose in a known map.

amcl (Adaptive Monte Carlo Localization)

Part of navigation (ROS 1) or navigation2 (ROS 2)

VIO (Visual-Inertial Odometry)

Estimating robot motion using camera and IMU data.

R-VIO

(Documentation usually on GitHub)

Various other VIO packages

Many research-based VIO packages exist (e.g., VINS-Mono, ORB-SLAM3 with IMU). Their ROS integration varies.

(Search specific algorithm + ROS)

(Varies, often on individual researchers' or labs' GitHub)

Motion Planning & Manipulation

Controlling robotic arms, planning movements, performing manipulation.

MoveIt!

ros-planning/moveit

actionlib

ros/actionlib

ros_control (ros2_control)

ros-controls/ros_control (ROS 1), ros-controls/ros2_control (ROS 2)

trajectory_msgs

Messages for representing robot trajectories.

Part of ros/common_msgs

pr2_object_manipulation (Example: PR2 specific)

(Often specific to robot platforms or research groups)

Perception & Sensor Processing

sensor_msgs

Part of ros/common_msgs

cv_bridge

ros-perception/vision_opencv

image_transport

Publish/subscribe to image topics with support for various (compressed) transports.

ros-perception/image_common

image_proc

Common image processing (rectification, color de-bayering).

ros-perception/image_pipeline

pcl_ros

ROS integration for the Point Cloud Library (PCL) for 3D point cloud processing.

ros-perception/perception_pcl

asr_perception (Example)

(Specific to research groups/projects)

Simulation

Simulating robots and environments for development and testing.

gazebo_ros_pkgs

ros-simulation/gazebo_ros_pkgs

Stage

(Less actively maintained, search for forks)

Diagnostics

Collecting, publishing, and analyzing robot hardware/software diagnostic data.

diagnostics (diagnostic_updater, etc.)

Helps monitor status and health of robot components.

ros/diagnostics

Industrial Robots

Packages specifically for interfacing with and controlling industrial robots.

ros_industrial (Metapackage)

PreviousManual and Quick SetupNextDesign Processes

Last updated 13 hours ago

Aggregates essential packages for publish/subscribe, services, launch files, etc. .

ros/metapackages

C++ client library for ROS (nodes, topics, services) .

Python client library for ROS .

Official build system of ROS, based on CMake .

Naming/registration services; tool for starting multiple nodes and master .

,

Utilities for introspecting the ROS computation graph .

Standard and commonly used message types (sensor_msgs, geometry_msgs, nav_msgs) .

,

Tools for generating message/service source code .

Run multiple algorithms (nodelets) in a single process to reduce overhead .

Second generation of the transform library in ROS .

First generation transform library .

Unified Robot Description Format (XML) for representing a robot model .

Powerful 3D visualization tool for ROS (sensor data, robot models, TF, markers) .

Qt-based framework for developing GUI tools for ROS; collection of plugins .

ROS 1 Navigation Stack / ROS 2 Navigation2 Stack. Provides capabilities for mobile robot navigation .

,

Standard messages for navigation (odometry, paths, maps) .

Popular particle filter-based SLAM algorithm, often using laser scan data .

Google's real-time 2D and 3D SLAM library .

SLAM for unstructured environments, can work with high-frequency laser scanners without odometry .

tu-darmstadt-ros-pkg/hector_slam

Full 2D SLAM and localization system, often used in ROS 2 .

Probabilistic 2D localization system for mobile robots in a known map .

Robocentric Visual-Inertial Odometry algorithm .

rpng/R-VIO

Integrated platform for mobile manipulation (motion planning, 3D perception, kinematics, control) .

Standardized interface for preemptable tasks (e.g., moving an arm) .

Framework with controllers, hardware interfaces, and tools for robot control .

Contains PR2-specific launch files and sensor processing for manipulation tasks .

Processing data from cameras, Lidars, IMUs, etc. .

(general category)

ros-perception (GitHub organization)

Standard messages for common sensor data (images, laser scans, point clouds, IMU) .

Interface between ROS image messages and OpenCV image representations .

Wraps up low-level and high-level perception packages from RGB-D, laser, stereo, object localization .

ROS interfaces for the Gazebo 3D simulator .

2D multi-robot simulator .

Core packages and conventions for industrial robots (ABB, Fanuc, KUKA, etc.) .

,

11
wiki.ros.org/ros_core
11
11
1
wiki.ros.org/roscpp
10
wiki.ros.org/rospy
8
wiki.ros.org/catkin
10
wiki.ros.org/rosmaster
wiki.ros.org/roslaunch
10
wiki.ros.org/ROS/CommandLineTools
11
wiki.ros.org/std_msgs
wiki.ros.org/common_msgs
11
wiki.ros.org/message_generation
10
wiki.ros.org/nodelet
wiki.ros.org/dynamic_reconfigure
wiki.ros.org/pluginlib
wiki.ros.org/rosbag
1
10
wiki.ros.org/tf2
1
10
wiki.ros.org/tf
1
1
wiki.ros.org/urdf
1
wiki.ros.org/xacro
wiki.ros.org/robot_state_publisher
wiki.ros.org/joint_state_publisher
1
wiki.ros.org/rviz
1
8
wiki.ros.org/rqt
1
3
10
wiki.ros.org/navigation
1
3
navigation.ros.org
1
5
wiki.ros.org/nav_msgs
10
wiki.ros.org/gmapping
10
google-cartographer-ros.readthedocs.io
4
wiki.ros.org/hector_slam
4
4
10
10
wiki.ros.org/amcl
5
5
1
10
moveit.ros.org
1
10
wiki.ros.org/actionlib
1
wiki.ros.org/ros_control
wiki.ros.org/trajectory_msgs
6
wiki.ros.org/pr2_object_manipulation
6
1
wiki.ros.org/perception
1
1
5
wiki.ros.org/sensor_msgs
10
wiki.ros.org/cv_bridge
wiki.ros.org/image_transport
wiki.ros.org/image_proc
wiki.ros.org/pcl_ros
7
wiki.ros.org/asr_perception
7
1
10
wiki.ros.org/gazebo_ros_pkgs
1
10
wiki.ros.org/stage
wiki.ros.org/diagnostics
1
wiki.ros.org/Industrial
1
rosindustrial.org