当前位置: 首页 > news >正文

Wheeltec智能车ROS实战(一):VMware虚拟机搭建Ubuntu 18.04与ROS Melodic环境

1. 引言

这一章,我详细记录了Wheeltec智能车ROS开发环境的完整搭建过程。整个环境基于VMware Workstation Pro虚拟机平台,在Ubuntu 18.04操作系统上部署ROS Melodic机器人操作系统,并完成Wheeltec官方功能包的获取与编译。

对于刚接触ROS实体机器人的学生/开发者来说,环境搭建总是能让人头疼。我将每一步操作都拆解清楚,并标注了常见的bug与解决方案,力求让大家能够顺利跑通整个环境配置流程。

在整个环境安装中,如果怕出现错误(比如环境安装或者修改源码没保存),记得随时利用虚拟机的快照保存。


2. 软硬件环境说明

2.1 硬件环境

这里我的电脑是Windows 10,Windows 10以上是可以跑的,以下我不清楚,有问题大家可以去社区问问或者用ai。后面我们将用VMware Workstation Pro上搭建Ubuntu 18.04。

2.2 软件版本对应关系

重要提示:ROS版本与Ubuntu版本存在严格的对应关系,版本不匹配会导致大量兼容性问题。Ubuntu 18.04必须安装ROS Melodic,Ubuntu 20.04对应ROS Noetic。

在学习了Wheeltec的相关教程后,我发现我用的实际小车是18.04下的rosmelodic版本,为了配套,所以我才用Ubuntu 18.04进行演示。


3 VMware Workstation Pro安装与虚拟机创建

3.1 下载与安装VMware Workstation Pro

关于VMware Workstation Pro的详细安装过程,我是参考B站UP主发布的保姆级安装视频教程。【2026版】VMware虚拟机保姆级安装使用教程!(附安装包及激活码)_哔哩哔哩_bilibili

3.2 下载Ubuntu 18.04镜像

特别说明:本章节展示的是从零开始手动下载并安装Ubuntu系统的完整流程,适合希望深入学习环境搭建全过程的读者。如果你已通过Wheeltec官方客服获取了配置好ROS环境的虚拟机压缩包(.7z.zip格式),可直接跳过3.2至3.4节,前往3.3节末尾的“(可选)导入现成虚拟机

访问Ubuntu官方仓库或国内镜像站,下载Ubuntu 18.04.6 LTS的ISO镜像文件。

国内镜像下载地址(推荐)

  • 清华镜像源:Index of /ubuntu-releases/18.04/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror

  • 中科大镜像源:Directory Listing

  • 阿里云镜像源:ubuntu-releases-18.04安装包下载-开源镜像站-阿里云

推荐下载文件:ubuntu-18.04.6-desktop-amd64.iso

我这里下载的就是这个文件。

这里我已经整理好了,大家可以通过百度网盘下载ubuntu-18.04.6-desktop-amd64.iso
链接: https://pan.baidu.com/s/11FAIG5PT2TR-xfyrpuzmKQ

提取码: kwb7

3.3 创建新的虚拟机

  1. 打开VMware Workstation Pro,点击“创建新的虚拟机”

  2. 选择“典型”配置(新手推荐),点击下一步。

  3. 选择“稍后安装操作系统”,点击下一步。

    为什么选“稍后安装”?
    选择此项会先创建一个“空壳”虚拟机(不含系统),后续我们再手动指定ISO镜像文件进行安装。这种方式可以更灵活地配置硬件参数,避免VMware的“简易安装”模式自动简化安装过程导致的一些自定义设置无法修改。

  4. 客户机操作系统选择“Linux”,版本选择“Ubuntu 64位”,点击下一步。

  5. 设置虚拟机名称(如“Ubuntu 18.04 akm”)和存储位置(建议放在非系统盘,预留足够空间,这里我放在了E盘),点击下一步。

  6. 分配磁盘容量:建议不少于40GB(ROS及功能包编译占用较大),这里我就设置成40GB,根据自己需要进行设置,然后选择“将虚拟磁盘拆分成多个文件”(便于迁移和管理),点击下一步。

  7. 点击“自定义硬件”,进行以下配置:

    硬件建议配置说明作者设置
    内存4GB及以上最低2GB,但编译时可能卡顿8.5GB
    处理器2核及以上核心数越多,编译速度越快2处理器*4内核数=总数8
    网络适配器桥接模式虚拟机与宿主机处于同一局域网,可获得独立IP,便于后续SSH登录小车和跨设备通信桥接模式
    新CD/DVD“使用ISO映像文件”直接点击“浏览”,加载已下载的Ubuntu 18.04 ISO镜像文件/
    显示加速3D图形(可选)提升桌面流畅度加速3D图形
  8. 点击“完成”,虚拟机创建完成。

  9. (可选)导入现成虚拟机:如果你已通过Wheeltec官方客服获取了配置好ROS环境的虚拟机压缩包,可跳过上述3.2至3.4的全部手动安装步骤。直接将压缩包解压,在VMware中点击“打开虚拟机”,选择解压后的.vmx文件即可导入使用。

