使用 VScode 开发 ROS 的Python程序(简例)

一、任务介绍

本篇作为ROS学习的第二篇,是关于如何在Ubuntu18.04中使用VSCode编写一个Python程序,输出“Hello!”的内容介绍。
首先我们来了解下ROS的文件系统,ROS文件系统级指的是在硬盘上ROS源代码的组织形式,其结构大致可以如下图所示:
使用 VScode 开发 ROS 的Python程序(简例)_第1张图片

|--- devel:开发空间,用于存放编译后生成的目标文件,包括头文件、动态&静态链接库、可执行文件等。
|--- build:编译空间,用于存放CMake和catkin的缓存信息、配置信息和其他中间文件。
|--- src: 源码
	|-- package:功能包(ROS基本单元)包含多个节点、库与配置文件
	            |-- CMakeLists.txt 配置编译规则,比如源文件、依赖项、目标文件
       			|-- package.xml 包信息,比如:包名、版本、作者、依赖项...(以前版本是 manifest.xml)
    		    |-- scripts 存储python文件
   			    |-- src 存储C++源文件

二、实施

1.创建ROS工作空间

在“主文件夹>主目录中”右键,点击新建文件夹,输入文件夹名称,要以‘_ws’结尾,创建工作空间。

使用 VScode 开发 ROS 的Python程序(简例)_第2张图片
创建src,双击demo02_ws,进入文件夹再继续创建src文件夹,然后右键,选择“在终端打开”
使用 VScode 开发 ROS 的Python程序(简例)_第3张图片

2.编译工作空间

在终端输入catkin_make,回车后,会在工作空间demo02中生成另外两个文件夹。
使用 VScode 开发 ROS 的Python程序(简例)_第4张图片
(以上操作也可以使用命令行,怎么方便怎么来)

3.使用VScode打开工作空间

在demo02_ws右键终端内输入“code ./”然后回车就会以VSCode环境打开打开demo02_ws。

使用 VScode 开发 ROS 的Python程序(简例)_第5张图片

4.vscode 中编译 ros

按下快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build,选择后面的小齿轮
使用 VScode 开发 ROS 的Python程序(简例)_第6张图片
点击小齿轮后进入vscode/tasks.json 文件,将其中的代码全部替换成下面代码,这样可以以后直接将快捷键“ ctrl + shift + B”配置设置为默调用编译。
替换成的代码:

{
// 有关 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"
        }
    ]
}

替换后:
使用 VScode 开发 ROS 的Python程序(简例)_第7张图片

5.创建 ROS 功能包

鼠标右键选中 src> create catkin package,然后再输入框键入工作包名称
使用 VScode 开发 ROS 的Python程序(简例)_第8张图片
添加依赖,这里主要有3个 roscpp rospy std_msgs
使用 VScode 开发 ROS 的Python程序(简例)_第9张图片回车之后,可以在demo02_ws工作空间内看到创建好的ROS功能包“hello”使用 VScode 开发 ROS 的Python程序(简例)_第10张图片

6.创建python文件

在hello文件夹内继续创建python的存储文件夹scrpits,右击hello>新建文件夹,命名为scripts,接着继续右击scripts,选择创建文件,并命名为“helloworld_p.py”
使用 VScode 开发 ROS 的Python程序(简例)_第11张图片
这里,我们要实现的功能是直接打印“HelloWorld!”代码如下:

#! /usr/bin/env python
#coding:utf-8
import rospy 


if __name__ == "__main__":

    rospy.init_node("Hello_Vscode_p")  # 2.初始化 ROS 节点    
    rospy.loginfo("HelloWorld, 我是 VSCode!")  #3.日志输出 HelloWorld
    

7.添加python可执行权限

①右击scripts文件,选择在集成终端中打开,然后输入“chmod +x *.py”为script文件夹内的python文件添加可执行权限,通过调用“ll” 可以查看是否添加成功。
使用 VScode 开发 ROS 的Python程序(简例)_第12张图片

8.配置 CMakeLists.txt

在CMakeLists.txt中找到大概第162行的catkin_install_python,将原来的自动生成python文件名改成你自定义文件名.py

9.编译python文件

①按下快捷键ctrl + shift + B,如果编译没有问题就可以继续下一步操作。
②打开新的终端,然后打开roscore。(roscore === 是 ROS 的系统先决条件节点和程序的集合, 必须运行 roscore 才能使 ROS 节点进行通信)
使用 VScode 开发 ROS 的Python程序(简例)_第13张图片
③再继续打开一个新的终端,输入“source ./devel/setup.bash”回车之后,继续输入“rosrun hello helloworld_p.py” 即“rosrun+包名+.py名”:运行指定的ROS节点
使用 VScode 开发 ROS 的Python程序(简例)_第14张图片
以上就是在Ubuntu中使用Vscode来编写一个ros的python文件,今天你学废了吗?

你可能感兴趣的:(ROS学习,vscode,python,VScode,ros)