• 环境:VirtualBox + Ubuntu 20.04 + ROS Noetic

  • 难度:入门级

  • 预计时间:30分钟

📋 教程目录

  1. 第一部分:环境搭建与基础配置(本文)

  2. 第二部分:RViz中实现UR5与Robotiq夹爪连接

  3. 第三部分:Gazebo中实现UR5与Robotiq夹爪仿真控制

  4. 第四部分:MoveIt配置实现RViz与Gazebo联合控制

  5. 第五部分:RealSense相机集成与手眼标定

🎯 本文目标

  1. 创建 ROS 工作空间

  2. 安装 UR5 机械臂相关功能包

  3. 安装 Robotiq 夹爪功能包

  4. 安装 RealSense 相机功能包

  5. 编译并验证安装

 📚 前置知识

在开始之前,请确保你已经:

  1. 安装了 VirtualBox 并创建了 Ubuntu 20.04 虚拟机

  2. 在 Ubuntu 20.04 中安装了 ROS Noetic

  3. 了解基本的 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 机械臂需要两个主要的功能包:

  1. Universal_Robots_ROS_Driver:UR 机械臂的 ROS 驱动
  2. 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

这个包包含:

  1. robotiq_2f_85_gripper_visualization:夹爪的 URDF 模型(用于 RViz)
  2. 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  #手眼标定工具 

 🔜 下一步

在下一部分教程中,我们将:

  1. 修改 UR5 的 URDF 文件

  2. 将 Robotiq 2F-85 夹爪连接到 UR5 末端

  3. 在 RViz 中可视化完整的机械臂系统

👉 点击进入第二部分:RViz中实现UR5与Robotiq夹爪连接

❓ 常见问题

Q1: catkin_make 编译失败怎么办?

A: 常见原因和解决方法:

  1. 依赖缺失:重新运行 rosdep install --from-paths src --ignore-src -r -y

  2. 内存不足:使用 catkin_make -j1 单线程编译

  3. 网络问题:检查是否能访问 GitHub,必要时使用代理

Q2: rosdep update 失败怎么办?

A: 可能是网络问题,尝试:

​​​​​​​# 使用代理或更换网络后重试
rosdep update

Q3: 找不到某个 ROS 包怎么办?

A: 确保已经 source 了工作空间:

source ~/catkin_ws/devel/setup.bash

📝 本文小结

本文介绍了如何从零开始搭建 UR5 + Robotiq + RealSense 的 ROS 开发环境,包括:

  1. 创建 Catkin 工作空间

  2. 下载所有必要的功能包

  3. 安装系统依赖

  4. 编译和验证

在下一篇教程中,我们将开始修改 URDF 文件,实现 UR5 与 Robotiq 夹爪的连接。

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