Ubuntu 16.04安装ROS kinetic版本(附带本人遇到过的问题)
#Ubuntu 16的对应的是Kinetic版本
#Ubuntu 18的对应的是Melodic版本
1.更改源
图上的几个勾默认是选上的,如果没有选上,选成上图这样(如果修改过勾,点击关闭会让你输入密码,然后选择重新载入,等到载入完毕再点关闭)
建议选择清华大学的源:https://mirrors.tuna.tsinghua.edu.cn/
2.添加ROS源(设置 sources.list)
为 Ubuntu 的包管理器增加源,设置计算机接受来自于 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';
3.添加ROS源key
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
出现问题:
W: GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,
无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
W: 仓库 “http://packages.ros.org/ros/ubuntu xenial InRelease” 没有数字签名。
N: 无法认证来自该源的数据,所以使用它会带来潜在风险。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
解决方法1:
执行
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
注意:最后的码,根据不同的公钥缺失进行修改,本例中公钥来自于
W: GPG 错误:http://packages.ros.org/ros/ubuntu xenial InRelease: 由于没有公钥,
无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654
其中F42ED6FBAB17C654即为所用公钥
解决方法2:
在上面的命令中用 hkp://pgp.mit.edu:80 或 hkp://keyserver.ubuntu.com:80 来替换
4.更新
sudo apt-get update
sudo apt-get upgrade
(需要执行一段时间,更新速度与网速和源有关)
出现问题1:
E: 软件源列表 /etc/apt/sources.list.d/ros-latest.list 第 1 行中的类别 ““deb” 无法识别
E: 无法读取源列表。
解决方法:
执行
sudo rm /etc/apt/sources.list.d/ros-latest.list
出现问题2:
E: 无法获得锁 /var/lib/dpkg/lock-frontend - open (11: 资源暂时不可用)
E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend),是否有其他进程正占用它?
解决方法1:
执行
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock
解决方法2:
执行
sudo rm /var/lib/dpkg/lock-frontend
5.安装aptitude
sudo apt-get install aptitude
(aptitude是一款十分强大的安装工具,比如安装程序时能分析出各种依赖问题,建议使用aptitude安装程序)
6.1桌面安装:(针对性安装)
1.ROS,rqt, rviz,机器人通用库
sudo apt-get install ros-kinetic-desktop
2.ROS-Base (Bare Bones):ROS 包,构建和通信库。没有 GUI 工具。
sudo apt-get install ros-kinetic-ros-base
3.独立的包安装:可以安装一个特定的 ROS 包(用实际的包名来替换下面的命令中的 “PACKAGE”)。
sudo apt-get install ros-kinetic-PACKAGE
如:
sudo apt-get install ros-kinetic-slam-gmapping
#安装时间网络情况、电脑配置、源影响
6.2安装ROS kinetic完整版(全部安装,比费时间)
sudo apt install ros-kinetic-desktop-full
通常在做开发时,采用桌面完整安装比较方便一点,可以一股脑将所有有可能用到的软件包都安装进来。
出现问题:
E: 无法定位软件包 ros-Melodic-desktop-full
解决:
指令换成
sudo apt-get install ros-melodic-desktop-full
7.ROS初始化
sudo rosdep init
(在使用ros之前一定要进行初始化)
出现问题1:
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.
解决方法:
1.链接: link.
2.链接: link.https://blog.csdn.net/weixin_44692299/article/details/105869229
PS: 151.101.84.133 raw.githubusercontent.com
199.232.28.133 raw.githubusercontent.com
151.101.228.133 raw.github.com’当前好用
出现问题2:
sudo: rosdep:找不到命令
解决方法:
需要输入
sudo apt install python-rosdep2
再次执行
sudo rosdep init
#古月居方法:https://www.guyuehome.com/12640
8.ROS更新
rosdep update
出现问题:
ERROR: error loading sources list:
The read operation timed out
解决:
链接: link. https://blog.csdn.net/DDonggggg/article/details/115798335?spm=1001.2014.3001.5502
#未验证的解决方式https://blog.csdn.net/hhz_999/article/details/120471217
9.环境设置
如果在每次一个新的终端启动时,ROS 环境变量都能自动地添加进你的 bash 会话是非常方便,这可以通过如下命令来实现:
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
[参考链接
链接: link.https://blog.csdn.net/sinat_39411798/article/details/80591605
链接: link.https://blog.csdn.net/hunter___/article/details/90734708
10.安装building package的依赖
到这一步,应该已经安装好了运行核心 ROS 包的所有东西。要创建和管理你自己的 ROS workspace,还有单独发布的许多的工具。比如,rosinstall 是一个常用的命令行工具,使你可以通过一个命令为 ROS 包简单地下载许多源码树。
要安装这个工具及其它的依赖以构建 ROS 包,则运行:
sudo apt-get install python-rosinstall python-rosinstall-generator python-wstool build-essential
11.运行小乌龟测试
分别打开终端,输入
roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key
小乌龟出现,可以由键盘控制移动,则ROS安装成功
出现问题:
Command 'roscore' not found, but can be installed with:
sudo apt install python-roslaunch
解决方法:
需要输入
sudo apt-get install ros-melodic-desktop
source ~/.bashrc
再次启动ROS
roscore
是一条神奇的指令
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)