ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

2023-05-16

ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

文章目录

  • 1 ROS安装步骤
    • 1.1 ROS版本
    • 1.2 确定Ubuntu版本号
    • 1.3 安装ROS
      • 1.3.1 Ubuntu初始环境配置
      • 1.3.2 ①添加源地址文件sources.list
      • 1.3.3 ②添加密钥(key)
      • 1.3.4 ③安装ROS
      • 1.3.5 ④初始化rosdep
      • 1.3.6 ⑤设置环境变量
      • 1.3.7 ⑥安装rosinstall
    • 1.4 ROS安装完成
    • 1.5 测试ROS
  • 2 ROS卸载步骤
  • 3 附:检查脚本配置环境
  • 4 参考资料

1 ROS安装步骤

1.1 ROS版本

ROS目前只支持在Linux系统上安装部署, 它的首选开发平台是Ubuntu。

发布时间ROS版本Ubuntu版本
2017.5Lunar LoggerheadUbuntu 17.04
2016.5Kinetic KameUbuntu 16.04
2015.5Jade TurtleUbuntu 15.04
2014.7Indigo lglooUbuntu 14.04
2013.9Hydro MedusaUbuntu 12.04
2012.12Groovy GalapagosUbuntu 12.04

:如果Ubuntu版本和ROS版本不对应的话,安装就不会成功了~

笔者使用的平台是Ubuntu 16.04, ROS版本是Kinetic。

说明:Ubuntu官方下载网址https://www.ubuntu.com/download/desktop

1.2 确定Ubuntu版本号

在终端中输入:

cat /etc/issue 

image-20200325180821296

1.3 安装ROS

1.3.1 Ubuntu初始环境配置

打开 Ubuntu的设置 -> 软件与更新 -> Ubuntu软件 ->勾选关键字 universe , restricted , multiverse 三项,和下载源。 如图所示:

image-20200326014808792

以上配置完成后, 就可以正式开始安装ROS了, 打开终端。

1.3.2 ①添加源地址文件sources.list

  • 添加源地址文件使电脑系统可以接受来自packages.ros.org的软件包;
  • 增加下载源(增加ubuntu版的ros数据仓库,即下载源)(通用指令适合任何版本的ros)
  • 执行如下命令将镜像添加到Ubuntu系统源列表中 :
$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

本人选择了中国科技大学的镜像源,可以保证下载速度。

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

说明:一旦添加了正确的源地址文件,操作系统就知道去哪里下载程序,并根据命令自动安装软件。

1.3.3 ②添加密钥(key)

公钥是Ubuntu系统的一种安全机制, 也是ROS安装中不可缺的一部分。 不然在安装的时候会通不过系统的安全认证而无法安装。

方法一

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

如果你无法连接到公钥服务器,尝试用 hkp://pgp.mit.edu:80 替换上述命令中的服务器地址。
方法二

$ curl -sSL 'http://keyserver.ubuntu.com/pks/lookup?op=get&search=0xC1CF6E31E6BADE8868B172B4F42ED6FBAB17C654' | sudo apt-key add -

寻找有效公钥 ,官网:http://wiki.ros.org/kinetic/Installation/Ubuntu

1.3.4 ③安装ROS

$ sudo apt-get update           # 更新系统, 确保自己的Debian软件包和索引是最新的。
$ sudo apt-get install ros-kinetic-desktop-full        # 桌面完整版安装(推荐)

简介:

重点:安装出现的问题及解决方法 http://wiki.ros.org/ROS/

ROS中有很多函数库和工具, 官网提供了四种默认的安装方式, 当然也可以单独安装某个特定的软件包。 这四种方式包括桌面完整版安装、 桌面版安装, 基础版安装、 单独软件包安装。

Ubuntu 16.04安装Kinetic版本

1)桌面完整版安装(推荐): 包含ROS、 rqt、 rviz、 通用机器人函数库、 2D/3D仿真器、 导航以及2D/3D感知功能 :

