ROS集成开发环境搭建

和大多数开发环境一样,理论上,在 ROS 中,只需要记事本就可以编写基本的 ROS 程序,但是工欲善其事必先利其器,为了提高开发效率,可以先安装集成开发工具和使用方便的工具:终端、IDE…

1.安装终端

在使用ros时需要频繁的同时打开新的终端窗口,为了解决这个问题,我们可以下载一个Terminator。安装完后效果如下:
在这里插入图片描述

Terminato安装步骤

安装步骤很简单,新建一个终端窗口输入一个命令就行了
步骤如下:
第一步:先按快捷键 ctrl+alt+t,这时候会出现一个终端窗口
第二步:在终端窗口输入命令sudo apt install terminator
如下图所示:在这里插入图片描述
第三步:回车,并输入密码,然后等待完成下载即可。
下图为下载中图片
在这里插入图片描述
下图为安装成功图片
在这里插入图片描述
现在你用快捷键ctrl+alt+t,出来的终端窗口效果如下:
在这里插入图片描述
要想实现多窗口,你得先把鼠标移动到窗口黑色区域中,然后右键,会出现以下画面:
在这里插入图片描述
这里的水平分割和垂直分割会同时把多个窗口放在相邻位置,从此你就不需要一个一个频繁的创建新窗口了。
如果你想方便使用Terminator,你可以用鼠标点击桌面左下角显示应用程序
然后你就会找到了Terminator,如下图示:
在这里插入图片描述
此时你只需要鼠标右键点击他,然后会有一个添加到收藏夹选项,你鼠标左键点击他就行,他就会出现在你桌面的左边那一列了。
在这里插入图片描述
完成后的效果图如下:
在这里插入图片描述

2.vscode安装

VSCode 全称 Visual Studio Code,是微软出的一款轻量级代码编辑器,免费、开源而且功能强大。它支持几乎所有主流的程序语言的语法高亮、智能代码补全、自定义热键、括号匹配、代码片段、代码对比 Diff、GIT 等特性,支持插件扩展,并针对网页开发和云端应用开发做了优化。软件跨平台支持 Win、Mac 以及 Linux操作系统。

下载

个人建议:下载之前,我建议大家还是使用20.04的ubantu的linux系统吧,我那18.04的ubantu装了最新版的vscode之后,使用命令code .之后启动不了,不知道为啥,我试着把最新的卸载了,安装旧版本的vscode,发现能启动,但安装不了python,导致功能包创建不了rospy依赖。但使用20.04的ubantu的linux系统完全遇不到问题。

vscode软件下载地址如下:
你把下面两个网址其中一个复制之后,到Linux系统桌面上把火狐浏览器打开,在这个浏览器里打开这个网址。

vscode 下载:https://code.visualstudio.com/docs?start=true
历史版本下载链接: https://code.visualstudio.com/updates
这里我选择打开的是第一个网址,进去之后然后点击dowlnoad
在这里插入图片描述
点击完之后,再点击如下图画的小圆圈的按钮,也就是的.deb 右边的x64,这是Linux的运行版本的vscode。
在这里插入图片描述
点击完之后他就会开始自动下载。
下载完之后的样子
在这里插入图片描述

安装方法1

下载完之后返回桌面,点击左侧<文件>,再在打开的页面中点击<下载>,操作步骤如下图所示:
在这里插入图片描述
下载完之后再鼠标右键点击这个下载的vscode文件,会弹出如下图所示界面,点击最上面的<用软件安装打开>。
在这里插入图片描述
再然后点击如下图所示的<安装>按钮就行了
在这里插入图片描述

安装方法2

方式2:sudo dpkg -i xxxx.deb
方法2安装步骤如下:
第一步:在下载位置用鼠标右键打开一个新的终端窗口
效果如下图所示:
在这里插入图片描述

第二步:在窗口先输入sudo dpkg -i命令
第三步:去看看下载的vscode文件的属性,如下图所示:
在这里插入图片描述
把红色圆圈里的复制了,粘贴到刚开的终端窗口sudo dpkg -i命令后面,效果图如下所示。然后按回车就行了。等待安装完成即可。
在这里插入图片描述

3.vscode 集成 ROS 插件

要安装的插件有c++、python、Cmake tools、ROS。
打开vscode后,点击左侧的扩展按钮,如下图所示:
在这里插入图片描述
接下来在如下图圆圈圈出的位置去搜索要安装的插件
在这里插入图片描述
c++插件如下图
在这里插入图片描述
python插件如下图
在这里插入图片描述
cmake tools插件如下图
在这里插入图片描述
ROS插件如下图
在这里插入图片描述
自己去搜索栏中下载上图中的插件。

