Autonomy简介

1 概述
autonomy_ros 是基于 autonomy 核心框架构建的 ROS2 兼容层,旨在为 Autonomy 框架提供 ROS2 可视化调试和生态系统集成能力。
2 Autonomy核心框架
2.1 Autonomy_ROS核心框架
Autonomy_ROS 是 Autonomy 项目中的一个重要组件,它充当了 Autonomy 核心框架与 ROS2 生态系统之间的桥梁。通过 Autonomy_ROS,开发者可以:
使用 ROS2 工具进行可视化调试(如 RViz2、Foxglove Studio)
与现有的 ROS2 生态系统无缝集成
利用 ROS2 丰富的工具链和库
在保持 Autonomy 高性能的同时,享受 ROS2 的便利性
不是替代品: Autonomy_ROS 不是用来替代 ROS2,而是作为 Autonomy 与 ROS2 之间的接口层
可选组件: Autonomy 核心框架可以独立运行,不依赖 ROS2
双向兼容: 支持 Autonomy 消息格式与 ROS2 消息格式的相互转换
Autonomy_ROS 作为 Autonomy 的可选扩展,提供:
ROS2 集成: 使 Autonomy 组件可以作为 ROS2 节点运行
工具支持: 可以使用 ROS2 生态系统的各种工具进行调试和监控
数据兼容: 支持与 ROS2 项目的数据交换和互操作
2.2 Autonomy 核心框架
Autonomy 是一个独立的机器人系统框架,具有以下特点:
独立运行: 不依赖 ROS/ROS2,可以完全独立运行
高性能: 基于 Autolink 通信框架,提供低延迟、高吞吐量的通信能力
模块化: 采用插件架构,支持动态加载和管理
跨平台: 支持 x86-64 和 ARM64 架构
3 快速开始
3.1 编译 Autonomy_ROS
确保您已经编译了 Autonomy 核心框架,然后编译 Autonomy_ROS:
# 进入 Docker 容器
docker exec -it SpaceHero /bin/bash
# 设置 ROS2 环境
source /opt/ros/humble/setup.bash
# 编译项目(Autonomy_ROS 会自动编译)
cd /workspace/autonomy
colcon build --symlink-install
3.2 运行示例
# 设置环境
source /workspace/autonomy/install/setup.bash
# 启动 Autonomy_ROS 节点
ros2 run autonomy_ros <node_name>
3.3 可视化
在另一个终端中启动 RViz2:
source /opt/ros/humble/setup.bash
rviz2
4 详细文档
完整的 Autonomy_ROS 文档位于编译安装目录下的 docs 文件夹中。

4.1 文档内容
详细文档包含以下内容:
API 参考: 完整的 API 接口说明
消息类型: 支持的消息类型和转换规则
配置指南: 如何配置和使用 Autonomy_ROS
示例代码: 实际使用示例
最佳实践: 推荐的开发模式和注意事项
4.2 访问文档
编译完成后,文档位于:
# 在 Docker 容器中
cd /workspace/autonomy/install/autonomy/share/autonomy/docs
# 或在宿主机上
cd <autonomy_path>/install/autonomy/share/autonomy/docs