虚拟机下ubuntu18.04安装ros记录
简介
8月份在忙考试的事情,不太有时间更新博客,新学了一些杂七杂八的东西也一直放在脑子里。9月份时间比较多,稍微学了点linux方面的东西,并借此总结一下在装ros过程中遇到的问题。
电脑环境
- Win10
- VMware14 Pro
- ubuntu 18.04
在安装之前,需要搞清楚每个版本的ubuntu对应一个版本的ros,因此需要搞清楚下载对应版本的ros才不会出错,参考版本如下:
ubuntu版本 | ros版本 |
---|---|
20.04LTS | ROS Noetic Ninjemys |
18.04LTS | ROS Melodic Morenia |
16.04LTS | ROS Kinetic Kame |
安装步骤
1. 配置源
进入Software&Updates,按照如下配置:
note: 红框中全部勾选,Download from建议选择国内服务器,如阿里云。
2. 添加ros软件镜像源
为了加快安装速度,优先选择中科大的镜像源:
在终端键入:
$ 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'
note: 如果遇到报错或警告最好留意一下,不要直接跳过。记得不要打错网址!!!
3. 添加密钥1
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys F42ED6FBAB17C654
4. 安装ros
$ sudo apt-get update
$ sudo apt-get install ros-melodic-desktop-full
文件较大,需要等待一段时间,如果中途出现timeout等网络问题只需要再次键入第二条指令,直到安装完成
5. 初始化rosdep
$ sudo rosdep init
输入上述命令后可能会有no command的错误,需要首先安装python的pip命令来安装rosdep2:
$ sudo apt-get install python-pip
$ sudo pip install -U rosdep
$ sudo rosdep init
紧接着输入:
$ rosdep update
这步可能会出现两个错误:
- 如果出现timeout问题,尝试修改以下三个文件3:
$ cd /
$ cd /usr/lib/python2.7/dist-packages/rosdep2
$ sudo gedit ./sources_list.py # 修改DOWNLOAD_TIMEOUT的值,往大调
$ sudo gedit ./gbpdistro_support.py
$ sudo gedit ./rep3.py
# 以下两步操作同上,之后再尝试:
$ rosdep update
- 如果出现 AssertionError4: expected file is distribution,尝试如下方法:
浏览器进入链接,复制任意IP地址:
然后编辑文件 /etc/hosts
$ sudo gedit /etc/hosts
添加红框内容,IP为刚刚复制的IP,保存退出。
最后多次运行update直至安装完成。
6. 添加ros环境变量
$ echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc
$ source ~/.bashrc
7. 安装rosinstall
$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential
8. 运行测试例程
- 第一个终端输入
$ roscore
- shift+ctrl+T 开启第二个终端,输入
$ rosrun turtlesim turtlesim_node
- shift+ctrl+T 开启第三个终端,输入
$ rosrun turtlesim turtlesim_teleop_key
这时应弹出GUI界面,按上下左右键可控制小海龟运动,安装完成!!!!
配置网络代理5
对于在win10上有网络代理的朋友,希望在虚拟机上也能加速外网访问,可以进行如下配置:
首先,在win10上打开cmd,输入ipconfig,此时最好虚拟机软件也处于运行状态。
复制VMnet8的ipv4地址。
选择虚拟机网络为NAT模式,然后进入ubuntu配置网络代理:
选择Network Proxy,并在红框在输入刚刚复制的IP地址。而右边红色指针指向的四个框需要填对应端口号,在windows上代理软件的设置出应该有给出(必须填对,否则用不了)
note: 代理软件也需要设置为允许局域网访问和其他计算机连接。
引用
https://blog.csdn.net/qq_41450811/article/details/99079041 ↩︎
https://answers.ros.org/question/32875/rosdep-command-not-found/ ↩︎
https://blog.csdn.net/qq_38649880/article/details/87903654 ↩︎
https://blog.csdn.net/weixin_44684139/article/details/107847282 ↩︎
https://www.jianshu.com/p/f90775d91df5 ↩︎