$ sudo apt-get install ros-kinetic-desktop-full  

2)桌面版安装:包含ROS、 rqt、 rviz、通用机器人函数库

$ sudo apt-get install ros-kinetic-desktop  

3)基础版安装: 包含ROS核心软件包、 构建工具、通信相关的程序库, 无GUI工具

$ sudo apt-get install ros-kinetic-ros-base  

4)单个软件包安装:这种安装方式在运行ROS缺少某些package依赖时会经常用到。 你可以安装某个指定的ROS软件包,使用软件包名称替换掉下面的PACKAGE

$ sudo apt-get install ros-kinetic-PACKAGE  

例如系统提示找不到slam-gmapping, 你就可以:

$ sudo apt-get install ros-kinetic-slam-gmapping  

查找可用的软件包, 请运行:

apt-cache search ros-kinetic

1.3.5 ④初始化rosdep

在使用ROS之前,还需要初始化rosdep,即ROS的软件包依赖项。。 rosdep可以方便在你需要编译某些源码的时候为其安装一些系统依赖, 同时也是某些ROS核心功能组件所必需用到的工具。

方法一:

$ sudo rosdep init && rosdep update

方法二:

$ sudo rosdep init
$ rosdep update

1.3.6 ⑤设置环境变量

$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc   
$ source ~/.bashrc             # 为了使环境变量设置立即生效

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

可能出现的问题:

https://answers.ros.org/question/247285/rosdep-update-errorthe-read-operation-timed-out/

  • 如果你使用 zsh,替换其中的 bash, 你可以用以下命令来设置你的shell:
$ echo "source /opt/ros/kinetic/setup.zsh" >> ~/.zshrc
$ source ~/.zshrc

1.3.7 ⑥安装rosinstall

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

$ sudo apt-get install python-rosinstall  

至此, ROS的安装就结束了, 下面测试ROS是否成功安装好。

1.4 ROS安装完成

在Ubuntu中,打开文件夹找到 Computer–opt–ros–kinetic

image-20200320174255703

①bin文件夹:放置一些具体的可执行的程序,在ros的bin文件夹下面保存的都是ros系统和一些功能包给我们提供的可以直接执行的命令,可以在终端下面执行这些命令。

注:在执行bin文件夹下面的命令时,必须先设置环境变量,不然系统无法找到bin文件夹。

②etc文件夹:ros相关的配置文件(用的相对少)

③include文件夹:包含所有通过命令行、通过终端安装的功能包的代码头文件。

④lib文件夹:包含通过终端安装功能包的可执行程序,也就是节点。功能包中的节点,通过运行节点,来启动相应功能包里面的功能。

⑤share文件夹:里面有很多通过终端安装的功能包,保存的是功能包里面接口的一些具体信息,接口包含话题、服务、action等。

1.5 测试ROS

第一步,打开一个终端测试roscore是否能正常启动,使用ROS必须保证roscore运行:

$ roscore                 # 启动 ROS Master

第二步,重新打开一个终端,执行以下命令:

$ rosrun turtlesim turtlesim_node      # 看到一只萌萌的海龟出现在屏幕上  

第三步,再开启一个终端,执行以下命令:

$ rosrun turtlesim turtle_teleop_key    # 鼠标在第三个终端窗口上,通过方向键操作小海龟

image-20200326021020935

image-20200325220233839

2 ROS卸载步骤

第一步,卸载功能包

sudo apt-get purge ros-*           # *功能包的名字

第二步,卸载包的依赖包

sudo apt-get autoremove

3 附:检查脚本配置环境

如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:

$ printenv | grep ROS

如果发现没有配置,那这个时候你就需要 ‘source’ 某些 'setup.*sh’文件了。

ROS会帮你自动生成这些‘setup.*sh’文件,通过以下方式生成并保存在不同地方:

  • 通过类似apt的软件包管理器安装ROS软件包时会生成setup.*sh文件。
  • 在编译或安装 catkin 软件包时自动生成。

