☰
ROS的学习(持续更新ing)
2026/10/18 6:52:36 网站建设 项目流程

学习ROS需要配置一系列的应用环境

Ubuntu里面终端的快捷键

vscode

{ // 有关 tasks.json 格式的文档,请参见 // https://go.microsoft.com/fwlink/?LinkId=733558 "version": "2.0.0", "tasks": [ { "label": "catkin_make:debug", "type": "shell", "command": "catkin_make", "args": [], "group": {"kind":"build","isDefault":true}, "presentation": { "reveal": "always" }, "problemMatcher": "$msCompile" } ] }

src文件夹下

launch文件

当一个程序需要启动多个节点可以使用launch文件

ROS架构

ROS文件系统

ROS文件系统指的是在硬盘上肉松源代码的组织形式

catkin:相当于工作的总目录

src:源码,目录下可有多个功能包

devel:开发空间

build:编译空间

ROS文件系统的相关命令

1.增

catkin_create_pkg 自定义包名 依赖包===创建新的ros功能包

sudo apt install xxx===安装ros功能包

2.删

sudo apt purge xxx===删除某个功能包

3.查

rospack list === 列出所有功能包

rospack find 包名 === 查找某个功能包是否存在,如果存在返回安装路径

roscd 包名 === 进入某个功能包

rosls 包名 === 列出某个包下的文件

apt search xxx === 搜索某个功能包

4.改

rosed 包名 文件名===修改功能包文件

需要安装vimr

5.执行

roscore是ROS系统先决条件节点和程序集合,必须运行roscore才能使ROS节点进行通信

roscore将启动:ros master ros参数服务器 rosout日志节点

rosrun

rosrun 包名 可执行文件名===运行指定的ros节点

roslunch

roslunch 包名 launch文件名===执行某个包下的launch文件

ROS计算图

不同节点之间的关系可以用rqt_graph来查看,此实用工具可以创建一个显示当前系统运行情况的动态图形

使用ros内置的小乌龟案例来演示计算图

先打开小乌龟

再开一个终端输入

ROS通信机制

ros中的基本通信机制只要有如下三种实现策略:

话题通信(发布订阅模式)

服务通信(client—》server——》response)

参数服务器(参数共享模式)

话题通信

话题通信是基于发布订阅模式的,即一个节点发布消息,另一个节点订阅该消息

用于不断更新的,少逻辑处理的数据传输场景

ROS Master:管理者,可以根据话题建立订阅者和发布者之间的连接

Talker:发布者

Listener:订阅者

使用RPC,TCP协议,步骤0和1没有顺序关系,talker和listener可以有多个,talker和listener建立联系后,master就可以关闭了

上述实现流程已经封装了,以后直接调用即可

话题通信基本操作

需求1:编写发布订阅实现,要求发布方以10HZ的频率发布文本消息,订阅方订阅消息并将消息内容打印输出

流程:

1编写发布方实现

2.编写订阅方式实现

3.为Python文件添加可执行权限

4.编辑配置文件

5.编译并执行

实现流程

首先,新建独立操作空间

打开终端,复制下面这一行,粘贴,回车

mkdir -p ~/demo03_ws/src

进入src目录

cd ~/demo03_ws/src

catkin_create_pkg demo03 roscpp rospy std_msgs

回车

此时创建好了src回到工作空间根目录,执行编译 catkin_make
cd ~/demo03_ws
catkin_make

刷新环境变量
source ./devel/setup.bash

验证是否成功
rospack find demo03
输出类似 /home/rosdemo/demo03_ws/src/demo03 代表创建成功

再添加功能包scripts和Python文件

简单的发布框架如下:

紧接着给功能包scripts提供可执行权限,文件夹打开终端

再到CMake放开注释

放开注释后修改名称

对框架进行优化:

终端运行:

rosrun demo03 demo01_pub_p.py

下一步用Python实现订阅

然后去CMake里面编辑配置文件

接下来执行,先启动roscore

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询