> 文章列表 > 对ROS的初步了解和环境搭建

对ROS的初步了解和环境搭建

对ROS的初步了解和环境搭建

ROS的入门前的了解以及环境搭建

  • 一、 ROS的基础简介
    • 1. ROS的诞生背景
    • 2. ROS主要的功能
    • 3. 发展历程
  • 二、 ROS的安装
    • 1. ROS的安装
    • 2. ROS的测试
  • 三、ROS的一些集成开发环境的安装
    • 1. 安装终端
    • 2. 安装VScode
    • 3.测试VScode

一、 ROS的基础简介

1. ROS的诞生背景

机器人实际上是一种高度复杂的系统性实现。机器人的设计与实现包含了软件、硬件、嵌入式等的设计,是目前存在的各种软硬件的集成。为了帮助开发者不用重复开发,也就是可以充分的分工协作,遵循“不重复开发轮子的原则”建立了机器人通用的软件框架——ROS系统。
通俗来讲,就像手机充电一样,不同的手机有不同的充电线,有时相同的充电线和手机充电接口又有不同的协议。这时候开发一套软件系统,统一所有的充电协议,使得通用性更强。ROS的作用与此类似。

2. ROS主要的功能

ROS的主要设计目标

 1.  实现代码复用 ;2.  分布式——分散计算压力;3.  松耦性——便于分享;4.  精简——容易和其他机器人框架集成;5.  语言独立;6.  易于测试;7.  大型应用;8.  丰富的组件化工具包;9.  免费且开源 

3. 发展历程

发展历程在这里不进行过多的赘述,可以参考:http://wiki.ros.org/ROS/Introduction

二、 ROS的安装

因为整个学习是在linux上进行的,所以需要线安装虚拟机或者装双系统,使用ubuntu进行操作。由于主要是对ROS进行学习,就暂时不进行这两个模块的说明。如果没有特殊说明,以后的操作全部都是在Ubuntu上进行的。

1. ROS的安装

ROS的安装,可以直接到ROS的官网查看详细的安装过程,安装先择你用的系统类型及其版本,右相对应的过程。这里我们使用的Ubuntu,也给出ROS官网中对应的在Ubuntu中安装ROS Noetic的网址:
ROS官网安装过程http://wiki.ros.org/cn/Installation/Ubuntu
只要严格按照此步骤进行,安装不会出现任何问题。

注意!!!

在进行步骤 sudo apt install ros-noetic-desktop-full 时,可能会因为网络问题出现多次失败。
不过,不用担心,多次调用更新和安装的命令,直到成功即可。

2. ROS的测试

ROS设计的目标之一就是易于测试
因此,在测试的时候,可以使用ROS的内置小程序直接检测ROS环境时候搭建完成,并且检测是否可以正常运行。

  1. 首先需要启动3个命令行(快捷键:Ctrl + Alt + t
  2. 在命令行1中输入:roscore
  3. 在命令行1中输入:rosrun turtlesim turtlesim_node(此时会弹出图形化界面,也就是一个含有小乌龟的窗口)
  4. 在命令行1中输入:rosrun turtlesim turtle_teleop_key(在3中可以通过键盘的上下左右控制2中乌龟的运动)

测试结果如下图所示:
测试结果及说明

三、ROS的一些集成开发环境的安装

1. 安装终端

通过对ROS环境的测试,可以看到,想要正常的运行ROS,有时需要打开很多端并且会频繁使用。
因此,在此可以安装一个比较好用的终端:Terminator。安装完成之后,就像我的上图一样,可以对终端进行分割。
安装的过程也很简单,至于要在终端键入以下命令即可:

sudo apt install terminator

然后,通过在应用程序中的搜索,可以将它添加到收藏夹。

Terminator的UI

2. 安装VScode

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

使用VScode边辑更为方便

  1. 下载连接:https://code.visualstudio.com/docs?start=true;历史版本的下载: https://code.visualstudio.com/updates
    注意: 下载的时候下载.deb结尾的安装包。

  2. 双击安装即可;卸载可以使用以下命令:

    sudo dpkg --purge  code
    
  3. 需要安装一些插件(快捷键:Ctrl + Shift + x 可以快速打开扩展安装的界面)
    3.1. C/C++——使用c++语言进行编写程序
    在这里插入图片描述
    3.2. 如果不喜欢中文可以安装中文语言的插件,进行一下汉化
    在这里插入图片描述
    3.3. CMake Tools——需要进行cmake编译和连接
    在这里插入图片描述
    3.4. Python
    在这里插入图片描述
    3.5. ROS——做的时ROS开发,因此ros插件是必须的
    在这里插入图片描述

3.测试VScode

  1. 创建工作空间

//demo_ws是ros的工作空间、src下放我们的功能包
mkdir -p demo_ws/src(必须得有 src)
//进入到ros的工作空间下
cd demo_ws
catkin_make

  1. 启动VScode

进入 demo_ws启动 VScode
在ros的工作空间下(这里是demo_ws中),在命令行键入 : code .
注意:这里的“code”和“.”中间有一个空格

  1. 编译ros

快捷键 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"}]
}
  1. 创建ros功能包

选定 src 右击 —> create catkin package

在这里插入图片描述

设置包名:
在这里插入图片描述
设置依赖:
在这里插入图片描述
最后,回车结束。

  1. C++实现和CMakeLists.txt配置
    在功能包下面的src中右键——>新建文件,建立demo01_ws.cpp文件。

cpp文件中的内容如下所示:

/*控制台输出 HelloVSCode !!!
*/
#include "ros/ros.h"
//注意:main 函数的参数不可以被 const 修饰
int main(int argc, char *argv[])
{//设置的允许中文输出setlocale(LC_ALL,"");//执行节点初始化ros::init(argc,argv,"HelloVSCode");//输出日志ROS_INFO("Hello VSCode!!!");return 0;
}

CMakeLists.txt配置:

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

如果按照上述步骤进行的话,这里设置应该如下图所示:
在这里插入图片描述

  1. 编译执行

先启动命令行:
roscore
编译:ctrl + shift + B
执行: 打开终端,进入到ros工作环境,首先进行:source ./devel/setup.bash
然后在终端键入:rosrun 包名 C++节点这里是 rosrun demo_ws demo01_ws

最终命令行输出: HelloWorld!
至此,对ROS的基本了解与基本配置已经完成,接着就应该对ROS架构进行了解。