LoongLee's blog

ROS2简介与使用

ROS2简介与使用

来源

原始文档: ROS2简介.md

核心内容

ROS 2(Robot Operating System 2)是用于构建机器人应用程序的软件开发工具包(SDK),提供构建块和工具链。

ROS2特点

  1. 管道(中间件): 匿名发布/订阅模式的消息传递系统,支持分布式节点通信
  2. 工具: 启动、内省、调试、可视化、绘图、日志记录和回放
  3. 能力: 驱动程序、算法、用户界面的丰富生态系统
  4. 社区: Open Robotics 维护,全球活跃社区

核心消息类型

地图消息 (nav_msgs/OccupancyGrid)

  • 二维占用栅格地图
  • 字段: header, info, data
  • 用途: 地图显示、路径规划、导航、建图

里程计消息 (nav_msgs/Odometry)

  • 机器人运动状态信息
  • 用途: 定位、运动控制、状态监控

全局代价地图

  • 用于全局路径规划(A*、Dijkstra)
  • 任务规划与调度
  • 环境建模与分析
  • 多机器人协同

局部代价地图

  • 实时避障
  • 局部路径规划
  • 运动决策
  • 与传感器数据融合

激光扫描消息 (sensor_msgs/LaserScan)

Header header
float32 angle_min/max
float32 angle_increment
float32[] ranges
float32[] intensities

用途: 障碍物检测、地图构建、定位、目标追踪

路径消息 (nav_msgs/Path)

  • Header + PoseStamped[] poses
  • 用途: 路径规划结果传递、运动控制参考、可视化

电池状态消息 (sensor_msgs/BatteryState)

float32 voltage, temperature, current
float32 charge, capacity, percentage
uint8 power_supply_status/health/technology

用途: 电量管理、电池健康监测、性能优化

工具

  • Turtlesim: 轻量级学习模拟器
  • ros2 CLI: 命令行工具,管理、检视 ROS 系统
  • rqt: 图形用户界面工具

关键要点

  • ROS2 使用 DDS 作为中间件,支持实时性和可靠性
  • 消息类型标准化,便于组件复用
  • 代价地图分全局和局部两层,分别用于规划和避障
  • 丰富的传感器消息类型支持多模态感知

相关实体

  • ROS2 - 机器人操作系统第二代
  • ROS - 机器人操作系统
  • 导航 - 机器人导航
  • SLAM - 同步定位与地图构建
  • 传感器 - 机器人传感器
  • DDS - 数据分发服务

ROS2 ROS2