3.4 安装Ubuntu 18.04系统

  1. 选择语言为“中文(简体)”,点击“安装Ubuntu”

  2. 键盘布局选择“汉语”(或保持默认的“中文”选项),点击“继续”。

  3. 此时弹出了探测键盘布局,如果键盘上有就选择“是”,否则选“否”,然后点击“继续”

  4. 选择“正常安装”,点击“继续”

  5. 安装类型选择“清除整个磁盘并安装Ubuntu”(虚拟机内操作,不影响宿主机),点击“现在安装”。

  6. 在弹出的确认对话框中点击“继续”

  7. 选择时区,默认即可(系统会根据网络自动识别,这里选择上海),点击“继续”。

  8. 设置用户名和密码(请务必记住,后续SSH登录和sudo操作会频繁使用),可选择“自动登录”或“需要密码登录”,点击“继续”。

  9. 等待安装完成,点击“现在重启”重启虚拟机。

踩坑提醒

  • 安装完成后重启时,VMware可能会提示“移除安装介质”,按提示操作即可,或直接按回车键确认。

  • 系统语言选择中文后,终端中的家目录路径仍为/home/用户名,但桌面、下载等文件夹名称变为中文(如~/桌面~/下载),在命令行中操作时需注意路径中的中文名称,或使用Tab键自动补全避免输入错误

3.5 虚拟机环境优化(强烈推荐)

VMware Tools可以提升虚拟机性能,支持文件拖拽、剪贴板共享、自适应分辨率等功能。

  1. 在VMware菜单栏点击"虚拟机" → "安装VMware Tools"

  2. 在Ubuntu桌面会出现VMware Tools的光盘图标。

  3. 打开终端,执行以下命令:

    # 进入/media目录找到VMware Tools光盘 cd /media/$USER/VMware\ Tools/ # 将安装包复制到临时目录 cp VMwareTools-*.tar.gz /tmp/ cd /tmp/ # 解压并安装 tar -xzvf VMwareTools-*.tar.gz cd vmware-tools-distrib/ sudo ./vmware-install.pl -d
  4. 重启虚拟机使配置生效,可直接在VMware菜单栏点击‘虚拟机’→‘电源’→‘重启客户机’,或在终端中执行

    sudo reboot

4 Ubuntu 18.04基础环境配置

4.1 更换国内软件源(加速apt下载)

Ubuntu默认的官方源位于国外,下载速度较慢,建议更换为国内镜像源。

方式一:通过图形界面“软件与更新”换源(推荐新手)

  1. 点击Ubuntu桌面左栏目的“橙色A字应用”,此时最上方有一个“Ubuntu 软件”,点击它找到“软件和更新”并打开。

  2. 在弹出的窗口中,找到切换到“Ubuntu软件”选项卡,在“下载自”下拉菜单中选择“其他站点”

  3. 点击“选择最佳服务器”,系统会自动测试并推荐最快的镜像源;或点击“手动选择”,在列表中直接选择国内镜像源,这里我选择了mirrors.tuna.tsinghua.edu.cn,你也可以选择其他的国内镜像源,如:

    • mirrors.aliyun.com(阿里云)

    • mirrors.ustc.edu.cn(中国科学技术大学)

  4. 选择完成后,点击“选择服务器”,然后点击“关闭”

  5. 系统会提示“软件包信息已过时,需要重新加载”,点击“重新加载”,等待缓存更新完成即可。

