1. 环境准备:打好地基,避开第一个坑
如果你正准备在Ubuntu 22.04上,跟着ROS2 Humble的节奏,把MoveIt2这个机器人领域的“瑞士军刀”给装起来,那你来对地方了。我前前后后折腾过不下十次,从虚拟机到实体机,从新系统到老环境,踩过的坑比走过的路都多。今天这篇,我就把从零到成功运行Demo的全过程,掰开了揉碎了讲给你听,特别是那些官方文档里语焉不详,但国内开发者几乎百分百会遇到的网络、内存、版本问题。咱们的目标就一个:让你一次成功,少走弯路。
首先,你得有个干净利落的起点。我强烈建议使用全新的Ubuntu 22.04 LTS系统,或者至少是一个没有乱七八糟ROS版本残留的环境。ROS的版本管理有时候挺“洁癖”的,不同版本混在一起,后续的依赖问题能让你头疼到怀疑人生。确认系统后,第一件事就是安装ROS2 Humble。这个步骤网上的教程很多,但关键点在于源。如果你身处国内,直接使用官方源下载速度可能会慢如蜗牛,甚至中途失败。我个人的习惯是,在运行 sudo apt update 之前,先替换为中科大的ROS镜像源,这一步能为你后续节省大量等待时间,实测下载速度能从几KB/s飙升到几MB/s。
安装完ROS2 Humble基础版后,别忘了那个至关重要的 source /opt/ros/humble/setup.bash 命令。这个命令的作用是让当前终端会话认识ROS2的所有命令和功能包。很多新手编译完发现命令找不到,八成就是忘了source。更省事的办法是把它加到你的 ~/.bashrc 文件末尾,这样每次打开新终端都会自动配置好环境。接下来是安装构建工具。官方会让你用 rosdep 来初始化并安装系统依赖,但这里就是第一个大坑:网络超时。sudo rosdep init 和 rosdep update 这两个命令,因为要访问国外的资源,在国内网络环境下失败率极高,经常卡住或者报错。
我的解决方案是使用国内ROS社区大神“鱼香ROS”开发的 rosdepc。这本质上是一个为国内网络环境优化的 rosdep 替代品。安装起来很简单,两行命令:sudo apt install python3-pip 然后 sudo pip3 install rosdepc。之后,所有原来用 rosdep 的地方,你都可以放心地换成 rosdepc,比如 sudo rosdepc init 和 rosdepc update,速度又快又稳定。这个工具是我认为国内ROS开发者必备的神器之一,能帮你绕开最令人沮丧的“网络墙”。
2. 创建工作空间与获取源码:分支选择是成败关键
环境配置妥当,我们就要开始搭建自己的工作区了。在ROS的世界里,工作空间就是你存放自己代码和编译项目的地方。创建一个专属的MoveIt2工作空间是个好习惯,避免和系统或其他项目冲突。命令很简单:mkdir -p ~/ws_moveit2/src。这个 ws_moveit2 你可以按自己喜欢命名,src 目录则是未来存放所有源代码的地方。
现在进入重头戏:获取MoveIt2教程 (moveit2_tutorials) 的源代码。这是官方提供的学习宝库,里面包含了大量的示例和演示程序。但这里藏着一个巨大的“暗礁”,如果你直接按照官方文档的 main 分支来克隆,那么恭喜你,有极大概率会在后续编译中掉进坑里爬不出来。因为 main 分支是开发分支,其依赖的 .repos 文件可能并未及时更新,导致拉取的其他功能包版本不匹配,编译时报各种找不到函数或头文件的错误。
正确的做法是,在克隆


8357

被折叠的 条评论
为什么被折叠?



