ROS架构

ROS = Plumbing + Tools + Capabilities + Ecosystem

  • Plumbing: 通信机制,实现ROS不同节点之间的交互
  • Tools:工具软件包,ROS中的开发和调试工具
  • Capabilities:机器人高层技能,ROS中某些功能的集合,比如导航
  • Ecosystem:生态

 

系统架构

应用层 master Node1, Node2, ...
中间层 TCPROS UDPROS Other API... Nodelet API...
os层 Linux...

ROS = 应用层 + 中间层

 

文件系统

ROS架构

workspace --- 自定义的工作空间
    | --- devel:开发空间,development,存放编译后生成的目标文件,包括头文件、动静态链接库,可执行文件
    | --- build:编译空间,存放CMake、catkin的缓存信息、配置信息和其他中间文件
    | --- src:存放功能包
    	| --- CMakeList.txt:功能包编译的基本信息
    	| --- package:功能包,名字自定义
            | --- package.xml:包信息。包名、版本、作者、依赖项……
            | --- scripts:doc,存储python、shell文件
            | --- include:doc,存放头文件
            | --- msg:doc,消息通信格式文件
            | --- srv:doc,服务通信格式文件
            | --- action:doc,动作格式文件
            | --- launch:doc,launch文件、可用于一次性运行多个节点
            | --- src:doc,存储C++文件
            | --- config:配置信息
            | --- CMakeList.txt:cmake规则

 

ROS文件系统相关命令

点击查看代码
1、增
    sudo apt install xxx  	>> 安装ROS xxx功能包
    catkin_create_pkg customizePkgName dependsPkgList  >> 创建新的ROS功能包
    
2、删
    sudo apt purge xxx  	>> 删除ROS xxx功能包
    
3、查
    rospack list  			>> 列出所有的功能包
    rospack find pkgName 	>> 查找名为pkgName的功能包,若存在则返回安装路径
    roscd pkgName  			>> 进入名为pkgName的功能包目录内
    rosls pkgName			>> 显示名为pkgName的功能包文件列表
    apt search xxx			>> 搜索xxx功能包
    
4、改
    rosed pkgName fileName	>> 修改名为pkgName功能包里的名为fileName的文件
    
5、执行
    roscore					>> ROS的系统先决条件节点和程序的集合,必须先运行roscore才能使ROS节点进行通信
    rosrun pkgName NodeName >> 运行pkgName功能包里的名为NodeName的节点,需先运行roscore
    roslaunch pkgName customizeLaunchName.launch  >>  运行pkgName功能包里的launch文件。注:当roslaunch发现没有启动roscore时会自动启动

上一篇:ROS通信机制(四) —— 动作(action)与action文件


下一篇:ROS launch 启动文件的使用方法