Ubuntu 16.04 + ROS kinetic 安装

本文记录了在Ubuntu 16.04上安装ROS Kinetic的完整过程,包括更换软件源、配置资源库、安装、初始化ROS环境、配置环境变量以及解决安装过程中遇到的问题。作者首次安装失败后,通过卸载重装成功完成了安装,并分享了遇到的错误及解决方案。
摘要由CSDN通过智能技术生成

记录一次Ubuntu 16.04 + ROS kinetic 安装记录

第一次安装各种失败,尝试了卸载后重新安装,成功
第一次用的阿里云源服务器,第二次我直接换成了“中国服务器”,在“系统设置”里面找到“软件与更新”,进行相关的设置。

一 查看Ubuntu版本号:

**
关键代码:

lsb_release -a

**

july@july-ubuntu:~$ lsb_release -a
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 16.04.7 LTS
Release:	16.04
Codename:	xenial

在这里插入图片描述

二 配置资源库

在这里插入图片描述
设置软件源
关键代码:
设置软件源

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

设置密钥

sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

july@july-ubuntu:~$ sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
july@july-ubuntu:~$ sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116
Executing: /tmp/tmp.uLY7sHcjhZ/gpg.1.sh --keyserver
hkp://ha.pool.sks-keyservers.net:80
--recv-key
421C365BD9FF1F717815A3895523BAEEB01FA116
gpg: 下载密钥‘B01FA116’,从 hkp 服务器 ha.pool.sks-keyservers.net
gpg: 密钥 B01FA116:“ROS Builder <rosbuild@ros.org>”未改变
gpg: 合计被处理的数量:1
gpg:              未改变:1

三 安装

关键代码:

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

注意:我第二次安装忘记sudo apt-get update,直接下一个代码了,不过我建议按部就班来,我可能是因为第一次安装失败的时候已经更新成最新的版本了,所以第二次忘记update才没有报错的

如果出现如下错误

cW: GPG 错误:http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease: 由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
E: 仓库 “http://mirrors.ustc.edu.cn/ros/ubuntu bionic InRelease” 没有数字签名。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。

解决办法:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

july@july-ubuntu:~$ sudo apt-get install ros-kinetic-desktop-full
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
将会同时安装下列软件:
  blt bzip2-doc cmake cmake-data comerr-dev curl debhelper dh-strip-nondeterminism fltk1.3-doc fluid fonts-lato fonts-lyx freeglut3 freeglut3-dev gazebo7
  ..............................
  此处省略下载过程,建议使用手机热点
  ..............................
   x11proto-scrnsaver-dev x11proto-xext-dev x11proto-xf86vidmode-dev x11proto-xinerama-dev xorg-sgml-doctools xtrans-dev zlib1g-dev
下列软件包将被升级:
  libcurl3 libcurl3-gnutls
升级了 2 个软件包,新安装了 833 个软件包,要卸载 0 个软件包,有 63 个软件包未被升级。
需要下载 2,071 kB/490 MB 的归档。
解压缩后会消耗 2,486 MB 的额外空间。
您希望继续执行吗? [Y/n] y
获取:1 http://cn.archive.ubuntu.com/ubuntu xenial/universe amd64 freeglut3-dev amd64 2.8.1-2 [123 kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu xenial/main amd64 liblapack-dev amd64 3.6.0-2ubuntu2 [1,948 kB]
已下载 2,071 kB,耗时 11(181 kB/s)                                                                                                                         
正在从软件包中解出模板:100%
正在预设定软件包 ...
正在选中未选择的软件包 cmake-data。
(正在读取数据库 ... 系统当前共安装有 190342 个文件和目录。)
正准备解包 .../cmake-data_3.5.1-1ubuntu3_all.deb  ...
正在解包 cmake-data (3.5.1-1ubuntu3) ...
正准备解包 .../libcurl3_7.47.0-1ubuntu2.16_amd64.deb  ...
正在将 libcurl3:amd64 (7.47.0-1ubuntu2.16) 解包到 (7.47.0-1ubuntu2.15)...
正在选中未选择的软件包 libjsoncpp1:amd64。
正准备解包 .../libjsoncpp1_1.7.2-1_amd64.deb  ...
正在解包 libjsoncpp1:amd64 (1.7.2-1) ...
正在选中未选择的软件包 cmake。
..............................
  此处省略下载过程,建议使用手机热点
  ..............................
  正在设置 ros-kinetic-desktop-full (1.3.2-0xenial-20200907-172644+0000) ...
正在处理用于 libc-bin (2.23-0ubuntu11.2) 的触发器 ...
正在处理用于 systemd (229-4ubuntu21.29) 的触发器 ...
正在处理用于 ureadahead (0.100.0-19.1) 的触发器 ...

四 初始化

关键代码:

sudo rosdep init
rosdep update

