Ubuntu18.04安装ROS Melodic步骤、问题及其解决方法记录

  • Post author:
  • Post category:其他


第一次安装ROS,过程可谓曲折,头秃半天,终于搞定,特此记录₍ᐢ •⌄• ᐢ₎ 非专业安装过程,仅供参考ε=ε=┌( >_<)┘(由于是帮忙安装在其他人的电脑上,没好意思截图,这篇文章几乎只有命令… …就酱!੧ᐛ੭

参考文档

Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)

(感谢ヾ(≧O≦)〃嗷~~~这篇文档涵盖了大部分可能出现的问题,并给出了可行的解决办法,一般情况下参考这篇文档就可以顺利安装ROS。可能是因为我参考了好多篇文档,中间哪里搞乱了,我遇到了文档中不曾提及的问题,因此我在这篇文档的基础上整理了安装步骤,并补充了一些我遇到的问题的解决办法,记录如下:

1、配置Ubuntu软件库

点击Show Applications在software updater中设置Ubuntu Software如下图(这是另外一台电脑的截图,仅为了展示操作步骤):
配置Ubuntu软件库

更改配置后,点击Close,在之后弹出的窗口上点击Reload,如图:

Reload

2、设置安装源

sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'

3、设置密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key 421C365BD9FF1F717815A3895523BAEEB01FA116

4、更新

sudo apt update

出现错误:由于没有公钥,无法验证下列签名: NO_PUBKEY F42ED6FBAB17C654

解决办法:

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

5、安装ROS Melodic

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

这一步骤大概话费15分钟,请耐心等待

6、初始化rosdep

sudo rosdep init

出现错误:sudo: rosdep: 找不到命令

解决办法:

sudo apt install python-rosdep

出现错误:

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:也就是参考文档中提到的方法

打开文档:

cd /etc
sudo gedit hosts

在文档末尾添加:

151.101.84.133 raw.githubusercontent.com

保存文档并退出,但未成功

尝试2:参考

安装ROS时执行到sudo rosdep init时出现sudo: rosdep:找不到命令提示


未成功,不建议尝试

sudo apt-get install python-wstool ros-melodic-ros

尝试3:参考

Ubuntu18.04+Ros Melodic安装及环境配置+Ros安装常见问题解决方法(亲测安装成功)


打开配置文件:

sudo gedit /usr/lib/python2.7/dist-packages/rosdep2/sources_list.py

插入以下代码:

import ssl
ssl._create_default_https_context = ssl._create_unverified_context

尝试4:参考

ros 中ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdist

与尝试1方法一样,只是文档写入的IP地址由

查询网

给出,如下图所示,输入raw.githubusercontent.com得到可用IP:

IP查询

打开文档:

cd /etc
sudo gedit hosts

在文档末尾添加:

185.199.111.133 raw.githubusercontent.com

185.199.111.133或185.199.109.133或185.199.110.133或185.199.108.133

IP根据查询结果填写

保存文档并退出

再次执行初始化操作即可

sudo rosdep init

7、rosdep update更新

rosdep update

出现错误:

ERROR: error loading sources list:
	('The read operation timed out',)

网络问题,我尝试使用有线网络、无线网络、手机热点(移动和联通)等,最后在连接联通热点的情况下,多次改变上一步骤中提到的IP才完成更新_(´ཀ`」 ∠)_

8、添加环境变量

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

9、安装rosinstall

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

到此,本以为安装完成,马上就能交差了,但当我想运行小海龟例子时,新的错误出现了(⇀‸↼‶)

在终端输入:

roscore

出现错误:

Command 'roscore' not found, but can be installed with:
sudo apt install python-roslaunch

按照提示执行:

sudo apt install python-roslaunch

出现错误:python-roslaunch : 依赖: python-roslib 但是它将不会被安装

E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

解决办法:参考

Ubuntu18.04 ROS填坑之 roscore Command ‘roscore‘ not found, … : sudo apt install python-roslaunch

git clone https://github.com/ros/catkin.git
cd catkin
git branch melodic-devel
mkdir build
cd build
cmake ..
make
sudo make install
cd ..
sudo python2 setup.py install
sudo python3 setup.py install 

出现错误:需要安装pip3 和catkin_pkg 模块

sudo apt install python3-pip
pip3 install catkin_pkg

安装好后再执行:

sudo python3 setup.py install 
cd
mkdir src
catkin_make
source ~/.bashrc

至此,再次尝试运行小海龟例子,终于成功了!

在第一个终端输入:

roscore

在第二个终端输入:

rosrun turtlesim turtlesim_node

在第三个终端输入:

rosrun turtlesim turtle_teleop_key

应要求查看了一下ROS版本(唯一的照片(〃 ̄︶ ̄)人( ̄︶ ̄〃)

版本查看

仅供参考,感谢指教ฅ



版权声明:本文为amateur_hy原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。