第一部分:环境搭建与基础配置
universal_robot包需要使用 melodic-devel-staging分支,这个分支包含了最新的更新并兼容 ROS Noetic。依赖缺失:重新运行 rosdep install --from-paths src --ignore-src -r -y。在下一篇教程中,我们将开始修改 URDF 文件,实现 UR5 与 Robotiq 夹爪的连接。这个过程可能需要几分钟,请耐心等待。第三
-
环境:VirtualBox + Ubuntu 20.04 + ROS Noetic
-
难度:入门级
-
预计时间:30分钟
📋 教程目录
-
第一部分:环境搭建与基础配置(本文)
-
第二部分:RViz中实现UR5与Robotiq夹爪连接
-
第三部分:Gazebo中实现UR5与Robotiq夹爪仿真控制
-
第四部分:MoveIt配置实现RViz与Gazebo联合控制
-
第五部分:RealSense相机集成与手眼标定
🎯 本文目标
-
创建 ROS 工作空间
-
安装 UR5 机械臂相关功能包
-
安装 Robotiq 夹爪功能包
-
安装 RealSense 相机功能包
-
编译并验证安装
📚 前置知识
在开始之前,请确保你已经:
-
安装了 VirtualBox 并创建了 Ubuntu 20.04 虚拟机
-
在 Ubuntu 20.04 中安装了 ROS Noetic
-
了解基本的 Linux 终端命令
💡 提示:如果还没有安装 ROS Noetic,请参考 ROS官方安装教程
(http://wiki.ros.org/noetic/Installation/Ubuntu)
🚀 开始教程
第一步:创建 Catkin 工作空间
打开终端(快捷键:Ctrl + Alt + T),依次执行以下命令:
# 1. 进入用户主目录
cd ~
# 2. 创建工作空间目录结构
mkdir -p ~/catkin_ws/src
# 3. 进入工作空间
cd ~/catkin_ws
# 4. 初始化工作空间
catkin_make
# 5. 设置环境变量(每次打开新终端都需要执行,或者添加到 ~/.bashrc)
source devel/setup.bash
💡 小技巧:为了避免每次都要手动 source,可以将其添加到~/.bashrc文件中:
echo "source ~/catkin_ws/devel/setup.bash" >> ~/.bashrc
source ~/.bashrc
验证工作空间创建成功:
# 查看 ROS 包路径,应该包含你的工作空间
echo $ROS_PACKAGE_PATH
输出应该类似于:
/home/你的用户名/catkin_ws/src:/opt/ros/noetic/share
第二步:安装依赖工具
# 安装 Git(用于下载代码)
sudo apt-get update
sudo apt-get install -y git
# 安装 ROS 依赖管理工具
sudo apt-get install -y python3-rosdep python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
# 如果还没有初始化 rosdep,执行以下命令
sudo rosdep init # 如果提示已存在,可以跳过
rosdep update
第三步:下载 Universal Robots 功能包
UR5 机械臂需要两个主要的功能包:
- Universal_Robots_ROS_Driver:UR 机械臂的 ROS 驱动
- universal_robot:UR 机械臂的描述文件和 MoveIt 配置
# 进入 src 目录
cd ~/catkin_ws/src
# 下载 UR ROS 驱动
git clone https://github.com/UniversalRobots/Universal_Robots_ROS_Driver.git
# 下载 UR 机械臂描述包(注意:使用 melodic-devel-staging 分支,兼容 Noetic)
git clone -b melodic-devel-staging https://github.com/ros-industrial/universal_robot.git
⚠️ 注意:universal_robot包需要使用 melodic-devel-staging分支,这个分支包含了最新的更新并兼容 ROS Noetic。
第四步:下载 Robotiq 夹爪功能包
Robotiq 2F-85 是一款常用的二指夹爪,我们使用 jr-robotics 维护的版本:
# 确保在 src 目录
cd ~/catkin_ws/src
# 下载 Robotiq 功能包
git clone https://github.com/jr-robotics/robotiq.git
这个包包含:
- robotiq_2f_85_gripper_visualization:夹爪的 URDF 模型(用于 RViz)
- robotiq_2f_85_gripper_gazebo:夹爪的 Gazebo 仿真模型
第五步:下载 Gazebo Mimic Joint 插件
Robotiq 夹爪有被动关节(Mimic Joint),标准 Gazebo 不支持 Mimic 关节仿真,需要安装一个插件:
# 确保在 src 目录
cd ~/catkin_ws/src
# 下载 Gazebo Mimic Joint 插件
git clone https://github.com/roboticsgroup/roboticsgroup_gazebo_plugins.git
第六步:下载 RealSense 相机功能包
Intel RealSense 相机需要安装 SDK 和 ROS 包装器:
6.1 安装 RealSense SDK 2.0
# 添加 Intel 服务器公钥
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE || sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-key F6E65AC044F831AC80A06380C8B3A55A6F3EFCDE
# 添加软件源
sudo add-apt-repository "deb https://librealsense.intel.com/Debian/apt-repo $(lsb_release -cs) main" -u
# 安装 SDK
sudo apt-get install -y librealsense2-dkms librealsense2-utils librealsense2-dev
6.2 下载 RealSense ROS 包装器
# 确保在 src 目录
cd ~/catkin_ws/src
# 下载 realsense-ros(使用 ros1-legacy 分支,适用于 ROS1)
git clone -b ros1-legacy https://github.com/IntelRealSense/realsense-ros.git
第七步:下载手眼标定相关功能包
手眼标定需要以下功能包:
# 确保在 src 目录
cd ~/catkin_ws/src
# 下载 ArUco 标记检测包
git clone -b noetic-devel https://github.com/pal-robotics/aruco_ros.git
# 下载 ViSP(视觉伺服平台)
git clone -b noetic-devel https://github.com/lagadic/vision_visp.git
# 下载 easy_handeye(简易手眼标定工具)
git clone https://github.com/IFL-CAMP/easy_handeye.git
第八步:安装系统依赖
在编译之前,需要安装所有功能包的系统依赖:
# 进入工作空间根目录
cd ~/catkin_ws
# 使用 rosdep 安装所有依赖
rosdep install --from-paths src --ignore-src -r -y
这个命令会自动检测src目录下所有功能包的依赖,并自动安装。
⚠️注意:这个过程可能需要几分钟,请耐心等待。如果遇到网络问题,可以多试几次。
第九步:安装 MoveIt
MoveIt 是 ROS 中最常用的运动规划框架:
# 安装 MoveIt
sudo apt-get install -y ros-noetic-moveit
# 安装 MoveIt 相关工具
sudo apt-get install -y ros-noetic-moveit-setup-assistant
sudo apt-get install -y ros-noetic-moveit-simple-controller-manager
sudo apt-get install -y ros-noetic-moveit-fake-controller-manager
第十步:安装其他必要的 ROS 包
# 安装 ros_control 相关包
sudo apt-get install -y ros-noetic-ros-control ros-noetic-ros-controllers
# 安装 Gazebo ROS 包
sudo apt-get install -y ros-noetic-gazebo-ros-pkgs ros-noetic-gazebo-ros-control
# 安装关节轨迹控制器 GUI
sudo apt-get install -y ros-noetic-rqt-joint-trajectory-controller
# 安装 TF2 相关包
sudo apt-get install -y ros-noetic-tf2-tools ros-noetic-tf2-ros
第十一步:编译工作空间
现在可以编译整个工作空间了:
# 进入工作空间根目录
cd ~/catkin_ws
# 编译(第一次编译可能需要较长时间)
catkin_make
💡 提示:如果你的虚拟机配置较低,编译可能会很慢。可以尝试:
# 使用单线程编译(更慢但更稳定)
catkin_make -j1
编译成功后,你会看到类似以下输出:
[100%] Built target ...
第十二步:验证安装
12.1 刷新环境变量
source ~/catkin_ws/devel/setup.bash
12.2 验证 UR5 包
# 查找 ur_description 包
rospack find ur_description
应该输出:
/home/你的用户名/catkin_ws/src/universal_robot/ur_description
12.3 验证 Robotiq 包
# 查找 robotiq 夹爪包
rospack find robotiq_2f_85_gripper_visualization
应该输出:
/home/你的用户名/catkin_ws/src/robotiq/robotiq_2f_85_gripper_visualization
12.4 验证 RealSense 包
# 查找 realsense 包
rospack find realsense2_camera
应该输出:
/home/你的用户名/catkin_ws/src/realsense-ros/realsense2_camera
第十三步:查看工作空间结构
执行以下命令查看你的工作空间结构:
ls ~/catkin_ws/src/
你应该看到以下目录:
aruco_ros/
easy_handeye/
realsense-ros/
roboticsgroup_gazebo_plugins/
robotiq/
Universal_Robots_ROS_Driver/
universal_robot/
vision_visp/
CMakeLists.txt
✅ 本部分完成
恭喜你!你已经成功完成了环境搭建。现在你的工作空间包含:
universal_robot #UR5 机械臂描述文件和配置
Universal_Robots_ROS_Driver #UR 机械臂 ROS 驱动
robotiq #Robotiq 2F-85 夹爪模型
roboticsgroup_gazebo_plugins #Gazebo Mimic Joint 插件
realsense-ros #RealSense 相机 ROS 驱动
aruco_ros #ArUco 标记检测
vision_visp #视觉伺服工具
easy_handeye #手眼标定工具
🔜 下一步
在下一部分教程中,我们将:
-
修改 UR5 的 URDF 文件
-
将 Robotiq 2F-85 夹爪连接到 UR5 末端
-
在 RViz 中可视化完整的机械臂系统
👉 点击进入第二部分:RViz中实现UR5与Robotiq夹爪连接
❓ 常见问题
Q1: catkin_make 编译失败怎么办?
A: 常见原因和解决方法:
-
依赖缺失:重新运行 rosdep install --from-paths src --ignore-src -r -y
-
内存不足:使用 catkin_make -j1 单线程编译
-
网络问题:检查是否能访问 GitHub,必要时使用代理
Q2: rosdep update 失败怎么办?
A: 可能是网络问题,尝试:
# 使用代理或更换网络后重试
rosdep update
Q3: 找不到某个 ROS 包怎么办?
A: 确保已经 source 了工作空间:
source ~/catkin_ws/devel/setup.bash
📝 本文小结
本文介绍了如何从零开始搭建 UR5 + Robotiq + RealSense 的 ROS 开发环境,包括:
-
创建 Catkin 工作空间
-
下载所有必要的功能包
-
安装系统依赖
-
编译和验证
在下一篇教程中,我们将开始修改 URDF 文件,实现 UR5 与 Robotiq 夹爪的连接。
火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。
更多推荐
所有评论(0)