方式二:通过命令行手动换源(进阶用户)

  1. 备份原始源列表:

    sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  2. 编辑源列表:

    sudo gedit /etc/apt/sources.list

    或者使用vim/nano编辑器:

    sudo nano /etc/apt/sources.list
  3. 将文件内容替换为清华镜像源(Ubuntu 18.04对应"bionic"):

    deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
  4. 更新软件包列表:

    sudo apt update sudo apt upgrade -y

4.2 安装基础开发工具

后续编译功能包可能需要用到一些基础开发工具,可以提前安装:

sudo apt install -y git vim cmake build-essential python-pip

这里对各工具用途进行简要说明:

  • build-essential:提供GCC/G++编译器和make工具,用于编译C++源码。

  • cmake:ROS catkin编译系统的核心依赖。

  • git:用于从GitHub等平台克隆功能包源码。

  • python-pip:Python 2的包管理工具(ROS Melodic默认基于Python 2)。

  • vim:终端文本编辑器,方便修改配置文件(也可使用nano或gedit替代)。


5 ROS Melodic安装

5.1 配置ROS软件源

为了安装ROS Melodic,首先需要在Ubuntu 18.04上添加ROS的软件源。

使用国内镜像源

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

这里提供一些可选镜像源

  • 清华源:https://mirrors.tuna.tsinghua.edu.cn/ros/ubuntu/

  • 阿里源:https://mirrors.aliyun.com/ros/ubuntu/

  • 中科大源:http://mirrors.ustc.edu.cn/ros/ubuntu/

5.2 设置密钥

sudo apt install curl -y curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -

踩坑提醒:如果raw.githubusercontent.com无法访问(网络问题),可以尝试使用国内镜像代理或多次重试。

5.3 安装ROS Melodic

  1. 更新软件包列表:

    sudo apt update
  2. 安装桌面完整版(Desktop-Full),包含ROS核心、rviz、gazebo、2D/3D感知等功能:

    sudo apt install ros-melodic-desktop-full -y

    安装过程约需10-30分钟,取决于网络速度。

常见问题:如果出现"无法定位软件包 ros-melodic-desktop-full"错误,通常是因为未正确添加ROS软件源或未执行sudo apt update。请检查上一步的源配置是否正确。

5.4 初始化rosdep

rosdep是ROS的依赖管理工具,用于安装源码编译所需的系统依赖:

sudo rosdep init rosdep update

常见报错:

在执行sudo rosdep init时,可能会遇到以下错误:

ERROR: cannot download default sources list from: https://raw.githubusercontent.com/ros/rosdistro/master/rosdep/sources.list.d/20-default.list Website may be down.

原因分析:该错误是由于国内网络无法稳定访问raw.githubusercontent.com所致,并非系统或ROS本身的问题。

解决方案:

方案一:推荐使用国内社区维护的rosdepc工具

rosdepc 是 rosdep 的一个国内替代工具,有相关社区进行维护,这里把官方源换成了国内镜像,基本上一次性就能跑通,省得大家折腾hosts和网络。

# 1. 安装python-pip(如果尚未安装) sudo apt install python-pip -y 2. 安装rosdepc sudo pip install rosdepc 3. 使用rosdepc初始化 sudo rosdepc init 4. 更新rosdepc数据库 rosdepc update

此后,所有原本使用rosdep的地方,都可以用rosdepc替代。

常见问题:如果在sudo rosdepc init时提示找不到命令,可能是因为pip安装的脚本未添加到PATH,可尝试重启终端或执行source ~/.profile后再试。

方案二:使用手机热点临时解决

raw.githubusercontent.com在某些宽带网络下被限制,可尝试切换至手机4G/5G热点后重新执行sudo rosdep initrosdep update。初始化成功后,后续使用可切回原有网络。

