Skip to content

带手腕相机的抓取和放置示例

本教程将展示如何使用 Agilebot 机器人的腕部相机进行抓取和放置任务,并录制视频。

带有手腕相机的抓取

概述

带有相机和夹爪的机器人数字资产示例,包含机器人、手腕相机和夹爪的完整数字资产,以及抓取放置任务和视频记录程序。

功能特性

  • 机器人数字资产:包含机械臂和夹爪的完整机器人模型
  • 抓取测试程序:基于 Isaac Sim 的完整抓取和放置任务实现
  • 视频录制:支持 RGB 视频录制(30fps),使用多进程实现非阻塞性能

前置条件

主要文件

文件描述
pick_place_example.py主程序入口,启动仿真并执行抓取放置任务
video_recorder.py视频录制模块,使用多进程实现非阻塞录制
controllers/pick_place.py抓取放置控制器
tasks/pick_place.py抓取放置任务定义
usd/gbt_c5a_camera_gripper/gbt_c5a_camera_gripper.usd机器人数字资产文件(包含机器人、相机和夹爪的完整模型)

使用方法

配置

运行程序前,请确保在 tasks/pick_place.py 中正确配置了机器人资源路径:

python
# 如果路径不同,请修改此绝对路径以指向您的实际 usd 文件夹位置

运行程序

bash
# 激活环境
conda activate isaaclab

# 运行主程序
cd agilebot_isaac_sim/example/pick_place_agilebot_camera_gripper
python pick_place_example.py

程序功能

程序将自动:

  1. 启动 Isaac Sim 仿真环境
  2. 加载机械臂、手腕相机和夹爪
  3. 执行抓取放置任务
  4. 将 RGB 视频录制到 saved_images/captured_video_rgb.mp4

系统要求

组件要求
Isaac Sim-
Python3.x
依赖项numpy, opencv-python, open3d

视频录制器

视频录制器类提供以下功能:

功能描述
start_recording()开始录制视频
capture_frame()捕获一帧
stop_recording()停止录制并保存视频

相机配置

相机参数

参数说明默认值
resolution视频分辨率(224, 224)
fps帧率30
camera_position相机位置根据机器人配置
camera_orientation相机朝向根据机器人配置

输出格式

视频录制器支持以下输出格式:

格式扩展名描述
MP4.mp4最常用的视频格式

常见问题

Q: 抓取放置任务失败

A: 检查相机路径是否正确。确保相机已正确初始化,并且目标物体在相机视野范围内。

Q: 视频质量不佳

A: 检查相机分辨率设置。确保 tasks/pick_place.py 中的相机参数正确配置。

Q: 视频文件过大

A: 视频录制为 30fps,可考虑降低帧率或使用视频压缩工具。

Q: 程序无法启动

A: 确保已激活正确的 conda 环境(isaaclab),并安装了所有依赖项:

bash
pip install numpy opencv-python open3d

第三方声明

本演示包含改编自 MetaIsaacGrasp 的相机支架,采用 MIT 许可证。