ubuntu16.04安装ROS Kinetic(踩坑记录)

@ubuntu16.04安装ROS Kinetic(踩坑记录)

  • 声明: 可任意转载,但转载需注明出处

ubuntu16.04安装ROS Kinetic

文章用于记录首次完整安装ROS过程以便日后再复现及分享此次过程踩坑经历供大家避开

一. 添加ROS软件源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
错误总结:
这是我最终测试成功的软件源,这部分网上有很多供以使用的国内外软件源,但是是否成功只有逐一测试之后才能知道,这部分软件源出错将会导致至少包含以下问题:

1.sudo apt update 错误:Hash校验和不符
Hash校验和不符
2.sudo apt update 错误:无法认证来自该源的数据
无法认证来自该源的数据
3.sudo apt-get install ros-kinetic-desktop-full 错误:无法定位软件包
无法定位软件包

个人经验:单个加入某个软件源,若对于某个软件源加入出现以上问题可通过以下方式去除进行排查:
具体操作:进入sources文件,拉到当前文件最后,对刚加入的软件源(apt …)进行去除,再重新运行sudo apt update若错误解除则该条源存在问题,直到更换至可用的源即可
 sudo gedit /etc/apt/sources.list

进入记录软件源的文件

二.设置密钥

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

注:不成功可更换以下地址:

sudo apt-key adv --keyserver 'hkp://pgp.mit.edu:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.net:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654
错误总结:
设置密钥过程若出错,将会导致包含至少以下问题:

1.sudo apt update 错误:由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654

 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) 手册以了解仓库创建和用户配置方面的细节。
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654

注:将F42ED6FBAB17C654修改为你报错的签名号

三.更新最新软件包

sudo apt update

在这里插入图片描述
在这里插入图片描述
#如上便是成功了,若出错请参考第一步中的添加源的错误提示

四.安装ROS Kinetic

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

#若前三步骤均未出错,这步应该就是正常执行的,如果出现无法定位软件包问题,需要增加软件源或更换软件源,参考第一步错误提示3,直至找到正确的软件源为止

五.初始化ROSdep

1.要先安装python-rosdep

sudo apt install python-rosdep

2.初始化

sudo rosdep init

这一步会失败大概率原因是因为无法连上www.rawgithubusercontent.com 而导致的,可通过修改hosts和科学上网完成
修改hosts:

cd /etc
sudo gedit hosts

在这里插入图片描述

hosts文件
#该部分参考来自https://blog.csdn.net/qq_44830040/article/details/106049992
3.rosdep update

rosdep update

#此部分在修改host后如果仍然出现timeout错误,原因同样来自于www.rawgithubusercontent.com 被墙,解决方案可参考大佬修改代理文章,亲测十分有用:
https://blog.csdn.net/leida_wt/article/details/115120940?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

六.配置ROS环境

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

source ~/.bashrc

#这部分基本不会错误,唯一需注意要对齐Ubuntu和ros版本,Kinetic是适用于Ubuntu16.04的,若是其他版本ubuntu请安装对应版本ros,此处也执行对应命令,如ubuntu18就应装melodic版本的ros

七.安装依赖项

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

八.测试小海龟例子,验证是否安装成功

1.当前终端输入命令roscore

roscore

roscore
2. 再打开一个新的终端,输入以下命令,出现静止小海龟

 rosrun turtlesim turtlesim_node

静止小海龟

  1. 再打开一个新的终端,让小海龟动起来
 rosrun turtlesim turtle_teleop_key

#方向键上下左右控制移动
 rosrun turtlesim turtle_teleop_key

参考

[1]: http://wiki.ros.org/Installation/Ubuntu
[2]: https://blog.csdn.net/qq_44830040/article/details/106049992
[3]: https://blog.csdn.net/leida_wt/article/details/115120940?utm_medium=distribute.pc_relevant.none-task-blog-baidujs_baidulandingword-0&spm=1001.2101.3001.4242

  • 3
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值