2、ROS集成开发环境的搭建(学习笔记)
2.1Visual Studio Code的安装、环境搭建
(1)、安装
下载Visual Studio Code(以下简称为VScode)
链接:Documentation for Visual Studio Code
找到Linux系统下的下载
下载是用国外的镜像下载,下载的比较速度比较慢,可以将下载链接改到国内。
复制下载链接后将az764295.vo.msecnd.net改为vscode.cdn.azure.cn
比如我的下载链接为:
改为中国镜像下载链接:
下载完成后,将下载好的安装包移动Ubuntu系统下,点击用软件安装打开安装。
(2)安装好Virtual Studio Code后配置相关的环境
首先打开Virtual Studio Code,安装一些必要的插件
C++、Python、ROS、Cmake,如果需要使用中文,也可以安装Chinese(simplified)。插件安装完成,重启即可。
2.2 Virtual Studio Code使用的基础配置
2.2.1创建一个ROS工作空间
打开终端
mkdir -p demo02_ws/src
结果如下
进入ROS工作空间
cd demo02_ws/
调用catkin_make
catkin_make
会发现工作空间目录下有比原先多建立两个文件夹
2.2.2启动VScode
输入
code .
2.2.3配置编译命令与参数
快捷键ctrl+shift+B,选择catkin_make:build,点击后面的设置图像
可以点击配置设置为默认,修改.vscode/tasks.json 文件
{
// 有关 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"
}
]
}
设置好后,按Ctrl+shift+B,默认编译整个工作空间
2.2.4创建ROS功能包
选中src右键 --->create catkin package
如图:
给文件命名为hello_vscode_node,回车
如图:输入roscpp rospy std_msgs,回车
结果如下图:
2.3在Virtual Studio Code 基础配置上C++实现
2.3.1 在src下新建一个hello_vscode_c.cpp文件,打开文件进行代码书写
//头文件
#include "ros/ros.h"
int main(int argc , char *argv[])
{
//解决中文乱码问题
setlocale(LC_ALL,"");
ros::init(argc , argv , "hello_c");
ROS_INFO("hello,哈哈哈");
return 0;
}
2.3.2配置 CMakeLists.txt
在CmakeLists3txt找到如下配置
2.3.3编译、运行
Ctrl+shift+B进行编译
打开一个终端,输入roscore
再打开一个终端,输入
source ./devel/setup.bash
回车
再输入
rosrun hello_vscode_node hello_vscode_c
回车
2.4在Virtual Studio Code 基础配置上Python实现
2.4.1再hello_vscode_node下新建一个scripts文件夹,再该文件夹下新建一个hello_vscode_p.py文件,再文件中编写代码
#! /usr/bin/env python
#现象:当不配置 CMakelist.txt执行Python文件抛出异常
# /usr/bin/env: "python":中没有那个文件或目录
#原因:当前noetic 使用的是python3
#解决:
# 1.直接声明解释器为python3(不建议)
# 2.通过软连接将python 链接到python3(建议) 终端输入: sudo ln -s /usr/bin/python3 /usr/bin/python
#导包
import rospy
#入口
if __name__ == "__main__":
#初始化ROS节点
rospy.init_node("hello_p")
#输出日志
rospy.loginfo("hello vscode! 这是Python!")
2.4.2配置 CMakeLists.txt文件
2.4.3编译、运行
Ctrl+shift+B编译
再script下打开一个终端,输入
chmod +x*.py
回车
再输入
ll
回车,查看权限
再打开一个终端,输入
roscore
回车
回到上一个终端,输入
cd ~/demo02_ws/
回车
输入
source ./devel/setup.bash
回车
输入
rosrun hello_vscode_node hello_vscode_p.py
回车
今天的学习就到这来了,刚刚开始学,有什么错误还请大佬指正