Contents

ROS基础知识

关于ROS需要知道的事情

ROS1基础

Robot Operating System,是一个软件框架,用以创建和管理机器人应用程序的,并不完全是潜意识里的控制机器人行为的代理

The Robot Operating System (ROS) is a set of software libraries and tools that help you build robot applications

在ROS中,不同的软件组件叫做节点Node,相当于一个进程,可以通过主题topics和服务services两种不同的方式进行通信,模块化编程

它采用自己的构建工具:ROS1catkin ROS2colcon

本质上也属于OS,因此很多概念带入操作系统的思维去理解比较好

ROS1发行版

主要就是这三个:ROS Kinetic、ROS Melodic和ROS Noetic

image-20231018125541342

基本概念

ROS采用点对点网络,称之为计算图

基本概念包括:nodes, Master, Parameter Server, messages, services, topics, and bags

这些数据结构在ros_comm库里面实现

  • 节点Nodes: 执行计算处理的基本执行单元,可以理解为一个进程
  • 主机Master:信息中心,充当服务器,管理节点通信
  • 参数服务器:存储和共享节点的参数、配置信息
  • 消息:节点传递数据的标准格式(可以理解为报文吧)
  • 服务:节点之间请求-响应的通信方式
  • 话题:节点之间发布-订阅,实现异步通信的方式
  • 数据包:存档?

https://cdn.jsdelivr.net/gh/zvictorliu/typoraPics@main/img/2023/10/18/fe480c0b0a52052aca6bf4efcaaf7181-ROS_basic_concepts-188707.png

RVIZ

rviz是ROS的一个三维可视化工具

launch文件

定义启动配置的xml文件,按照这上面的说明进行启动,只是描述语言并不是脚本