目录
[3.1vscode 中编译 ros](#3.1vscode 中编译 ros)
4.3在另一个新建的终端窗口中,进入工作空间,输入命令,将节点挂起编辑
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输入发布方发布的话题,查看发布的数据

