ros2 源码总览
工作区路径:/home/cp/work2/ros2Learn/ros2_humble/src/ros2
文档目录:/home/cp/work2/ros2Learn/ros2doc/ros2/
本目录是 ROS 2 Humble 核心源码集合(非完整发行版,但涵盖 client library、middleware、idl、launch、cli、bag、rviz、tf2 等主干)。
1. 分层架构
2. 目录索引(按功能分组)
2.1 基础库
| 目录 | 文档 |
|---|---|
| rcutils | rcutils源码详细分析.md |
| rcpputils | rcpputils源码详细分析.md |
| rpyutils | rpyutils源码详细分析.md |
2.2 中间件 RMW
| 目录 | 文档 |
|---|---|
| rmw | rmw源码详细分析.md |
| rmw_implementation | rmw_implementation源码详细分析.md |
| rmw_cyclonedds | rmw_cyclonedds源码详细分析.md |
| rmw_fastrtps | rmw_fastrtps源码详细分析.md |
| rmw_connextdds | rmw_connextdds源码详细分析.md |
| rmw_dds_common | rmw_dds_common源码详细分析.md |
2.3 RCL / 客户端库
| 目录 | 文档 |
|---|---|
| rcl | rcl源码详细分析.md |
| rclcpp | rclcpp源码详细分析.md |
| rclpy | rclpy源码详细分析.md |
| rcl_logging | rcl_logging源码详细分析.md |
2.4 接口定义与代码生成
| 目录 | 文档 |
|---|---|
| rosidl | rosidl源码详细分析.md |
| rosidl_typesupport | rosidl_typesupport源码详细分析.md |
| rosidl_typesupport_fastrtps | rosidl_typesupport_fastrtps源码详细分析.md |
| rosidl_python | rosidl_python源码详细分析.md |
| rosidl_runtime_py | rosidl_runtime_py源码详细分析.md |
| rosidl_defaults | rosidl_defaults源码详细分析.md |
| rosidl_dds | rosidl_dds源码详细分析.md |
| common_interfaces | common_interfaces源码详细分析.md |
| rcl_interfaces | rcl_interfaces源码详细分析.md |
| example_interfaces | example_interfaces源码详细分析.md |
| unique_identifier_msgs | unique_identifier_msgs源码详细分析.md |
| test_interface_files | test_interface_files源码详细分析.md |
2.5 Launch
| 目录 | 文档 |
|---|---|
| launch | launch源码详细分析.md |
| launch_ros | launch_ros源码详细分析.md |
2.6 CLI / 工具
| 目录 | 文档 |
|---|---|
| ros2cli | ros2cli源码详细分析.md |
| ros2cli_common_extensions | ros2cli_common_extensions源码详细分析.md |
| rosbag2 | rosbag2源码详细分析.md |
| ros2_tracing | ros2_tracing源码详细分析.md |
| sros2 | sros2源码详细分析.md |
2.7 可视化 / TF
| 目录 | 文档 |
|---|---|
| rviz | rviz源码详细分析.md |
| geometry2 | geometry2源码详细分析.md |
| urdf | urdf源码详细分析.md |
| message_filters | message_filters源码详细分析.md |
2.8 示例与测试
| 目录 | 文档 |
|---|---|
| demos | demos源码详细分析.md |
| examples | examples源码详细分析.md |
| system_tests | system_tests源码详细分析.md |
| ros_testing | ros_testing源码详细分析.md |
2.9 Vendor / 构建辅助
| 目录 | 文档 |
|---|---|
| ament_cmake_ros | ament_cmake_ros源码详细分析.md |
| python_cmake_module | python_cmake_module源码详细分析.md |
| *_vendor | 各 vendor 目录对应文档 |
| eigen3_cmake_module | eigen3_cmake_module源码详细分析.md |
| performance_test_fixture | performance_test_fixture源码详细分析.md |
| realtime_support | realtime_support源码详细分析.md |
| tlsf | tlsf源码详细分析.md |
3. 推荐学习路径
- 消息从哪来:
common_interfaces→rosidl→rosidl_typesupport - 数据怎么发:
rcutils→rmw→rcl→rclcpp(配合demos/demo_nodes_cpp) - 系统怎么起:
launch→launch_ros→ros2launch - 怎么调试:
ros2cli+rviz+rosbag2 - 坐标系:
geometry2+urdf
4. 统计
- 顶层目录:54
- 子 package.xml 总数:约 250+(含 nested 包)
5. 小结
ros2/ 目录是理解 ROS 2 Humble 运行时与工具链 的主干源码;与 ros/、ros-perception/ 等并列,共同构成完整工作区。建议按分层自底向上阅读,每目录详见对应 *源码详细分析.md。
正在加载留言…