虚拟机安装ubuntu16.04和ROS系统

1、虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

虚拟系统通过生成现有操作系统的全新虚拟镜像,它具有真实windows系统完全一样的功能,进入虚拟系统后,所有操作都是在这个全新的独立的虚拟系统里面进行,可以独立安装运行软件,保存数据,拥有自己的独立桌面,不会对真正的系统产生任何影响 ,而且具有能够在现有系统与虚拟镜像之间灵活切换的一类操作系统。虚拟系统和传统的虚拟机(Parallels Desktop ,Vmware,VirtualBox,Virtual pc)不同在于:虚拟系统不会降低电脑的性能,启动虚拟系统不需要像启动windows系统那样耗费时间,运行程序更加方便快捷;虚拟系统只能模拟和现有操作系统相同的环境,而虚拟机则可以模拟出其他种类的操作系统;而且虚拟机需要模拟底层的硬件指令,所以在应用程序运行速度上比虚拟系统慢得多。

流行的虚拟机软件有VMware(VMWare ACE)、Virtual Box和Virtual PC,它们都能在Windows系统上虚拟出多个计算机。

本人用的就是VMware。

虚拟机安装ubuntu16.04和ROS系统_第1张图片

进入官网下载VMware

 

2、Ubuntu(又称乌班图)是一个以桌面应用为主的开源GNU/Linux操作系统,Ubuntu 是基于Debian GNU/Linux,支持x86、amd64(即x64)、ARM和ppc架构,由全球化的专业开发团队(Canonical Ltd)打造的。

其名称来自非洲南部祖鲁语或豪萨语的“ubuntu”一词,类似儒家“仁爱”的思想,意思是“人性”、“我的存在是因为大家的存在”,是非洲传统的一种价值观。

Ubuntu基于Debian发行版和GNOME桌面环境,而从11.04版起,Ubuntu发行版放弃了Gnome桌面环境,改为Unity,与Debian的不同在于它每6个月会发布一个新版本。Ubuntu的目标在于为一般用户提供一个最新的、同时又相当稳定的主要由自由软件构建而成的操作系统。Ubuntu具有庞大的社区力量,用户可以方便地从社区获得帮助。Ubuntu对GNU/Linux的普及特别是桌面普及作出了巨大贡献,由此使更多人共享开源的成果与精彩。

 

进入中文官网下载Ubuntu16.04镜像文件

虚拟机安装ubuntu16.04和ROS系统_第2张图片

创建新虚拟机

虚拟机安装ubuntu16.04和ROS系统_第3张图片

虚拟机安装ubuntu16.04和ROS系统_第4张图片

虚拟机安装ubuntu16.04和ROS系统_第5张图片

虚拟机安装ubuntu16.04和ROS系统_第6张图片

虚拟机安装ubuntu16.04和ROS系统_第7张图片

虚拟机安装ubuntu16.04和ROS系统_第8张图片

虚拟机安装ubuntu16.04和ROS系统_第9张图片

虚拟机安装ubuntu16.04和ROS系统_第10张图片

虚拟机安装ubuntu16.04和ROS系统_第11张图片

虚拟机安装ubuntu16.04和ROS系统_第12张图片

虚拟机安装ubuntu16.04和ROS系统_第13张图片

虚拟机安装ubuntu16.04和ROS系统_第14张图片

虚拟机安装ubuntu16.04和ROS系统_第15张图片

虚拟机安装ubuntu16.04和ROS系统_第16张图片

虚拟机安装ubuntu16.04和ROS系统_第17张图片

虚拟机安装ubuntu16.04和ROS系统_第18张图片

虚拟机安装ubuntu16.04和ROS系统_第19张图片

虚拟机安装ubuntu16.04和ROS系统_第20张图片

 

3、ROS---(Robot Operating System)是一个机器人软件平台,它能为异质计算机集群提供类似操作系统的功能。ROS的前身是斯坦福人工智能实验室为了支持斯坦福智能机器人STAIR而建立的交换庭(switchyard)项目。到2008年,主要由威楼加拉吉继续该项目的研发。

ROS提供一些标准操作系统服务,例如硬件抽象,底层设备控制,常用功能实现,进程间消息以及数据包管理。ROS是基于一种图状架构,从而不同节点的进程能接受,发布,聚合各种信息(例如传感,控制,状态,规划等等)。目前ROS主要支持Ubuntu。

ROS可以分成两层,低层是上面描述的操作系统层,高层则是广大用户群贡献的实现不同功能的各种软件包,例如定位绘图,行动规划,感知,模拟等等。

ROS(低层)使用BSD许可证,所有是开源软件,并能免费用于研究和商业用途。而高层的用户提供的包则可以使用很多种不同的许可证。

* ROS wiki的解释:

ROS(Robot Operating System,下文简称“ROS”)是一个适用于机器人的开源的元操作系统。它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以及包管理。它也提供用于获取、编译、编写、和跨计算机运行代码所需的工具和库函数。