验证rosdep是否初始化成功:

执行以下命令,若无报错则说明初始化成功:

rosdep update

或(若使用rosdepc):

rosdepc update

5.5 配置环境变量

将ROS环境变量添加到~/.bashrc中,使每次打开终端时自动加载:

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

5.6 验证ROS安装

打开一个新终端,运行以下命令验证ROS是否安装成功:

roscore

如果看到类似以下输出,说明ROS核心服务启动成功:

... started core service [/rosout]

Ctrl+C终止roscore进程。

5.7 常见问题:roscore找不到或无法启动

现象:

roscore

终端返回:

Command 'roscore' not found

或:

roscore: command not found

原因分析:出现该问题的绝大多数情况是ROS环境变量未正确加载,而非ROS安装不完整。我经过排查后,发现是当时只在当前终端source了ros环境,忘记写到.bashrc去了。

解决方案:

一:检查环境变量是否加载

echo $ROS_DISTRO
  • 如果输出为空(无任何显示),说明ROS环境变量未加载。

  • 如果输出为melodic,说明环境变量已加载,问题可能出在其他方面,请继续检查。

二:手动加载ROS环境变量

source /opt/ros/melodic/setup.bash

再次验证:

echo $ROS_DISTRO # 应输出:melodic

三:将环境变量写入~/.bashrc

如果上述方法有效,但每次打开新终端都需要手动加载,说明~/.bashrc中缺少自动加载命令。执行以下命令将其写入:

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

并确认roscore是否能正常使用

roscore

四:若仍无效,重装ROS基础功能包

sudo apt-get install --reinstall ros-melodic-desktop-full

6 使用Wheeltec官方提供的工作空间

Wheeltec官方客服通常会随产品提供已配置好的ROS工作空间压缩包(文件夹名通常为wheeltec_robot),其中已包含小车所需的所有ROS功能包。直接使用此工作空间可省去手动创建和获取功能包的步骤。

6.1 解压工作空间

将得到的压缩包放入主目录(~/)下并解压:

# 如果是.zip格式 unzip wheeltec_robot.zip -d ~/ # 如果是.tar.gz格式 tar -xzvf wheeltec_robot.tar.gz -C ~/

在这里,如果压缩包名称不同,请替换为实际文件名。解压后的文件夹路径应为~/wheeltec_robot

6.2 移植已编译的工作空间

由于工作空间已编译过,其build/文件夹中的编译缓存记录了原电脑的系统名称(即原电脑的用户名)。直接在新电脑上编译会因路径不匹配而报错。因此需要先将MakefileCMakeCache.txt中的原电脑名称替换为新电脑名称。

选择编辑器:Sublime Text 或 VSCode

下面提供Sublime TextVSCode两种编辑器的安装与操作方式,选择其中一种即可。Wheeltec 官方教程推荐的是 Sublime Text(方案一),如果你没有特别偏好,按官方教程走就好。如果你习惯用 VSCode,方案二同样可用。

一:Sublime Text

