ROS Noetic教程------VSCode创建ROS话题通讯--发布方的简单流程

目录

1.创建一个工作空间

1.1按快捷键Ctrl+Alt+T,调出终端

1.2输入命令,创建工作空间:

1.3输入命令,进入新建的demo01_ws工作空间中,

2.输入命令,初始化工作空间

3.启动VSCode

[3.1vscode 中编译 ros](#3.1vscode 中编译 ros)

3.2在工作空间下的src目录下创建功能包

3.3在新建的功能包下,新建一个scripts文件夹

3.4在新建的scripts文件夹下,新建一个py文件

3.5在py文件中,写代码创建一个简单的死循环pub发布方

3.6为新建的py文件添加可执行权限

3.7修改CMakeLists.txt文件

3.8编译一下,看是否能正常编译?​编辑

4.测试上述创建的发布方是否能够发布数据?

4.1按Ctrl+Alt+T,调出新的终端窗口​编辑

4.2启动roscore​编辑

4.3在另一个新建的终端窗口中,进入工作空间,输入命令,将节点挂起​编辑

4.4输入发布方发布的话题,查看发布的数据


1.创建一个工作空间

1.1按快捷键Ctrl+Alt+T,调出终端

1.2输入命令,创建工作空间:

python 复制代码
mkdir -p demo01_ws/src

上述命令创建了一个工作空间,名为demo01_ws,工作空间内包含一个子文件夹src(空的)。

1.3输入命令,进入新建的demo01_ws工作空间中,

python 复制代码
cd demo01_ws/

2.输入命令,初始化工作空间

python 复制代码
catkin_make

3.启动VSCode

python 复制代码
code .

3.1vscode 中编译 ros

快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build

可以点击配置设置为默认,修改.vscode/tasks.json 文件

复制下面的代码,进行替换原代码:

python 复制代码
{
// 有关 tasks.json 格式的文档,请参见
    // https://go.microsoft.com/fwlink/?LinkId=733558
    "version": "2.0.0",
    "tasks": [
        {
            "label": "catkin_make:debug", //代表提示的描述性信息
            "type": "shell",  //可以选择shell或者process,如果是shell代码是在shell里面运行一个命令,如果是process代表作为一个进程来运行
            "command": "catkin_make",//这个是我们需要运行的命令
            "args": [],//如果需要在命令后面加一些后缀,可以写在这里,比如-DCATKIN_WHITELIST_PACKAGES="pac1;pac2"
            "group": {"kind":"build","isDefault":true},
            "presentation": {
                "reveal": "always"//可选always或者silence,代表是否输出信息
            },
            "problemMatcher": "$msCompile"
        }
    ]
}

3.2在工作空间下的src目录下创建功能包

3.3在新建的功能包下,新建一个scripts文件夹

3.4在新建的scripts文件夹下,新建一个py文件

3.5在py文件中,写代码创建一个简单的死循环pub发布方

python 复制代码
#! /usr/bin/env python

import rospy
from std_msgs.msg import String

"""
    使用python实现消息发布:
        1.导包;
        2.初始化ROS节点;
        3.创建发布者对象;
        4.编写发布逻辑并发布数据。
"""

if __name__ == "__main__":

    # 2.初始化ROS节点;
    rospy.init_node("sanDai")   # ()内传入的是节点的命名
    # 3.创建发布者对象;
    pub = rospy.Publisher("che",String,queue_size=10) #()内依次是话题的命名/传输数据的类型/数据的最大容量(若超出,就从前往后依次删除)
    # 4.编写发布逻辑并发布数据。
    msg = String()  # 创建数据对象
    while not rospy.is_shutdown():  # 发布数据的死循环(循环条件:节点不关闭)
        msg.data = "hello"   # 数据内容
        pub.publish(msg)     # 发布数据

3.6为新建的py文件添加可执行权限

3.7修改CMakeLists.txt文件

3.8编译一下,看是否能正常编译?

4.测试上述创建的发布方是否能够发布数据?

4.1按Ctrl+Alt+T,调出新的终端窗口

4.2启动roscore

4.3在另一个新建的终端窗口中,进入工作空间,输入命令,将节点挂起

4.4输入发布方发布的话题,查看发布的数据

相关推荐
计算机网恋1 分钟前
PyCharm左侧的提交按钮不显示的解决办法
ide·python·pycharm
番茄灭世神4 分钟前
基于VScode搭建GD32开发环境
arm开发·vscode·单片机·cmake·gd32
2501_941333109 分钟前
【Centernet改进版】基于ResNet50的纱布检测系统实现详解
python
LiuPig刘皮哥19 分钟前
llamaindex 使用火山embedding模型
windows·python·embedding
shughui25 分钟前
Android SDK 下载、安装与配置(详细图文附安装包,适配Appium+Python自动化)
android·python·appium·android-studio·android sdk
天天爱吃肉821826 分钟前
交叉表格与卡方检验:新能源汽车研发测试中的分类变量关联性分析实战
人工智能·python·嵌入式硬件·机器学习·分类·数据挖掘·汽车
山后太阳28 分钟前
如何进行量化类型的实操判断?
python
yangpipi-30 分钟前
vscode的配置
ide·vscode·编辑器
张彦峰ZYF32 分钟前
Java+Python双语言开发AI工具全景分析与选型指南
java·人工智能·python
GIS之路32 分钟前
ArcGIS Pro 添加底图的方式
前端·数据库·python·arcgis·信息可视化