ROS 的主要目标是为机器人研究和开发提供代码复用的支持。ROS是一个分布式的进程(也就是“节点”)框架,这些进程被封装在易于被分享和发布的程序包和功能包中。ROS也支持一种类似于代码储存库的联合系统,这个系统也可以实现工程的协作及发布。这个设计可以使一个工程的开发和实现从文件系统到用户接口完全独立决策(不受ROS限制)。同时,所有的工程都可以被ROS的基础工具整合在一起。

这里搭配Ubuntu16.04使用ROS kinetic。

  1. 安装源

sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'

或来自中国的源:

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'
  1. 增加key
sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-key 0xB01FA116
  1. 更新
sudo apt-get update
  1. 安装,这里介绍Desktop-Full安装: (Recommended) : ROS, rqt, rviz, robot-generic libraries, 2D/3D simulators, navigation and 2D/3D perception
sudo apt-get install ros-kinetic-desktop-full
  1. 解决依赖
sudo rosdep init
rosdep update
  1. 环境设置
echo "source /opt/ros/kinetic/setup.bash" >> ~/.bashrc
source ~/.bashrc
  1. 安装rosinstall,便利的工具
sudo apt-get install python-rosinstall

卸载Kinetic

  • 用apt-get方式安装Kinetic的,卸载使用如下命令:
$ sudo apt-get remove ros-kinetic-*
  • 卸载成功的效果:就是/opt下的ROS文件夹Kinetic被删除

管理环境

  • 在安装ROS期间,你会看到提示说需要 source 多个setup.*sh文件中的某一个,或者甚至提示添加这条'source'命令到你的启动脚本里面。这些操作是必须的,因为ROS是依赖于某种组合空间的概念,而这种概念就是通过配置脚本环境来实现的。这可以让针对不同版本或者不同软件包集的开发更加容易。

  • 如果你在查找和使用ROS软件包方面遇到了问题,请确保你已经正确配置了脚本环境。一个检查的好方法是确保你已经设置了像ROS_ROOT和ROS_PACKAGE_PATH这样的环境变量,可以通过以下命令查看:

$ export | grep ROS
  • 如果发现没有配置,那这个时候你就需要'source'某些'setup.*sh’文件了。

  • ROS会帮你自动生成这些‘setup.*sh’文件,通过以下方式生成并保存在不同地方:

  1. 通过类似apt的软件包管理器安装ROS软件包时会生成setup.*sh文件。
  2. 在rosbuild workspaces中通过类似rosws的工具生成。
  3. 在编译 或 安装 catkin 软件包时自动生成。
注意: 在所有教程中你将会经常看到分别针对rosbuild 和 catkin的不同操作说明,这是因为目前有两种不同的方法可以用来组织和编译ROS应用程序。一般而言,rosbuild比较简单也易于使用,而catkin使用了更加标准的CMake规则,所以比较复杂,但是也更加灵活,特别是对于那些想整合外部现有代码或者想发布自己代码的人。关于这些如果你想了解得更全面请参阅catkin or rosbuild。 
  • 如果你是通过ubuntu上的 apt 工具来安装ROS的,那么你将会在'/opt/ros//'目录中看到setup.*sh文件,然后你可以执行下面的source命令:
# source /opt/ros//setup.bash
  • 请使用具体的ROS发行版名称代替

  • 比如你安装的是ROS Kinetic,则上述命令改为:

$ source /opt/ros/kinetic/setup.bash
  • 在每次打开终端时你都需要先运行上面这条命令后才能运行ros相关的命令,为了避免这一繁琐过程,你可以事先在.bashrc文件(初学者请注意:该文件是在当前系统用户的home目录下。)中添加这条命令,这样当你每次登录后系统已经帮你执行这些命令配置好环境。这样做也可以方便你在同一台计算机上安装并随时切换到不同版本的ROS(比如fuerte和groovy)。

  • 此外,你也可以在其它系统平台上相应的ROS安装目录下找到这些setup.*sh文件。

catkin方式创建ROS工作空间

  • 这些操作方法只适用于ROS Groovy及后期版本,对于ROS Fuerte及早期版本请选择rosbuild。
    下面我们开始创建一个catkin 工作空间:
$ mkdir -p ~/catkin_ws/src
$ cd ~/catkin_ws/src
  • 即使这个工作空间是空的(在'src'目录中没有任何软件包,只有一个CMakeLists.txt链接文件),你依然可以编译它:
$ cd ~/catkin_ws/
$ catkin_make
  • catkin_make命令在catkin 工作空间中是一个非常方便的工具。如果你查看一下当前目录应该能看到'build'和'devel'这两个文件夹。在'devel'文件夹里面你可以看到几个setup.sh文件。source这些文件中的任何一个都可以将当前工作空间设置在ROS工作环境的最顶层,想了解更多请参考catkin文档。接下来首先source一下新生成的setup.sh文件:
$ source devel/setup.bash
  • 要想保证工作空间已配置正确需确保ROS_PACKAGE_PATH环境变量包含你的工作空间目录,采用以下命令查看:
$ echo $ROS_PACKAGE_PATH
/home/youruser/catkin_ws/src:/opt/ros/kinetic/share:/opt/ros/kinetic/stacks
  • youruser为用户目录

到此你的工作环境已经搭建完成,接下来可以继续学习 ROS文件系统教程.

你可能感兴趣的:(学习笔记)