4 参考资料

http://wiki.ros.org/kinetic/Installation/Ubuntu

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ROS入门笔记(二):ROS安装与环境配置及卸载(重点) 的相关文章

  • 嵌入式-C语言常见面试/笔试题

    1 关键字类型题 常见的关键字有 sizeof static const volatile 1 sizeof xff1a 通常与strlen做比较不同 例1 xff1a char str 61 Hello char p 61 str int
  • node.js的http模块输出request参数

    xff08 只作为本人自己记录所用 xff0c 参考需谨慎 xff09 ServerResponse 服务响应 domain null 域名 events finish Function resOnFinish 项目 eventsCount
  • ATI F/T Gamma sensor( 力和力矩传感器 ) 开箱测评 + 使用说明

    型号和序列号等参数如下 xff1a Description Six Axis Force Torque Sensor Manufacturer ATI Industrial Automation Serial Number FT29352
  • 阿克曼转向原理解析

    汽车的转向过程就是阿克曼转向 其也是移动机器人的一种运动模式之一 阿克曼基本原理 xff1a 汽车在行驶过程中 xff08 直线和转弯时候 xff09 xff0c 每个车轮的运动估计必须符合他的自然运动轨迹 xff0c 从而保证轮胎与地面始
  • 通过ROS控制真实机械臂(18) --- 构建 octocmap 用于碰撞检测和避障

    师兄和同门在做SLAM的时候 xff0c 经常会用到的 octomap xff0c 也就是八叉树地图 octomap相比于点云地图来说大大减小了地图的存储空间 既然octomap可以用于导航和避障 xff0c 那么自然也可以导入moveit
  • 【实用版】卡尔曼滤波及其扩展方法的区别与定位系统中的应用

    卡尔曼滤波及其扩展方法的区别与定位系统中的应用 卡尔曼滤波卡尔曼滤波的扩展EKFSPKFEnKF 定位系统中的应用 源自于学校课题 xff0c 主要用卡尔曼滤波KF及其扩展方法 xff08 包括扩展卡尔曼滤波EKF Sigma点卡尔曼滤波S
  • CP2102 USB to UART Bridge Controller 驱动安装(windows or Ubuntu)

    CP2102是一款USB转TTL电平的USB转串口芯片 xff0c 使用时发现诸多小网站上的驱动不是病毒就是安装后无效 xff0c 经同事推荐去官网下载后成功连接 官网地址 xff1a https www silabs com produc
  • 解决罗技GHUB 安装 一直初始化 下载不了问题

    罗技的GHUB在安装时一直处于初始化状态 xff0c 可以通过修改时间解决 原地址 罗技 GHub 解决初始化无法安装教程 侵删
  • 基于Cartographer的建图与导航

    一 RoboSense 16线雷达驱动安装 2 二 Cartographer的安装 2 三 配置文件结构说明 4 四 配置文件详解 4 2D lua文件的配置 5 2D launch文件的配置 6 2D pure location lua文
  • Ubuntu18.04安装autoware.ai

    前言 Autoware AI是世界上第一个用于自动驾驶技术的 All in One 开源软件 xff0c 关于它的介绍就不再赘述了 xff0c 感兴趣的可以去看一下知乎文章 xff0c 这里主要说明一下autoware ai的安装配置 之前
  • Baxter工作站建立及简单使用

    1 硬件 1个 Baxter Research Robot1台PC机或笔记本 xff0c 安装好Ubuntu系统 xff08 推荐Ubuntu16 04安装ROS kinetic xff09 1个无线路由器 xff08 千兆网口 xff09
  • selenium网页自动登录、打卡(二)

    文章目录 前言一 Python 43 Selenium二 通信环境 xff08 服务器 客户端 xff09 1 selenium借助cookie网页登录csdn2 私信发送消息流程3 将新增的逻辑融入原本的程序 前言 前面做了一个自动打卡的
  • 解决浏览器“由你的组织管理”或“由贵单位管理”

    寒假在家使用自己电脑时 xff0c 浏览器出现意外关闭 xff0c 一次以为没什么 xff0c 这两天出现好几次 xff0c 时不时地来一下 xff0c 太搞心态了 xff0c 必须给他解决了 一番检查后 xff0c 是浏览器自动安装了一款
  • Ubuntu18.04屏幕分辨率问题

    Ubuntu18 04屏幕分辨率问题 起因 本来昨天还好好的 xff0c 过了一夜 xff0c 就变了 xff0c 像极了咳咳 自行脑补 redwallbot 2小车上固定的屏幕 xff0c 屏幕分辨率本来应该是1920x1080的 xff
  • 使用frp实现内网穿透

    使用frp实现内网穿透 引言 一打五师兄走之前留了一块树莓派给我 xff0c 暑假闲来无事拿出来玩玩 如果每次都连接显示屏和键盘使用有点麻烦而且低级 正常笔记本和树莓派都连着实验室的WIFI xff0c 网段一样 xff0c 是可以ssh远
  • ffmpeg+nginx-rtmp转发视频流

    nginx与nginx rtmp module安装 画了好几天图 xff0c 实在有些乏力 xff0c 找点有意思的事情做做 觉得视频流传输挺有意思 xff0c B站找了些视频 xff0c 但感觉有些大同小异 xff0c 讲得不是很清楚 F
  • 2013 google校园招聘笔试题

    2013 google校园招聘笔试题 回忆版 xff0c 难免有错误 xff0c 欢迎指正 同时欢迎大家在评论中讨论答案 1 单项选择题 1 1如果把传输速率定义为单位时间内传送的信息量 xff08 以字节计算 xff09 多少 关于一下几
  • 调用微信公众号接口给女票每天打卡

    文章目录 前言一 微信公众号接口二 使用步骤 前言 最近网上很火的给女朋友做公众号推送 xff0c 作者 小红书 64 猪咪不是猪 且做作者 大方的共享成品 源码 43 教学 43 自动版本 起初 xff0c 人们认为这仅仅只是个简单且幼稚
  • js获取整个页面源码

    通过 outerHTML document documentElement outerHTML 通过异步请求 get window location href function res console log res 通过jQuery 34
  • 查看自己电脑被别人U盘拷贝文件

    windows 43 R reg query HKLM System currentcontrolset enum usbstor s gt c usb txt FriendlyName 第二种是使用USBViewer USBViewer

