『ROS 入门 (一)』什么是ROS? 您所在的位置:网站首页 ros中科大的源 『ROS 入门 (一)』什么是ROS?

『ROS 入门 (一)』什么是ROS?

2023-06-02 02:22| 来源: 网络整理| 查看: 265

第一节:什么是ROS?

机器人操作系统(Robot Operating System, ROS),起源于斯坦福人工智能实验室STAIR(Standford Artificial Intelligence Robot),2007年机器人公司Willow Garage 和斯坦福人工智能实验室合作开发机器人操作系统,并于2009年推出ROS 0.4。自2010年在ROS 0.4的基础上推出ROS 1.0后,每年都会发布一两个版本,目前长期支持的版本是Melodic 和 Kinetic,其中Melodic是目前最新的长期稳定支持版本,本系列教程使用Melodic这个版本进行制作。ROS 1.0虽然经过了10多年的开发,但并不稳定(学习足够了),还不适应于工业环境。目前,全新改版ROS 2.0已经发布测试版,支持windows、Linux和mac相信未来会有更好的体验。总的来说,ROS目前主要使用人群是科研人员和开源用户,如果需要应用于工业领域还需要做定制和优化,比如百度的无人驾驶就是在ROS上进行二次开发的。

ROS的特点:

ROS采用了分布式框架,通过点对点的设计让机器人的不同进程可以分别运行,方便模块化的修改和定制,提高了代码复用程度和系统容错能力。一般每一个节点(node)对应实现一个功能,例如有一个node来控制底盘轮子的运动,有一个node驱动摄像头获取图像,有一个node驱动激光雷达等等。这样一个硬件开发一次,其他人就可直接或少量的定制修改后进行使用,这就大大提高了代码发复用度,减少了开发成本和时间。

ROS支持多种编程语言,Python、C++、Java、C#等,其中Python和C++是应用最广的ROS开发语言。在一个机器人系统中,不同节点的编写语言可以不同,这并不影响他们之间的通信,这是因为ROS采用了一种语言中立的接口定义语言来实现各模块之间消息传送。

ROS有一个庞大的开源社区,我们教程所使用的ROS系统就是这个社区发布的。在社区力你可以找到成千上万的由万能的网友提供的ROS软件包,这可以节省我们大量的开发时间。其次,完善的文档和庞大的社区可以解决我们学习过程中遇到的方方面面的问题。

这里的教程主要是帮助大家快速入门ROS,为了避免过程中学习的枯燥,我们会以一辆树莓派小车为案例进行演示。

第二节:虚拟机Virtual Box的安装和设置

a)下载安装VirtualBox

VirtualBox剪切板共享 | 文件拖拽

设置 ⇒ 常规⇒高级⇒共享剪切板双向,拖放双向

设置⇒存储⇒控制器SATA⇒勾选”使用主机输入输出(I/O)缓存”

存储⇒控制器SATA⇒点击*.vdi-勾选”固态驱动器”

启动虚拟机 ⇒ 左上角设备 ⇒ 安装扩展增强功能

重启虚拟机

Ps:如果找不到工具栏可在 设置⇒ 用户界面 中勾选工具栏 并重启虚拟机即可

b)在虚拟机中安装Ubuntu

    鉴于网上有许多教程,这里不多说,视频里面会有一个简单的演示。

第三节:ROS系统的安装(Ubuntu18.04,Melodic)

第一步:Ubuntu 环境配置

打开Ubuntu设置 ⇒ 软件与更新 ⇒  Ubuntu软件

勾选Universe,restricted,multiverse及源代码四项

修改下载源为国内镜像(阿里云、中科大的都可以,国外源速度也许会很慢)

第二步:添加ROS下载源和下载密钥

a)官方的源国内使用可能速度较慢,我们使用清华或中科大的源,运行下面命令中的一条即可:

清华的源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

中科大的源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

b)添加下载密钥:

sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

第三步:安装ROS

a)首先更新一下系统:

sudo apt update && sudo apt-get upgrade

b)如果是为了学习ROS我们一般推荐安装Desktop-Full,里面包含了 : ROS, rqt, rviz, , 2D/3D 仿真 and 2D/3D 感知等,比较的全面,个人的PC、笔记本上一般就装这个,不然很多的库再在开发过程当中就会提示缺失。

sudo apt install ros-melodic-desktop-full

除了上面的安装方法,你还可以根据需求安装下面的方式进行安装:

Desktop,但是相对来说不是很全 只包含了ROS, rqt, rviz和其他一些常用的库。对ros需求不是很大的朋友可以装这个版本。

sudo apt install ros-melodic-desktop

ROS-Base,这个版本就只包含了一些ROS的基本的东西,没有GUI工具,机载处理器推荐安装这个,比较省空间

sudo apt install ros-melodic-ros-base

单独的包,如果缺少或需要添加某一个包(package),可以通过这种方式安装

sudo apt install ros-melodic-slam-gmapping

c)另外,通过下面命令可以查看以及安装好的包(package)

apt search ros-melodic

第四步:配置ROS

a)初始化rosdep

sudo rosdep init && rosdep update

初始化rosdep是使用ROS前必要的一步,它可以为你在编译某些源码时为其安装一些系统依赖,同时也是某些ROS核心功能组件所必须用到的工具。

b)ROS环境配置

echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc && source ~/.bashrc

ROS的环境配置,使得你每次打开一个新的终端,ROS的环境变量都能够自动配置好,也就是添加到bash会话中,因为命令 source /opt/ros/kinetic/setup.bash 只在当前终端有作用,即具有单一时效性,要想每次新开一个终端都不用重新配置环境,就用echo语句将命令添加到bash会话中。

c)安装rosinstall 和其他依赖

sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

rosinstall是ROS中一个独立分开的常用命令行工具,它可以方便让你通过一条命令就可以给某个ROS软件包下载很多源码树。

第五步:测试ROS

a)首先启动ROS,输入代码运行roscore:

$ roscore

b)在终端重新打开一个新的TAB并输入

$ rosrun turtlesim turtlesim_node

c)再在终端重新打开一个新的TAB并输入

$ rosrun turtlesim turtle_teleop_key

这是你会看到弹出一个窗口,并有一只小海龟,通过键盘上的上下左右键可以控制小乌龟的运动。这表明你的ROS以及成功安装并正常运行。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有