简介:这份教程面向准备进入ROS机器人开发的学习者,围绕Ubuntu系统的安装与基础环境搭建展开,适合刚接触Linux、需要为后续ROS学习准备开发环境的初学者。包内为1个PDF文件,压缩包约13.36MB,内容以图文步骤和界面截图组织,重点覆盖Ubuntu镜像获取、VMware虚拟机创建、虚拟机参数设置以及Ubuntu安装等关键环节。已有276人学习,说明其在入门阶段具有一定参考价值。读者可借助文档按图操作,理解虚拟机名称与存储路径避免中文、选择Ubuntu 64位、分配至少25GB硬盘、启用UEFI等易错点,并建立从系统安装到后续ROS环境配置的衔接认知,减少反复试错。
1. 先弄明白一件事:为什么学 ROS 要先装一个 Ubuntu
很多零基础新手听到“学机器人要先装 Linux”,第一反应都是——我是不是得把电脑整个重装一遍?万一装坏了原来的资料怎么办?其实不用。你可以把 Ubuntu 理解成一个“装在盒子里的房间”:盒子是虚拟机软件,房间是 Ubuntu 系统,里面怎么折腾都碰不到你原来的 Windows。装坏了删掉重建,几乎没有后悔药成本。
ROS 这套机器人开发框架,绝大多数教程、代码包和工具链都以 Ubuntu 为主要支持平台。你在别的系统上跟着敲,经常第一步就卡在编译报错上,搜到的答案还对不上。所以这门课把 Ubuntu 安装单独拎出来讲,不是凑数,是给后面所有 ROS 机器人实验铺地基。下面这些内容适合完全零基础、又不想动原系统的人。
2. 动手前的准备:镜像、虚拟机软件和一份不后悔的目录规划
真正开始之前,有三样东西要先到位:一个系统镜像文件、一款虚拟机软件、一块够用的硬盘空间。它们的关系可以用一句话说清:虚拟机软件负责“造房子”,镜像负责“把家具搬进去”,你的电脑负责“当地基”。三样缺一样,后面都会卡住。
新手最容易犯的错,不是不会点下一步,而是准备工作做得太随意,装到一半发现路径带中文、磁盘不够大、位数选错,只能推倒重来。所以这一章不写高深的东西,只把准备工作做扎实,让你后面每一步都点得心安。
2.1 三样东西各是干什么的
先说镜像。你可以把它想成一张“系统安装光盘的电子版”,通常是一个几 GB 的大文件,后缀是.iso。它不是一个压缩包,不需要解压,虚拟机软件能直接把它当光盘读。下载的时候注意看位数:现在基本都是 64 位,选 64 位版本。这个细节看起来很无聊,但它直接决定后面能不能选 UEFI 引导、能不能正常分区,选错了后面会莫名其妙地失败。
再说虚拟机软件。它的作用是在你的电脑里“隔”出一块独立空间,让 Ubuntu 以为自己跑在一台真机上。你开着虚拟机的时候,Windows 和 Ubuntu 是两个互不干扰的世界,可以随时切回来查资料、复制粘贴。对新手来说,这个“随时能反悔”的特性比什么性能都重要——装崩了,删掉那个文件夹,重新来一遍就行。
最后是宿主机资源。虚拟机会真的占用你的内存和硬盘,不是模拟出来的。所以心里要有数:内存至少给虚拟机留 4GB,硬盘至少留 25GB 给系统本身,再加上你后面要装的各种工具,实际占用会更大。如果你的电脑本身内存只有 8GB,那就把虚拟机内存设成 4GB,别贪多,不然两边一起卡。
还有一个容易被忽略的准备:目录规划。新建一个专门的文件夹放虚拟机文件,比如在某个非系统盘里建一个vm目录,下面再建ubuntu-ros。名字全部用英文,路径里不要出现中文、空格、括号,也不要直接放在某个盘的根目录或者桌面上。原因很实在——有些安装程序和脚本对非英文路径处理得不好,出问题时你连报错都看不懂,只能全删重来。
2.2 装虚拟机软件时那几个勾选框到底勾不勾
虚拟机软件本身的安装过程很快,但安装向导里会出现好几组勾选框,新手往往一路“下一步”,结果装完才发现不对劲。这里给你两条判断原则,比死记硬背更管用。
第一条:凡是问你要不要“加入用户体验改进计划”“发送匿名使用统计”“自动检查更新”这类联网行为的,一律不勾。这些东西对学习没有任何帮助,反而会在你装系统的关键时刻占带宽、弹窗口。原文在演示时特意标注了两处“全部不要勾选”,说的就是这一类。
第二条:凡是问你要不要“创建桌面快捷方式”“关联常见文件类型”“把程序加入右键菜单”这类方便你找到它的,勾上。这类选项不会影响系统运行,只会让你以后少绕路。原文里标注的“建议全部勾选”,对应的就是这一组。
安装路径同样要遵守英文原则,不要装在带中文的目录里。装完之后先别急着建虚拟机,重启一下电脑,然后确认一下虚拟化功能有没有打开。在任务管理器的性能页里能看到“虚拟化:已启用”字样,如果显示已禁用,就需要进主板设置里打开对应开关,不同主板的叫法不一样,找带有“虚拟化”“VT”“SVM”字样的选项即可。这一步不做,后面虚拟机可能开不了机,或者开起来慢得让人怀疑人生。
2.3 建虚拟机:64 位、UEFI 和 25GB 这三处别选错
准备工作到位,就可以新建虚拟机了。安装类型建议选“自定义(高级)”,虽然选项多,但每一步都能看清楚自己在干什么,比“典型”模式更可控。前面几步直接下一步即可,到“安装客户机操作系统”这一步要停一下。
这里的关键是两处选择:类型选 Linux,版本一定要选 Ubuntu 64 位,不是 32 位,也不是“其他 Linux”。原文在这里加了很重的提示——如果不选 64 位,后续步骤会出问题。具体出什么问题?最典型的就是下一步的固件类型里,UEFI 选项会变成灰色不可选,而 UEFI 又和后面的分区方式绑在一起。
接着是虚拟机名称和位置。名称用英文,比如ubuntu-ros;位置点浏览,选到你刚才建好的那个专门文件夹。注意这里选的是“虚拟机放在哪”,不是“虚拟机软件装在哪”,两个概念别搞混。放在桌面上看着方便,实际上很容易在清理桌面时误删,也容易因为路径带中文出问题。
然后是磁盘容量。原文给的下限是 25GB,同时建议尽可能大。入门阶段我的建议是给到 60GB 到 80GB,理由是:系统本身占十几 GB,后面装 ROS 和相关工具、编译中间文件,很容易再吃掉几十 GB。磁盘给少了不会立刻报错,而是在你学到一半时突然提示空间不足,那种感觉相当难受。存储方式选“拆分成多个文件”,方便以后整体拷贝或移动。
最后一处是固件类型,必须选 UEFI。这一步的前提就是前面选了 Ubuntu 64 位,如果这里是灰的,退回去重新选版本。原文明确说了这涉及后期分区,不是可选项。配置完成后先别开机,进“编辑虚拟机设置”里把内存调到 4GB 以上、处理器给 2 核,显示器那一项把加速 3D 图形先关掉,能避开不少黑屏问题。
| 配置项 | 建议值 | 为什么这么选 |
|---|---|---|
| 客户机版本 | Ubuntu 64 位 | 不选 64 位,UEFI 选不了,分区会出问题 |
| 虚拟机名称与路径 | 纯英文,专用文件夹 | 中文路径和桌面路径容易引发找不到文件 |
| 磁盘容量 | 60GB 起,最低 25GB | ROS 及工具链占用大,空间不足会中途失败 |
| 固件类型 | UEFI | 与后面的 EFI 分区方式配套 |
| 内存 / 处理器 | 4GB 以上 / 2 核 | 太少会卡到无法安装,太多会拖慢宿主机 |
3. 第一个能跑通的例子:从空虚拟机到看见 Ubuntu 桌面
配置建好之后,虚拟机还是一个“空房子”,里面什么都没有。这一章要做的事很具体:把镜像塞进去、开机、看到桌面、走完安装向导。整个过程不需要你懂任何命令,全是点鼠标,但每一步都有坑,跟着顺序走就行。
我建议你把这一章当成第一次“跑通流程”的练习,不通的地方别硬扛,退回去检查上一步。新手最常见的失败不是操作难,而是某一步点快了,后面全乱。
3.1 挂载镜像并第一次开机
先让虚拟机认识你的镜像文件。打开虚拟机的设置界面,找到 CD/DVD 那一项,选择“使用 ISO 映像文件”,点浏览,定位到你下载的那个.iso文件,确认勾选了“启动时连接”。这一步做完,虚拟机就相当于插了一张系统光盘。
点“开启此虚拟机”,稍等一会儿,会进入一个引导界面。左边一列是语言,可以用英文,也可以拉到末尾选中文,看个人习惯。这时候屏幕上通常有两个选项:试用和安装。原文特别提醒了一句——不着急点安装,先点“试用”或者直接点右上角的关闭。
为什么不直接装?因为你现在还没确认这台虚拟机能不能正常显示、能不能联网、鼠标能不能自由进出。先进试用桌面,等于先试驾一圈,确认车没问题再签合同。如果试用桌面都进不去,那安装过程大概率也走不完,早发现问题早重来,比装到一半失败省时间。
进入桌面之后,看到那个熟悉的 Ubuntu 标志,说明系统已经跑起来了,安装程序就在桌面上等着你。到这一步,最难的“能不能装”已经验证完了。
3.2 先别急着点安装:试用桌面与分辨率设置
试用桌面的第一件事不是找安装按钮,而是调分辨率。很多新手在这里翻车:默认分辨率比较小,安装向导的窗口比屏幕还大,“继续”按钮跑到屏幕外面去了,鼠标怎么拖都点不到,只能干瞪眼。
调整方法很简单。点右上角的倒三角展开菜单,进设置,找到“显示”那一项,里面有一排分辨率可选,一般选 1920×1080 就够用。如果你的显示器比较小,选一个和它接近的也行,关键是让窗口能完整显示出来。调完之后窗口会自动缩放,再回到桌面看,安装窗口就完整了。
如果一时找不到设置入口,还有个应急办法:按住 Alt 键拖动窗口,可以把超出屏幕的部分拽回来。这招在 Linux 桌面里通用,以后遇到弹窗太大点不到按钮,也能这么干。
顺便在试用桌面里做两件小事:打开浏览器随便访问一个页面,确认网络是通的;试试鼠标能不能从虚拟机窗口里移出来,不能的话按一下 Ctrl+Alt 组合键。这两件事花不了一分钟,但能帮你排除掉后面“装到一半下载失败”“鼠标被困住”的麻烦。
3.3 走完安装向导:语言、键盘与“其他选项”
分辨率调好,双击桌面上的安装图标,正式进入向导。前几步很轻松:语言选中文或 English,键盘布局保持默认。语言这里多说一句,选 English 的好处是报错信息、路径、终端提示全是英文,遇到问题搜起来命中率高;选中文更亲切,也能正常用。两种都行,别在这个选择上纠结太久。
真正要小心的是“更新和其他软件”这一页。原文在这里连写了两遍“千万不能勾选”。落到实际操作上,指的就是两个选项:一个是安装过程中同时下载更新,一个是安装第三方图形驱动和额外媒体格式。第一个不勾,是因为虚拟机里下载速度慢,几十分钟卡在那里不动,你根本分不清是网络慢还是装死了;第二个不勾,是因为虚拟机的显卡是模拟出来的,装真实显卡驱动容易直接黑屏,进不了系统。
下一页是安装类型,这里是全文最关键的一次选择:一定要选“其他选项”,不要选“清除整个磁盘并安装”。清除整个磁盘听起来省事,但它把分区决定权交给了程序,后面想调整会很被动。选“其他选项”之后,你会看到一个空白的磁盘列表,接下来就是手动分区——听着吓人,其实就三个分区的事,下一章专门讲。
4. 分区这一步别慌:新手也能看懂的手动分区
分区是整篇教程里最容易让人紧张的一步,因为界面上全是“空闲空间”“挂载点”“ext4”这种词,看着像在拆炸弹。其实换个说法就好懂了:你手上有一块刚买来的空地,现在要划成几块用途不同的地——一块放启动文件,一块当临时仓库,剩下全部当主场地。划错了重划就行,反正是虚拟磁盘,不会伤到你的真电脑。
这一章我会把三个分区的作用、大小、类型都写清楚,你照着填就可以。填完之后还有第一次重启要做的收尾动作,别在最后一步功亏一篑。
4.1 为什么要手动分区而不是一键清除
先说清楚“一键清除整个磁盘”的问题在哪。它会把整块虚拟磁盘划成一个巨大的根分区,看起来简单,但有两个隐患:一是没有独立的 EFI 启动分区,在 UEFI 模式下可能装完起不来;二是没有交换空间,内存吃紧时系统会直接卡死而不是变慢。
手动分区的价值在于,你清楚每一块地是干什么用的。以后系统出问题,你知道该看哪个分区;想扩容,你知道该动哪里。对 ROS 机器人学习来说,后面装的东西会越来越多,分区结构清楚,排查问题时心里有底。
操作手法很简单:在分区界面选中那块“空闲”空间,点下面的加号,弹出一个小窗口,填大小、选类型、选挂载点,确认。重复三次,就分完了。新建分区表的时候如果弹出警告说会清空数据,放心确认——这是一块全新的虚拟磁盘,里面本来就没东西。
4.2 三个分区怎么分:EFI、交换、根目录
第一个分区是 EFI 系统分区,大小给 512MB 到 1GB 都行,类型选主分区,用途选 EFI 系统分区。这个分区只有在前面选了 UEFI 固件时才会用到,它负责存放启动文件。如果你在分区界面发现自己根本没法建这种类型,八成是建虚拟机时固件选错了,退回去改。
第二个分区是交换空间,相当于系统的“备用内存”。大小给 2GB 到 4GB,类型选逻辑分区,用途选交换空间,不用设挂载点。它的作用是在物理内存不够时顶一下,让系统变慢而不是直接崩。虚拟机内存给得不多的话,这一块别省。
第三个分区是根分区,把剩下的空间全部给它,类型主分区,用途选 ext4 日志文件系统,挂载点填一个斜杠/。这个斜杠就是整个系统的“主场地”,所有软件、文件、你的代码都放在这里。所以前面说磁盘要给大一点,主要就是给它。
| 分区 | 大小 | 类型 | 挂载点 | 作用 |
|---|---|---|---|---|
| EFI 系统分区 | 512MB~1GB | 主分区 | /boot/efi | 存放 UEFI 启动文件 |
| 交换空间 | 2GB~4GB | 逻辑分区 | 无 | 内存不足时兜底 |
| 根分区 | 剩余全部 | 主分区 | / | 系统和软件都装在这里 |
三个分区建完,界面下方会显示“安装启动引导器的设备”,确认它指向那块虚拟磁盘,然后点“现在安装”,弹窗确认写入,就可以去泡杯水了。安装过程会走十几分钟,中间可能有几次黑屏和重启,属于正常现象,别以为死机了。
4.3 装完第一次重启要做什么
安装结束会提示重启。点“现在重启”之后,如果画面卡在某个位置不动,别慌,直接强制关掉虚拟机再开机,一般就能进系统。有时候会弹一行英文提示,大意是“请移除安装介质后按回车”,这时候直接按回车就行,虚拟机会自动把光盘弹出去。
第一次进系统,会让你设置用户名和密码。用户名用英文,别用中文,原因和前面一样;密码自己记住,后面装软件、改配置都要用它,忘了就得重装。设置完成后进入桌面,先做几件验证的事,在终端里敲下面几行命令,确认系统装得对不对。
# 确认系统是 64 位,ROS 只支持 64 位环境 uname -m # 查看根分区的容量和使用情况,确认分区生效 df -h / # 查看内存和交换空间,确认交换分区挂上了 free -h # 如果这条命令有输出,说明当前是 UEFI 引导模式 ls /sys/firmware/efi逐条解释一下。uname -m输出x86_64就说明是 64 位,如果输出是别的,说明镜像选错了,得重装。df -h里那一行挂着/的记录,就是你的根分区,看总容量对不对得上你分的大小。free -h下面有一行 Swap,数字不为 0 说明交换空间生效了。最后一条ls /sys/firmware/efi,只要能看到内容而不是报“没有那个文件或目录”,就说明 UEFI 引导正常,这一步和前面选固件是配套的。
四行都正常,你的 Ubuntu 环境就算立住了。这时候可以给虚拟机拍个快照,名字叫“刚装完”,以后系统被折腾坏了,一键回滚,能省下大把重装时间。
5. 新手最容易翻车的几个地方:排查清单
安装这件事,顺利的时候半小时搞定,不顺利的时候能耗掉一整天。下面这几条是新手反馈最集中的问题,我把现象、原因、解决办法都写清楚,你遇到时按图索骥就行。看的时候别只看现象,重点看原因那一栏,理解了原因,下次就能提前避开。
5.1 开机一直黑屏,或者卡在某个画面不动
现象是点开机之后屏幕一片黑,或者出现一个标志之后就不动了,等十分钟也没反应。
原因通常有三个:一是建虚拟机时开了 3D 图形加速,虚拟机的模拟显卡带不动;二是内存或显存给得太少;三是固件类型和镜像不匹配。
解决办法是先把虚拟机关机,进设置里关掉 3D 加速,把显存往大调一档,内存确认在 4GB 以上。如果还是黑屏,就检查固件类型是不是 UEFI、镜像是不是 64 位。另外有个简单的判断:如果安装过程中勾选了第三方图形驱动,重装时务必不要勾,这一条能解决相当一部分黑屏问题。
5.2 安装界面按钮在屏幕外,鼠标点不到
现象是安装向导的窗口比虚拟机屏幕还大,“继续”“现在安装”这些按钮看不见也点不着,整个流程卡死。
原因是默认分辨率太低,虚拟机窗口又比较小,界面元素被挤到可见区域之外。
解决办法是在试用桌面里先把分辨率调到 1920×1080,再打开安装程序。已经打开了的,可以按住 Alt 键拖动窗口,把按钮拽回可见范围。还有个更省事的做法:直接最大化虚拟机窗口,或者进全屏模式,可视面积大了,问题自然消失。
5.3 装到一半提示空间不足,或者装完没剩多少地方
现象是安装程序报错退出,或者勉强装完,进系统一看可用空间只剩几百兆,随便装点东西就红条警告。
原因是磁盘只给了 25GB,而系统本身加上后续工具链占用远超这个数。
解决办法分两种情况:还没装完的,关机后在虚拟机设置里扩展磁盘容量,再重新走一遍安装;已经装完的,也可以扩展磁盘,但还要进系统里做分区扩容,对新手来说不如重建虚拟机来得干脆。我的建议是第一次就给它 60GB 以上,省得后面返工。
5.4 分区时提示没有根文件系统,或者找不到磁盘
现象是辛辛苦苦分完区,点安装弹出一个提示,说没有定义根文件系统,或者根本看不到可用的磁盘设备。
原因主要是两个:挂载点没填对,/这一项漏了或者填成了别的符号;或者前面选安装类型时没选“其他选项”,程序没进入手动分区模式。
解决办法是退回到分区界面,逐个检查三个分区的用途和挂载点,重点确认根分区那一行的挂载点确实是一个斜杠。如果磁盘列表是空的,检查是不是把整块盘删得太干净、没留空闲空间,必要时重建分区表再来一次。
5.5 虚拟机名称或存放路径带中文,出现各种奇怪报错
现象是启动时报找不到文件、安装过程中莫名中断,或者装完之后系统进不去,报错信息里还夹着一堆乱码。
原因是路径里含有中文、空格或特殊符号,部分程序读取路径时解析失败。这个问题最隐蔽,因为界面上看不出任何异常,只有出错的时候才暴露。
解决办法是老老实实重建一个虚拟机,名称和路径全部用英文,放在一个专门的英文目录下。已经装好的系统如果只是路径有问题,也可以先关机,把整个虚拟机文件夹改名、移动位置,再在软件里重新指向新路径。这一步花五分钟,能避免后面几小时的排查。
6. 装完系统之后:下一步该学什么
系统装好了,很多人的下一步是打开浏览器,然后就没有然后了。我给一条我自己走过的顺序,你可以照着走,也可以按自己的节奏调整。
| 阶段 | 大概花多久 | 目标 |
|---|---|---|
| 熟悉 Linux 基本操作 | 三到五天 | 会用终端、会装软件、知道文件在哪 |
| 安装 ROS 环境 | 半天到一天 | 环境配好,命令能跑通 |
| 跑通第一个小例子 | 一两天 | 看到机器人模型动起来 |
| 理解话题与服务 | 一到两周 | 能自己写一个节点收发消息 |
| 接真实硬件或仿真 | 看项目 | 把代码跑到具体设备上 |
第一阶段别急着装 ROS。先把终端用熟:cd切换目录、ls看文件、mkdir建文件夹、sudo apt install装软件,这几个命令覆盖了日常八成操作。我第一次学的时候跳过这一步,直接照着教程装 ROS,结果每条命令都要回头查是什么意思,效率极低,还把系统搞乱了两次。
第二阶段装 ROS 的时候,注意版本要和 Ubuntu 版本对应,装完一定要跑一下环境变量检查,确认终端里能识别到相关命令。装不上的时候,先看报错的第一行,而不是最后一行,第一行往往才是真正的错误原因。
第三阶段跑第一个例子,最经典的是一条让机器人模型在窗口里动起来的小程序。别小看它,它能验证你的环境、图形界面、通信机制是不是全通。跑通那一刻的成就感,比看十篇教程都管用。
第四阶段开始理解话题和服务这两个概念,它们是整个框架的通信基础。你可以把它想成“广播”和“打电话”:话题是广播,谁想听谁听;服务是打电话,问一句答一句。理解了这个,后面看别人的代码就不至于完全是黑匣子。
从那以后我每次重装环境,都会先把路径、位数、固件类型这三项从头检查一遍再点下一步,宁可多花十分钟,也不愿意在装到百分之八十的时候推倒重来。这份课程里的安装步骤之所以写得这么细,就是因为这些坑我自己基本都踩过。希望帮到你。
本文还有配套的精品资源,点击获取