随机推荐

  • 普罗米修斯-docker安装

    1 只有一台服务器 xff0c 所以使用docker来进行试验 安装docker curl fsSL https get docker com bash s docker mirror Aliyun 查看安装版本 docker versio
  • netty参数设置

    1 通用参数 CONNECT TIMEOUT MILLIS Netty参数 xff0c 连接超时毫秒数 xff0c 默认值30000毫秒即30秒 MAX MESSAGES PER READ Netty参数 xff0c 一次Loop读取的最大
  • git 删除远程文件目录

    git rm r cached 文件夹名称 git add git commit m 34 aa 34 git push origin master
  • git删除远程分支

    branch 1 列出分支 xff0c a参数是列出所有分支 xff0c 包括远程分支 git branch a 2 创建一个本地分支 git branch branchname 3 创建一个分支 xff0c 并切换到该分支 git che
  • maven命令上传第三方包

    mvn deploy deploy file Dmaven test skip 61 true DgroupId 61 sdk的groupId DartifactId 61 包的名称 Dversion 61 版本号 如 xff1a 0 0
  • 解决图片上传权限问题

    linux默认umask为022 xff0c 对应权限为755 xff0c 其它用户可读可执行 可以vim etc profile xff0c 搜索umusk关键字查看 if UID gt 199 amp amp 34 96 usr bin
  • 微信小程序 解决 wx.request同步问题 方便开发 Promise方式

  • Python经典书籍有哪些?这份书单送给你_黑马程序员

    文章目录 一 Python 基础 01 Python编程 xff1a 从入门到实践 xff08 第2版 xff09 02 Python编程快速上手 xff08 第2版 xff09 03 Python编程初学者指南 04 笨方法 学Pytho
  • 记忆的方法

    1 第一招 xff0c 在背书的时候 xff0c 用双手捂住你的耳朵 xff0c 并且大声的朗读 研究表明 xff0c 用手捂着耳朵来朗读的话 xff0c 声音是直接通过骨骼来传输到内耳 xff0c 对大脑刺激会更加强烈 xff0c 记忆也
  • ssh登录服务器缓慢问题

    问题描述 问题刚开始是由pod启动失败 xff0c 报错unable to ensure pod container exists failed to create container for kubepods burstable pod8
  • UCOSIII学习-任务管理

    UCOSIII学习 任务管理 1 UCOSIII 任务组成2 UCOSIII 默认系统任务3 UCOSIII 任务状态4 任务堆栈1 任务堆栈的创建2 任务堆栈初始化 5 任务控制块1 任务控制块创建2 任务控制块初始化 6 任务就绪表1
  • ubuntu(Linux)配置允许远程登陆

    安装ubuntu后默认不可以以root方式登录系统 xff0c 需要做以下配置 1 使用sudo i 命令可以让用户切换到root用户 xff0c guo用户是安装ubuntu时配置的用户 xff0c 因人而异 xff1b 2 配置root
  • python带下划线的变量和函数

    参考文献 xff1a https blog csdn net AI S YE article details 44685139
  • ADD,COPY,ENTRYPOINT和cmd

    Dockerfile中有关信息 xff1a ADD与COPY区别 add 1 对压缩包进行解压2 可以在后面直接跟文件地址 copy xff1a 把本地的文件copy到容器里面 ENTRYPOINT与CMD区别 1 第一种解释 xff08
  • docker实例操作

    很多东西都是借鉴各位大神的 xff0c 也不知道具体是谁或是哪个链接 xff0c 很抱歉 两者同为目前版本中个人和小团队常用的服务级操作系统 xff0c 在线提供的软件库中可以很方便的安装到很多开源的软件及库 两者都使用bash作为基础sh
  • 三、FreeRTOS任务管理--常用函数

    任务的基本概念 FreeRTOS 的任务可认为是一系列独立任务的集合 每个任务在自己的环境中运行 在任何时刻 xff0c 只有一个任务得到运行 xff0c FreeRTOS 调度器决定运行哪个任务 调度器会不断的启动 停止每一个任务 xff
  • 七、FreeRTOS事件和常用函数接口

    基本概念 事件是一种实现任务间通信的机制 xff0c 主要用于实现多任务间的同步 xff0c 但事件通信只能是事件类型的通信 xff0c 无数据传输 与信号量不同的是 xff0c 它可以实现一对多 xff0c 多对多的同步 即一个任务可以等
  • PX4姿态估计源码分析

    写在前面 今天入坑PX4开始学习PX4代码 xff0c pixhawk硬件是可以支持PX4 ardupilot两套固件 我用的是1 6 0rc1版本代码 代码位置 xff1a Firmware1 6 0rc1 src modules att
  • PX4位置估计源码分析

    写在前面 源码版本 xff1a 1 6 0rc1 源码位置 xff1a Firmware 1 6 0rc1 src modules position estimator inav position estimator inav main c
  • ROS入门笔记(二):ROS安装与环境配置及卸载(重点)

    ROS入门笔记 xff08 二 xff09 xff1a ROS安装与环境配置及卸载 xff08 重点 xff09 文章目录 1 ROS安装步骤1 1 ROS版本1 2 确定Ubuntu版本号1 3 安装ROS1 3 1 Ubuntu初始环境