【ROS基础】ROS 18.04安装以及常见报错解决全过程(超详细!!)

📢:如果你也对机器人、人工智能感兴趣,看来我们志同道合✨
📢:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852
📢:文章若有幸对你有帮助,可点赞 👍 收藏 ⭐不迷路🙉
📢:内容若有错误,敬请留言 📝指正!原创文,转载请注明出处


ROS学习过程的第一步就是安装ROS,上一篇我安装了Ubuntu18.04的linux系统,因此本篇博客就是在该系统下安装ROS,顺便对安装过程中出现的问题总结一下。

一、版本选择

本次在ubuntu18.04上安装ROS,不同的Ubuntu系统对应的ROS系统也有所不同,具体可以参考wiki上的说明,附地址:http://wiki.ros.org/ROS/Installation。
在这里插入图片描述

二、选择最佳镜像源

方法1

打开“软件和更新”,在“下载自”处选择最佳服务器。服务器用于远程处理运算,一般选择国内的下载速度比较快。
在这里插入图片描述
检测和选择最佳服务器。
在这里插入图片描述
不然可能出现以下的问题:
在这里插入图片描述

方法2:

默认选择了最佳服务器下的软件源(即步骤二中的中国科学技术大学ROS镜像源):

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

注意:如果前面不手动搜索最佳软件源的话,可以直接选用以下国内的几种镜像源,但是一旦更新了最佳软件源,必须要保持添加的软件源跟最佳镜像源一致,否则会报错,最简单的做法就是完成步骤二中选择最佳源后添加第一个默认源。

中国科学技术大学ROS镜像源:

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'

清华大学ROS镜像源:

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ `lsb_release -cs` main" > /etc/apt/sources.list.d/ros-latest.list'

删除之前的源文件

sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

注意:在输入安装ROS的命令后下载的全部文件都来自之前选择的镜像源。

三、ROS安装

看了一些博客后,总结ROS的安装具体分为以下几个步骤:

1.添加秘钥

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

2.安装ROS

注意是melodic版本

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

Ubuntu18.04对应的是melodic的版本,如果安装其他版本就会报错,本人尝试过,出现下面无法定位软件包的情况:在这里插入图片描述
此外,如果不是版本问题,出现下图的“由于没有公钥”,可能是秘钥过期,需要使用更新后的秘钥。在这里插入图片描述
最后通过设置密钥解决,使用新的密钥为:

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

在这里插入图片描述
问题解决。

4.初始化rosdep

rosdep是ROS自带的工具,主要功能是为了某些功能包安装系统依赖。

sudo rosdep init
rosdep update

期间出现一个“找不到命令”报错:
在这里插入图片描述
原因:rosdep没有安装。出现类似的“找不到XX命令”的报错,一般是没有安装这个包或是指令输入错误,不存在的情况下就会找不到该命令。
注意:对于不同版本的ROS,安装rosdep的命令有所区别:

#ROS Melodic and earlier

sudo apt-get install python-rosdep

#ROS Noetic

sudo apt-get install python3-rosdep

然后在输入初始化命令,期间发生报错,特此记录一下
在这里插入图片描述
原因:1.电脑网速不够快,需要连上手机热点。
2.手机连上之后还是报同样的错误,使用最终解决办法
参考:Ubuntu(Linux)上安装ROS缓慢,解决方法:添加ros的国内镜像源,以及ROS安装过程使用rosdep update出现错误:‘The read operation timed out‘
最终解决办法小鱼手撸的手眼标定算法实现怎么用
即:

sudo apt-get install python3-pip 
sudo pip3 install rosdepc
sudo rosdepc init
rosdepc update

5.设置环境变量

设置环境变量就是在下面这个文件中添加变量,该文件在主目录里,一般是处于隐藏状态,需要按住“ctrl+h”才能显示。添加的变量位于该文件的最后一行,添加的目的是为了启动ROS相关的节点时,终端能顺着这个路径找到所在的安装位置,不然的话需要提前一步在终端输入变量,比较麻烦。

在这里插入图片描述
在这里插入图片描述

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

问题:这一步要注意ros下面路径的ROS版本,有时候简单复制后而没有注意这个,导致报错,本次下载过程中就犯了这个错误。
在这里插入图片描述

6.验证

打开第一个终端执行:

roscore

验证的时候出现了一个报错: IOError: [Errno 13] Permission denied: ‘/home/zjc/.ros/roscore-11311.pid’

原因:该路径下ros文件权限造成的。输入以下命令修改权限:

sudo chmod 777 -R ~/.ros/

该方法转载于:https://www.cnblogs.com/fuhang/p/9689815.html
修改后再执行roscore,成功运行,如下图所示。
在这里插入图片描述
按照小鱼手撸的手眼标定算法实现怎么用的方法安装了rosdepc后输入roscore出现报错,如下图:
Command ‘roscore’ not found, but can be installed with:
sudo apt install python-roslaunch
在这里插入图片描述

原因分析:可能是在安装rosdepc的时候删除了部分依赖包,再次执行安装ros桌面完整版的即可,然后再输入roscore,在输入roscore的时候先输入前几位字母,后面使用tab键试一试能不能补全,如果能补全说明可以正常启动roscore,问题解决。

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

图中显示在下载依赖项,验证了上面的想法。
在这里插入图片描述

然后再输入roscore能正常启动rosmaster。

打开第二个终端启动海龟运行节点:

rosrun turtlesim turtlesim_node

出现下面这个画面
在这里插入图片描述

打开第三个终端启动键盘控制节点:

rosrun turtlesim turtle_teleop_key

通过键盘上的上下左右箭头控制海龟的移动和转向,这个过程中需要一直保持鼠标在键盘控制这个节点打开终端的里面。
在这里插入图片描述
小海龟能运动起来说明本次安装ROS成功了。

7.安装rosinstall

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

四、查看安装位置

注意:ros默认安装在opt\ros下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

reference

安装Ubuntu18.04 ROS Medodic出现 无法定位软件包的解决方法:

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

嵌小超

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值