Skip to content

Pick and Place with Wrist Camera Example

This tutorial demonstrates how to use AgileBot robot's wrist camera for pick and place tasks with video recording support.

Pick and Place with Wrist Camera

Overview

This is a wrist camera grasping task example provided by Shanghai AgileBot Robotics Co., Ltd., containing complete digital assets of the robot, wrist camera, and gripper, as well as a pick and place task implementation and video recording program.

Features

  • Robot Digital Assets: Complete robot model with robotic arm and gripper
  • Grasping Test Program: Complete pick and place task implementation based on Isaac Sim
  • Video Recording: Supports RGB video recording (30fps) with multi-process implementation for non-blocking performance

Prerequisites

Main Files

FileDescription
pick_place_example.pyMain program entry point, starts simulation and executes pick and place task
video_recorder.pyVideo recording module with multi-process non-blocking recording
controllers/pick_place.pyPick and place controller
tasks/pick_place.pyPick and place task definition
usd/gbt_c5a_camera_gripper/gbt_c5a_camera_gripper.usdRobot digital asset file (complete model with robot, camera, and gripper)

Usage

Configuration

Before running the program, make sure to configure the robot resource path correctly in tasks/pick_place.py :

python
# If the path is different, please modify this absolute path to point to your actual usd folder location

Running the Program

bash
# Activate environment
conda activate isaaclab

# Run main program
cd agilebot_isaac_sim/example/pick_place_agilebot_camera_gripper
python pick_place_example.py

Program Functions

The program will automatically:

  1. Start Isaac Sim simulation environment
  2. Load robotic arm, wrist camera, and gripper
  3. Execute pick and place task
  4. Record RGB video to saved_images/captured_video_rgb.mp4

System Requirements

ComponentRequirement
Isaac Sim-
Python3.x
Dependenciesnumpy, opencv-python, open3d

Video Recorder

The video recorder class provides the following functions:

FunctionDescription
start_recording()Start recording video
capture_frame()Capture a frame
stop_recording()Stop recording and save video

Camera Configuration

Camera Parameters

ParameterDescriptionDefault Value
resolutionVideo resolution(224, 224)
fpsFrame rate30
camera_positionCamera positionBased on robot configuration
camera_orientationCamera orientationBased on robot configuration

Output Format

The video recorder supports the following output formats:

FormatExtensionDescription
MP4.mp4Most commonly used video format

FAQ

Q: Pick and place task fails

A: Check if the camera path is correct. Ensure the camera is properly initialized and the target object is within the camera's field of view.

Q: Video quality is poor

A: Check camera resolution settings. Ensure camera parameters in tasks/pick_place.py are correctly configured.

Q: Video file is too large

A: Video is recorded at 30fps. Consider reducing frame rate or using video compression tools.

Q: Program fails to start

A: Make sure to activate the correct conda environment (isaaclab) and install all dependencies:

bash
pip install numpy opencv-python open3d

Third-Party Notice

This demo contains a camera mount adapted from MetaIsaacGrasp, licensed under MIT.


Shanghai AgileBot Robotics Co., Ltd. | Website: https://www.sh-agilebot.com/