UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题

之前在虚拟机上大概熟悉了一下流程,后续学习可能消耗资源比较大,所以还是改为双系统安装ROS。

双系统安装Ubuntu 18

因为之前听同学说安装ubuntu不太顺利,系统崩溃,所以选择淘宝请人帮忙安装一下,过程相对顺利,如果网络条件比较好,大约一个半小时就可以装完。
ubuntu安装以及后续软件安装的过程可以参考另一篇博文 https://blog.csdn.net/gyxx1998/article/details/117848441

安装ROS

Ubuntu的一些小指令:

Ctrl +alt + t     //打开控制终端
ctrl +shift + c    //复制控制终端中的文字快的捷按键
ctrl +shift + v    //把文字粘贴至控制终端中的快捷按键
sudo apt-get install +文件名     //下载文件
sudo gedit+文件名              //编辑文件内容
sudo dpkg –i                   //解压并安装压缩文件
sudo apt update                //更新文件

双系统安装ROS和虚拟机安装的过程一致,具体可以参考 https://blog.csdn.net/gyxx1998/article/details/117400684

1、添加软件源

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'

2、添加秘钥(最新秘钥可去官网)
秘钥会更新,最新秘钥可去官网
官网:http://wiki.ros.org/melodic/Installation/Ubuntu

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

3、安装ROS

sudo apt update

#如果需要更新,则再执行
sudo apt-get upgrade
sudo apt install ros-melodic-desktop-full

4、初始化rosdep

sudo rosdep init
rosdep update

5、配置环境

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

6、安装rosinstall

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

6、测试ROS是否安装成功(运行小海龟)

roscore
rosrun turtlesim turtlesim_node
rosrun turtlesim turtle_teleop_key

出现的问题及解决过程

问题1和问题4比较容易解决,问题2/3/5都是因为超时问题,试了好多方法,最后是通过设置超时时间解决的。

出现的问题 1:找不到命令

执行sudo rosdep init时出现sudo rosdep:找不到命令,这是因为python-rosdep这个包没有装,安装python-rosdep即可。

  • 解决:
    执行sudo apt-get install python-rosdep,然后sudo rosdep init就可以了。

出现的问题 2:timed out超时

执行sudo rosdep init时出现timed out超时
UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第1张图片

出现的问题 3:cannot download default sources list

针对上面出现的超时问题,很多人说换个网络就成功了,但我换了网络后,执行sudo rosdep init时出现cannot download default sources list
在这里插入图片描述

出现的问题 4:default sources list file already exists

在这里插入图片描述

  • 解决:
    文件已经存在,删除了即可
    sudo rm /etc/ros/rosdep/sources.list.d/20-default.list

出现的问题 5:error loading sources list

执行到rosdep update 出现ERROR: error loading sources list: (‘The read operation timed out’)
UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第2张图片

  • 解决:
    这一步也还是因为网络原因,但是sudo rosdep init可能需要下载的东西少,而rosdep update这一步需要下载的东西多,所以就一直不成功

超时的解决方法:

因为一开始,我ping raw.githubusercontent.com就是可以ping通的,而且延时50~100ms左右,没有很大,运行sudo rosdep initrosdep update也是时而成功时而不成功的,所以这样子的情况可以直接选择设置延时时间,不必再尝试前面这几种方法。

后来我ubuntu坏了,重装了一次,改超时/用tizi等各种方法都没用,最后的解决方法是tizi + 更换软件源为中科大 + 在更换软件源界面选择源代码

方法一:更换软件源

更换软件源 ,参考:https://blog.csdn.net/u012254599/article/details/104481563
软件和更新中修改软件源 - 选择最佳下载服务器 - 经过一段时间后选择得到的最佳服务器
UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第3张图片

然后到终端更新一下sudo apt-get update

方法二:选择更换网络,使用手机热点

方法三:修改hosts

在这个网站 https://githubusercontent.com.ipaddress.com/raw.githubusercontent.com
查raw.githubusercontent.com的ip地址,将这些ip地址分别ping一下,选择延时最短的

UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第4张图片
打开hosts文件,修改其中ip地址和域名的对应关系

sudo gedit /etc/hosts

UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第5张图片
重启网络

sudo /etc/init.d/networking restart

方法四:修改DNS

参考1:https://blog.csdn.net/datuzijean/article/details/92620945
参考2:https://blog.csdn.net/weixin_44088559/article/details/104293074

步骤一:执行sudo gedit /etc/resolv.conf
步骤二:将原有的nameserver这一行注释,并添加以下两行:

nameserver 8.8.8.8 #google域名服务器
nameserver 8.8.4.4 #google域名服务器

步骤三:保存退出,执行

sudo apt-get update

然后继续环境配置就可以

方法五:修改20-default.list文件

修改20-default.list文件,将里面的将raw.githubusercontent.com全部替换为raw.github.com
这个需要进入管理员模式下进行

sudo su
cd /etc/ros/rosdep/sources.list.d
sudo gedit 20-default.list

将raw.githubusercontent.com替换为raw.github.com后保存文件

退出管理员模式

exit

❤ 方法六:修改延时(成功的方法)

上面几个方法我修改了,但是都没有用,后来我修改了延时,然后成功了
注意这个方法不需要在修改上面方法的基础上完成
但是上述所以方法都可以同时进行修改,也许会有加分,更快装完呢~

参考:https://www.guyuehome.com/33258

首先,在终端里ping raw.githubusercontent.com,只有ping成功,这个方法才有效。如果ping不通,可以参考方法三/方法四修改hosts和DNS
UR机械臂学习(2-2):ROS环境安装(双系统+Ubuntu 18.04.1+ROS melodic),解决连接超时问题_第6张图片原设定的延时是15ms,所以现在的情况就会产生超时问题

修改 sources_list.pygbpdistro_support.pyrep3.py中的DOWNLOAD_TIMEOUT 值
默认情况下 DOWNLOAD_TIMEOUT = 15.0
依次打开这三个文件,ctrl+F找到DOWNLOAD_TIMEOUT修改DOWNLOAD_TIMEOUT = 1000.0
(具体修改为多少,可以看自己ping过程中的延时情况)

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

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

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

修改后保存,继续ROS安装过程

sudo rosdep init
rosdep update

其他方法

看到有人推荐的其他方法,如果上述方法都没有用,可以试试这两个

  • 修改raw.githubusercontent.com的代理
    https://blog.csdn.net/leida_wt/article/details/115120940
  • 将文件先下载到本地,再进行安装
    https://blog.csdn.net/xwmrqqq/article/details/114292547

除了网络原因,也有可能是安装版本和缓存版本不同导致的(这种情况多见于已经安装pip的环境之后,再安装ros的情况)

  • https://zhuanlan.zhihu.com/p/128035718

你可能感兴趣的:(#,ur机械臂,ROS机器人操作系统,ros)