操作步骤:

  1. 安装Sublime Text

    这里我参考了wheeltec的ros学习教程,它里面推荐选择Sublime Text进行演示。前往Sublime Text官网(https://www.sublimetext.com/)下载Linux版本安装包,或通过命令行安装:

    sudo snap install sublime-text --classic
  2. 用Sublime Text打开build文件夹

    打开Sublime Text,点击菜单栏File → Open Folder,在弹出的窗口中选择~/wheeltec_robot/build文件夹,点击“打开”。(我这里已经安装了中文包,对于中文来说就是点击菜单栏里的文件打开文件夹)

  3. 打开需要修改的文件

    在Sublime Text左侧的文件列表中,依次双击打开MakefileCMakeCache.txt这两个文件(这里我已经改过了,换成了我的名称cgh)。

  • 查找并替换电脑名称

    注意:如果不清楚原电脑用户名,打开CMakeCache.txt后搜索/home/,即可看到原电脑的路径信息,如/home/wheeltec/,其中wheeltec即为原电脑用户名。

    • Ctrl+F打开查找面板。

    • 在查找框中输入原电脑的用户名(即提供工作空间那台电脑的用户名,如wheeltecubuntu等,可询问客服确认)。

    • 点击查找面板下方的Find All按钮(或按Alt+Enter),此时所有匹配项会被高亮选中。

    • 直接输入当前电脑的用户名,所有高亮项会同步修改。

    • Ctrl+S保存修改。

  • 验证替换是否完成

    再次按Ctrl+F搜索原电脑用户名,确认已无匹配项。若仍有残留,重复上述步骤。

二:VSCode
  1. 安装VSCode

    VSCode从1.86版本开始,要求系统的glibc版本不小于2.28。而Ubuntu 18.04自带的glibc版本为2.27,不满足要求,因此不能安装最新版VSCode。需要安装1.85.2版本,这是最后一个兼容Ubuntu 18.04的版本。

    下载方式一:从微软官方下载

    wget https://update.code.visualstudio.com/1.85.2/linux-deb-x64/stable -O code_1.85.2.deb

    下载方式二:从百度网盘下载

    我已经将code_1.85.2-1705561292_amd64.deb安装包上传至百度网盘:

    通过网盘分享的文件:code_1.85.2-1705561292_amd64.deb
    链接: https://pan.baidu.com/s/1ptoCJZL4u9gkuJ0EWgmDLg
    提取码: py9q

    下载后,将.deb文件放入 Ubuntu 系统(例如放到~/Downloads/目录)。在终端中进入该目录,执行安装:

    sudo dpkg -i code_1.85.2-1705561292_amd64.deb

    如果安装过程中提示有依赖问题,运行以下命令修复:

    sudo apt --fix-broken install -y

    安装完成后验证是否成功:

    code --version

    能正常输出版本号(1.85.2)即表示安装成功。

  2. 用VSCode打开build文件夹

    打开VSCode,点击菜单栏File → Open Folder(若已安装中文包,则为文件 → 打开文件夹),在弹出的窗口中选择~/wheeltec_robot/build文件夹,点击“OK”。

  3. 打开需要修改的文件

    在VSCode左侧的文件列表中,依次单击打开MakefileCMakeCache.txt这两个文件。(这里我已经改过了,换成了我的名称cgh),替换过程大差不差,可以自己操纵尝试。

  • 关闭编辑器,返回终端编译工作空间

    cd ~/wheeltec_robot catkin_make

    编译成功后,会在工作空间下生成build/devel/文件夹(如已存在则自动更新)。

这是常见编译错误

错误现象可能原因解决方案
Makefile:XXX: recipe for target XXX failed电脑名称未完全替换重新打开build文件夹,检查MakefileCMakeCache.txt中是否还有原电脑名残留
CMake Error: The source directory ... does not exist路径仍指向原电脑目录检查CMakeCache.txt中所有/home/原用户名/是否已全部替换为/home/新用户名/
XXX package not foundCould not find a package缺少依赖包~/wheeltec_robot/目录下执行rosdep install --from-paths src --ignore-src -r -y安装所有依赖,或根据提示执行sudo apt install ros-melodic-XXX单独安装

7 环境验证

7.1 验证功能包是否可识别

roscd turn_on_wheeltec_robot ls

如果能正常进入功能包目录并列出文件,说明功能包配置正确。

7.2 查看功能包列表

rospack list | grep wheeltec

应该能看到turn_on_wheeltec_robot等相关功能包。

8 本章小结

本章完成了Wheeltec 智能车ROS开发环境的全部搭建工作,主要包括:

步骤内容
1VMware虚拟机创建与Ubuntu 18.04安装
2国内软件源更换与基础工具安装
3ROS Melodic完整安装与rosdep初始化
4ROS环境变量配置与验证
5Wheeltec工作空间解压、编译与配置
6环境验证

至此,开发环境已经安装完毕。在下一章中,我们就让小车真正动起来,先试简单的键盘控制,后续将在gazebo中加载自己的地图,并更换有关车型(mini_mec换成mini_akm),然后再做SLAM建图和自主导航。


9 常见问题汇总(FAQ)

Q1:安装ROS时提示"无法定位软件包"怎么办?

A:检查是否已正确添加ROS软件源,并执行了sudo apt update。如果使用的是Ubuntu 20.04,应安装ROS Noetic而非Melodic。

Q2:rosdep update一直失败怎么办?

A:通常是网络问题。可以多次重试,或者配置rosdep使用国内代理。一个简单的方法是在/etc/hosts中添加151.101.84.133 raw.githubusercontent.com

Q3:虚拟机和宿主机无法复制粘贴文件?

A:安装VMware Tools并重启虚拟机即可。如仍不行,可在csdn、b站、github等网站查询解决方法。


10 参考资料

  1. ROS官方Wiki - Melodic安装指南:http://wiki.ros.org/melodic/Installation/Ubuntu

  2. Ubuntu 18.04 官方镜像下载:Ubuntu 18.04.6 LTS (Bionic Beaver)

  3. Wheeltec官方论坛:http://bbs.wheeltec.net


如果觉得这篇文章对你有帮助,欢迎点赞、收藏、关注,后续会持续更新Wheeltec智能车的键盘控制、SLAM建图、自主导航等实战内容。


> 互动提问:你在搭建Wheeltec ROS环境时遇到了什么其他问题?欢迎大家在评论区留言交流,看到会及时回复!


http://www.jsqmd.com/news/1344876/

相关文章:

  • 初识机器学习(决策树)
  • Unity Text组件中文排版优化实战:解决标点避头尾与中英文混排
  • 腾讯云轻量服务器建站指南:从零部署网站与宝塔面板实战
  • 从逆向工程历史学视角:先秦两汉传统工艺集群对现代科技的整体启示
  • OpenAI审核机制全解析:从原理到实战,保障AI应用安全
  • 具身智能协同机制研究:TVA与VLA的统一建模(2)
  • 2026 年当下,辽阳比较好的AI推广服务团队怎么联系,教你一招,靠它让你的业务订单两周内翻三倍,还能省下三分之二营销费?-抖盈网络科技 - 企业信息推荐-2
  • JavaSE初学(3)
  • 时序逻辑电路实战:从D触发器到状态机的核心原理与工程应用
  • MaxKey:业界领先的IAM-IDaas身份管理和认证产品
  • Unity游戏Mod加载器故障排查指南:从原理到实战解决MelonLoader安装与运行问题
  • 分式函数值域求解全攻略:四大核心方法与实战避坑指南
  • ABB机器人OPC UA通信实战:从环境配置到Python客户端开发
  • 谷歌 AI 权力重组拆解:Hassabis 让位、Jeff Dean 创业,Gemini 4 谁来交卷
  • AI多模态识图赋能开发:从视觉信息到代码的智能转换实战
  • 创业公司ERP生产管理实战:从职责重塑到流程再造
  • SpringBoot AOP统一Web请求日志:从原理到生产级实现
  • 北京卫生间防水补漏公司怎么选?朝阳区专业防水施工经验分享 - 优质品牌商家
  • 电动车怎么邮寄用什么物流便宜?2026年寄大件物流全攻略 - 快递物流资讯
  • Unity光照原理:从CPU到GPU的数据传递链
  • 戴尔iDRAC邮箱告警配置全攻略:从SMTP设置到故障排查
  • 【00010】
  • Ventoy与云固件深度解析:从多系统启动到云端固件架构
  • AI知识库搜索不准?文档分块策略是关键,详解4种实战方案与评估方法
  • 数据集格式转化 xml转换txt xml转换txt 转换代码示例参考 VOC(xml)格式如何转换yolo(txt )格式 (1)
  • Java开发环境搭建指南:从JDK到IntelliJ IDEA的完整配置
  • 气体放电管(GDT)原理、选型与电路防护设计实战指南
  • 缓存穿透、缓存击穿和缓存雪崩详解
  • 【Web安全】API安全测试实战指南(OWASP API Top 10全覆盖,保姆级教程)
  • 北京工商代办服务怎么选?2026年注册公司、税务解异常及代理记账机构实务评测 - 优质品牌商家