欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

程序员文章站 2022-06-04 12:46:46
...

说明

  • 此教程描述了ROS的安装与环境配置
  • Ubuntu16.04 + Kinetic 版本

官方安装ROS说明

Ubuntu

目录

  1. 安装Ubuntu16.04

    1.1 下载Ubuntu16.04镜像

    1.2 安装VMware Workstation Pro for Windows

    1.3 在VMware Workstation上安装Ubuntu16.04

    1.4 设置虚拟机网络为桥接模式(为今后主从机网络配置做准备)

    1.5 Ubuntu 16.04配置国内高速apt-get更新源

  2. 安装ROS系统(Kinect版本)

    2.1 设置安装源和**

    2.2 更新apt-get

    2.3 安装桌面完整版

    2.4 解决依赖

    2.5 环境设置

    2.6 安装rosinstall开发工具

    2.7 验证安装

    2.8 下载Gazebo资源库

1. 安装Ubuntu16.04

1.1 下载Ubuntu 16.04镜像官网下载

1.2 安装VMware Workstation Pro for Windows

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

1.3 在VMware Workstation上安装Ubuntu16.04

参考链接:https://www.linuxidc.com/Linux/2016-11/137241.htm

安装成功后,查看当前版本,安装Kinect一定要是16.04

lsb_release -a

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

  • 注意:成功安装Ubuntu16.04后需要安装VMware Tools

参考文章:https://blog.csdn.net/zxf1242652895/article/details/78203473

如果出现以下情况,请点击“Don‘t Upgrade”

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

1.4 设置虚拟机网络为桥接模式(为今后主从机网络配置做准备)

详情请参考我的另一篇文章:《VMWARE WORKSTATION 配置UBUNTU网络为桥接模式(静态IP)》

1.5 Ubuntu 16.04配置国内高速apt-get更新源

(1). 寻找国内镜像源(此处选择清华大学开源软件镜像站)

  • 复制以下代码备用
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ xenial-proposed main restricted universe multiverse

(2). 配置source list源

  • Ubuntu自带的sources.list是来自国外的,安装包会比较慢,所以最好切换成国内的,在终端中输入以下命令,修改sources.list文件。
aaa@qq.com:~$ cd /etc/apt
aaa@qq.com:/etc/apt$ sudo cp sources.list sources.list.bak
aaa@qq.com:/etc/apt$ sudo gedit sources.list
  • 拷贝(1)步骤中的代码覆盖原文件

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

(3). 更新源

aaa@qq.com:/etc/apt$ sudo apt-get update

(4). 其它常用命令

sudo apt-get update  		#更新源
sudo apt-get upgrade 		#更新已安装的包
sudo apt-get -f install  	#修复安装

2. PC安装Kinect版ROS

官方安装ROS说明:http://wiki.ros.org/Installation/Ubuntu?distro=kinetic

2.1 设置安装源和**

#此处选择清华源
aaa@qq.com:~$ sudo sh -c '. /etc/lsb-release && echo "deb http://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/ $DISTRIB_CODENAME main" > /etc/apt/sources.list.d/ros-latest.list'
aaa@qq.com:~$ sudo apt-key adv --keyserver 'hkp://keyserver.ubuntu.com:80' --recv-key C1CF6E31E6BADE8868B172B4F42ED6FBAB17C654

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

2.2 更新apt-get

aaa@qq.com:~$ sudo apt-get update

2.3 安装桌面完整版

#安装这个需要大概10分钟,请大家先去喝杯茶放松一下
aaa@qq.com:~$ sudo apt-get install ros-kinetic-desktop-full

2.4 解决依赖

#安装证书库:
aaa@qq.com:~$ sudo apt-get install ca-certificates
#初始化rosdep:
aaa@qq.com:~$ sudo rosdep init
#先再次更新一下apt-get
aaa@qq.com:~$ sudo apt-get update
aaa@qq.com:~$ sudo apt-get upgrade
#更新rosdep
aaa@qq.com:~$ rosdep update

参考文章:[ROS] 在 Ubuntu 16.04 系统上安装 ROS Kinetic

注意:在执行 rosdep update时可能会报错,是因为超时时间的问题,解决办法如下:

​ 更改/usr/lib/python2.7/dist-packages/rosdep2/下的三个文件sources_list.pygbpdistro_support.pyrep3.py 中的DOWNLOAD_TIMEOUT = 15.0值,改大一点就可以了,我改为DOWNLOAD_TIMEOUT = 60

#进入目录
aaa@qq.com:/usr/lib/python2.7/dist-packages/rosdep2$ cd /usr/lib/python2.7/dist-packages/rosdep2
#修改相应文件
aaa@qq.com:/usr/lib/python2.7/dist-packages/rosdep2$ sudo vi sources_list.py
taaa@qq.com:/usr/lib/python2.7/dist-packages/rosdep2$ sudo vi gbpdistro_support.py
aaa@qq.com:/usr/lib/python2.7/dist-packages/rosdep2$ sudo vi rep3.py
#再次更新
aaa@qq.com:/usr/lib/python2.7/dist-packages/rosdep2$ rosdep update

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

2.5 环境设置

#将ROS环境变量加入 ~/.bashrc
aaa@qq.com:~$ echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
#更新 ~/.bashrc
aaa@qq.com:~$ source ~/.bashrc

2.6 安装rosinstall开发工具

​ rosinstall是一种常用的命令行工具,使您可以使用一个命令轻松下载ROS包的许多源树。

aaa@qq.com:~$ sudo apt install python-rosinstall python-rosinstall-generator python-wstool build-essential

2.7 验证安装

​ 至此,如果你在以上安装步骤中没有发生错误,或者报错都已经成功解决,您可以尝试使用以下命令验证您的安装:

#创建文件夹
aaa@qq.com:~$ mkdir -p ~/catkin_ws/src
#进入目录
aaa@qq.com:~/catkin_ws/src$ cd ~/catkin_ws/
#执行编译命令(如果正常编译没有报错,证明安装成功)
aaa@qq.com:~/catkin_ws$ catkin_make
  • 此时你可以运行“小乌龟”来验证你的安装
#切换到家目录
aaa@qq.com:~/catkin_ws$ cd ~
aaa@qq.com:~$ roscore

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

#打开新终端,执行小乌龟节点
aaa@qq.com:~$ rosrun turtlesim turtlesim_node 

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

#打开新终端,执行键盘控制
aaa@qq.com:~$ rosrun turtlesim turtle_teleop_key

​ 恭喜你!你现在可以使用键盘上的方向键控制小乌龟行走了!

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

2.8 下载Gazebo资源库

#在终端中输入gazebo
aaa@qq.com:~$ gazebo

**注意:**第一次打开会一直在这个界面,是正常的,软件正在自动下载资源库,等待它下载完毕,先去喝茶。

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

下载完成后,软件会自动启动,但是会报错,关闭报错提示框。

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

解决办法:

#修改~/.bashrc
aaa@qq.com:~$ echo "export SVGA_VGPU10=0" >> ~/.bashrc
#更新~/.bashrc
aaa@qq.com:~$ source ~/.bashrc
#重新打开gazebo
aaa@qq.com:~$ gazebo

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

此时,Gazebo已经可以正常使用:

VMware安装 Ubuntu 16.04 并配置ROS系统(Kinetic 版本)

恭喜你!Ubuntu16.04 + Kinect 安装完成!