第一次安装ROS,过程可谓曲折,头秃半天,终于搞定,特此记录₍ᐢ •⌄• ᐢ₎ 非专业安装过程,仅供参考ε=ε=┌( >_<)┘(由于是帮忙安装在其他人的电脑上,没好意思截图,这篇文章几乎只有命令… …就酱!੧ᐛ੭
参考文档Ubuntu18.04安装ROS Melodic(详细,亲测安装完成,有清晰的截图步骤)(感谢ヾ(≧O≦)〃嗷~~~这篇文档涵盖了大部分可能出现的问题,并给出了可行的解决办法,一般情况下参考这篇文档就可以顺利安装ROS。可能是因为我参考了好多篇文档,中间哪里搞乱了,我遇到了文档中不曾提及的问题,因此我在这篇文档的基础上整理了安装步骤,并补充了一些我遇到的问题的解决办法,记录如下:
1、配置Ubuntu软件库
点击Show Applications在software updater中设置Ubuntu Software如下图(这是另外一台电脑的截图,仅为了展示操作步骤):
更改配置后,点击Close,在之后弹出的窗口上点击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:
打开文档:
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版本(唯一的照片(〃 ̄︶ ̄)人( ̄︶ ̄〃)
仅供参考,感谢指教ฅ