如果失败出现错误:

ERROR: cannot download default sources list from:
https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list
Website may be down.
sudo gedit /etc/hosts

解决办法:古月居

#打开hosts文件在文件末尾添加
151.101.84.133 raw.githubusercontent.com
#保存后退出再尝试
sudo rosdep init
rosdep update

如果再出现错误:

ERROR: default sources list file already exists:
/etc/ros/rosdep/sources.list.d/20-default.list
Please delete if you wish to re-initialize

解决办法:

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list
#然后再重新运行命令
sudo rosdep init

july@july-ubuntu:~$ sudo rosdep init
[sudo] july 的密码: 
Wrote /etc/ros/rosdep/sources.list.d/20-default.list
Recommended: please run

	rosdep update
	
#再执行代码 rosdep update
july@july-ubuntu:~$ rosdep update
reading in sources list data from /etc/ros/rosdep/sources.list.d
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/osx-homebrew.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/base.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/python.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/ruby.yaml
Hit https://raw.githubusercontent.com/ros/rosdistro/master/releases/fuerte.yaml
Query rosdistro index https://raw.githubusercontent.com/ros/rosdistro/master/index-v4.yaml
Skip end-of-life distro "ardent"
Skip end-of-life distro "bouncy"
Skip end-of-life distro "crystal"
Add distro "dashing"
Add distro "eloquent"
Add distro "foxy"
Skip end-of-life distro "groovy"
Skip end-of-life distro "hydro"
Skip end-of-life distro "indigo"
Skip end-of-life distro "jade"
Add distro "kinetic"
Skip end-of-life distro "lunar"
Add distro "melodic"
Add distro "noetic"
Add distro "rolling"
updated cache in /home/july/.ros/rosdep/sources.cache

五 配置环境变量

我第一次安装就是在这里死掉的,嘤嘤嘤
关键代码:

echo “source /opt/ros/melodic/setup.bash” >> ~/.bashrc
source ~/.bashrc
#为了构建和管理开发者自己的ROS工作空间,还需安装rosinstall
sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

出现问题:

source/opt/ros/kinetic/setup.bash: 没有那个文件或目录
#网上的解决办法一:
#这个可能是因为bashrc有问题,使用
gedit .bashrc
#打开文件,直接找到最后一行,查看拼写错误:
source/opt/ros/kinetic/setup.bash
#source后面没有空格导致source时出了问题,修改回来即可。
#正确的应该是:
source /opt/ros/kinetic/setup.bash
#网上的解决办法二:
参考一篇博客添加链接描述
#主题思想就是进入目标文件上一级目录看一下是不是存在要找的目录
cd opt/ros/kinetic/
ls
#如果没有setup.bash这个文件,执行下面的:
sudo apt-get install ros-kinetic-turtlesim
#安装完之后可以再次进入/opt/ros/kinetic/目录看一下:
#setup.bash就出现了,可以继续测试一下,输入:
source ~/.bashrc

但是上面的两种方法,对我的问题貌似没有用,我 cd opt/ros/kinetic/ 检查发现没有setup.bash这个文件,我又查找它上一级目录cd …,发现我opt下面根本就没有ros这个文件夹,所以我就放弃挣扎,卸载–>重新安装
重新卸载安装的参考博客:添加链接描述
添加链接描述
添加链接描述
正确的如下:

july@july-ubuntu:~$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
july@july-ubuntu:~$ source ~/.bashrc
july@july-ubuntu:~$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
正在读取软件包列表... 完成
正在分析软件包的依赖关系树       
正在读取状态信息... 完成       
build-essential 已经是最新版 (12.1ubuntu2)。
python-rosinstall 已经是最新版 (0.7.8-1)。
python-rosinstall-generator 已经是最新版 (0.1.22-1)。
python-wstool 已经是最新版 (0.1.17-1)。
升级了 0 个软件包,新安装了 0 个软件包,要卸载 0 个软件包,有 63 个软件包未被升级。
july@july-ubuntu:~$ roscore
... logging to /home/july/.ros/log/fa074d8c-05eb-11eb-8ecc-04d3b0cb6e3e/roslaunch-july-ubuntu-31123.log
Checking log directory for disk usage. This may take awhile.
Press Ctrl-C to interrupt
Done checking log file disk usage. Usage is <1GB.

started roslaunch server http://july-ubuntu:44489/
ros_comm version 1.12.16


SUMMARY
========

PARAMETERS
 * /rosdistro: kinetic
 * /rosversion: 1.12.16

NODES

auto-starting new master
process[master]: started with pid [31134]
ROS_MASTER_URI=http://july-ubuntu:11311/

setting /run_id to fa074d8c-05eb-11eb-8ecc-04d3b0cb6e3e
process[rosout-1]: started with pid [31147]
started core service [/rosout]

六 测试

参考博客添加链接描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值