Dual-Arm Data Generation
In this section, we introduce how to perform dual-arm data generation using GenManip. This section should be read together with the Advanced Data Generation section, and essentially serves as a concrete application scenario of the Advanced Data Generation section.
Prerequisites
Section titled “Prerequisites”To perform dual-arm data generation, you need to download some assets. You can download the assets using the following command:
python standalone_tools/download_assets.py --dataset all-robotAbout Dual-Arm Data Generation
Section titled “About Dual-Arm Data Generation”Dual-arm data generation builds upon the large-scale data generation described in the previous section. Therefore, we do not repeat the details of large-scale data generation here, and instead directly introduce the dual-arm setup. Specifically, we replace the single-arm RoboTiq robot used previously with the dual-arm Aloha robot.
To achieve this, you only need to make the following modifications.
First, modify the robot configuration to replace the single-arm RoboTiq robot with the dual-arm Aloha robot.
robots:- config: gripper_type: aloha_split type: aloha_splitNext, modify the task configuration by adding the arm: auto field.
goal:- - obj1_uid: - obj1_0 obj2_uid: - obj2 position: - top arm: auto fixed_position: trueWith this field enabled, the program will automatically select the arm that is closest to the grasp pose to perform the grasp.
That is all.
The complete configuration file can be found in the Codebase, and you can use it directly.
# Make sure the AnyGrasp service is runningpython demogen.py -cfg configs/tasks/scaling_up/system1_scaling_14kobj_object_container_fgrandpos_bgrandpos_fgclip_NOrobotbaserandpos_bgcache10_bgclip_3L2obsAlign_refineActionSpace_aloha.ymlpython render.py -cfg configs/tasks/scaling_up/system1_scaling_14kobj_object_container_fgrandpos_bgrandpos_fgclip_NOrobotbaserandpos_bgcache10_bgclip_3L2obsAlign_refineActionSpace_aloha.yml