第01课 安装并配置ROS环境

摘要:
Sudorosdepinitrosdepupdate 1.4.6设置环境用户需要在使用ROS功能包之前添加ROS环境变量,以便系统可以找到相应的ROS功能。到目前为止,您已经安装了运行核心ROS包所需的内容。到目前为止,ROS安装和环境配置已完成。

1. 安装ROS

  注意事项:

     如果你是使用类似apt这样的软件管理器来安装ROS的,那么安装后这些软件包将不具备写入权限,当前系统用户比如你自己也无法对这些软件包进行修改编辑。

    当你的开发涉及到ROS软件包源码层面的操作或者在创建一个新的ROS软件包时,你应该是在一个具备读写权限的目录下工作,就像在你当前系统用户的home目录下一样。

  按照官方 ROS 安装说明完成安装,具体步骤如下

    1.1 选择相应的ROS版本,本文以Melodic 为例,可根据自己的需求选择相应的版本,安装过程一样。

第01课 安装并配置ROS环境第1张

   2)点击“ROS Melodic Morenia",进入到 ROS Melodic 安装指南

  第01课 安装并配置ROS环境第2张

   1.3 选择要安装的平台,下面以Ubuntu 为例,点击上图红色框中的”Ubuntu",即可进入 在 Ubuntu 中安装 ROS Melodic教程。

    注意:ROS Melodic Morenia 发行版可以安装在 Ubuntu Artful (17.10),Bionic (18.04 LTS),本例将其安装在 Ubuntu 18.04上。

  1.4  在 Ubuntu 中安装 ROS Melodic

    1.4.1 配置 Ubuntu 软件仓库

      配置你的 Ubuntu 软件仓库(repositories) 以允许 "restricted"、"universe" 和 "multiverse"这三种安装模式。 你可以按照 Ubuntu 中的配置指南来完成配置。

    1.4.2 添加 sources.list

      配置软件下载源,设置你的电脑以从 packages.ros.org 接收软件.

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

      注:若下载速度慢,建议使用国内或者新加波的镜像源,这样能够大大提高安装下载速度。

    1.4.3  添加公钥

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

     添加公钥的作用,就是下面安装ROS时,能被授权访问刚才添加的软件源。如果你无法连接到公钥服务器,尝试用 hkp://pgp.mit.edu:80 替换上述命令中的服务器地址。

     1.4.4 开始安装

      首先,更新软件源,确保你的 Debian 包索引是最新的:

sudo apt update

      在 ROS 中有很多不同的库和工具。我们提供了四种默认选项供你开始。你也可以单独安装 ROS 的软件包。

桌面完整版(推荐): : 包含 ROS、rqtrviz、机器人通用库、2D/3D 模拟器、导航以及 2D/3D 感知包。

sudo apt install ros-melodic-desktop-full

  桌面版: 包含 ROS,rqtrviz 和机器人通用库

sudo apt install ros-melodic-desktop

  ROS-基础包: 包含 ROS 包,构建和通信库。没有图形界面工具。

sudo apt install ros-melodic-ros-base

  单独的包: 你也可以安装某个指定的ROS软件包(使用软件包名称替换掉下面的PACKAGE):

sudo apt install ros-melodic-PACKAGE

  如:

sudo apt install ros-melodic-slam-gmapping

  1.4.5  初始化 rosdep

    在使用 ROS 之前,需要初始化 rosdeprosdep 可让你能够轻松地安装被想要编译的源代码,或被某些 ROS 核心组件需要的系统依赖。

sudo rosdep init
rosdep update

  1.4.6 设置环境

    用户在使用 ROS的功能包前,需要添加ROS 环境变量,这样系统才能找到相应的ROS功能包。

    下面的命令就是在当前 bash 会话中添加 ROS 环境变量,但其只在当前会话中有效,每次打开新的终端时,都要重新设置,所以不建议使用此法。

source /opt/ros/melodic/setup.bash

    可以将配置命令写入到用户的.bashrc文件中,然后使用source命令将该配置文件使能,这样每次新开bash 会话(如打开终端)ROS 环境变量自动添加,很方便:

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

     如果你不只安装了一个 ROS 发行版, 可在~/.bashrc 文件中进行修改,使用你需要的 ROS 版本的 setup.bash 。

    到目前为止,你已经安装了运行核心 ROS 包所需的内容。

  1.4.7 构建工厂依赖

    安装 rosinstall 和其他构建ROS包的依赖项,终端运行下面命令:

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

    为了创建和管理自己的 ROS 工作区,需要有各种各样的工具。例如:rosinstall 是一个经常使用的命令行工具,它使你能够轻松地从一个命令下载许多 ROS 包的源树。

  1.5 测试ROS是否安装成功

  打开终端,输入roscore命令

roscore

  第01课 安装并配置ROS环境第3张

  然后再打开一个终端输入rostopic list, 若出现 话题 /rosout 和 /rosout_agg则说明ROS安装成功。

rostopic list

  第01课 安装并配置ROS环境第4张

  

