ROS2 : https://github.com/ros2
ROS2 由一系列的软件、库、工具组合,热门的库如下:

查看ROS2的 .repos文件,总结了ROS2核心内容进行了归类。

以下是对这些仓库的分类梳理,主要基于功能、所属组织及在ROS 2生态中的角色进行归类:
文章目录
1. 基础构建与工具链(ament系列)
提供ROS 2核心构建系统、包管理、代码检查等基础工具。
ament/ament_cmake:ament构建系统核心(基于CMake)ament/ament_index:ament索引系统(管理包路径等)ament/ament_lint:代码检查工具集(如cpplint、flake8等)ament/ament_package:ament包格式定义与解析ament/google_benchmark_vendor:Google Benchmark性能测试工具封装ament/googletest:Google Test单元测试框架封装
2. DDS中间件及通信相关
ROS 2默认基于DDS实现分布式通信,此类包含DDS实现及ROS适配层。
- DDS实现:
eProsima/Fast-CDR:Fast DDS的CDR序列化库eProsima/Fast-DDS:Fast DDS中间件(ROS 2默认之一)eProsima/foonathan_memory_vendor:Fast DDS依赖的内存分配库eclipse-cyclonedds/cyclonedds:Cyclone DDS中间件(ROS 2支持的另一种DDS)
- ROS与DDS适配:
ros2/rmw:ROS中间件接口(抽象DDS层)ros2/rmw_connextdds:Connext DDS的RMW适配ros2/rmw_cyclonedds:Cyclone DDS的RMW适配ros2/rmw_dds_common:各DDS实现的通用工具ros2/rmw_fastrtps:Fast DDS的RMW适配ros2/rmw_implementation:RMW实现的动态加载工具ros2/rmw_zenoh:Zenoh通信协议的RMW适配(实验性)
3. ROS核心库与运行时
ROS 2核心功能模块,包括节点通信、消息处理、工具链等。
- 核心框架:
ros2/rcl:ROS客户端库(C语言核心)ros2/rclcpp:C++客户端库(基于rcl)ros2/rclpy:Python客户端库(基于rcl)ros2/rcutils:ROS通用工具函数(日志、内存等)ros2/rcpputils:C++工具函数(基于rcutils)ros2/rpyutils:Python工具函数
- 消息与接口:
ros2/rosidl:ROS接口定义语言(IDL)处理框架ros2/rosidl_core:rosidl核心类型与工具ros2/rosidl_dds:rosidl与DDS类型映射ros2/rosidl_defaults:默认rosidl生成配置ros2/rosidl_dynamic_typesupport:动态类型支持(实验性)ros2/rosidl_dynamic_typesupport_fastrtps:Fast DDS的动态类型支持ros2/rosidl_python:Python消息生成工具ros2/rosidl_runtime_py:Python消息运行时库ros2/rosidl_typesupport:类型支持框架(适配不同DDS)ros2/rosidl_typesupport_fastrtps:Fast DDS的类型支持ros2/example_interfaces:示例消息/服务接口ros2/test_interface_files:测试用接口文件ros2/unique_identifier_msgs:唯一标识符消息类型
- 其他核心工具:
ros2/ament_cmake_ros:ament与ROS的CMake集成ros2/common_interfaces:通用消息接口(如std_msgs、sensor_msgs等)ros2/message_filters:消息同步与过滤工具ros2/realtime_support:实时性支持工具(如实时节点)ros2/ros_environment:ROS环境变量定义ros2/ros2_tracing:ROS 2性能追踪工具(基于LTTng)
4. 工具与命令行
ROS 2开发与运行工具,包括命令行、测试、调试等。
- 命令行工具:
ros2/ros2cli:ROS 2命令行接口(如ros2 run、ros2 topic等)ros2/ros2cli_common_extensions:cli扩展命令
- 测试与性能:
ros2/performance_test_fixture:性能测试框架ros2/ros_testing:ROS测试工具(集成gtest等)osrf/osrf_testing_tools_cpp:OSRF测试工具(C++)
- 日志与调试:
ros2/rcl_logging:ROS日志系统(支持spdlog等)ros2/spdlog_vendor:spdlog日志库封装ros2/console_bridge_vendor:日志桥接库封装
- 数据记录:
ros2/rosbag2:ROS 2数据记录与回放工具
5. 插件与扩展机制
ROS 2的插件化框架,支持动态加载功能模块。
ros/class_loader:C++类加载器(插件基础)ros/pluginlib:ROS插件管理库(基于class_loader)ros/resource_retriever:资源文件检索工具(用于插件等加载资源)
6. 可视化与交互工具
ROS 2的可视化、调试与交互界面工具。
- 可视化:
ros2/rviz:3D可视化工具(ROS 2版本)ros-visualization/interactive_markers:交互式标记(用于rviz交互)
- RQT工具集(ROS Qt-based工具):
ros-visualization/rqt:rqt核心框架ros-visualization/rqt_action:动作可视化ros-visualization/rqt_bag:rosbag数据查看ros-visualization/rqt_console:日志查看器ros-visualization/rqt_graph:节点通信图ros-visualization/rqt_msg:消息类型查看ros-visualization/rqt_plot:数据绘图ros-visualization/rqt_publisher:消息发布工具ros-visualization/rqt_py_console:Python控制台ros-visualization/rqt_reconfigure:动态参数配置ros-visualization/rqt_service_caller:服务调用工具ros-visualization/rqt_shell:终端集成ros-visualization/rqt_srv:服务类型查看ros-visualization/rqt_topic:话题查看与监控
- UI支持:
ros-visualization/python_qt_binding:Python与Qt绑定ros-visualization/qt_gui_core:Qt GUI核心框架ros-visualization/tango_icons_vendor:Tango图标库封装
7. 机器人模型与几何
机器人模型描述、运动学相关库。
ros/urdfdom:URDF模型解析库ros/urdfdom_headers:URDF头文件定义ros2/urdf:ROS 2的URDF处理工具ros/kdl_parser:KDL运动学库的URDF解析器ros/robot_state_publisher:机器人状态发布器(从URDF生成TF)ros2/geometry2:几何变换库(tf2及其扩展)
8. 第三方依赖封装(vendor)
ROS 2对第三方库的封装(统一版本管理)。
ros2/eigen3_cmake_module:Eigen3数学库的CMake模块ros2/libyaml_vendor:libyaml库封装ros2/mimick_vendor:Mimick mocking库封装ros2/orocos_kdl_vendor:Orocos KDL运动学库封装ros2/pybind11_vendor:pybind11(C++/Python绑定)封装ros2/tinyxml2_vendor:tinyxml2 XML解析库封装ros2/tlsf:TLSF内存分配器(实时性场景)ros2/yaml_cpp_vendor:yaml-cpp库封装gazebo-release/gz_cmake_vendor:Gazebo CMake模块封装gazebo-release/gz_math_vendor:Gazebo数学库封装gazebo-release/gz_utils_vendor:Gazebo工具库封装eclipse-iceoryx/iceoryx:零拷贝通信库(用于高实时场景)
9. 示例与教程
ROS 2使用示例与教程代码。
ros2/demos:ROS 2演示程序(基础功能示例)ros2/examples:更详细的代码示例(C++/Python)ros/ros_tutorials:ROS教程代码(适配ROS 2)
10. 其他功能模块
- 感知相关:
ros-perception/image_common:图像处理基础(如image_transport)ros-perception/laser_geometry:激光雷达数据处理ros-perception/point_cloud_transport:点云传输工具
- 规划相关:
ros-planning/navigation_msgs:导航相关消息接口
- 统计与工具:
ros-tooling/keyboard_handler:键盘输入处理工具ros-tooling/libstatistics_collector:统计数据收集库
- 安全相关:
ros2/sros2:ROS 2安全框架(加密、访问控制等)
- 系统测试:
ros2/system_tests:ROS 2系统级测试用例
- Python工具:
osrf/osrf_pycommon:OSRF Python通用工具
- Rust支持:
ros2-rust/rosidl_rust:Rust语言的rosidl生成工具
以上分类覆盖了ROS 2生态的核心组件,从基础构建到上层应用,便于理解各仓库的角色和依赖关系。
1025

被折叠的 条评论
为什么被折叠?



