ROS 架构
ROS安装目录
ROS默认安装在_/opt/ros/noetic_路径下。

| bin文件夹 | 放置的是一些在终端可执行的命令 |
|---|---|
| etc文件夹 | 存放ros和catkin配置文件 |
| include文件夹 | 通过终端安装的功能包代码的头文件 |
| lib文件夹 | 通过终端安装的一些可执行功能包的节点 |
| share文件夹 | cmake的配置文件、话题消息的具体格式、服务的接口信息等 |

ROS文件系统级

1 | WorkSpace --- 自定义的工作空间 |
查看当前使用工作空间
1 | echo $ROS_PACKAGE_PATH |
显示:/opt/ros/noetic/share
创建工作空间
1 | mkdir -p ~/catkin_ws/src #在主文件夹下创建空文件夹 |
此时 src 文件夹下将生成一个 CMakeLists.txt 文件。
编译工作空间
1 | cd ~/catkin_ws/ #回到工作空间,编译必须在此文件夹下 |
把工作空间添加到ROS环境变量
1 | echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc |
在每次编译之后要使用source ~/catkin_ws/devel/setup.bash指令刷新 devel 目录下的setup.bash文件,将生成的文件手动刷新到系统环境中,将此指令加入~/.bashrc文件中,在终端启动时都会自动执行这个文件的命令,所以就不必在手动刷新环境。😅
创建ROS功能包
1 | cd ~/catkin_ws/src |
~~catkin_create_pkg test std_msgs rospy roscpp~~
使用catkin_create_pkg指令在src文件夹下创建一个名称为test的功能包,依赖于std_msgs rospy roscpp。
编译ROS功能包
1 | cd ~/catkin_ws/ #回到工作空间,编译必须在此文件夹下 |
ROS计算图级

rqt_graph能够创建一个显示当前系统运行情况的动态图形。ROS 分布式系统中不同进程需要进行数据交互,计算图可以以点对点的网络形式表现数据交互过程。rqt_graph是rqt程序包中的一部分。

ROS开源社区级
通过独立的网络社区,用户可以共享和获取知识、算法和代码。开源社区的大力支持使ROS得以快速成长。
- 发行版(Distribution) ROS发行版是可以独立安装、带有版本号的一系列综合功能包。ROS发行版像Linux发行版一样发挥类似的作用。这使得ROS软件安装更加容易,而且能够通过一个软件集合维持一致的版本。
- 软件库(Repository) ROS依赖于共享开源代码与软件库的网站或主机服务,在这里不同的机构能够发布和分享各自的机器人软件与程序。
- ROS维基(ROS Wiki) ROS Wiki是用于记录有关ROS系统信息的主要论坛。任何人都可以注册账户、贡献自己的文件、提供更正或更新、编写教程以及其他行为。网址是http://wiki.ros.org/。
- Bug提交系统(Bug Ticket System) 如果你发现问题或者想提出一个新功能,ROS提供这个资源去做这些。
- 邮件列表(Mailing list) ROS用户邮件列表是关于ROS的主要交流渠道,能够像论坛一样交流从ROS软件更新到ROS软件使用中的各种疑问或信息。网址是http://lists.ros.org/。
- ROS问答(ROS Answer) 用户可以使用这个资源去提问题。网址是https://answers.ros.org/questions/。
- 博客(Blog) 你可以看到定期更新、照片和新闻。网址是https://www.ros.org/news/,不过博客系统已经退休,ROS社区取而代之,网址是https://discourse.ros.org/。 为了便于理解,下图给出了ROS资源社区的组织形式。
几个学习网站
常用包管理指令
- rospack
查看某个 pkg 的地址:rospack fand [package_name]
- roscd
跳转到某个 pkg 路径下:roscd [package_name]
- rosls
列举某个 pkg 下的文件信息:rosls [package_name]
- rosed
编辑 pkg 中的文件:rosed [package_name] [file_name]
- catkin_create_pkg
创建一个 pkg:catkin_create_pkg [package_name] [deps]
- rosdep
安装某个功能包所需依赖:rosdep install [package_name]
评论