Some Important packages
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)
Last updated