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 创建新的虚拟机
打开VMware Workstation Pro,点击“创建新的虚拟机”。
选择“典型”配置(新手推荐),点击下一步。
选择“稍后安装操作系统”,点击下一步。
为什么选“稍后安装”?
选择此项会先创建一个“空壳”虚拟机(不含系统),后续我们再手动指定ISO镜像文件进行安装。这种方式可以更灵活地配置硬件参数,避免VMware的“简易安装”模式自动简化安装过程导致的一些自定义设置无法修改。客户机操作系统选择“Linux”,版本选择“Ubuntu 64位”,点击下一步。
设置虚拟机名称(如“Ubuntu 18.04 akm”)和存储位置(建议放在非系统盘,预留足够空间,这里我放在了E盘),点击下一步。
分配磁盘容量:建议不少于40GB(ROS及功能包编译占用较大),这里我就设置成40GB,根据自己需要进行设置,然后选择“将虚拟磁盘拆分成多个文件”(便于迁移和管理),点击下一步。
点击“自定义硬件”,进行以下配置:
硬件 建议配置 说明 作者设置 内存 4GB及以上 最低2GB,但编译时可能卡顿 8.5GB 处理器 2核及以上 核心数越多,编译速度越快 2处理器*4内核数=总数8 网络适配器 桥接模式 虚拟机与宿主机处于同一局域网,可获得独立IP,便于后续SSH登录小车和跨设备通信 桥接模式 新CD/DVD “使用ISO映像文件” 直接点击“浏览”,加载已下载的Ubuntu 18.04 ISO镜像文件 / 显示 加速3D图形(可选) 提升桌面流畅度 加速3D图形 点击“完成”,虚拟机创建完成。
(可选)导入现成虚拟机:如果你已通过Wheeltec官方客服获取了配置好ROS环境的虚拟机压缩包,可跳过上述3.2至3.4的全部手动安装步骤。直接将压缩包解压,在VMware中点击“打开虚拟机”,选择解压后的
.vmx文件即可导入使用。
3.4 安装Ubuntu 18.04系统
选择语言为“中文(简体)”,点击“安装Ubuntu”。
键盘布局选择“汉语”(或保持默认的“中文”选项),点击“继续”。
此时弹出了探测键盘布局,如果键盘上有就选择“是”,否则选“否”,然后点击“继续”
选择“正常安装”,点击“继续”。
安装类型选择“清除整个磁盘并安装Ubuntu”(虚拟机内操作,不影响宿主机),点击“现在安装”。
在弹出的确认对话框中点击“继续”。
选择时区,默认即可(系统会根据网络自动识别,这里选择上海),点击“继续”。
设置用户名和密码(请务必记住,后续SSH登录和sudo操作会频繁使用),可选择“自动登录”或“需要密码登录”,点击“继续”。
等待安装完成,点击“现在重启”重启虚拟机。
踩坑提醒:
安装完成后重启时,VMware可能会提示“移除安装介质”,按提示操作即可,或直接按回车键确认。
系统语言选择中文后,终端中的家目录路径仍为
/home/用户名,但桌面、下载等文件夹名称变为中文(如~/桌面、~/下载),在命令行中操作时需注意路径中的中文名称,或使用Tab键自动补全避免输入错误
3.5 虚拟机环境优化(强烈推荐)
VMware Tools可以提升虚拟机性能,支持文件拖拽、剪贴板共享、自适应分辨率等功能。
在VMware菜单栏点击"虚拟机" → "安装VMware Tools"。
在Ubuntu桌面会出现VMware Tools的光盘图标。
打开终端,执行以下命令:
# 进入/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重启虚拟机使配置生效,可直接在VMware菜单栏点击‘虚拟机’→‘电源’→‘重启客户机’,或在终端中执行
sudo reboot
4 Ubuntu 18.04基础环境配置
4.1 更换国内软件源(加速apt下载)
Ubuntu默认的官方源位于国外,下载速度较慢,建议更换为国内镜像源。
方式一:通过图形界面“软件与更新”换源(推荐新手)
点击Ubuntu桌面左栏目的“橙色A字应用”,此时最上方有一个“Ubuntu 软件”,点击它找到“软件和更新”并打开。
在弹出的窗口中,找到切换到“Ubuntu软件”选项卡,在“下载自”下拉菜单中选择“其他站点”。
点击“选择最佳服务器”,系统会自动测试并推荐最快的镜像源;或点击“手动选择”,在列表中直接选择国内镜像源,这里我选择了mirrors.tuna.tsinghua.edu.cn,你也可以选择其他的国内镜像源,如:
mirrors.aliyun.com(阿里云)mirrors.ustc.edu.cn(中国科学技术大学)
选择完成后,点击“选择服务器”,然后点击“关闭”。
系统会提示“软件包信息已过时,需要重新加载”,点击“重新加载”,等待缓存更新完成即可。
方式二:通过命令行手动换源(进阶用户)
备份原始源列表:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak编辑源列表:
sudo gedit /etc/apt/sources.list或者使用vim/nano编辑器:
sudo nano /etc/apt/sources.list将文件内容替换为清华镜像源(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更新软件包列表:
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
更新软件包列表:
sudo apt update安装桌面完整版(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 init和rosdep update。初始化成功后,后续使用可切回原有网络。
验证rosdep是否初始化成功:
执行以下命令,若无报错则说明初始化成功:
rosdep update或(若使用rosdepc):
rosdepc update5.5 配置环境变量
将ROS环境变量添加到~/.bashrc中,使每次打开终端时自动加载:
echo "source /opt/ros/melodic/setup.bash" >> ~/.bashrc source ~/.bashrc5.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-full6 使用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/文件夹中的编译缓存记录了原电脑的系统名称(即原电脑的用户名)。直接在新电脑上编译会因路径不匹配而报错。因此需要先将Makefile和CMakeCache.txt中的原电脑名称替换为新电脑名称。
选择编辑器:Sublime Text 或 VSCode
下面提供Sublime Text和VSCode两种编辑器的安装与操作方式,选择其中一种即可。Wheeltec 官方教程推荐的是 Sublime Text(方案一),如果你没有特别偏好,按官方教程走就好。如果你习惯用 VSCode,方案二同样可用。
一:Sublime Text
操作步骤:
安装Sublime Text:
这里我参考了wheeltec的ros学习教程,它里面推荐选择Sublime Text进行演示。前往Sublime Text官网(https://www.sublimetext.com/)下载Linux版本安装包,或通过命令行安装:
sudo snap install sublime-text --classic用Sublime Text打开
build文件夹:打开Sublime Text,点击菜单栏File → Open Folder,在弹出的窗口中选择
~/wheeltec_robot/build文件夹,点击“打开”。(我这里已经安装了中文包,对于中文来说就是点击菜单栏里的文件→打开文件夹)打开需要修改的文件:
在Sublime Text左侧的文件列表中,依次双击打开
Makefile和CMakeCache.txt这两个文件(这里我已经改过了,换成了我的名称cgh)。
查找并替换电脑名称:
注意:如果不清楚原电脑用户名,打开
CMakeCache.txt后搜索/home/,即可看到原电脑的路径信息,如/home/wheeltec/,其中wheeltec即为原电脑用户名。按Ctrl+F打开查找面板。
在查找框中输入原电脑的用户名(即提供工作空间那台电脑的用户名,如
wheeltec或ubuntu等,可询问客服确认)。点击查找面板下方的Find All按钮(或按Alt+Enter),此时所有匹配项会被高亮选中。
直接输入当前电脑的用户名,所有高亮项会同步修改。
按Ctrl+S保存修改。
验证替换是否完成:
再次按Ctrl+F搜索原电脑用户名,确认已无匹配项。若仍有残留,重复上述步骤。
二:VSCode
安装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)即表示安装成功。
用VSCode打开
build文件夹打开VSCode,点击菜单栏File → Open Folder(若已安装中文包,则为文件 → 打开文件夹),在弹出的窗口中选择
~/wheeltec_robot/build文件夹,点击“OK”。打开需要修改的文件:
在VSCode左侧的文件列表中,依次单击打开
Makefile和CMakeCache.txt这两个文件。(这里我已经改过了,换成了我的名称cgh),替换过程大差不差,可以自己操纵尝试。
关闭编辑器,返回终端编译工作空间:
cd ~/wheeltec_robot catkin_make编译成功后,会在工作空间下生成
build/和devel/文件夹(如已存在则自动更新)。
这是常见编译错误:
错误现象 可能原因 解决方案 Makefile:XXX: recipe for target XXX failed电脑名称未完全替换 重新打开 build文件夹,检查Makefile和CMakeCache.txt中是否还有原电脑名残留CMake Error: The source directory ... does not exist路径仍指向原电脑目录 检查 CMakeCache.txt中所有/home/原用户名/是否已全部替换为/home/新用户名/XXX package not found或Could 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开发环境的全部搭建工作,主要包括:
| 步骤 | 内容 |
|---|---|
| 1 | VMware虚拟机创建与Ubuntu 18.04安装 |
| 2 | 国内软件源更换与基础工具安装 |
| 3 | ROS Melodic完整安装与rosdep初始化 |
| 4 | ROS环境变量配置与验证 |
| 5 | Wheeltec工作空间解压、编译与配置 |
| 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 参考资料
ROS官方Wiki - Melodic安装指南:http://wiki.ros.org/melodic/Installation/Ubuntu
Ubuntu 18.04 官方镜像下载:Ubuntu 18.04.6 LTS (Bionic Beaver)
Wheeltec官方论坛:http://bbs.wheeltec.net
如果觉得这篇文章对你有帮助,欢迎点赞、收藏、关注,后续会持续更新Wheeltec智能车的键盘控制、SLAM建图、自主导航等实战内容。
> 互动提问:你在搭建Wheeltec ROS环境时遇到了什么其他问题?欢迎大家在评论区留言交流,看到会及时回复!