2  查看ROS环境

  在安装ROS期间,你会看到提示说需要 source 多个setup.*sh文件中的某一个,或者甚至提示添加这条'source'命令到你的启动脚本里面。这些操作是必须的,因为ROS是依赖于某种组合空间的概念,而这种概念就是通过配置脚本环境来实现的。这可以让针对不同版本或者不同软件包集的开发更加容易。

  如果你在查找和使用ROS软件包方面遇到了问题,首先要检查脚本环境是否配置正确。

  一个检查像ROS_ROOTROS_PACKAGE_PATH这样的环境变量的方法是,通过以下命令查看:

$ printenv | grep ROS

  第01课 安装并配置ROS环境第5张

 由上图所示,可以看到我们的ROS环境变量,ROS的功能包路径,ROS安装的根目录,ROS版本等,如果没发现我们之前的配置ROS环境变量,说明之前的配置失败。则需重新按上述配置过程重新执行。

  到此为止ROS的安装和环境配置已完成。

3、创建ROS工作空间

   在安装并配置好ROS环境后,我们需要创建自己的ROS工作空间来存放我们开发的功能包,下面我们开始创建一个 catkin 工作空间

$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/
$ catkin_make

  执行上述代码即可在当前用户的主目录下创建工作空间catkin_ws。上述代码的作用分别是 在当前用户主目录下创建两级目录 catkin_ws/src,而src目录将存储我们开发的功能包源码,然后进入目录 catkin_ws 下,执行ROS编译命令 catkin_make,则完成初始化ROS工作空间 catkin_ws。

   catkin_make 命令在 catkin 工作空间 中是一个非常方便的工具。第一次在你的工作空间中运行它时,它会在你的 'src' 文件夹里创建一个 CMakeLists.txt 的链接。

第01课 安装并配置ROS环境第6张

   此时输入 ls,则看到 catkin_ws 下多了两个目录 build和devel,则说明 ROS工作空间 catkin_ws创建成功

第01课 安装并配置ROS环境第7张

   

  注意, 对于 Python 3 用户,在一个空的 catkin 工作空间中第一次运行 catkin_make 的命令应为 

$ catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

  这将会配置 catkin_make 使用 Python 3.你可以在随后的构建中只使用 catkin_make

配置工作空间:

  在创建好ROS工作空间 catkin_ws 后 ,我们需要将该工作空间添加ROS环境变量中,以便后面在此开发的ROS功能包能被系统找到。配置的方法就是使能 工作空间catkin_ws下的devel目录下的setup.bash,具体操作如下:

  在当前系统的 .bashrc 文件末尾加入下面一行命令:

source /home/ubuntu/catkin_ws/devel/setup.bash

 注意:将上述 setup.bash 文件的目录换成你的工作空间中的路径,且必须使用绝对路径。

 第01课 安装并配置ROS环境第8张

 然后source .bashrc文件,使当前的配置生效:

source ~/.bashrc

 最后查看工作空间是否已配置正确,ROS_PACKAGE_PATH环境变量是否包含你的工作空间目录,命令如下:

echo $ROS_PACKAGE_PATH

  若输出的ROS包路径中含有刚才创建的工作空间,说明 配置成功。

    

免责声明:文章转载自《第01课 安装并配置ROS环境》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇luogu 1090 合并果子Linux Shell中的延时函数下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Docker之Dockfile

什么是DockerFile Dockfile是一种被Docker程序解释的脚本,Dockerfile由一条一条的指令组成,每条指令对应Linux下面的一条命令。Docker程序将这些Dockerfile指令翻译真正的Linux命令。Dockerfile有自己书写格式和支持的命令,Docker程序解决这些命令间的依赖关系。Docker程序将读取Dockerf...

vsftpd配置手册(实用)

作者: 木頭 来源: PHPChina 开源社区门户1、vsftpd配置参数详细整理#接受匿名用户anonymous_enable=YES#匿名用户login时不询问口令no_anon_password=YES#匿名用户主目录anon_root=(none)#接受本地用户local_enable=YES#本地用户主目录local_root=(none)#如...

redis集群之REDIS CLUSTER

1. Linux系统配置 1.1. vm.overcommit_memory设置 overcommit_memory文件指定了内核针对内存分配的策略,其值可以是0、1、2。 0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。 1, 表示内核允许分配所有的物理内存,而不管...

adb 环境配置 常用命令 [MD]

markdown 格式 博文地址 我的GitHub 我的博客 我的微信 我的邮箱 baiqiantao baiqiantao bqt20094 baiqiantao@sina.com adb简介 ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。...

Windows下手动配置Oracle Client的要点

Windows下手动配置Oracle Client的要点我的Windows上原有Oracle 9的客户端, 想使用cx_Oracle和python些点东西, cx_Oracle官网上没有for python2.7和Oracle9的安装包, 但有for oracle10的安装包. 所以需要先安装Oracle 10 client. 可能是因为卸载Oracle...

Sed命令

sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存储输出。Sed主要...