4.vscode 使用_基本配置

4.1 创建 ROS 工作空间

命令如下

mkdir -p xxx_ws/src(必须得有 src)
cd xxx_ws
catkin_make

对上述命令解释如下:

mkdir -p xxx_ws/src

这个命令中mkdir -p 是一个创建工作空间的命令,xxx_ws是工作空间的名字,xxx表示你自己给这个工作空间取的名字,可别以为这三个xxx是命令哈。创建一个工作空间一定要在这个工作空间下创建src文件,无需知道为什么,所以xxx_ws后要紧接着/src。src是专门存放功能包的文件夹,在这里面会存储这之后要创建的功能包。

cd xxx_ws

这个命令的意思是进入xxx_ws这个工作空间,命令cd加空格再加一个工作空间名称就是进入这个工作空间的作用。

catkin_make

这个命令就是编译工作空间的作用,把这个名为xxx_ws的工作空间编译后,你发现这个文件里会多两个文件,一个叫build,一个叫include。如下图所示:
在这里插入图片描述

4.2 启动 vscode

进入工作空间 xxx_ws 启动 vscode

cd xxx_ws
code .

code .的作用就是启动vscode,注意,使用code .之前一定要先进入工作空间cd xxx_ws

4.3 vscode 中编译 ros

第一步:按下快捷键 ctrl + shift + B 调用编译,选择:catkin_make:build右边的小齿轮,也就是也就是我画红色圆圈的地方。
在这里插入图片描述
这时候画面会变成下面这张图所示:
在这里插入图片描述
第二步:再把当前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"
        }
    ]
}

4.4 创建 ROS 功能包
第一步:选定 src 右击 —> create catkin package,操作页面如下图所示:
在这里插入图片描述
第二步:设置包名 添加依赖
注意:具体操作位置是上面的输入栏
包名我写的是hello_vscode
操作页面如下图所示:
在这里插入图片描述
加入依赖操作页面如下图所示:
在这里插入图片描述
就是加入roscpp rospy std_msgs依赖

4.5 C++ 实现
在功能包的 src 下新建 cpp 文件,用鼠标右键点击src新建文件夹就行,然后取名为什么什么.cpp就行

/*
    控制台输出 HelloVSCode !!!

*/
#include "ros/ros.h"

int main(int argc, char *argv[])
{
    setlocale(LC_ALL,"");//这一行代码不是必须的,只是防止ROS__INFO 终端输出有中文时,会出现乱码
    //执行节点初始化
    ros::init(argc,argv,"hello");//初始化节点名称叫hello
    ROS_INFO("HAHAHA");//让这个节点输出日志为HAHAHA
    return 0;
}

PS1: 如果没有代码提示

修改 .vscode/c_cpp_properties.json

设置 “cppStandard": "c++17
操作页面如下:
在这里插入图片描述

PS2: main 函数的参数不可以被 const 修饰//这个别管

PS3: 当ROS_INFO 终端输出有中文时,可能会出现乱码

INFO: ???

解决办法:在函数开头加入下面代码的任意一句

setlocale(LC_CTYPE, "zh_CN.utf8");
setlocale(LC_ALL, "");

4.4 配置 CMakeLists.txt

注意是如下图所示画圈处的位置的CMakeLists.txt
在这里插入图片描述
C++ 配置:

add_executable(节点名称
  src/C++源文件名.cpp
)
target_link_libraries(节点名称
  ${catkin_LIBRARIES}
)

上面是配置程序的模板
下面是我自己自己写的:

add_executable(hello_vscode_c src/hello_vscode_c.cpp)//左边是项目名称也叫映射名称,这个名称可以自己取,但我们在编写的时候一般写项目名称,右边的就是.cpp源文件全名了
 target_link_libraries(hello_vscode_c//hello_vscode_c这个就和上面add_executable()函数中左边的映射名称一致##下面程序rosrun的先是src中功能包名称#hello_vscode 在是功能包中的hello_vscode_c.cpp源文件的映射名称hello_vscode_c
  ${catkin_LIBRARIES}
)

4.5 编译执行

编译: ctrl + shift + B
然后在vscode下方找到+号,点击他新建终端,具体操作如下图:在这里插入图片描述
然后在这个窗口启动ros核心,具体操作如下图:
在这里插入图片描述
再按回车键。
再点击+号,新建终端窗口,输入source ./devel/setup.bash,操作页面如下图:
在这里插入图片描述
然后再输入rosrun hello_vscode hello_vscode_c,效果如下图所示:
在这里插入图片描述

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌你一颗小芯芯

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值