├── .gitignore ├── LICENSE ├── README.md ├── antmaze_aux ├── antmaze-large-diverse-v2-aux.npz ├── antmaze-large-play-v2-aux.npz ├── antmaze-medium-diverse-v2-aux.npz └── antmaze-medium-play-v2-aux.npz ├── calvin ├── .flake8 ├── .gitignore ├── .gitmodules ├── .pre-commit-config.yaml ├── LICENSE ├── README.md ├── RL_with_CALVIN.ipynb ├── calvin_env │ ├── .flake8 │ ├── .gitignore │ ├── .gitmodules │ ├── .pre-commit-config.yaml │ ├── LICENSE │ ├── README.md │ ├── calvin_env │ │ ├── __init__.py │ │ ├── camera │ │ │ ├── camera.py │ │ │ ├── gripper_camera.py │ │ │ ├── static_camera.py │ │ │ └── tactile_sensor.py │ │ ├── datarenderer.py │ │ ├── envs │ │ │ ├── play_lmp_wrapper.py │ │ │ ├── play_table_env.py │ │ │ └── tasks.py │ │ ├── io_utils │ │ │ ├── data_recorder.py │ │ │ └── vr_input.py │ │ ├── robot │ │ │ ├── IKfast.py │ │ │ ├── mixed_ik.py │ │ │ └── robot.py │ │ ├── scene │ │ │ ├── objects │ │ │ │ ├── base_object.py │ │ │ │ ├── button.py │ │ │ │ ├── door.py │ │ │ │ ├── fixed_object.py │ │ │ │ ├── light.py │ │ │ │ ├── movable_object.py │ │ │ │ └── switch.py │ │ │ └── play_table_scene.py │ │ ├── scripts │ │ │ ├── check_tasks.py │ │ │ ├── convert_gripper_actions.py │ │ │ ├── dataset_to_euler.py │ │ │ ├── record_video_icra.py │ │ │ ├── render_low_freq.py │ │ │ ├── reset_env_rendered_episode.py │ │ │ └── unnormalize_depth.py │ │ ├── utils │ │ │ └── utils.py │ │ └── vrdatacollector.py │ ├── conf │ │ ├── cameras │ │ │ ├── cameras │ │ │ │ ├── gripper.yaml │ │ │ │ ├── opposing.yaml │ │ │ │ ├── static.yaml │ │ │ │ └── tactile.yaml │ │ │ ├── no_cameras.yaml │ │ │ ├── static_and_gripper.yaml │ │ │ ├── static_and_tactile.yaml │ │ │ └── static_gripper_tactile.yaml │ │ ├── config_data_collection.yaml │ │ ├── config_rendering.yaml │ │ ├── digit_sensor │ │ │ └── config_digit.yml │ │ ├── recorder │ │ │ └── recorder.yaml │ │ ├── robot │ │ │ ├── panda.yaml │ │ │ ├── panda_digit.yaml │ │ │ └── panda_longer_finger.yaml │ │ ├── scene │ │ │ ├── basic_playtable.yaml │ │ │ ├── basic_tabletop.yaml │ │ │ ├── calvin_scene_A.yaml │ │ │ ├── calvin_scene_B.yaml │ │ │ ├── calvin_scene_C.yaml │ │ │ ├── calvin_scene_D.yaml │ │ │ ├── calvin_scene_D_eval.yaml │ │ │ ├── empty_playtable.yaml │ │ │ ├── tabletop_1.yaml │ │ │ ├── tabletop_2.yaml │ │ │ └── tabletop_3.yaml │ │ ├── tasks │ │ │ ├── new_playtable_tasks.yaml │ │ │ └── play_table_tasks.yaml │ │ └── vr_input │ │ │ ├── vr_controller │ │ │ ├── oculus.yaml │ │ │ └── vive.yaml │ │ │ └── vr_input.yaml │ ├── data │ │ ├── blocks │ │ │ ├── block_blue.urdf │ │ │ ├── block_blue_big.urdf │ │ │ ├── block_blue_middle.urdf │ │ │ ├── block_blue_small.urdf │ │ │ ├── block_blue_unseen.urdf │ │ │ ├── block_pink.urdf │ │ │ ├── block_pink_big.urdf │ │ │ ├── block_pink_middle.urdf │ │ │ ├── block_pink_small.urdf │ │ │ ├── block_pink_unseen.urdf │ │ │ ├── block_red.urdf │ │ │ ├── block_red_big.urdf │ │ │ ├── block_red_middle.urdf │ │ │ ├── block_red_small.urdf │ │ │ ├── block_red_unseen.urdf │ │ │ └── block_square.stl │ │ ├── calvin_table_A │ │ │ ├── meshes │ │ │ │ ├── base_link.STL │ │ │ │ ├── base_link.mtl │ │ │ │ ├── base_link.obj │ │ │ │ ├── button_link.STL │ │ │ │ ├── drawer_link.STL │ │ │ │ ├── drawer_link.mtl │ │ │ │ ├── drawer_link.obj │ │ │ │ ├── drawer_link_vhacd2.obj │ │ │ │ ├── led_link.STL │ │ │ │ ├── light_link.STL │ │ │ │ ├── plank_link.STL │ │ │ │ ├── plank_link.mtl │ │ │ │ ├── plank_link.obj │ │ │ │ ├── plank_link_vhacd2.obj │ │ │ │ ├── slide_link.STL │ │ │ │ ├── slide_link.mtl │ │ │ │ ├── slide_link.obj │ │ │ │ ├── slide_link_vhacd2.obj │ │ │ │ ├── switch_link.STL │ │ │ │ ├── switch_link.mtl │ │ │ │ ├── switch_link.obj │ │ │ │ └── switch_link_vhacd2.obj │ │ │ ├── textures │ │ │ │ ├── dark_wood.png │ │ │ │ ├── dark_wood__black_handle.png │ │ │ │ ├── dark_wood__gray_handle.png │ │ │ │ ├── light_wood.png │ │ │ │ ├── light_wood__black_handle.png │ │ │ │ ├── light_wood__gray_handle.png │ │ │ │ ├── wood.png │ │ │ │ ├── wood__black_handle.png │ │ │ │ └── wood__gray_handle.png │ │ │ └── urdf │ │ │ │ └── calvin_table_A.urdf │ │ ├── calvin_table_B │ │ │ ├── meshes │ │ │ │ ├── base_link.STL │ │ │ │ ├── base_link.mtl │ │ │ │ ├── base_link.obj │ │ │ │ ├── base_link_vhacd2.obj │ │ │ │ ├── button_link.STL │ │ │ │ ├── drawer_link.STL │ │ │ │ ├── drawer_link.mtl │ │ │ │ ├── drawer_link.obj │ │ │ │ ├── drawer_link_vhacd2.obj │ │ │ │ ├── led_link.STL │ │ │ │ ├── light_link.STL │ │ │ │ ├── plank_link.STL │ │ │ │ ├── plank_link.mtl │ │ │ │ ├── plank_link.obj │ │ │ │ ├── plank_link_vhacd2.obj │ │ │ │ ├── slide_link.STL │ │ │ │ ├── slide_link.mtl │ │ │ │ ├── slide_link.obj │ │ │ │ ├── slide_link_vhacd2.obj │ │ │ │ ├── switch_link.STL │ │ │ │ ├── switch_link.mtl │ │ │ │ ├── switch_link.obj │ │ │ │ └── switch_link_vhacd2.obj │ │ │ ├── textures │ │ │ │ ├── dark_wood.png │ │ │ │ ├── dark_wood__black_handle.png │ │ │ │ ├── dark_wood__gray_handle.png │ │ │ │ ├── light_wood.png │ │ │ │ ├── light_wood__black_handle.png │ │ │ │ ├── light_wood__gray_handle.png │ │ │ │ ├── wood.png │ │ │ │ ├── wood__black_handle.png │ │ │ │ └── wood__gray_handle.png │ │ │ └── urdf │ │ │ │ └── calvin_table_B.urdf │ │ ├── calvin_table_C │ │ │ ├── meshes │ │ │ │ ├── base_link.STL │ │ │ │ ├── base_link.mtl │ │ │ │ ├── base_link.obj │ │ │ │ ├── button_link.STL │ │ │ │ ├── drawer_link.STL │ │ │ │ ├── drawer_link.mtl │ │ │ │ ├── drawer_link.obj │ │ │ │ ├── drawer_link_vhacd2.obj │ │ │ │ ├── led_link.STL │ │ │ │ ├── light_link.STL │ │ │ │ ├── plank_link.STL │ │ │ │ ├── plank_link.mtl │ │ │ │ ├── plank_link.obj │ │ │ │ ├── plank_link_vhacd2.obj │ │ │ │ ├── slide_link.STL │ │ │ │ ├── slide_link.mtl │ │ │ │ ├── slide_link.obj │ │ │ │ ├── slide_link_vhacd2.obj │ │ │ │ ├── switch_link.STL │ │ │ │ ├── switch_link.mtl │ │ │ │ ├── switch_link.obj │ │ │ │ └── switch_link_vhacd2.obj │ │ │ ├── textures │ │ │ │ ├── dark_wood.png │ │ │ │ ├── dark_wood__black_handle.png │ │ │ │ ├── dark_wood__gray_handle.png │ │ │ │ ├── light_wood.png │ │ │ │ ├── light_wood__black_handle.png │ │ │ │ ├── light_wood__gray_handle.png │ │ │ │ ├── wood.png │ │ │ │ ├── wood__black_handle.png │ │ │ │ └── wood__gray_handle.png │ │ │ └── urdf │ │ │ │ └── calvin_table_C.urdf │ │ ├── calvin_table_D │ │ │ ├── meshes │ │ │ │ ├── base_link.STL │ │ │ │ ├── base_link.mtl │ │ │ │ ├── base_link.obj │ │ │ │ ├── button_link.STL │ │ │ │ ├── drawer_link.STL │ │ │ │ ├── drawer_link.mtl │ │ │ │ ├── drawer_link.obj │ │ │ │ ├── drawer_link_vhacd2.obj │ │ │ │ ├── led_link.STL │ │ │ │ ├── light_link.STL │ │ │ │ ├── plank_link.STL │ │ │ │ ├── plank_link.mtl │ │ │ │ ├── plank_link.obj │ │ │ │ ├── plank_link_vhacd2.obj │ │ │ │ ├── slide_link.STL │ │ │ │ ├── slide_link.mtl │ │ │ │ ├── slide_link.obj │ │ │ │ ├── slide_link_vhacd2.obj │ │ │ │ ├── switch_link.STL │ │ │ │ ├── switch_link.mtl │ │ │ │ ├── switch_link.obj │ │ │ │ └── switch_link_vhacd2.obj │ │ │ ├── textures │ │ │ │ ├── dark_wood.png │ │ │ │ ├── dark_wood__black_handle.png │ │ │ │ ├── dark_wood__gray_handle.png │ │ │ │ ├── light_wood.png │ │ │ │ ├── light_wood__black_handle.png │ │ │ │ ├── light_wood__gray_handle.png │ │ │ │ ├── wood.png │ │ │ │ ├── wood__black_handle.png │ │ │ │ └── wood__gray_handle.png │ │ │ └── urdf │ │ │ │ └── calvin_table_D.urdf │ │ ├── franka_panda │ │ │ ├── LICENSE.txt │ │ │ ├── meshes │ │ │ │ ├── collision │ │ │ │ │ ├── finger.obj │ │ │ │ │ ├── hand.obj │ │ │ │ │ ├── link0.obj │ │ │ │ │ ├── link1.obj │ │ │ │ │ ├── link2.obj │ │ │ │ │ ├── link3.obj │ │ │ │ │ ├── link4.obj │ │ │ │ │ ├── link5.obj │ │ │ │ │ ├── link6.mtl │ │ │ │ │ ├── link6.obj │ │ │ │ │ ├── link7.obj │ │ │ │ │ ├── longer_finger.mtl │ │ │ │ │ ├── longer_finger.obj │ │ │ │ │ ├── longer_finger_v2.mtl │ │ │ │ │ └── longer_finger_v2.obj │ │ │ │ └── visual │ │ │ │ │ ├── Assem1.SLDASM │ │ │ │ │ ├── FRANKA_Finger.SLDPRT │ │ │ │ │ ├── colors.png │ │ │ │ │ ├── digit.STL │ │ │ │ │ ├── digit_gel_only.STL │ │ │ │ │ ├── finger.SLDPRT │ │ │ │ │ ├── finger.mtl │ │ │ │ │ ├── finger.obj │ │ │ │ │ ├── hand.mtl │ │ │ │ │ ├── hand.obj │ │ │ │ │ ├── link1.mtl │ │ │ │ │ ├── link1.obj │ │ │ │ │ ├── link2.mtl │ │ │ │ │ ├── link2.obj │ │ │ │ │ ├── link3.mtl │ │ │ │ │ ├── link3.obj │ │ │ │ │ ├── link4.mtl │ │ │ │ │ ├── link4.obj │ │ │ │ │ ├── link5.mtl │ │ │ │ │ ├── link5.obj │ │ │ │ │ ├── link6.mtl │ │ │ │ │ ├── link6.obj │ │ │ │ │ ├── longer_finger.STL │ │ │ │ │ ├── longer_finger.mtl │ │ │ │ │ ├── longer_finger.obj │ │ │ │ │ ├── longer_finger_v2.STL │ │ │ │ │ ├── longer_finger_v2.mtl │ │ │ │ │ ├── longer_finger_v2.obj │ │ │ │ │ ├── visualShapeBench.json_0.json │ │ │ │ │ ├── ~$Assem1.SLDASM │ │ │ │ │ ├── ~$FRANKA_Finger.SLDPRT │ │ │ │ │ └── ~$finger.SLDPRT │ │ │ ├── panda.urdf │ │ │ ├── panda_digit.urdf │ │ │ └── panda_longer_finger.urdf │ │ └── plane │ │ │ ├── checker_blue.png │ │ │ ├── plane.mtl │ │ │ ├── plane.obj │ │ │ └── plane.urdf │ ├── egl_check │ │ ├── EGL_options.cpp │ │ ├── EGL_options.h │ │ ├── README.md │ │ ├── build.sh │ │ ├── glad │ │ │ ├── EGL │ │ │ │ └── eglplatform.h │ │ │ ├── KHR │ │ │ │ └── khrplatform.h │ │ │ ├── egl.c │ │ │ ├── gl.c │ │ │ ├── glad │ │ │ │ ├── egl.h │ │ │ │ ├── gl.h │ │ │ │ └── glx.h │ │ │ ├── glx.c │ │ │ └── linmath.h │ │ └── list_egl_options.py │ ├── pyproject.toml │ ├── requirements-dev.txt │ ├── requirements.txt │ ├── setup.py │ └── tacto │ │ ├── .circleci │ │ └── config.yml │ │ ├── .flake8 │ │ ├── .gitignore │ │ ├── .pre-commit-config.yaml │ │ ├── CHANGELOG.md │ │ ├── CODE_OF_CONDUCT.md │ │ ├── CONTRIBUTING.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── examples │ │ ├── .gitignore │ │ ├── allegro_hand_description │ │ │ ├── LICENSE │ │ │ ├── README.txt │ │ │ ├── allegro_hand_config.rviz │ │ │ ├── allegro_hand_config.vcg │ │ │ ├── allegro_hand_description_left.urdf │ │ │ ├── allegro_hand_description_left.xacro │ │ │ ├── allegro_hand_description_left_digit.urdf │ │ │ ├── allegro_hand_description_left_digit.xacro │ │ │ ├── allegro_hand_description_right.urdf │ │ │ ├── allegro_hand_description_right.xacro │ │ │ ├── build_desc.sh │ │ │ ├── manifest.xml │ │ │ └── meshes │ │ │ │ ├── base_link.STL │ │ │ │ ├── base_link_left.STL │ │ │ │ ├── digit.STL │ │ │ │ ├── link_0.0.STL │ │ │ │ ├── link_1.0.STL │ │ │ │ ├── link_12.0_left.STL │ │ │ │ ├── link_12.0_right.STL │ │ │ │ ├── link_13.0.STL │ │ │ │ ├── link_14.0.STL │ │ │ │ ├── link_15.0.STL │ │ │ │ ├── link_15.0_tip.STL │ │ │ │ ├── link_2.0.STL │ │ │ │ ├── link_3.0.STL │ │ │ │ ├── link_3.0_tip.STL │ │ │ │ └── link_4.0.STL │ │ ├── camera.py │ │ ├── conf │ │ │ ├── allegro_hand.yaml │ │ │ ├── bg_digit_240_320.jpg │ │ │ ├── digit.yaml │ │ │ ├── digit_shadow.yaml │ │ │ ├── grasp.yaml │ │ │ ├── omnitact.yaml │ │ │ ├── rolling.yaml │ │ │ └── sawyer_gripper_env.yaml │ │ ├── demo_pybullet_allegro_hand.py │ │ ├── demo_pybullet_digit.py │ │ ├── demo_pybullet_digit_shadow.py │ │ ├── demo_pybullet_grasp.py │ │ ├── demo_pybullet_omnitact.py │ │ ├── demo_pybullet_rolling.py │ │ ├── demo_render.py │ │ ├── demo_sawyer_gripper_env.py │ │ ├── objects │ │ │ ├── checker_huge.gif │ │ │ ├── cube.obj │ │ │ ├── cube_small.urdf │ │ │ ├── sphere_small.urdf │ │ │ ├── textured_sphere_smooth.mtl │ │ │ └── textured_sphere_smooth.obj │ │ ├── robots │ │ │ └── sawyer_wsg50.urdf │ │ ├── sawyer_gripper.py │ │ ├── sawyer_gripper_env.py │ │ ├── sawyer_robot │ │ │ ├── LICENSE │ │ │ ├── package.xml │ │ │ └── sawyer_description │ │ │ │ ├── meshes │ │ │ │ ├── sawyer_mp1 │ │ │ │ │ ├── l6.DAE │ │ │ │ │ └── l6.STL │ │ │ │ ├── sawyer_mp3 │ │ │ │ │ ├── l0.DAE │ │ │ │ │ ├── l0.STL │ │ │ │ │ ├── l1.DAE │ │ │ │ │ └── l1.STL │ │ │ │ └── sawyer_pv │ │ │ │ │ ├── base.DAE │ │ │ │ │ ├── base.STL │ │ │ │ │ ├── head.DAE │ │ │ │ │ ├── head.STL │ │ │ │ │ ├── l0.DAE │ │ │ │ │ ├── l0.STL │ │ │ │ │ ├── l1.DAE │ │ │ │ │ ├── l1.STL │ │ │ │ │ ├── l2.DAE │ │ │ │ │ ├── l2.STL │ │ │ │ │ ├── l3.DAE │ │ │ │ │ ├── l3.STL │ │ │ │ │ ├── l4.DAE │ │ │ │ │ ├── l4.STL │ │ │ │ │ ├── l5.DAE │ │ │ │ │ ├── l5.STL │ │ │ │ │ ├── l6.DAE │ │ │ │ │ ├── l6.STL │ │ │ │ │ ├── pedestal.DAE │ │ │ │ │ └── pedestal.STL │ │ │ │ └── urdf │ │ │ │ └── sawyer.urdf │ │ └── wsg50 │ │ │ ├── DIGIT-WSG-50-V1.STL │ │ │ ├── GUIDE_WSG50_110.stl │ │ │ ├── LICENSE │ │ │ ├── WSG-FMF.stl │ │ │ ├── WSG50_110.stl │ │ │ └── digit.STL │ │ ├── experiments │ │ ├── grasp_stability │ │ │ ├── README.md │ │ │ ├── draw.py │ │ │ ├── grasp_data_collection.py │ │ │ ├── robot.py │ │ │ ├── setup │ │ │ │ ├── objects │ │ │ │ │ ├── cube.obj │ │ │ │ │ └── cube_small.urdf │ │ │ │ ├── robots │ │ │ │ │ └── sawyer_wsg50.urdf │ │ │ │ ├── sawyer_robot │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── package.xml │ │ │ │ │ └── sawyer_description │ │ │ │ │ │ ├── meshes │ │ │ │ │ │ ├── sawyer_mp1 │ │ │ │ │ │ │ ├── l6.DAE │ │ │ │ │ │ │ └── l6.STL │ │ │ │ │ │ ├── sawyer_mp3 │ │ │ │ │ │ │ ├── l0.DAE │ │ │ │ │ │ │ ├── l0.STL │ │ │ │ │ │ │ ├── l1.DAE │ │ │ │ │ │ │ └── l1.STL │ │ │ │ │ │ └── sawyer_pv │ │ │ │ │ │ │ ├── base.DAE │ │ │ │ │ │ │ ├── base.STL │ │ │ │ │ │ │ ├── head.DAE │ │ │ │ │ │ │ ├── head.STL │ │ │ │ │ │ │ ├── l0.DAE │ │ │ │ │ │ │ ├── l0.STL │ │ │ │ │ │ │ ├── l1.DAE │ │ │ │ │ │ │ ├── l1.STL │ │ │ │ │ │ │ ├── l2.DAE │ │ │ │ │ │ │ ├── l2.STL │ │ │ │ │ │ │ ├── l3.DAE │ │ │ │ │ │ │ ├── l3.STL │ │ │ │ │ │ │ ├── l4.DAE │ │ │ │ │ │ │ ├── l4.STL │ │ │ │ │ │ │ ├── l5.DAE │ │ │ │ │ │ │ ├── l5.STL │ │ │ │ │ │ │ ├── l6.DAE │ │ │ │ │ │ │ ├── l6.STL │ │ │ │ │ │ │ ├── pedestal.DAE │ │ │ │ │ │ │ └── pedestal.STL │ │ │ │ │ │ └── urdf │ │ │ │ │ │ └── sawyer.urdf │ │ │ │ └── wsg50 │ │ │ │ │ ├── DIGIT-WSG-50-V1.STL │ │ │ │ │ ├── GUIDE_WSG50_110.stl │ │ │ │ │ ├── LICENSE │ │ │ │ │ ├── WSG-FMF.stl │ │ │ │ │ ├── WSG50_110.stl │ │ │ │ │ └── digit.STL │ │ │ └── train.py │ │ └── rolling │ │ │ ├── BO_rolling_collect.py │ │ │ ├── README.md │ │ │ ├── Rolling.py │ │ │ ├── RollingEnv.py │ │ │ ├── draw_rolling.py │ │ │ └── setup │ │ │ ├── objects │ │ │ ├── checker_huge.gif │ │ │ ├── sphere_small.urdf │ │ │ ├── textured_sphere_smooth.mtl │ │ │ └── textured_sphere_smooth.obj │ │ │ └── sensors │ │ │ ├── digit.STL │ │ │ └── digit.urdf │ │ ├── meshes │ │ ├── digit.STL │ │ ├── digit.urdf │ │ ├── omnitact.STL │ │ ├── omnitact.urdf │ │ ├── omnitact_license.txt │ │ └── omnitact_mod_pybullet.STL │ │ ├── noxfile.py │ │ ├── requirements │ │ ├── dev.txt │ │ ├── examples.txt │ │ └── requirements.txt │ │ ├── setup.py │ │ ├── tacto │ │ ├── __init__.py │ │ ├── config_digit.yml │ │ ├── config_digit_shadow.yml │ │ ├── config_omnitact.yml │ │ ├── random_normal_generator.py │ │ ├── renderer.py │ │ ├── renderer_mp.py │ │ ├── sensor.py │ │ └── timeit.py │ │ ├── tests │ │ ├── benchmark.py │ │ ├── test_random_normal_generator.py │ │ ├── test_render_from_depth_osmesa.py │ │ └── test_timeit.py │ │ └── website │ │ └── static │ │ └── img │ │ ├── demo_allegro.gif │ │ ├── demo_digit.gif │ │ ├── demo_grasp.gif │ │ ├── demo_omnitact.gif │ │ ├── demo_rolling.gif │ │ ├── demo_shadow.gif │ │ └── teaser.jpg ├── calvin_models │ ├── calvin_agent │ │ ├── .gitignore │ │ ├── __init__.py │ │ ├── datasets │ │ │ ├── __init__.py │ │ │ ├── base_dataset.py │ │ │ ├── disk_dataset.py │ │ │ ├── play_data_module.py │ │ │ ├── random.py │ │ │ ├── shm_dataset.py │ │ │ └── utils │ │ │ │ ├── __init__.py │ │ │ │ ├── episode_utils.py │ │ │ │ └── shared_memory_utils.py │ │ ├── evaluation │ │ │ ├── __init__.py │ │ │ ├── evaluate_policy.py │ │ │ ├── evaluate_policy_singlestep.py │ │ │ ├── multistep_sequences.py │ │ │ └── utils.py │ │ ├── inference │ │ │ ├── __init__.py │ │ │ ├── rollouts_interactive.py │ │ │ ├── rollouts_training.py │ │ │ ├── test_consecutive.py │ │ │ ├── test_policy_interactive.py │ │ │ └── test_single_goal.py │ │ ├── models │ │ │ ├── __init__.py │ │ │ ├── decoders │ │ │ │ ├── __init__.py │ │ │ │ ├── action_decoder.py │ │ │ │ └── logistic_policy_network.py │ │ │ ├── encoders │ │ │ │ ├── __init__.py │ │ │ │ ├── goal_encoders.py │ │ │ │ └── language_network.py │ │ │ ├── perceptual_encoders │ │ │ │ ├── __init__.py │ │ │ │ ├── concat_encoders.py │ │ │ │ ├── proprio_encoder.py │ │ │ │ ├── tactile_encoder.py │ │ │ │ ├── vision_network.py │ │ │ │ └── vision_network_gripper.py │ │ │ ├── plan_encoders │ │ │ │ ├── __init__.py │ │ │ │ ├── plan_proposal_net.py │ │ │ │ └── plan_recognition_net.py │ │ │ └── play_lmp.py │ │ ├── rollout │ │ │ ├── __init__.py │ │ │ ├── rollout.py │ │ │ ├── rollout_long_horizon.py │ │ │ └── rollout_video.py │ │ ├── training.py │ │ ├── utils │ │ │ ├── __init__.py │ │ │ ├── automatic_lang_annotator_mp.py │ │ │ ├── compute_proprioception_statistics.py │ │ │ ├── create_splits.py │ │ │ ├── data_visualization.py │ │ │ ├── dataset_task_statistics.py │ │ │ ├── kl_callbacks.py │ │ │ ├── language_annotator.py │ │ │ ├── relabel_with_new_lang_model.py │ │ │ ├── transforms.py │ │ │ ├── utils.py │ │ │ ├── visualizations.py │ │ │ └── visualize_annotations.py │ │ └── visualization │ │ │ ├── __init__.py │ │ │ └── tsne_plot.py │ ├── conf │ │ ├── annotations │ │ │ ├── new_playtable.yaml │ │ │ └── new_playtable_validation.yaml │ │ ├── callbacks │ │ │ ├── checkpoint │ │ │ │ ├── lh_sr.yaml │ │ │ │ ├── task_sr.yaml │ │ │ │ └── val_action.yaml │ │ │ ├── default.yaml │ │ │ ├── kl_schedule │ │ │ │ ├── constant.yaml │ │ │ │ ├── linear.yaml │ │ │ │ └── sigmoid.yaml │ │ │ ├── rollout │ │ │ │ ├── default.yaml │ │ │ │ └── tasks │ │ │ │ │ └── new_playtable_tasks.yaml │ │ │ ├── rollout_lh │ │ │ │ └── default.yaml │ │ │ └── tsne_plot │ │ │ │ └── default.yaml │ │ ├── config.yaml │ │ ├── datamodule │ │ │ ├── datasets │ │ │ │ ├── lang_dataset │ │ │ │ │ ├── lang.yaml │ │ │ │ │ └── lang_shm.yaml │ │ │ │ ├── vision_dataset │ │ │ │ │ ├── vision.yaml │ │ │ │ │ └── vision_shm.yaml │ │ │ │ ├── vision_lang.yaml │ │ │ │ ├── vision_lang_shm.yaml │ │ │ │ └── vision_only.yaml │ │ │ ├── default.yaml │ │ │ ├── observation_space │ │ │ │ ├── all_mods_abs_act.yaml │ │ │ │ ├── all_mods_rel_act.yaml │ │ │ │ ├── lang_rgb_static_abs_act.yaml │ │ │ │ ├── lang_rgb_static_gripper_abs_act.yaml │ │ │ │ ├── lang_rgb_static_gripper_rel_act.yaml │ │ │ │ ├── lang_rgb_static_rel_act.yaml │ │ │ │ ├── lang_rgb_static_robot_scene_abs_act.yaml │ │ │ │ ├── lang_rgb_static_tactile_abs_act.yaml │ │ │ │ ├── lang_rgb_static_tactile_rel_act.yaml │ │ │ │ ├── lang_rgbd_both_abs_act.yaml │ │ │ │ ├── lang_rgbd_both_rel_act.yaml │ │ │ │ ├── lang_rgbd_static_gripper_rel_act.yaml │ │ │ │ ├── lang_rgbd_static_robot_abs_act.yaml │ │ │ │ └── state_only.yaml │ │ │ ├── proprioception_dims │ │ │ │ ├── none.yaml │ │ │ │ ├── robot_full.yaml │ │ │ │ ├── robot_no_joints.yaml │ │ │ │ └── robot_scene.yaml │ │ │ ├── random.yaml │ │ │ └── transforms │ │ │ │ └── play_basic.yaml │ │ ├── inference │ │ │ └── config_inference.yaml │ │ ├── lang_ann.yaml │ │ ├── logger │ │ │ ├── tb_logger.yaml │ │ │ └── wandb.yaml │ │ ├── loss │ │ │ └── default.yaml │ │ ├── model │ │ │ ├── action_decoder │ │ │ │ └── logistic.yaml │ │ │ ├── default.yaml │ │ │ ├── language_goal │ │ │ │ ├── default.yaml │ │ │ │ └── none.yaml │ │ │ ├── optimizer │ │ │ │ ├── adam.yaml │ │ │ │ ├── adamw.yaml │ │ │ │ └── sgd.yaml │ │ │ ├── perceptual_encoder │ │ │ │ ├── RGBD_both.yaml │ │ │ │ ├── default.yaml │ │ │ │ ├── depth_gripper │ │ │ │ │ ├── default.yaml │ │ │ │ │ └── none.yaml │ │ │ │ ├── depth_static │ │ │ │ │ ├── default.yaml │ │ │ │ │ └── none.yaml │ │ │ │ ├── gripper_cam.yaml │ │ │ │ ├── proprio │ │ │ │ │ └── identity.yaml │ │ │ │ ├── static_RGBD.yaml │ │ │ │ ├── static_RGB_tactile.yaml │ │ │ │ ├── tactile │ │ │ │ │ ├── default.yaml │ │ │ │ │ └── none.yaml │ │ │ │ ├── vision_gripper │ │ │ │ │ ├── default.yaml │ │ │ │ │ └── none.yaml │ │ │ │ └── vision_static │ │ │ │ │ └── default.yaml │ │ │ ├── plan_proposal │ │ │ │ └── default.yaml │ │ │ ├── plan_recognition │ │ │ │ └── default.yaml │ │ │ ├── sbert.yaml │ │ │ └── visual_goal │ │ │ │ └── default.yaml │ │ ├── trainer │ │ │ └── play_trainer.yaml │ │ └── training │ │ │ └── default_training.yaml │ ├── requirements.txt │ └── setup.py ├── install.sh ├── media │ ├── sensors.png │ └── teaser.png ├── pyproject.toml ├── requirements-dev.txt ├── scripts │ └── visualize_dataset.py ├── setup_local.py └── slurm_scripts │ ├── README.md │ ├── sbatch_eval.sh │ ├── sbatch_lfp.sh │ └── slurm_training.py ├── d4rl_ext ├── __init__.py ├── infos.py ├── locomotion │ ├── __init__.py │ ├── ant.py │ ├── assets │ │ ├── ant.xml │ │ └── point.xml │ ├── common.py │ ├── generate_dataset.py │ ├── goal_reaching_env.py │ ├── maze_env.py │ ├── mujoco_goal_env.py │ ├── point.py │ ├── swimmer.py │ └── wrappers.py ├── offline_env.py ├── ope.py └── utils │ ├── __init__.py │ ├── dataset_utils.py │ ├── quatmath.py │ ├── visualize_env.py │ └── wrappers.py ├── jaxrl_m ├── README.md ├── common.py ├── dataset.py ├── evaluation.py ├── networks.py ├── typing.py ├── vision │ ├── __init__.py │ ├── bigvision_common.py │ ├── bigvision_resnetv2.py │ ├── bigvision_utils.py │ ├── data_augmentations.py │ ├── drq.py │ ├── impala.py │ ├── resnet_v1.py │ └── small_encoders.py └── wandb.py ├── main.py ├── requirements.txt └── src ├── agents ├── hiql.py └── iql.py ├── ant_diagnostics.py ├── d4rl_ant.py ├── d4rl_utils.py ├── envs ├── __init__.py ├── assets │ └── maze_40.png ├── calvin.py ├── common │ ├── __init__.py │ ├── materials.xml │ ├── skybox.xml │ └── visual.xml ├── conf │ ├── __init__.py │ ├── calvin.yaml │ ├── calvin_conf │ │ ├── cameras │ │ │ ├── cameras │ │ │ │ ├── gripper.yaml │ │ │ │ ├── opposing.yaml │ │ │ │ ├── static.yaml │ │ │ │ └── tactile.yaml │ │ │ ├── no_cameras.yaml │ │ │ ├── static_and_gripper.yaml │ │ │ ├── static_and_tactile.yaml │ │ │ ├── static_gripper_tactile.yaml │ │ │ └── static_only.yaml │ │ ├── config_data_collection.yaml │ │ ├── config_rendering.yaml │ │ ├── digit_sensor │ │ │ └── config_digit.yml │ │ ├── recorder │ │ │ └── recorder.yaml │ │ ├── robot │ │ │ ├── panda.yaml │ │ │ ├── panda_digit.yaml │ │ │ └── panda_longer_finger.yaml │ │ ├── scene │ │ │ ├── basic_playtable.yaml │ │ │ ├── basic_tabletop.yaml │ │ │ ├── calvin_scene_A.yaml │ │ │ ├── calvin_scene_B.yaml │ │ │ ├── calvin_scene_C.yaml │ │ │ ├── calvin_scene_D.yaml │ │ │ ├── calvin_scene_D_eval.yaml │ │ │ ├── empty_playtable.yaml │ │ │ ├── tabletop_1.yaml │ │ │ ├── tabletop_2.yaml │ │ │ └── tabletop_3.yaml │ │ ├── tasks │ │ │ ├── customized_tasks.yaml │ │ │ ├── new_playtable_tasks.yaml │ │ │ └── play_table_tasks.yaml │ │ └── vr_input │ │ │ ├── vr_controller │ │ │ ├── oculus.yaml │ │ │ └── vive.yaml │ │ │ └── vr_input.yaml │ ├── kitchen.yaml │ └── maze.yaml ├── gym_env.py ├── kitchen.py ├── maze.py ├── procgen_env.py └── procgen_viz.py ├── gc_dataset.py ├── roomworld_utils.py ├── special_networks.py ├── utils.py └── viz_utils.py /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2023 HIQL Authors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: 6 | 7 | The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. 8 | 9 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 10 | -------------------------------------------------------------------------------- /antmaze_aux/antmaze-large-diverse-v2-aux.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/antmaze_aux/antmaze-large-diverse-v2-aux.npz -------------------------------------------------------------------------------- /antmaze_aux/antmaze-large-play-v2-aux.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/antmaze_aux/antmaze-large-play-v2-aux.npz -------------------------------------------------------------------------------- /antmaze_aux/antmaze-medium-diverse-v2-aux.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/antmaze_aux/antmaze-medium-diverse-v2-aux.npz -------------------------------------------------------------------------------- /antmaze_aux/antmaze-medium-play-v2-aux.npz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/antmaze_aux/antmaze-medium-play-v2-aux.npz -------------------------------------------------------------------------------- /calvin/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | exclude = .git 3 | # Default is 79 in PEP 8 4 | max-line-length = 120 5 | select = E,F,W,C 6 | ignore=W503, # line break before binary operator, need for black 7 | E203, # whitespace before ':'. Opposite convention enforced by black 8 | E731, # do not assign a lambda expression, use a def 9 | E722, 10 | F401, 11 | F841, 12 | E402, # module level import not at top of file 13 | E741, # ambiguous variable name 14 | E501, # line too long. Handled by black 15 | C406, # Unnecessary list literal - rewrite as a dict literal 16 | -------------------------------------------------------------------------------- /calvin/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "calvin_env"] 2 | path = calvin_env 3 | url = https://github.com/mees/calvin_env.git 4 | -------------------------------------------------------------------------------- /calvin/.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | default_language_version: 2 | python: python3.8 3 | repos: 4 | - repo: https://github.com/psf/black 5 | rev: 22.3.0 6 | hooks: 7 | - id: black 8 | language_version: python3.8 9 | 10 | - repo: https://gitlab.com/pycqa/flake8 11 | rev: 3.8.4 12 | hooks: 13 | - id: flake8 14 | additional_dependencies: [-e, "git+git://github.com/pycqa/pyflakes.git@c72d6cf#egg=pyflakes"] 15 | 16 | - repo: https://github.com/pycqa/isort 17 | rev: 5.7.0 18 | hooks: 19 | - id: isort 20 | 21 | - repo: https://github.com/pre-commit/mirrors-mypy 22 | rev: v0.812 23 | hooks: 24 | - id: mypy 25 | args: [--ignore-missing-imports, --warn-no-return, --warn-redundant-casts, --disallow-incomplete-defs] 26 | additional_dependencies: [pytorch-lightning==1.4.9, torch==1.10.0, numpy] 27 | 28 | - repo: https://github.com/pre-commit/pre-commit-hooks 29 | rev: v4.0.1 30 | hooks: 31 | - id: check-yaml 32 | - id: trailing-whitespace 33 | - id: end-of-file-fixer 34 | -------------------------------------------------------------------------------- /calvin/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Oier Mees 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | exclude = .git 3 | # Default is 79 in PEP 8 4 | max-line-length = 120 5 | select = E,F,W,C 6 | ignore=W503, # line break before binary operator, need for black 7 | E203, # whitespace before ':'. Opposite convention enforced by black 8 | E731, # do not assign a lambda expression, use a def 9 | E722, 10 | F401, 11 | F841, 12 | E402, # module level import not at top of file 13 | E741, # ambiguous variable name 14 | E501, # line too long. Handled by black 15 | C406, # Unnecessary list literal - rewrite as a dict literal 16 | -------------------------------------------------------------------------------- /calvin/calvin_env/.gitmodules: -------------------------------------------------------------------------------- 1 | [submodule "tacto"] 2 | path = tacto 3 | url = https://github.com/lukashermann/tacto.git 4 | -------------------------------------------------------------------------------- /calvin/calvin_env/.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | default_language_version: 2 | python: python3.8 3 | repos: 4 | - repo: https://github.com/psf/black 5 | rev: 22.1.0 6 | hooks: 7 | - id: black 8 | language_version: python3.8 9 | 10 | - repo: https://gitlab.com/pycqa/flake8 11 | rev: 3.8.4 12 | hooks: 13 | - id: flake8 14 | additional_dependencies: [-e, "git+git://github.com/pycqa/pyflakes.git@c72d6cf#egg=pyflakes"] 15 | 16 | - repo: https://github.com/pre-commit/mirrors-isort 17 | rev: v5.6.4 18 | hooks: 19 | - id: isort 20 | 21 | - repo: https://github.com/pre-commit/mirrors-mypy 22 | rev: v0.790 23 | hooks: 24 | - id: mypy 25 | args: [--ignore-missing-imports, --warn-no-return, --warn-redundant-casts, --disallow-incomplete-defs] 26 | 27 | - repo: https://github.com/pre-commit/pre-commit-hooks 28 | rev: v3.4.0 29 | hooks: 30 | - id: check-yaml 31 | - id: trailing-whitespace 32 | - id: end-of-file-fixer 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2021 Oier Mees 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/README.md: -------------------------------------------------------------------------------- 1 | # calvin_env 2 | 3 | 4 | 5 | ## Installation 6 | ```bash 7 | git clone --recursive https://github.com/mees/calvin_env.git 8 | cd calvin_env/tacto 9 | pip install -e . 10 | cd .. 11 | pip install -e . 12 | ``` 13 | -------------------------------------------------------------------------------- /calvin/calvin_env/calvin_env/__init__.py: -------------------------------------------------------------------------------- 1 | """'VR Data Collection and Rendering 2 | :copyright: 2019 by Oier Mees, Lukas Hermann, Wolfram Burgard 3 | :license: GPLv3, see LICENSE for more details. 4 | """ 5 | 6 | __version__ = "0.0.1" 7 | __project__ = "calvin_env" 8 | __author__ = "Oier Mees, Lukas Hermann" 9 | __license__ = "GPLv3" 10 | __email__ = "meeso@informatik.uni-freiburg.de, hermannl@informatik.uni-freiburg.de," 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/calvin_env/scene/objects/base_object.py: -------------------------------------------------------------------------------- 1 | class BaseObject: 2 | def __init__(self, name, obj_cfg, p, cid, data_path, global_scaling): 3 | self.p = p 4 | self.cid = cid 5 | self.name = name 6 | self.file = data_path / obj_cfg["file"] 7 | self.global_scaling = global_scaling 8 | 9 | def reset(self, state): 10 | pass 11 | 12 | def get_info(self): 13 | pass 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/calvin_env/scene/objects/door.py: -------------------------------------------------------------------------------- 1 | MAX_FORCE = 4 2 | 3 | 4 | class Door: 5 | def __init__(self, name, cfg, uid, p, cid): 6 | self.name = name 7 | self.p = p 8 | self.cid = cid 9 | # get joint_index by name (to prevent index errors when additional joints are added) 10 | joint_index = next( 11 | i 12 | for i in range(self.p.getNumJoints(uid, physicsClientId=self.cid)) 13 | if self.p.getJointInfo(uid, i, physicsClientId=self.cid)[1].decode("utf-8") == name 14 | ) 15 | self.joint_index = joint_index 16 | self.uid = uid 17 | self.initial_state = cfg["initial_state"] 18 | self.p.setJointMotorControl2( 19 | self.uid, 20 | self.joint_index, 21 | controlMode=p.VELOCITY_CONTROL, 22 | force=MAX_FORCE, 23 | physicsClientId=self.cid, 24 | ) 25 | 26 | def reset(self, state=None): 27 | _state = self.initial_state if state is None else state 28 | self.p.resetJointState( 29 | self.uid, 30 | self.joint_index, 31 | _state, 32 | physicsClientId=self.cid, 33 | ) 34 | 35 | def get_state(self): 36 | joint_state = self.p.getJointState(self.uid, self.joint_index, physicsClientId=self.cid) 37 | return float(joint_state[0]) 38 | 39 | def get_info(self): 40 | return {"current_state": self.get_state()} 41 | -------------------------------------------------------------------------------- /calvin/calvin_env/calvin_env/scripts/convert_gripper_actions.py: -------------------------------------------------------------------------------- 1 | from pathlib import Path 2 | import sys 3 | 4 | import numpy as np 5 | from tqdm import tqdm 6 | 7 | path = Path(sys.argv[-1]) 8 | 9 | for subdir in ["training", "validation"]: 10 | for file in tqdm((path / subdir).glob("*.npz")): 11 | data = np.load(file) 12 | if data["rel_actions"][-1] == 0: 13 | data = dict(data) 14 | data["rel_actions"][-1] = -1 15 | data["actions"][-1] = -1 16 | np.savez(file, **data) 17 | -------------------------------------------------------------------------------- /calvin/calvin_env/calvin_env/scripts/unnormalize_depth.py: -------------------------------------------------------------------------------- 1 | from pathlib import Path 2 | from shutil import copyfile, copytree 3 | 4 | import numpy as np 5 | from tqdm import tqdm 6 | 7 | load_path = Path("/home/meeso/expert_demos_03_10/training") 8 | 9 | save_path = Path("/home/meeso/expert_demos_03_10/training_unnormalized_depth") 10 | save_path.mkdir(parents=True, exist_ok=True) 11 | 12 | for file in tqdm(load_path.glob("*.npz")): 13 | data = np.load(file) 14 | corrected_data = dict(data.items()) 15 | corrected_data["depth_static"] = data["depth_static"] * 2.0 16 | corrected_data["depth_gripper"] = data["depth_gripper"] * 2.0 17 | np.savez(save_path / file.name, **corrected_data) 18 | 19 | 20 | for file in set(load_path.glob("*")) - set(load_path.glob("*.npz")): 21 | if file.is_dir(): 22 | copytree(file, save_path / file.name) 23 | else: 24 | copyfile(file, save_path / file.name) 25 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/cameras/gripper.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.gripper_camera.GripperCamera 2 | name: gripper 3 | fov: 75 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 2 7 | width: 84 8 | height: 84 9 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/cameras/opposing.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.static_camera.StaticCamera 2 | name: opposing 3 | fov: 75 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 2 7 | width: 200 8 | height: 200 9 | look_at: [ 0.4, 0.5, 0.6 ] 10 | look_from: [ 0.4, 1.5, 0.9 ] 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/cameras/static.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.static_camera.StaticCamera 2 | name: static 3 | fov: 10 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 10 7 | width: 200 8 | height: 200 9 | look_at: [ -0.026242351159453392, -0.0302329882979393, 0.3920000493526459] 10 | look_from: [ 2.871459009488717, -2.166602199425597, 2.555159848480571] 11 | up_vector: [ 0.4041403970338857, 0.22629790978217404, 0.8862616969685161] 12 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/cameras/tactile.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.tactile_sensor.TactileSensor 2 | name: tactile 3 | width: 120 4 | height: 160 5 | digit_link_ids: [10, 12] # ${robot.digit_link_ids} 6 | visualize_gui: true 7 | config_path: conf/digit_sensor/config_digit.yml 8 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/no_cameras.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/conf/cameras/no_cameras.yaml -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/static_and_gripper.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@gripper: gripper 4 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/static_and_tactile.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@tactile: tactile 4 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/cameras/static_gripper_tactile.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@gripper: gripper 4 | - cameras@tactile: tactile -------------------------------------------------------------------------------- /calvin/calvin_env/conf/config_data_collection.yaml: -------------------------------------------------------------------------------- 1 | seed: 0 2 | use_vr: true 3 | data_path: data 4 | save_dir: /tmp 5 | record: true 6 | 7 | hydra: 8 | run: 9 | dir: ${save_dir}/${now:%Y-%m-%d}/${now:%H-%M-%S} 10 | 11 | defaults: 12 | - cameras: no_cameras 13 | - vr_input: vr_input 14 | - env: play_table_env 15 | - scene: calvin_scene_D 16 | - robot: panda_longer_finger 17 | - tasks: new_playtable_tasks 18 | - recorder: recorder 19 | - override hydra/job_logging: colorlog 20 | - override hydra/hydra_logging: colorlog 21 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/config_rendering.yaml: -------------------------------------------------------------------------------- 1 | load_dir: ??? 2 | data_path: data 3 | save_dir: ??? 4 | show_gui: false 5 | processes: 1 6 | set_static_cam: false 7 | 8 | env: 9 | cameras: ${cameras} 10 | show_gui: ${show_gui} 11 | use_vr: false 12 | 13 | hydra: 14 | run: 15 | dir: ${save_dir}/${now:%Y-%m-%d}/${now:%H-%M-%S} 16 | 17 | defaults: 18 | - cameras: static_and_tactile 19 | - override hydra/job_logging: colorlog 20 | - override hydra/hydra_logging: colorlog 21 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/recorder/recorder.yaml: -------------------------------------------------------------------------------- 1 | record: ${record} 2 | record_fps: 30.0 3 | show_fps: false 4 | enable_tts: true 5 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/robot/panda.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.robot.robot.Robot 2 | filename: franka_panda/panda.urdf 3 | base_position: ${scene.robot_base_position} 4 | base_orientation: ${scene.robot_base_orientation} 5 | initial_joint_positions: ${scene.robot_initial_joint_positions} 6 | max_joint_force: 200.0 7 | gripper_force: 200 8 | arm_joint_ids: [0, 1, 2, 3, 4, 5, 6] 9 | lower_joint_limits: [-2.8973, -1.7628, -2.8973, -3.0718, -2.8973, -0.0175, -2.8973] 10 | upper_joint_limits: [2.8973, 1.7628, 2.8973, -0.0698, 2.8973, 3.7525, 2.8973] 11 | gripper_joint_ids: [9, 10] 12 | gripper_joint_limits: [0, 0.04] 13 | tcp_link_id: 13 14 | end_effector_link_id: 7 15 | gripper_cam_link: 12 16 | use_nullspace: true 17 | max_velocity: 2 18 | use_ik_fast: false 19 | magic_scaling_factor_pos: 1 # 1.6 20 | magic_scaling_factor_orn: 1 # 2.2 21 | use_target_pose: true 22 | euler_obs: true 23 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/robot/panda_digit.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - panda 3 | 4 | filename: franka_panda/panda_digit.urdf 5 | gripper_joint_ids: [9, 11] 6 | tcp_link_id: 15 7 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/robot/panda_longer_finger.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - panda 3 | 4 | filename: franka_panda/panda_longer_finger.urdf 5 | gripper_joint_ids: [9, 11] 6 | tcp_link_id: 15 7 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/scene/basic_tabletop.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.scene.play_table_scene.PlayTableScene 2 | _recursive_: false 3 | data_path: ${data_path} 4 | global_scaling: 0.8 5 | euler_obs: ${robot.euler_obs} 6 | robot_base_position: [0.3, 0.15, 0.6] 7 | robot_base_orientation: [0, 0, 1.5707963] 8 | robot_initial_joint_positions: [-0.017792060227770554, -0.7601235411041661, 0.019782607023391807, -2.342050140544315, 0.029840531355804868, 1.5411935298621688, 0.7534486589746342] 9 | surfaces: [] 10 | objects: 11 | fixed_objects: 12 | table: 13 | file: table/hightable.urdf 14 | initial_pos: [ 0.3, 0.7, 0.02 ] 15 | initial_orn: [0, 0, 0] 16 | movable_objects: 17 | plate: 18 | file: 029_plate/google_16k/textured.urdf 19 | initial_pos: [ 0.35, 0.72, 0.61 ] 20 | initial_orn: [0, 0, 0] 21 | thuna: 22 | file: ais_objects/thuna/thuna.urdf 23 | initial_pos: [ -0.1, 0.9, 0.65 ] 24 | initial_orn: [0, 0, 0] 25 | banana: 26 | file: 011_banana/demo/banana_vhacd.urdf 27 | initial_pos: [ 0.5, 0.9, 0.61 ] 28 | initial_orn: [0, 0, 0] 29 | bowl: 30 | file: 024_bowl/google_16k/textured.urdf 31 | initial_pos: [-0.1, 0.72, 0.75] 32 | initial_orn: [0, 0, 0] 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/scene/empty_playtable.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.scene.play_table_scene.PlayTableScene 2 | _recursive_: false 3 | data_path: ${data_path} 4 | global_scaling: 0.8 5 | euler_obs: ${robot.euler_obs} 6 | robot_base_position: [0.3, 0.15, 0.6] 7 | robot_base_orientation: [0, 0, 1.5707963] 8 | robot_initial_joint_positions: [-0.017792060227770554, -0.7601235411041661, 0.019782607023391807, -2.342050140544315, 0.029840531355804868, 1.5411935298621688, 0.7534486589746342] 9 | surfaces: [] 10 | objects: 11 | fixed_objects: 12 | table: 13 | file: own_objects/modified_table_new_handles/playtable_modified.urdf 14 | initial_pos: [0.7, 1.0, 0] 15 | initial_orn: [0, 0, 3.141592653589793] 16 | joints: 17 | top_left_door_joint: 18 | initial_state: 0 # revolute 19 | slide_door_joint: 20 | initial_state: 0 # prismatic 21 | drawer: 22 | file: own_objects/drawer/drawer.urdf 23 | initial_pos: [0.475, 1.0, -0.004] 24 | initial_orn: [0, 0, 3.141592653589793] 25 | joints: 26 | drawer_joint: 27 | initial_state: 0 # prismatic 28 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/vr_input/vr_controller/oculus.yaml: -------------------------------------------------------------------------------- 1 | # @package _group_ 2 | POSITION: 1 3 | ORIENTATION: 2 4 | ANALOG: 3 5 | BUTTONS: 6 6 | BUTTON_A: 7 7 | BUTTON_B: 1 8 | vr_controller_id: 4 9 | gripper_orientation_offset: [0, 3, 0.7853981633974483] 10 | gripper_position_offset: [0, 0.7, -0.2] 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/vr_input/vr_controller/vive.yaml: -------------------------------------------------------------------------------- 1 | # @package _group_ 2 | POSITION: 1 3 | ORIENTATION: 2 4 | ANALOG: 3 5 | BUTTONS: 6 6 | BUTTON_A: 2 7 | BUTTON_B: 1 8 | vr_controller_id: 3 9 | gripper_orientation_offset: [0, 3, 3.14] 10 | gripper_position_offset: [-0.2, 0.3, 0] 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/conf/vr_input/vr_input.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.io_utils.vr_input.VrInput 2 | limit_angle: [90, 0, 0, -1] 3 | visualize_vr_pos: true 4 | reset_button_queue_len: 60 5 | 6 | defaults: 7 | - vr_controller: vive 8 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_blue.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_blue_big.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_blue_middle.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_blue_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_blue_unseen.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_pink.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_pink_big.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_pink_middle.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_pink_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_pink_unseen.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_red.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_red_big.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_red_middle.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_red_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_red_unseen.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/blocks/block_square.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/blocks/block_square.stl -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/base_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/base_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/button_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/button_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/drawer_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/drawer_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/drawer_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/led_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/led_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/light_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/light_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/plank_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/plank_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/plank_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/plank_link_vhacd2.obj: -------------------------------------------------------------------------------- 1 | o convex_0 2 | v 0.325725 0.025391 0.088783 3 | v -0.325722 -0.000725 -0.088225 4 | v -0.325722 -0.000725 0.088783 5 | v 0.325725 -0.000725 -0.088225 6 | v -0.325722 0.025391 -0.088225 7 | v -0.325722 0.025391 0.088783 8 | v 0.325725 -0.000725 0.088783 9 | v 0.325725 0.025391 -0.088225 10 | f 4 5 8 11 | f 3 2 4 12 | f 2 3 5 13 | f 4 2 5 14 | f 3 1 6 15 | f 1 5 6 16 | f 5 3 6 17 | f 1 3 7 18 | f 3 4 7 19 | f 4 1 7 20 | f 1 4 8 21 | f 5 1 8 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/slide_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/slide_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/slide_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/switch_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/meshes/switch_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/meshes/switch_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/dark_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/dark_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/dark_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/dark_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/dark_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/dark_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/light_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/light_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/light_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/light_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/light_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/light_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_A/textures/wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_A/textures/wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/base_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/base_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/light_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/button_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/button_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/drawer_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/drawer_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/drawer_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/light_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/led_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/led_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/light_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/light_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/plank_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/plank_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/plank_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/light_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/plank_link_vhacd2.obj: -------------------------------------------------------------------------------- 1 | o convex_0 2 | v 0.325725 0.025391 0.088783 3 | v -0.325722 -0.000725 -0.088225 4 | v -0.325722 -0.000725 0.088783 5 | v 0.325725 -0.000725 -0.088225 6 | v -0.325722 0.025391 -0.088225 7 | v -0.325722 0.025391 0.088783 8 | v 0.325725 -0.000725 0.088783 9 | v 0.325725 0.025391 -0.088225 10 | f 4 5 8 11 | f 3 2 4 12 | f 2 3 5 13 | f 4 2 5 14 | f 3 1 6 15 | f 1 5 6 16 | f 5 3 6 17 | f 1 3 7 18 | f 3 4 7 19 | f 4 1 7 20 | f 1 4 8 21 | f 5 1 8 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/slide_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/slide_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/slide_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/light_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/switch_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/meshes/switch_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/meshes/switch_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/dark_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/dark_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/dark_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/dark_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/dark_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/dark_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/light_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/light_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/light_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/light_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/light_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/light_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_B/textures/wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_B/textures/wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/base_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/base_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/button_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/button_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/drawer_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/drawer_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/drawer_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/led_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/led_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/light_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/light_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/plank_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/plank_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/plank_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/plank_link_vhacd2.obj: -------------------------------------------------------------------------------- 1 | o convex_0 2 | v 0.325725 0.025391 0.088783 3 | v -0.325722 -0.000725 -0.088225 4 | v -0.325722 -0.000725 0.088783 5 | v 0.325725 -0.000725 -0.088225 6 | v -0.325722 0.025391 -0.088225 7 | v -0.325722 0.025391 0.088783 8 | v 0.325725 -0.000725 0.088783 9 | v 0.325725 0.025391 -0.088225 10 | f 4 5 8 11 | f 3 2 4 12 | f 2 3 5 13 | f 4 2 5 14 | f 3 1 6 15 | f 1 5 6 16 | f 5 3 6 17 | f 1 3 7 18 | f 3 4 7 19 | f 4 1 7 20 | f 1 4 8 21 | f 5 1 8 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/slide_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/slide_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/slide_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/switch_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/meshes/switch_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/meshes/switch_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/dark_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/dark_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/dark_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/dark_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/dark_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/dark_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/light_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/light_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/light_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/light_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/light_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/light_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_C/textures/wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_C/textures/wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/base_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/base_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/button_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/button_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/drawer_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/drawer_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/drawer_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/led_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/led_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/light_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/light_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/plank_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/plank_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/plank_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/plank_link_vhacd2.obj: -------------------------------------------------------------------------------- 1 | o convex_0 2 | v 0.325725 0.025391 0.088783 3 | v -0.325722 -0.000725 -0.088225 4 | v -0.325722 -0.000725 0.088783 5 | v 0.325725 -0.000725 -0.088225 6 | v -0.325722 0.025391 -0.088225 7 | v -0.325722 0.025391 0.088783 8 | v 0.325725 -0.000725 0.088783 9 | v 0.325725 0.025391 -0.088225 10 | f 4 5 8 11 | f 3 2 4 12 | f 2 3 5 13 | f 4 2 5 14 | f 3 1 6 15 | f 1 5 6 16 | f 5 3 6 17 | f 1 3 7 18 | f 3 4 7 19 | f 4 1 7 20 | f 1 4 8 21 | f 5 1 8 22 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/slide_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/slide_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/slide_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | map_Kd ../textures/dark_wood__gray_handle.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/switch_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/meshes/switch_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/meshes/switch_link.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500 6 | Ka 0.8 0.8 0.8 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/dark_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/dark_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/dark_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/dark_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/dark_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/dark_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/light_wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/light_wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/light_wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/light_wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/light_wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/light_wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/wood.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/wood.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/wood__black_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/wood__black_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/calvin_table_D/textures/wood__gray_handle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/calvin_table_D/textures/wood__gray_handle.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/collision/longer_finger.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl DefaultMaterial 5 | Ns 225.000000 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/collision/longer_finger_v2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl DefaultMaterial 5 | Ns 225.000000 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/Assem1.SLDASM: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/Assem1.SLDASM -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/FRANKA_Finger.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/FRANKA_Finger.SLDPRT -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/colors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/colors.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/digit_gel_only.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/digit_gel_only.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/finger.SLDPRT: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/finger.SLDPRT -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/finger.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link2.blend' 2 | # Material Count: 2 3 | 4 | newmtl Part__Feature001_006.001 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.901961 0.921569 0.929412 8 | Ks 0.250000 0.250000 0.250000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | 15 | newmtl Part__Feature_007.001 16 | Ns -1.960784 17 | Ka 1.000000 1.000000 1.000000 18 | Kd 0.250980 0.250980 0.250980 19 | Ks 0.250000 0.250000 0.250000 20 | Ke 0.000000 0.000000 0.000000 21 | Ni 1.000000 22 | d 1.000000 23 | illum 2 24 | map_Kd colors.png 25 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/hand.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link2.blend' 2 | # Material Count: 5 3 | 4 | newmtl Part__Feature001_008_005.001 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.250980 0.250980 0.250980 8 | Ks 0.007812 0.007812 0.007812 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | 15 | newmtl Part__Feature002_005_005.001 16 | Ns -1.960784 17 | Ka 1.000000 1.000000 1.000000 18 | Kd 0.901961 0.921569 0.929412 19 | Ks 0.015625 0.015625 0.015625 20 | Ke 0.000000 0.000000 0.000000 21 | Ni 1.000000 22 | d 1.000000 23 | illum 2 24 | 25 | newmtl Part__Feature005_001_005.001 26 | Ns -1.960784 27 | Ka 1.000000 1.000000 1.000000 28 | Kd 1.000000 1.000000 1.000000 29 | Ks 0.015625 0.015625 0.015625 30 | Ke 0.000000 0.000000 0.000000 31 | Ni 1.000000 32 | d 1.000000 33 | illum 2 34 | map_Kd colors.png 35 | 36 | newmtl Part__Feature005_001_005_001.001 37 | Ns -1.960784 38 | Ka 1.000000 1.000000 1.000000 39 | Kd 0.901961 0.921569 0.929412 40 | Ks 0.015625 0.015625 0.015625 41 | Ke 0.000000 0.000000 0.000000 42 | Ni 1.000000 43 | d 1.000000 44 | illum 2 45 | map_Kd colors.png 46 | 47 | newmtl Part__Feature_009_005.001 48 | Ns -1.960784 49 | Ka 1.000000 1.000000 1.000000 50 | Kd 0.250980 0.250980 0.250980 51 | Ks 0.015625 0.015625 0.015625 52 | Ke 0.000000 0.000000 0.000000 53 | Ni 1.000000 54 | d 1.000000 55 | illum 2 56 | map_Kd colors.png 57 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/link1.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link2.blend' 2 | # Material Count: 1 3 | 4 | newmtl Part__Feature_001 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 1.000000 1.000000 1.000000 8 | Ks 0.062500 0.062500 0.062500 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/link2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link3.blend' 2 | # Material Count: 1 3 | 4 | newmtl Part__Feature024 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 1.000000 1.000000 1.000000 8 | Ks 0.125000 0.125000 0.125000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/link3.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link4.blend' 2 | # Material Count: 4 3 | 4 | newmtl Part__Feature001_010_001_002 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 1.000000 1.000000 1.000000 8 | Ks 0.007812 0.007812 0.007812 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | 15 | newmtl Part__Feature002_007_001_002 16 | Ns -1.960784 17 | Ka 1.000000 1.000000 1.000000 18 | Kd 1.000000 1.000000 1.000000 19 | Ks 0.007812 0.007812 0.007812 20 | Ke 0.000000 0.000000 0.000000 21 | Ni 1.000000 22 | d 1.000000 23 | illum 2 24 | map_Kd colors.png 25 | 26 | newmtl Part__Feature003_004_001_002 27 | Ns -1.960784 28 | Ka 1.000000 1.000000 1.000000 29 | Kd 1.000000 1.000000 1.000000 30 | Ks 0.007812 0.007812 0.007812 31 | Ke 0.000000 0.000000 0.000000 32 | Ni 1.000000 33 | d 1.000000 34 | illum 2 35 | map_Kd colors.png 36 | 37 | newmtl Part__Feature_001_001_001_002 38 | Ns -1.960784 39 | Ka 1.000000 1.000000 1.000000 40 | Kd 0.250980 0.250980 0.250980 41 | Ks 0.007812 0.007812 0.007812 42 | Ke 0.000000 0.000000 0.000000 43 | Ni 1.000000 44 | d 1.000000 45 | illum 2 46 | map_Kd colors.png 47 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/link4.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'link4.blend' 2 | # Material Count: 4 3 | 4 | newmtl Part__Feature001_001_003_001.001 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 1.000000 1.000000 1.000000 8 | Ks 0.007812 0.007812 0.007812 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | 14 | newmtl Part__Feature002_001_003_001.001 15 | Ns -1.960784 16 | Ka 1.000000 1.000000 1.000000 17 | Kd 0.250980 0.250980 0.250980 18 | Ks 0.007812 0.007812 0.007812 19 | Ke 0.000000 0.000000 0.000000 20 | Ni 1.000000 21 | d 1.000000 22 | illum 2 23 | map_Kd colors.png 24 | 25 | newmtl Part__Feature003_001_003_001.001 26 | Ns -1.960784 27 | Ka 1.000000 1.000000 1.000000 28 | Kd 1.000000 1.000000 1.000000 29 | Ks 0.007812 0.007812 0.007812 30 | Ke 0.000000 0.000000 0.000000 31 | Ni 1.000000 32 | d 1.000000 33 | illum 2 34 | map_Kd colors.png 35 | 36 | newmtl Part__Feature_002_003_001.001 37 | Ns -1.960784 38 | Ka 1.000000 1.000000 1.000000 39 | Kd 1.000000 1.000000 1.000000 40 | Ks 0.007812 0.007812 0.007812 41 | Ke 0.000000 0.000000 0.000000 42 | Ni 1.000000 43 | d 1.000000 44 | illum 2 45 | map_Kd colors.png 46 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/link5.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 3 3 | 4 | newmtl Part__Feature_002_004_003.002 5 | Ns -1.960784 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 1.000000 1.000000 1.000000 8 | Ks 0.015625 0.015625 0.015625 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.000000 11 | d 1.000000 12 | illum 2 13 | map_Kd colors.png 14 | 15 | newmtl Shell001_001_001_003.002 16 | Ns -1.960784 17 | Ka 1.000000 1.000000 1.000000 18 | Kd 0.250000 0.250000 0.250000 19 | Ks 0.015625 0.015625 0.015625 20 | Ke 0.000000 0.000000 0.000000 21 | Ni 1.000000 22 | d 1.000000 23 | illum 2 24 | map_Kd colors.png 25 | 26 | newmtl Shell_001_001_003.002 27 | Ns -1.960784 28 | Ka 1.000000 1.000000 1.000000 29 | Kd 1.000000 1.000000 1.000000 30 | Ks 0.015625 0.015625 0.015625 31 | Ke 0.000000 0.000000 0.000000 32 | Ni 1.000000 33 | d 1.000000 34 | illum 2 35 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl Material 5 | Ns 323.999994 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.694038 0.720149 8 | Ks 0.500000 0.500000 0.500000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger_v2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger_v2.STL -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/longer_finger_v2.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 500.000001 6 | Ka 1.000000 1.000000 1.000000 7 | Kd 0.800000 0.800000 0.800000 8 | Ks 0.800000 0.800000 0.800000 9 | Ke 0.000000 0.000000 0.000000 10 | Ni 1.450000 11 | d 1.000000 12 | illum 2 13 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/~$Assem1.SLDASM: -------------------------------------------------------------------------------- 1 | Erick -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/~$FRANKA_Finger.SLDPRT: -------------------------------------------------------------------------------- 1 | Erick -------------------------------------------------------------------------------- /calvin/calvin_env/data/franka_panda/meshes/visual/~$finger.SLDPRT: -------------------------------------------------------------------------------- 1 | Erick -------------------------------------------------------------------------------- /calvin/calvin_env/data/plane/checker_blue.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/data/plane/checker_blue.png -------------------------------------------------------------------------------- /calvin/calvin_env/data/plane/plane.mtl: -------------------------------------------------------------------------------- 1 | newmtl Material 2 | Ns 10.0000 3 | Ni 1.5000 4 | d 1.0000 5 | Tr 0.0000 6 | Tf 1.0000 1.0000 1.0000 7 | illum 2 8 | Ka 0.0000 0.0000 0.0000 9 | Kd 0.5880 0.5880 0.5880 10 | Ks 0.0000 0.0000 0.0000 11 | Ke 0.0000 0.0000 0.0000 12 | map_Ka cube.tga 13 | map_Kd checker_blue.png 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/plane/plane.obj: -------------------------------------------------------------------------------- 1 | # Blender v2.66 (sub 1) OBJ File: '' 2 | # www.blender.org 3 | mtllib plane.mtl 4 | o Plane 5 | v 15.000000 -15.000000 0.000000 6 | v 15.000000 15.000000 0.000000 7 | v -15.000000 15.000000 0.000000 8 | v -15.000000 -15.000000 0.000000 9 | 10 | vt 15.000000 0.000000 11 | vt 15.000000 15.000000 12 | vt 0.000000 15.000000 13 | vt 0.000000 0.000000 14 | 15 | usemtl Material 16 | s off 17 | f 1/1 2/2 3/3 18 | f 1/1 3/3 4/4 19 | -------------------------------------------------------------------------------- /calvin/calvin_env/data/plane/plane.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /calvin/calvin_env/egl_check/README.md: -------------------------------------------------------------------------------- 1 | # Which EGL device am I using? 2 | 3 | This file provides to options to see which EGL device is being used: 4 | 5 | ``` 6 | bash build.sh # compile c++ code 7 | python list_egl_devices.py # run c++ code multiple times 8 | python egl_python.py # see what the pyOpenGL default option is 9 | ``` 10 | -------------------------------------------------------------------------------- /calvin/calvin_env/egl_check/build.sh: -------------------------------------------------------------------------------- 1 | g++ glad/egl.c glad/gl.c EGL_options.cpp -I glad/ -l dl -fPIC -o EGL_options.o 2 | -------------------------------------------------------------------------------- /calvin/calvin_env/egl_check/list_egl_options.py: -------------------------------------------------------------------------------- 1 | import os 2 | import subprocess 3 | 4 | if not os.path.isfile("./EGL_options.o"): 5 | subprocess.call(["bash", "./build.sh"]) 6 | 7 | print("----------Default-------------") 8 | p = subprocess.Popen(["./EGL_options.o"], stderr=subprocess.PIPE) 9 | p.wait() 10 | out, err = p.communicate() 11 | print(err) 12 | 13 | N = int(err.decode("utf-8").split(" of ")[1].split(".")[0]) 14 | 15 | print("number of EGL devices: {}".format(N)) 16 | 17 | for i in range(N): 18 | print(f"----------Option #{i + 1} (id={i})-------------") 19 | my_env = os.environ.copy() 20 | my_env["EGL_VISIBLE_DEVICE"] = "{}".format(i) 21 | p = subprocess.Popen(["./EGL_options.o"], env=my_env) 22 | p.wait() 23 | print() 24 | -------------------------------------------------------------------------------- /calvin/calvin_env/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | # https://github.com/psf/black 3 | line-length = 120 4 | target-version = ["py38"] 5 | exclude = "(.eggs|.git|.hg|.mypy_cache|.nox|.tox|.venv|.svn|_build|buck-out|build|dist)" 6 | 7 | [tool.isort] 8 | profile = "black" 9 | line_length = 120 10 | force_sort_within_sections = "True" 11 | order_by_type = "False" 12 | -------------------------------------------------------------------------------- /calvin/calvin_env/requirements-dev.txt: -------------------------------------------------------------------------------- 1 | black 2 | flake8 3 | isort 4 | pre-commit 5 | mypy 6 | pytest 7 | pytest-cov 8 | -------------------------------------------------------------------------------- /calvin/calvin_env/requirements.txt: -------------------------------------------------------------------------------- 1 | cloudpickle 2 | gitpython 3 | gym 4 | hydra-core 5 | hydra-colorlog 6 | matplotlib 7 | numba 8 | numpy 9 | numpy-quaternion 10 | omegaconf 11 | opencv-python 12 | pandas 13 | pybullet 14 | scipy 15 | rich 16 | -------------------------------------------------------------------------------- /calvin/calvin_env/setup.py: -------------------------------------------------------------------------------- 1 | # !/usr/bin/env python 2 | 3 | """Setup calvin_env installation.""" 4 | 5 | from os import path as op 6 | import re 7 | 8 | from setuptools import find_packages, setup 9 | 10 | 11 | def _read(f): 12 | return open(op.join(op.dirname(__file__), f)).read() if op.exists(f) else "" 13 | 14 | 15 | _meta = _read("calvin_env/__init__.py") 16 | 17 | 18 | def find_meta(_meta, string): 19 | l_match = re.search(r"^" + string + r'\s*=\s*"(.*)"', _meta, re.M) 20 | if l_match: 21 | return l_match.group(1) 22 | raise RuntimeError(f"Unable to find {string} string.") 23 | 24 | 25 | install_requires = [ 26 | l for l in _read("requirements.txt").split("\n") if l and not l.startswith("#") and not l.startswith("-") 27 | ] 28 | 29 | meta = dict( 30 | name=find_meta(_meta, "__project__"), 31 | version=find_meta(_meta, "__version__"), 32 | license=find_meta(_meta, "__license__"), 33 | description="VR Data Collection and Rendering", 34 | platforms="Any", 35 | zip_safe=False, 36 | keywords="calvin_env".split(), 37 | author=find_meta(_meta, "__author__"), 38 | author_email=find_meta(_meta, "__email__"), 39 | url=" https://github.com/mees/calvin_env", 40 | packages=find_packages(exclude=["tests"]), 41 | install_requires=install_requires, 42 | ) 43 | 44 | if __name__ == "__main__": 45 | print("find_package", find_packages(exclude=["tests"])) 46 | setup(**meta) 47 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/.circleci/config.yml: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | version: 2.1 7 | 8 | jobs: 9 | # the same recipe doesn't work for Debian 10 yet. 10 | py37_ubuntu1804: 11 | docker: 12 | - image: ubuntu:18.04 13 | steps: 14 | - run: 15 | name: Install git 16 | command: apt-get update && apt-get install -y git 17 | - checkout 18 | - run: 19 | name: Install dependencies 20 | command: | 21 | apt-get update 22 | apt-get install -y python3 python3-dev python3-pip python3-venv # python 3.6.9 23 | 24 | # packages for headless rendering 25 | apt-get install -y libgl1-mesa-glx libosmesa6 freeglut3 freeglut3-dev 26 | 27 | - run: 28 | name: Install TACTO package, required dependencies, and run unit tests 29 | command: | 30 | pip3 install nox 31 | PYOPENGL_PLATFORM=osmesa nox 32 | 33 | workflows: 34 | version: 2 35 | build: 36 | jobs: 37 | - py37_ubuntu1804 38 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/.flake8: -------------------------------------------------------------------------------- 1 | [flake8] 2 | exclude = .git 3 | max-line-length = 119 4 | copyright-check = True 5 | select = E,F,W,C 6 | copyright-regexp=Copyright \(c\) Facebook, Inc. and its affiliates. All Rights Reserved 7 | ignore=W503,E203,E731,E722 8 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/.pre-commit-config.yaml: -------------------------------------------------------------------------------- 1 | default_language_version: 2 | python: python3.7 3 | repos: 4 | - repo: https://github.com/psf/black 5 | rev: stable 6 | hooks: 7 | - id: black 8 | language_version: python3.7 9 | 10 | - repo: https://gitlab.com/pycqa/flake8 11 | rev: 3.7.9 12 | hooks: 13 | - id: flake8 14 | additional_dependencies: [-e, "git+git://github.com/pycqa/pyflakes.git@1911c20#egg=pyflakes"] 15 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Changelog 2 | 3 | ## 2020-12-15 4 | - Initial release 5 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | We want to make contributing to this project as easy and transparent as possible. 3 | 4 | ## Pull Requests 5 | We actively welcome your pull requests. 6 | 7 | 1. Fork the repo and create your branch from `master`. 8 | 2. If you have added code that should be tested, add tests. 9 | 3. If you have changed APIs, update the documentation. 10 | 4. Ensure the test suite passes. 11 | 5. Make sure your code lints. 12 | 6. If you have not already, complete the Contributor License Agreement ("CLA"). 13 | 14 | ## Contributor License Agreement ("CLA") 15 | In order to accept your pull request, we need you to submit a CLA. You only need to do this once to work on any of Facebook's open source projects. 16 | 17 | Complete your CLA here: 18 | 19 | ## Issues 20 | We use GitHub issues for general feature discussion, Q&A and tracking public bugs. Please ensure your description is clear and has sufficient instructions to be able to reproduce the issue or understand the problem. 21 | 22 | ## License 23 | By contributing to this project, you agree that your contributions will be licensed under the [LICENSE file](LICENSE) in the root directory of this source tree. 24 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) Facebook, Inc. and its affiliates. 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/.gitignore: -------------------------------------------------------------------------------- 1 | *.log -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2016, SimLab 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions are met: 6 | 7 | * Redistributions of source code must retain the above copyright notice, this 8 | list of conditions and the following disclaimer. 9 | 10 | * Redistributions in binary form must reproduce the above copyright notice, 11 | this list of conditions and the following disclaimer in the documentation 12 | and/or other materials provided with the distribution. 13 | 14 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 15 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 16 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 17 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 18 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 19 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 20 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 21 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 22 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 23 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/README.txt: -------------------------------------------------------------------------------- 1 | # use "bash build_desc.sh -h" to see these instructions in the terminal 2 | 3 | 4 | BUILD_DESC.SH 5 | 6 | INSTRUCTIONS FOR USE 7 | -------------------- 8 | 9 | 'build_desc.sh' can be called with up to two (2) arguments. 10 | The first argument is the side of the hand, left or right, and 11 | the second argument determines the use of a robot tree diagram. 12 | 13 | 14 | Examples: 15 | 16 | $ bash build_desc.sh RIGHT 1 17 | Builds the right hand URDF from its xacro file and shows the robot tree diagram when finished. 18 | 19 | $ bash build_desc.sh left 20 | Builds the left hand URDF from its xacro file and DOES NOT show the tree diagram. 21 | 22 | 23 | 24 | Possible variations of the 1st argument are: 25 | RIGHT, Right, right, R, r, LEFT, Left, left, L and l. 26 | 27 | For the 2nd argument, '1' produces the tree graph. 28 | Left blank or passed any other value, the graph will not be created 29 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/manifest.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | AllegroHand_urdf 5 | 6 | 7 | Alex 8 | BSD 9 | 10 | http://ros.org/wiki/AllegroHand_urdf 11 | 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/base_link.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/base_link.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/base_link_left.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/base_link_left.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_0.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_0.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_1.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_1.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_12.0_left.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_12.0_left.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_12.0_right.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_12.0_right.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_13.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_13.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_14.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_14.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_15.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_15.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_15.0_tip.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_15.0_tip.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_2.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_2.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_3.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_3.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_3.0_tip.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_3.0_tip.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_4.0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/allegro_hand_description/meshes/link_4.0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/allegro_hand.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | allegro: 6 | urdf_path: "allegro_hand_description/allegro_hand_description_left_digit.urdf" 7 | base_position: [0, 0, 0.095] 8 | use_fixed_base: True 9 | 10 | object: 11 | urdf_path: "objects/sphere_small.urdf" 12 | base_position: [0.05, 0.0, 0.235] # (m) 13 | global_scaling: 0.15 14 | 15 | # id of the links that are digits 16 | digit_link_id_allegro: [4, 9, 14, 19] 17 | 18 | pybullet_camera: 19 | cameraDistance: 0.4 20 | cameraYaw: 45. 21 | cameraPitch: -45. 22 | cameraTargetPosition: [0, 0, 0] 23 | 24 | tacto: 25 | width: 120 26 | height: 160 27 | visualize_gui: True 28 | 29 | object_control_panel: 30 | slider_params: 31 | position_low: [-0.3, -0.3, 0] 32 | position_high: [0.3, 0.3, 0.3] 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/bg_digit_240_320.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/conf/bg_digit_240_320.jpg -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/digit.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | tacto: 6 | width: 120 7 | height: 160 8 | visualize_gui: True 9 | 10 | digit: 11 | urdf_path: "../meshes/digit.urdf" 12 | base_position: [0, 0, 0] 13 | 14 | # quaternion from p.getQuaternionFromEuler([0, -pi/2, 0]) 15 | base_orientation: [0.0, -0.707106, 0.0, 0.707106] 16 | use_fixed_base: True 17 | 18 | object: 19 | urdf_path: "objects/sphere_small.urdf" 20 | base_position: [-0.015, 0, 0.04] 21 | global_scaling: 0.15 22 | 23 | object_control_panel: 24 | slider_params: 25 | position_low: [-0.04, -0.02, 0.02] 26 | position_high: [0.005, 0.02, 0.03] 27 | 28 | pybullet_camera: 29 | cameraDistance: 0.12 30 | cameraYaw: 90. 31 | cameraPitch: -45. 32 | cameraTargetPosition: [0, 0, 0] 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/digit_shadow.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | tacto: 6 | width: 120 7 | height: 160 8 | visualize_gui: True 9 | 10 | digit: 11 | urdf_path: "../meshes/digit.urdf" 12 | base_position: [0, 0, 0] 13 | 14 | # quaternion from p.getQuaternionFromEuler([0, -pi/2, 0]) 15 | base_orientation: [0.0, -0.707106, 0.0, 0.707106] 16 | use_fixed_base: True 17 | 18 | object: 19 | urdf_path: "objects/sphere_small.urdf" 20 | base_position: [-0.015, 0, 0.04] 21 | global_scaling: 0.1 22 | 23 | 24 | object_control_panel: 25 | slider_params: 26 | position_low: [-0.04, -0.02, 0.02] 27 | position_high: [0.005, 0.02, 0.06] 28 | 29 | pybullet_camera: 30 | cameraDistance: 0.12 31 | cameraYaw: 90. 32 | cameraPitch: -45. 33 | cameraTargetPosition: [0, 0, 0] 34 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/grasp.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | object: 6 | urdf_path: "objects/cube_small.urdf" 7 | base_position: [0.50, 0, 0.02] 8 | global_scaling: 0.6 9 | 10 | tacto: 11 | width: 120 12 | height: 160 13 | visualize_gui: True 14 | 15 | sawyer_gripper: 16 | robot_params: 17 | urdf_path: "robots/sawyer_wsg50.urdf" 18 | use_fixed_base: True 19 | init_state: 20 | end_effector: 21 | position: [0.50, 0, 0.215] 22 | # p.getQuaternionFromEuler([0, np.pi, 0]) 23 | orientation: [0.0, 1.0, 0.0, 0.0] 24 | gripper_width: 0.11 25 | 26 | pybullet_camera: 27 | cameraDistance: 0.6 28 | cameraYaw: 15. 29 | cameraPitch: -20. 30 | cameraTargetPosition: [0.5, 0, 0.08] 31 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/omnitact.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | tacto: 6 | width: 120 7 | height: 160 8 | visualize_gui: True 9 | 10 | omnitact: 11 | urdf_path: "../meshes/omnitact.urdf" 12 | base_position: [0, 0, 0] 13 | 14 | # quaternion from p.getQuaternionFromEuler([0, -pi/2, 0]) 15 | base_orientation: [0.0, -0.707106, 0.0, 0.707106] 16 | use_fixed_base: True 17 | 18 | object: 19 | urdf_path: "objects/sphere_small.urdf" 20 | base_position: [0, 0, 0.06] 21 | global_scaling: 0.15 22 | 23 | object_control_panel: 24 | slider_params: 25 | position_low: [-0.3, -0.3, 0] 26 | position_high: [0.3, 0.3, 0.3] 27 | 28 | pybullet_camera: 29 | cameraDistance: 0.12 30 | cameraYaw: 90. 31 | cameraPitch: -45. 32 | cameraTargetPosition: [0, 0, 0] 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/rolling.yaml: -------------------------------------------------------------------------------- 1 | hydra: 2 | run: 3 | dir: ./ 4 | 5 | tacto: 6 | width: 120 7 | height: 160 8 | visualize_gui: True 9 | 10 | digits: 11 | top: 12 | urdf_path: "../meshes/digit.urdf" 13 | base_position: [0, 0, 0.070] 14 | 15 | # quaternion from p.getQuaternionFromEuler([0, pi/2, pi]) 16 | base_orientation: [-0.707107, 0.0, 0.707107, 0.0] 17 | 18 | use_fixed_base: False 19 | 20 | bottom: 21 | urdf_path: "../meshes/digit.urdf" 22 | base_position: [0, 0, 0.011] 23 | 24 | # quaternion from p.getQuaternionFromEuler([0, -pi/2, 0]) 25 | base_orientation: [0.0, -0.707106, 0.0, 0.707106] 26 | use_fixed_base: True 27 | 28 | object: 29 | urdf_path: "objects/sphere_small.urdf" 30 | base_position: [-0.015, 0, 0.04] 31 | global_scaling: 0.15 32 | 33 | object_control_panel: 34 | slider_params: 35 | position_low: [-0.03, -0.03, 0.05] 36 | position_high: [0.03, 0.03, 0.1] 37 | 38 | pybullet_camera: 39 | cameraDistance: 0.12 40 | cameraYaw: 0 41 | cameraPitch: -20 42 | cameraTargetPosition: [0, 0, 0.02] 43 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/conf/sawyer_gripper_env.yaml: -------------------------------------------------------------------------------- 1 | sawyer_gripper: 2 | robot_params: 3 | urdf_path: "robots/sawyer_wsg50.urdf" 4 | use_fixed_base: True 5 | init_state: 6 | end_effector: 7 | position: [0.50, 0, 0.215] 8 | # p.getQuaternionFromEuler([0, np.pi, 0]) 9 | orientation: [0.0, 1.0, 0.0, 0.0] 10 | gripper_width: 0.11 11 | 12 | object: 13 | urdf_path: "objects/cube_small.urdf" 14 | base_position: [0.50, 0, 0.02] 15 | global_scaling: 0.6 16 | 17 | tacto: 18 | width: 120 19 | height: 160 20 | visualize_gui: True 21 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/objects/checker_huge.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/objects/checker_huge.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/objects/cube.obj: -------------------------------------------------------------------------------- 1 | # cube.obj 2 | # 3 | 4 | o cube 5 | mtllib cube.mtl 6 | 7 | v -0.500000 -0.500000 0.500000 8 | v 0.500000 -0.500000 0.500000 9 | v -0.500000 0.500000 0.500000 10 | v 0.500000 0.500000 0.500000 11 | v -0.500000 0.500000 -0.500000 12 | v 0.500000 0.500000 -0.500000 13 | v -0.500000 -0.500000 -0.500000 14 | v 0.500000 -0.500000 -0.500000 15 | 16 | vt 0.000000 0.000000 17 | vt 1.000000 0.000000 18 | vt 0.000000 1.000000 19 | vt 1.000000 1.000000 20 | 21 | vn 0.000000 0.000000 1.000000 22 | vn 0.000000 1.000000 0.000000 23 | vn 0.000000 0.000000 -1.000000 24 | vn 0.000000 -1.000000 0.000000 25 | vn 1.000000 0.000000 0.000000 26 | vn -1.000000 0.000000 0.000000 27 | 28 | g cube 29 | usemtl cube 30 | s 1 31 | f 1/1/1 2/2/1 3/3/1 32 | f 3/3/1 2/2/1 4/4/1 33 | s 2 34 | f 3/1/2 4/2/2 5/3/2 35 | f 5/3/2 4/2/2 6/4/2 36 | s 3 37 | f 5/4/3 6/3/3 7/2/3 38 | f 7/2/3 6/3/3 8/1/3 39 | s 4 40 | f 7/1/4 8/2/4 1/3/4 41 | f 1/3/4 8/2/4 2/4/4 42 | s 5 43 | f 2/1/5 8/2/5 4/3/5 44 | f 4/3/5 8/2/5 6/4/5 45 | s 6 46 | f 7/1/6 1/2/6 5/3/6 47 | f 5/3/6 1/2/6 3/4/6 48 | 49 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/objects/cube_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/objects/sphere_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/objects/textured_sphere_smooth.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | map_Kd checker_huge.gif 12 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | sawyer_robot 4 | 5.0.4 5 | 6 | sawyer_robot metapackage for all of the packages required 7 | to work with the Sawyer Robot from Rethink Robotics. 8 | 9 | 10 | 11 | Rethink Robotics Inc. 12 | 13 | BSD 14 | http://sdk.rethinkrobotics.com/intera/ 15 | 16 | https://github.com/RethinkRobotics/sawyer_robot 17 | 18 | 19 | https://github.com/RethinkRobotics/sawyer_robot/issues 20 | 21 | Rethink Robotics Inc. 22 | 23 | catkin 24 | 25 | intera_sdk 26 | intera_common 27 | sawyer_description 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp1/l6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp1/l6.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/base.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/head.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/head.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l2.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l3.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l4.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l5.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/l6.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/pedestal.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/sawyer_robot/sawyer_description/meshes/sawyer_pv/pedestal.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/DIGIT-WSG-50-V1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/wsg50/DIGIT-WSG-50-V1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/GUIDE_WSG50_110.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/wsg50/GUIDE_WSG50_110.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) 2015, Robotnik Automation SLL All rights reserved. 2 | 3 | Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of Robotnik Automation nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. 4 | 5 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ROBOTNIK AUTOMATION SLL BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/WSG-FMF.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/wsg50/WSG-FMF.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/WSG50_110.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/wsg50/WSG50_110.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/examples/wsg50/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/examples/wsg50/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/README.md: -------------------------------------------------------------------------------- 1 | # Grasp Stability 2 | 3 | ## Dependencies 4 | 5 | Install [scipyplot](https://github.com/robertocalandra/scipyplot), [deepdish](https://github.com/uchicago-cs/deepdish), [pytorch](https://pytorch.org/), [torchvision](https://pytorch.org/docs/stable/torchvision/index.html). 6 | ``` 7 | pip install scipyplot deepdish torch torchvision 8 | ``` 9 | 10 | ## Content 11 | 12 | 1) grasp_data_collection.py: collect data with different grasp configuration; save data with vision, touch and label (success/failure). 13 | 2) robot.py: helper class for controlling the robot. 14 | 3) train.py: learning grasp stability from vision and touch. 15 | 4) draw.py: plot accuracy with different input modality (vision/touch/both) and different amount of data. 16 | 17 | ## Usage 18 | 19 | Collect grasp dataset. Data saved in ./data folder. Each file contains 100 samples. 20 | ``` 21 | python grasp_data_collection.py 22 | ``` 23 | 24 | Learning grasp stability with different amount of data (N x 100 samples). Logs saved in ./logs folder. 25 | ``` 26 | python train.py -N 10 27 | ``` 28 | 29 | Plot test accuracy with different input modalities and different amount of data, loading results from ./logs folder. 30 | ``` 31 | python draw.py 32 | ``` -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/objects/cube.obj: -------------------------------------------------------------------------------- 1 | # cube.obj 2 | # 3 | 4 | o cube 5 | mtllib cube.mtl 6 | 7 | v -0.500000 -0.500000 0.500000 8 | v 0.500000 -0.500000 0.500000 9 | v -0.500000 0.500000 0.500000 10 | v 0.500000 0.500000 0.500000 11 | v -0.500000 0.500000 -0.500000 12 | v 0.500000 0.500000 -0.500000 13 | v -0.500000 -0.500000 -0.500000 14 | v 0.500000 -0.500000 -0.500000 15 | 16 | vt 0.000000 0.000000 17 | vt 1.000000 0.000000 18 | vt 0.000000 1.000000 19 | vt 1.000000 1.000000 20 | 21 | vn 0.000000 0.000000 1.000000 22 | vn 0.000000 1.000000 0.000000 23 | vn 0.000000 0.000000 -1.000000 24 | vn 0.000000 -1.000000 0.000000 25 | vn 1.000000 0.000000 0.000000 26 | vn -1.000000 0.000000 0.000000 27 | 28 | g cube 29 | usemtl cube 30 | s 1 31 | f 1/1/1 2/2/1 3/3/1 32 | f 3/3/1 2/2/1 4/4/1 33 | s 2 34 | f 3/1/2 4/2/2 5/3/2 35 | f 5/3/2 4/2/2 6/4/2 36 | s 3 37 | f 5/4/3 6/3/3 7/2/3 38 | f 7/2/3 6/3/3 8/1/3 39 | s 4 40 | f 7/1/4 8/2/4 1/3/4 41 | f 1/3/4 8/2/4 2/4/4 42 | s 5 43 | f 2/1/5 8/2/5 4/3/5 44 | f 4/3/5 8/2/5 6/4/5 45 | s 6 46 | f 7/1/6 1/2/6 5/3/6 47 | f 5/3/6 1/2/6 3/4/6 48 | 49 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/objects/cube_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/package.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | sawyer_robot 4 | 5.0.4 5 | 6 | sawyer_robot metapackage for all of the packages required 7 | to work with the Sawyer Robot from Rethink Robotics. 8 | 9 | 10 | 11 | Rethink Robotics Inc. 12 | 13 | BSD 14 | http://sdk.rethinkrobotics.com/intera/ 15 | 16 | https://github.com/RethinkRobotics/sawyer_robot 17 | 18 | 19 | https://github.com/RethinkRobotics/sawyer_robot/issues 20 | 21 | Rethink Robotics Inc. 22 | 23 | catkin 24 | 25 | intera_sdk 26 | intera_common 27 | sawyer_description 28 | 29 | 30 | 31 | 32 | 33 | 34 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp1/l6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp1/l6.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_mp3/l1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/base.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/base.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/head.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/head.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l0.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l0.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l2.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l2.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l3.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l3.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l4.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l4.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l5.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l5.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l6.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/l6.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/pedestal.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/sawyer_robot/sawyer_description/meshes/sawyer_pv/pedestal.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/DIGIT-WSG-50-V1.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/DIGIT-WSG-50-V1.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/GUIDE_WSG50_110.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/GUIDE_WSG50_110.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/WSG-FMF.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/WSG-FMF.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/WSG50_110.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/WSG50_110.stl -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/grasp_stability/setup/wsg50/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/README.md: -------------------------------------------------------------------------------- 1 | # Rolling 2 | 3 | ## Dependencies 4 | 5 | Install [opto](https://github.com/robertocalandra/opto) for Bayesian Optimization 6 | ``` 7 | # install a FORTRAN compiler for opto 8 | sudo apt-get install gfortran 9 | 10 | # install opto 11 | git clone https://github.com/robertocalandra/opto.git 12 | cd opto 13 | pip install -r requirements.txt 14 | python setup.py install 15 | ``` 16 | 17 | Install [scipyplot](https://github.com/robertocalandra/scipyplot), [deepdish](https://github.com/uchicago-cs/deepdish). 18 | ``` 19 | pip install scipyplot deepdish 20 | ``` 21 | 22 | ## Content 23 | 24 | 1) RollingEnv.py: pybullet envrionment for rolling ball between two sensor with tactile output 25 | 2) Rolling.py: wrapper class for opto Bayesian optimization 26 | 3) BO_rolling_collect.py: Bayesian optimization and random sampling to learn the control parameters for 30 times 27 | 4) draw_rolling.py: plot learning curve based on logs generated by BO_rolling_collect.py 28 | 29 | ## Usage 30 | 31 | Run BO and random sampling experiments. The logs will be saved in logs folder. (Optional: disable visualization for faster speed). 32 | ``` 33 | python BO_rolling_collect.py 34 | ``` 35 | 36 | Plot learning curve based on logs. 37 | ``` 38 | python draw_rolling.py 39 | ``` -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/setup/objects/checker_huge.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/rolling/setup/objects/checker_huge.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/setup/objects/sphere_small.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/setup/objects/textured_sphere_smooth.mtl: -------------------------------------------------------------------------------- 1 | # Blender MTL File: 'None' 2 | # Material Count: 1 3 | 4 | newmtl None 5 | Ns 0 6 | Ka 0.000000 0.000000 0.000000 7 | Kd 0.8 0.8 0.8 8 | Ks 0.8 0.8 0.8 9 | d 1 10 | illum 2 11 | map_Kd checker_huge.gif 12 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/setup/sensors/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/experiments/rolling/setup/sensors/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/experiments/rolling/setup/sensors/digit.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/digit.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/meshes/digit.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/digit.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/omnitact.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/meshes/omnitact.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/omnitact.urdf: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/omnitact_license.txt: -------------------------------------------------------------------------------- 1 | Omnitact.STL and omnitact_mod_pybullet.STL are licenced from https://github.com/s-tian/bench-press under the following license: 2 | 3 | MIT License 4 | 5 | Copyright (c) 2020 Stephen Tian 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/meshes/omnitact_mod_pybullet.STL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/meshes/omnitact_mod_pybullet.STL -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/noxfile.py: -------------------------------------------------------------------------------- 1 | import os 2 | import nox 3 | 4 | BASE = os.path.abspath(os.path.dirname(__file__)) 5 | 6 | def install_tacto(session): 7 | session.chdir(BASE) 8 | cmd = "pip install -e .".split(' ') 9 | session.run(*cmd) 10 | 11 | @nox.session 12 | def tests(session): 13 | install_tacto(session) 14 | session.install('pytest') 15 | session.run('pytest') 16 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/requirements/dev.txt: -------------------------------------------------------------------------------- 1 | -r examples.txt 2 | 3 | # For development, testing, and packaging 4 | pre-commit 5 | black 6 | flake8 7 | flake8-copyright 8 | isort 9 | nox >= 2019.11.9 10 | snakeviz >= 2.1.0 11 | pytest >= 6.0.1 12 | pytest-cov >= 2.10.1 13 | pytest-benchmark >= 3.2.3 14 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/requirements/examples.txt: -------------------------------------------------------------------------------- 1 | -r requirements.txt 2 | 3 | torch 4 | gym 5 | pybulletX >= 0.4.1 6 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/requirements/requirements.txt: -------------------------------------------------------------------------------- 1 | numpy >= 1.18.5 2 | pybullet >= 2.8.1 3 | matplotlib >= 3.1.3 4 | opencv-python >= 3.4.2.17 5 | omegaconf >= 2.0.6 6 | pyrender >= 0.1.43 7 | hydra-core >= 1.0.6 8 | urdfpy >= 0.0.22 9 | scipy 10 | 11 | # Need a specific version of PyOpenGL (forked & modified by mmatl) for pyrender 12 | # to run headlessly using OSMesa. Otherwise, we will get python ImportError: 13 | # `cannot import name 'OSMesaCreateContextAttribs'`. 14 | pyopengl @ git+https://github.com/mmatl/pyopengl.git@76d1261adee2d3fd99b418e75b0416bb7d2865e6 15 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/tacto/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | from .renderer import Renderer # noqa: F401 7 | 8 | from .sensor import ( # noqa: F401; noqa: F401 9 | Sensor, 10 | get_digit_config_path, 11 | get_digit_shadow_config_path, 12 | get_omnitact_config_path, 13 | ) 14 | 15 | __author__ = "Wang, Shaoxiong and Lambeta, Mike and Chou, Po-Wei and Calandra, Roberto" 16 | __contact__ = "sxwang@fb.com, lambetam@fb.com, poweic@fb.com, rcalandra@fb.com" 17 | __version__ = "0.0.3" # Source of truth for tacto's version 18 | 19 | _exported_dunders = { 20 | "__version__", 21 | } 22 | 23 | # Export symbols except those start with "_", unless they are whitelisted above. 24 | __all__ = [s for s in dir() if s in _exported_dunders or not s.startswith("_")] 25 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/tacto/random_normal_generator.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | import numpy as np 7 | 8 | from multiprocessing import Process, Queue 9 | 10 | 11 | class RandomNormalGenerator(Process): 12 | def __init__(self, mean, std, size, prefetch=16): 13 | super().__init__(daemon=True) 14 | self.mean = mean 15 | self.std = std 16 | self.size = size 17 | 18 | self._q = Queue(maxsize=prefetch) 19 | self.start() 20 | 21 | def run(self): 22 | while True: 23 | noise = np.random.normal(self.mean, self.std, self.size) 24 | self._q.put(noise) 25 | 26 | def sample(self): 27 | return self._q.get() 28 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/tacto/timeit.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | import time 7 | from functools import wraps 8 | from collections import deque, defaultdict 9 | 10 | import numpy as np 11 | 12 | 13 | def timeit(f): 14 | 15 | WINDOW_SIZE = 128 16 | timeit._elapsed = defaultdict(lambda: deque(maxlen=WINDOW_SIZE)) 17 | 18 | def summarize(): 19 | print("\33[33m----- Summarize -----\33[0m") 20 | for k, q in timeit._elapsed.items(): 21 | print(f"{k:55s} took: {np.mean(q):.5f} sec [{len(q)} samples]") 22 | 23 | timeit.summarize = summarize 24 | 25 | @wraps(f) 26 | def wrap(*args, **kwargs): 27 | t = time.time() 28 | result = f(*args, **kwargs) 29 | elapsed = time.time() - t 30 | timeit._elapsed[repr(f)].append(elapsed) 31 | return result 32 | 33 | return wrap 34 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/tests/test_random_normal_generator.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | import time 7 | 8 | import pytest 9 | import numpy as np 10 | from tacto.random_normal_generator import RandomNormalGenerator 11 | 12 | 13 | @pytest.fixture() 14 | def image_shape(): 15 | return (320, 240, 3) 16 | 17 | 18 | def test_random_normal_generator(image_shape): 19 | t = time.time() 20 | for i in range(100): 21 | np.random.normal(0, 7, size=image_shape) 22 | print(f"Took {time.time() - t} sec.") 23 | 24 | 25 | def test_random_normal_generator_multiprocess(image_shape): 26 | r = RandomNormalGenerator(mean=0, std=7, size=image_shape, prefetch=100) 27 | 28 | time.sleep(2) 29 | t = time.time() 30 | for i in range(100): 31 | r.sample() 32 | print(f"Took {time.time() - t} sec.") 33 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/tests/test_timeit.py: -------------------------------------------------------------------------------- 1 | # Copyright (c) Facebook, Inc. and its affiliates. 2 | 3 | # This source code is licensed under the MIT license found in the 4 | # LICENSE file in the root directory of this source tree. 5 | 6 | import numpy as np 7 | from tacto.timeit import timeit 8 | 9 | 10 | @timeit 11 | def foo(x): 12 | y = np.random.normal(0, 7, size=x.shape) 13 | return y 14 | 15 | 16 | def test_timeit(): 17 | s = 0 18 | x = np.zeros((320, 240, 3), dtype=np.uint8) 19 | for i in range(100): 20 | y = foo(x) 21 | s += y.sum() 22 | print(s) 23 | -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_allegro.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_allegro.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_digit.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_digit.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_grasp.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_grasp.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_omnitact.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_omnitact.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_rolling.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_rolling.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/demo_shadow.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/demo_shadow.gif -------------------------------------------------------------------------------- /calvin/calvin_env/tacto/website/static/img/teaser.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_env/tacto/website/static/img/teaser.jpg -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/.gitignore: -------------------------------------------------------------------------------- 1 | data 2 | play_data/ 3 | __pycache__/ 4 | results/ 5 | runs/ 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/__init__.py: -------------------------------------------------------------------------------- 1 | """'CALVIN - A benchmark for Language-Conditioned Policy Learning for Long-Horizon Robot Manipulation Tasks 2 | :copyright: 2021 by Oier Mees 3 | :license: MIT, see LICENSE for more details. 4 | """ 5 | 6 | __version__ = "0.0.1" 7 | __project__ = "Calvin" 8 | __author__ = "Oier Mees" 9 | __license__ = "MIT" 10 | __email__ = "meeso@informatik.uni-freiburg.de" 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/datasets/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/datasets/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/datasets/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/datasets/utils/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/evaluation/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/evaluation/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/inference/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/inference/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/models/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/decoders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/models/decoders/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/decoders/action_decoder.py: -------------------------------------------------------------------------------- 1 | from typing import Tuple 2 | 3 | import torch 4 | from torch import nn 5 | 6 | 7 | class ActionDecoder(nn.Module): 8 | def act(self, latent_plan: torch.Tensor, perceptual_emb: torch.Tensor, latent_goal: torch.Tensor) -> torch.Tensor: 9 | raise NotImplementedError 10 | 11 | def loss( 12 | self, latent_plan: torch.Tensor, perceptual_emb: torch.Tensor, latent_goal: torch.Tensor, actions: torch.Tensor 13 | ) -> torch.Tensor: 14 | raise NotImplementedError 15 | 16 | def loss_and_act( 17 | self, latent_plan: torch.Tensor, perceptual_emb: torch.Tensor, latent_goal: torch.Tensor, actions: torch.Tensor 18 | ) -> Tuple[torch.Tensor, torch.Tensor]: 19 | raise NotImplementedError 20 | 21 | def clear_hidden_state(self) -> None: 22 | raise NotImplementedError 23 | 24 | def _sample(self, *args, **kwargs): 25 | raise NotImplementedError 26 | 27 | def forward( 28 | self, latent_plan: torch.Tensor, perceptual_emb: torch.Tensor, latent_goal: torch.Tensor 29 | ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor]: 30 | raise NotImplementedError 31 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/encoders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/models/encoders/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/encoders/language_network.py: -------------------------------------------------------------------------------- 1 | from typing import List 2 | 3 | from sentence_transformers import SentenceTransformer 4 | import torch 5 | import torch.nn as nn 6 | 7 | 8 | class SBert(nn.Module): 9 | def __init__(self, nlp_model): 10 | super().__init__() 11 | if nlp_model == "mpnet": 12 | weights = "paraphrase-mpnet-base-v2" 13 | elif nlp_model == "multi": 14 | weights = "paraphrase-multilingual-mpnet-base-v2" 15 | else: 16 | weights = "paraphrase-MiniLM-L6-v2" 17 | self.model = SentenceTransformer(weights) 18 | 19 | def forward(self, x: List) -> torch.Tensor: 20 | emb = self.model.encode(x, convert_to_tensor=True) 21 | return torch.unsqueeze(emb, 1) 22 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/perceptual_encoders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/models/perceptual_encoders/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/perceptual_encoders/proprio_encoder.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | from torch import nn 3 | 4 | 5 | class IdentityEncoder(nn.Module): 6 | def __init__(self, proprioception_dims): 7 | super(IdentityEncoder, self).__init__() 8 | # remove a dimension if we convert robot orientation quaternion to euler angles 9 | self.n_state_obs = int(np.sum(np.diff([list(x) for x in [list(y) for y in proprioception_dims.keep_indices]]))) 10 | self.identity = nn.Identity() 11 | 12 | @property 13 | def out_features(self): 14 | return self.n_state_obs 15 | 16 | def forward(self, x): 17 | return self.identity(x) 18 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/perceptual_encoders/tactile_encoder.py: -------------------------------------------------------------------------------- 1 | import torch 2 | from torch import nn 3 | import torch.nn.functional as F 4 | import torchvision.models as models 5 | 6 | 7 | class TactileEncoder(nn.Module): 8 | def __init__(self, visual_features: int, freeze_tactile_backbone: bool = True): 9 | super(TactileEncoder, self).__init__() 10 | # Load pre-trained resnet-18 11 | net = models.resnet18(pretrained=True) 12 | # Remove the last fc layer, and rebuild 13 | modules = list(net.children())[:-1] 14 | self.net = nn.Sequential(*modules) 15 | if freeze_tactile_backbone: 16 | for param in self.net.parameters(): 17 | param.requires_grad = False 18 | self.fc1 = nn.Linear(1024, 512) 19 | self.fc2 = nn.Linear(512, visual_features) 20 | 21 | def forward(self, x: torch.Tensor) -> torch.Tensor: 22 | x_l = self.net(x[:, :3, :, :]).squeeze() 23 | x_r = self.net(x[:, 3:, :, :]).squeeze() 24 | x = torch.cat((x_l, x_r), dim=-1) 25 | # Add fc layer for final prediction 26 | output = F.relu(self.fc1(x)) # batch, 512 27 | output = self.fc2(output) # batch, 64 28 | return output 29 | -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/models/plan_encoders/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/models/plan_encoders/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/rollout/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/rollout/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/utils/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/calvin_agent/visualization/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/calvin_agent/visualization/__init__.py -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/checkpoint/lh_sr.yaml: -------------------------------------------------------------------------------- 1 | _target_: pytorch_lightning.callbacks.ModelCheckpoint 2 | save_top_k: 3 3 | verbose: True 4 | monitor: eval_lh/avg_seq_len 5 | mode: max 6 | dirpath: saved_models 7 | filename: '{epoch}' #put back in when PL fixes this _{val/accuracy:.4f}' 8 | every_n_epochs: ${callbacks.rollout_lh.rollout_freq} 9 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/checkpoint/task_sr.yaml: -------------------------------------------------------------------------------- 1 | _target_: pytorch_lightning.callbacks.ModelCheckpoint 2 | save_top_k: 3 3 | verbose: True 4 | monitor: tasks/average_sr 5 | mode: max 6 | dirpath: saved_models 7 | filename: '{epoch}' #put back in when PL fixes this _{val/accuracy:.4f}' 8 | every_n_epochs: ${callbacks.rollout.rollout_freq} 9 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/checkpoint/val_action.yaml: -------------------------------------------------------------------------------- 1 | _target_: pytorch_lightning.callbacks.ModelCheckpoint 2 | save_top_k: 3 3 | verbose: True 4 | monitor: val_act/action_loss_pp 5 | mode: min 6 | dirpath: saved_models 7 | filename: '{epoch}' #put back in when PL fixes this _{val/accuracy:.4f}' 8 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/default.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - rollout: default 3 | - rollout_lh: default 4 | - checkpoint: lh_sr 5 | - tsne_plot: default 6 | - kl_schedule: constant 7 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/kl_schedule/constant.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.utils.kl_callbacks.KLConstantSchedule 2 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/kl_schedule/linear.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.utils.kl_callbacks.KLLinearSchedule 2 | start_epoch: 10 3 | end_epoch: 50 4 | max_kl_beta: ${loss.kl_beta} 5 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/kl_schedule/sigmoid.yaml: -------------------------------------------------------------------------------- 1 | # @package _group_ 2 | _target_: calvin_agent.utils.kl_callbacks.KLSigmoidSchedule 3 | start_epoch: 10 4 | end_epoch: 50 5 | max_kl_beta: ${loss.kl_beta} 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/rollout/default.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - tasks: new_playtable_tasks 3 | _target_: calvin_agent.rollout.rollout.Rollout 4 | _recursive_: false 5 | env_cfg: 6 | _target_: calvin_env.envs.play_lmp_wrapper.PlayLMPWrapper 7 | skip_epochs: 1 8 | rollout_freq: 1 9 | video: true 10 | num_rollouts_per_task: 10 11 | check_percentage_of_batch: 1 # which percentage of sequences do we want to check for possible tasks 12 | ep_len: 120 13 | empty_cache: true 14 | log_video_to_file: false 15 | save_dir: ./videos 16 | add_goal_thumbnail: true 17 | min_window_size: ${datamodule.datasets.vision_dataset.min_window_size} 18 | max_window_size: ${datamodule.datasets.vision_dataset.max_window_size} 19 | id_selection_strategy: "select_longest" 20 | lang_folder: ${datamodule.datasets.lang_dataset.lang_folder} 21 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/rollout_lh/default.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - /callbacks/rollout/tasks@tasks: new_playtable_tasks 3 | - /annotations@val_annotations: new_playtable_validation 4 | _target_: calvin_agent.rollout.rollout_long_horizon.RolloutLongHorizon 5 | _recursive_: false 6 | env_cfg: 7 | _target_: calvin_env.envs.play_lmp_wrapper.PlayLMPWrapper 8 | skip_epochs: 1 9 | rollout_freq: 1 10 | num_videos: 16 11 | num_sequences: 128 12 | replan_freq: 30 13 | ep_len: 360 14 | empty_cache: true 15 | log_video_to_file: false 16 | save_dir: ./videos 17 | lang_folder: ${datamodule.datasets.lang_dataset.lang_folder} 18 | debug: false 19 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/callbacks/tsne_plot/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.visualization.tsne_plot.TSNEPlot 2 | perplexity: 40 3 | n_jobs: 8 4 | plot_percentage: 0.2 5 | opacity: 0.3 6 | marker_size: 5 7 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/config.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - callbacks: default 3 | - datamodule: default 4 | - model: default 5 | - loss: default 6 | - training: default_training 7 | - trainer: play_trainer 8 | - logger: wandb 9 | 10 | - override hydra/job_logging: colorlog 11 | - override hydra/hydra_logging: colorlog 12 | 13 | seed: 42 14 | log_dir: ../ 15 | slurm: false 16 | 17 | hydra: 18 | run: 19 | dir: ${log_dir}/runs/${now:%Y-%m-%d}/${now:%H-%M-%S} 20 | sweep: 21 | dir: ${log_dir}/runs/${now:%Y-%m-%d}/${now:%H-%M-%S} 22 | subdir: ${hydra.job.override_dirname} 23 | job: 24 | config: 25 | override_dirname: 26 | exclude_keys: 27 | - log_dir 28 | - datamodule.root_data_dir 29 | - trainer.gpus 30 | - model.tsne_plot 31 | - datamodule.num_workers 32 | - trainer.limit_train_batches 33 | - trainer.limit_val_batches 34 | - model.action_decoder.load_action_bounds 35 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/lang_dataset/lang.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.datasets.disk_dataset.DiskDataset 2 | key: "lang" 3 | save_format: "npz" 4 | batch_size: 32 5 | min_window_size: 16 6 | max_window_size: 32 7 | proprio_state: ${datamodule.proprioception_dims} 8 | obs_space: ${datamodule.observation_space} 9 | skip_frames: 1 10 | pad: true 11 | lang_folder: "lang_annotations" 12 | num_workers: 2 13 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/lang_dataset/lang_shm.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.datasets.shm_dataset.ShmDataset 2 | key: "lang" 3 | batch_size: 32 4 | min_window_size: 16 5 | max_window_size: 32 6 | proprio_state: ${datamodule.proprioception_dims} 7 | obs_space: ${datamodule.observation_space} 8 | pad: true 9 | lang_folder: "lang_annotations" 10 | num_workers: 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/vision_dataset/vision.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.datasets.disk_dataset.DiskDataset 2 | key: "vis" 3 | save_format: "npz" 4 | batch_size: 32 5 | min_window_size: 16 6 | max_window_size: 32 7 | proprio_state: ${datamodule.proprioception_dims} 8 | obs_space: ${datamodule.observation_space} 9 | pad: true 10 | lang_folder: "lang_annotations" #${datamodule.datasets.lang_dataset.lang_folder} 11 | num_workers: 2 12 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/vision_dataset/vision_shm.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.datasets.shm_dataset.ShmDataset 2 | key: "vis" 3 | batch_size: 32 4 | min_window_size: 16 5 | max_window_size: 32 6 | proprio_state: ${datamodule.proprioception_dims} 7 | obs_space: ${datamodule.observation_space} 8 | pad: true 9 | lang_folder: "lang_annotations" 10 | num_workers: 2 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/vision_lang.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - vision_dataset: vision 3 | - lang_dataset: lang 4 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/vision_lang_shm.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - vision_dataset: vision_shm 3 | - lang_dataset: lang_shm 4 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/datasets/vision_only.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - vision_dataset: vision 3 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/default.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - datasets: vision_lang_shm 3 | - transforms: play_basic 4 | - proprioception_dims: robot_no_joints #robot_full 5 | - observation_space: lang_rgb_static 6 | _target_: calvin_agent.datasets.play_data_module.PlayDataModule 7 | _recursive_: false 8 | root_data_dir: "dataset/task_D_D" 9 | action_space: 7 10 | num_workers: 4 11 | action_max: [1., 1., 1., 1., 1., 1., 1.,] 12 | action_min: [-1., -1., -1., -1., -1., -1., -1] 13 | shuffle_val: false 14 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/all_mods_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper', 'rgb_tactile'] 2 | depth_obs: ['depth_static', 'depth_gripper', 'depth_tactile'] 3 | state_obs: ['robot_obs', 'scene_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/all_mods_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper', 'rgb_tactile'] 2 | depth_obs: ['depth_static', 'depth_gripper', 'depth_tactile'] 3 | state_obs: ['robot_obs', 'scene_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_gripper_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_gripper_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_robot_scene_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs', 'scene_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_tactile_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_tactile'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgb_static_tactile_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_tactile'] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgbd_both_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper'] 2 | depth_obs: ['depth_static', 'depth_gripper'] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgbd_both_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper'] 2 | depth_obs: ['depth_static', 'depth_gripper'] 3 | state_obs: ['robot_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgbd_static_gripper_rel_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static', 'rgb_gripper'] 2 | depth_obs: ['depth_gripper'] 3 | state_obs: ['robot_obs'] 4 | actions: ['rel_actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/lang_rgbd_static_robot_abs_act.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: ['rgb_static'] 2 | depth_obs: ['depth_static'] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/observation_space/state_only.yaml: -------------------------------------------------------------------------------- 1 | rgb_obs: [] 2 | depth_obs: [] 3 | state_obs: ['robot_obs'] 4 | actions: ['actions'] 5 | language: ['language'] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/proprioception_dims/none.yaml: -------------------------------------------------------------------------------- 1 | n_state_obs: 0 2 | keep_indices: [[0, 0]] 3 | robot_orientation_idx: [3, 6] 4 | normalize: False 5 | normalize_robot_orientation: False 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/proprioception_dims/robot_full.yaml: -------------------------------------------------------------------------------- 1 | n_state_obs: 15 2 | keep_indices: [[0, 15]] 3 | robot_orientation_idx: [3, 6] 4 | normalize: True 5 | normalize_robot_orientation: True 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/proprioception_dims/robot_no_joints.yaml: -------------------------------------------------------------------------------- 1 | n_state_obs: 8 2 | keep_indices: [[0, 7], [14,15]] 3 | robot_orientation_idx: [3, 6] 4 | normalize: True 5 | normalize_robot_orientation: True 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/proprioception_dims/robot_scene.yaml: -------------------------------------------------------------------------------- 1 | n_state_obs: 54 2 | keep_indices: [[0, 54]] 3 | robot_orientation_idx: [3, 6] 4 | normalize: True 5 | normalize_robot_orientation: True 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/datamodule/random.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.datasets.random.RandomDataModule 2 | batch_size: 16 3 | action_space: 7 4 | action_max: [1, 1, 1, 1, 1, 1, 1] 5 | action_min: [-1, -1, -1, -1, -1, -1, -1] 6 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/inference/config_inference.yaml: -------------------------------------------------------------------------------- 1 | train_folder: ??? # config path to the config.yaml of the training folder (in .hydra) 2 | load_checkpoint: ??? 3 | seed: 42 4 | log_dir: /tmp 5 | visualize: True 6 | ep_len: 120 7 | replan_freq: 30 8 | processes: 1 9 | 10 | hydra: 11 | run: 12 | dir: ${log_dir}/inference_runs/${now:%Y-%m-%d}/${now:%H-%M-%S} 13 | 14 | defaults: 15 | - override hydra/job_logging: colorlog 16 | - override hydra/hydra_logging: colorlog 17 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/logger/tb_logger.yaml: -------------------------------------------------------------------------------- 1 | _target_: pytorch_lightning.loggers.TensorBoardLogger 2 | save_dir: . 3 | name: play_lmp 4 | version: "" 5 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/logger/wandb.yaml: -------------------------------------------------------------------------------- 1 | _target_: pytorch_lightning.loggers.WandbLogger 2 | save_dir: . 3 | name: play_lmp 4 | group: play_lmp 5 | log_model: false 6 | project: "multi_play" 7 | id: ??? 8 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/loss/default.yaml: -------------------------------------------------------------------------------- 1 | kl_beta: 0.001 2 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/action_decoder/logistic.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.decoders.logistic_policy_network.LogisticPolicyNetwork 2 | n_mixtures: 10 3 | hidden_size: 2048 4 | out_features: ${datamodule.action_space} 5 | log_scale_min: -7.0 6 | act_max_bound: ${datamodule.action_max} 7 | act_min_bound: ${datamodule.action_min} 8 | dataset_dir: ${datamodule.root_data_dir} 9 | policy_rnn_dropout_p: 0.0 10 | load_action_bounds: true 11 | num_classes: 256 12 | perceptual_features: ?? 13 | latent_goal_features: 32 14 | plan_features: 256 15 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/default.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - perceptual_encoder: default 3 | - plan_proposal: default 4 | - plan_recognition: default 5 | - visual_goal: default 6 | - language_goal: default 7 | - action_decoder: logistic 8 | - optimizer: adam 9 | 10 | _target_: calvin_agent.models.play_lmp.PlayLMP 11 | _recursive_: false 12 | 13 | kl_beta: ${loss.kl_beta} 14 | replan_freq: 30 15 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/language_goal/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.encoders.goal_encoders.LanguageGoalEncoder 2 | language_features: 384 3 | hidden_size: 2048 4 | latent_goal_features: 32 5 | word_dropout_p: 0.0 6 | l2_normalize_goal_embeddings: False 7 | activation_function: ReLU #ELU 8 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/language_goal/none.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/conf/model/language_goal/none.yaml -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/optimizer/adam.yaml: -------------------------------------------------------------------------------- 1 | _target_: torch.optim.Adam 2 | lr: ${training.lr} 3 | #weight_decay: 1e-6 4 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/optimizer/adamw.yaml: -------------------------------------------------------------------------------- 1 | _target_: torch.optim.AdamW 2 | lr: ${training.lr} 3 | weight_decay: 1e-6 4 | #amsgrad: False 5 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/optimizer/sgd.yaml: -------------------------------------------------------------------------------- 1 | _target_: torch.optim.SGD 2 | lr: ${training.lr} 3 | momentum: 0.9 4 | #weight_decay: 0.0005 5 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/RGBD_both.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.concat_encoders.ConcatEncoders 2 | _recursive_: false 3 | 4 | defaults: 5 | - vision_static: default 6 | - vision_gripper: default 7 | - depth_static: default 8 | - depth_gripper: default 9 | - proprio: identity 10 | - tactile: none 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.concat_encoders.ConcatEncoders 2 | _recursive_: false 3 | 4 | defaults: 5 | - vision_static: default 6 | - vision_gripper: none 7 | - depth_static: none 8 | - depth_gripper: none 9 | - proprio: identity 10 | - tactile: none 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/depth_gripper/default.yaml: -------------------------------------------------------------------------------- 1 | num_c: 1 2 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/depth_gripper/none.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/conf/model/perceptual_encoder/depth_gripper/none.yaml -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/depth_static/default.yaml: -------------------------------------------------------------------------------- 1 | num_c: 1 2 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/depth_static/none.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/conf/model/perceptual_encoder/depth_static/none.yaml -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/gripper_cam.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.concat_encoders.ConcatEncoders 2 | _recursive_: false 3 | 4 | defaults: 5 | - vision_static: default 6 | - vision_gripper: default 7 | - depth_static: none 8 | - depth_gripper: none 9 | - proprio: identity 10 | - tactile: none 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/proprio/identity.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.proprio_encoder.IdentityEncoder 2 | proprioception_dims: ${datamodule.proprioception_dims} 3 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/static_RGBD.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.concat_encoders.ConcatEncoders 2 | _recursive_: false 3 | 4 | defaults: 5 | - vision_static: default 6 | - vision_gripper: none 7 | - depth_static: default 8 | - depth_gripper: none 9 | - proprio: identity 10 | - tactile: none 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/static_RGB_tactile.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.concat_encoders.ConcatEncoders 2 | _recursive_: false 3 | 4 | defaults: 5 | - vision_static: default 6 | - vision_gripper: none 7 | - depth_static: none 8 | - depth_gripper: none 9 | - proprio: identity 10 | - tactile: default 11 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/tactile/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.tactile_encoder.TactileEncoder 2 | visual_features: 64 3 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/tactile/none.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/conf/model/perceptual_encoder/tactile/none.yaml -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/vision_gripper/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.vision_network_gripper.VisionNetwork 2 | activation_function: ReLU #ELU 3 | dropout_vis_fc: 0.0 4 | l2_normalize_output: false 5 | visual_features: 64 6 | conv_encoder: nature_cnn 7 | num_c: 3 8 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/vision_gripper/none.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/calvin_models/conf/model/perceptual_encoder/vision_gripper/none.yaml -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/perceptual_encoder/vision_static/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.perceptual_encoders.vision_network.VisionNetwork 2 | input_width: 200 3 | input_height: 200 4 | activation_function: ReLU #ELU 5 | dropout_vis_fc: 0.0 6 | l2_normalize_output: false 7 | visual_features: 64 8 | num_c: 3 9 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/plan_proposal/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.plan_encoders.plan_proposal_net.PlanProposalNetwork 2 | perceptual_features: ??? 3 | latent_goal_features: 32 4 | plan_features: 256 5 | activation_function: ReLU #ELU 6 | min_std: 0.0001 7 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/plan_recognition/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.plan_encoders.plan_recognition_net.PlanRecognitionNetwork 2 | in_features: ??? 3 | plan_features: 256 4 | action_space: ${datamodule.action_space} 5 | birnn_dropout_p: 0.0 6 | min_std: 0.0001 7 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/sbert.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.encoders.language_network.SBert 2 | nlp_model: mini 3 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/model/visual_goal/default.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_agent.models.encoders.goal_encoders.VisualGoalEncoder 2 | in_features: ??? 3 | hidden_size: 2048 4 | latent_goal_features: 32 5 | l2_normalize_goal_embeddings: False 6 | activation_function: ReLU #ELU 7 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/trainer/play_trainer.yaml: -------------------------------------------------------------------------------- 1 | gpus: 1 2 | precision: 16 3 | val_check_interval: 1.0 4 | max_epochs: 100 5 | -------------------------------------------------------------------------------- /calvin/calvin_models/conf/training/default_training.yaml: -------------------------------------------------------------------------------- 1 | lr: 0.0001 2 | -------------------------------------------------------------------------------- /calvin/calvin_models/requirements.txt: -------------------------------------------------------------------------------- 1 | cmake 2 | wheel 3 | numpy>1.2 4 | hydra-core==1.1.1 5 | hydra-colorlog 6 | matplotlib 7 | opencv-python 8 | omegaconf 9 | plotly 10 | xxhash 11 | pytorch-lightning==1.4.9 12 | torch==1.10.0 13 | torchvision 14 | gitpython 15 | scipy 16 | sentence-transformers 17 | setuptools==57.5.0 18 | gym 19 | moviepy 20 | tqdm 21 | termcolor 22 | wandb 23 | -------------------------------------------------------------------------------- /calvin/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Wheel is never depended on, but always needed. MulticoreTSNE requires lower CMake version 4 | pip install wheel cmake==3.18.4 5 | 6 | cd calvin_env/tacto 7 | pip install -e . 8 | cd .. 9 | pip install -e . 10 | cd ../calvin_models 11 | pip install -e . 12 | -------------------------------------------------------------------------------- /calvin/media/sensors.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/media/sensors.png -------------------------------------------------------------------------------- /calvin/media/teaser.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/calvin/media/teaser.png -------------------------------------------------------------------------------- /calvin/pyproject.toml: -------------------------------------------------------------------------------- 1 | [tool.black] 2 | # https://github.com/psf/black 3 | line-length = 120 4 | target-version = ["py38"] 5 | exclude = "(.eggs|.git|.hg|.mypy_cache|.nox|.tox|.venv|.svn|_build|buck-out|build|dist)" 6 | 7 | [tool.isort] 8 | profile = "black" 9 | line_length = 120 10 | force_sort_within_sections = "True" 11 | order_by_type = "False" 12 | -------------------------------------------------------------------------------- /calvin/requirements-dev.txt: -------------------------------------------------------------------------------- 1 | black 2 | flake8 3 | isort 4 | pre-commit 5 | mypy 6 | pytest 7 | pytest-cov 8 | -------------------------------------------------------------------------------- /calvin/setup_local.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env python 2 | 3 | """Setup Calvin installation.""" 4 | 5 | from os import path as op 6 | import re 7 | 8 | from setuptools import find_packages, setup 9 | 10 | 11 | def _read(f): 12 | return open(op.join(op.dirname(__file__), f)).read() if op.exists(f) else "" 13 | 14 | 15 | _meta = _read("calvin_models/calvin_agent/__init__.py") 16 | 17 | 18 | def find_meta(_meta, string): 19 | l_match = re.search(r"^" + string + r'\s*=\s*"(.*)"', _meta, re.M) 20 | if l_match: 21 | return l_match.group(1) 22 | raise RuntimeError(f"Unable to find {string} string.") 23 | 24 | 25 | meta = dict( 26 | name=find_meta(_meta, "__project__"), 27 | version=find_meta(_meta, "__version__"), 28 | license=find_meta(_meta, "__license__"), 29 | description="CALVIN - A benchmark for Language-Conditioned Policy Learning for Long-Horizon Robot Manipulation Tasks", 30 | platforms=("Any"), 31 | zip_safe=False, 32 | keywords="pytorch Lfp".split(), 33 | author=find_meta(_meta, "__author__"), 34 | author_email=find_meta(_meta, "__email__"), 35 | url=" https://github.com/mees/calvin", 36 | packages=find_packages(exclude=["tests"]), 37 | ) 38 | 39 | if __name__ == "__main__": 40 | print("find_package", find_packages(exclude=["tests"])) 41 | setup(**meta) 42 | -------------------------------------------------------------------------------- /calvin/slurm_scripts/sbatch_eval.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Print some information about the job to STDOUT 3 | echo "Workingdir: $PWD"; 4 | echo "Started at $(date)"; 5 | echo "Running job $SLURM_JOB_NAME"; 6 | echo "cpus per node: $SLURM_JOB_CPUS_PER_NODE"; 7 | echo "gres: $SLURM_GRES"; 8 | echo "mem: $SLURM_MEM_PER_NODE"; 9 | echo "ntasks: $SLURM_NTASKS"; 10 | echo "JID $SLURM_JOB_ID on queue $SLURM_JOB_PARTITION"; 11 | 12 | export NCCL_DEBUG=INFO 13 | export PYTHONFAULTHANDLER=1 14 | export HYDRA_FULL_ERROR=1 15 | 16 | # Job to perform 17 | source ~/.bashrc 18 | conda activate $1 19 | srun python ${@:2} 20 | 21 | # Print some Information about the end-time to STDOUT 22 | echo "DONE"; 23 | echo "Finished at $(date)"; 24 | -------------------------------------------------------------------------------- /calvin/slurm_scripts/sbatch_lfp.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # Print some information about the job to STDOUT 3 | echo "Workingdir: $PWD"; 4 | echo "Started at $(date)"; 5 | echo "Running job $SLURM_JOB_NAME"; 6 | echo "cpus per node: $SLURM_JOB_CPUS_PER_NODE"; 7 | echo "gres: $SLURM_GRES"; 8 | echo "mem: $SLURM_MEM_PER_NODE"; 9 | echo "ntasks: $SLURM_NTASKS"; 10 | echo "JID $SLURM_JOB_ID on queue $SLURM_JOB_PARTITION"; 11 | 12 | export NCCL_DEBUG=INFO 13 | export PYTHONFAULTHANDLER=1 14 | export HYDRA_FULL_ERROR=1 15 | 16 | # Job to perform 17 | source ~/.bashrc 18 | conda activate $1 19 | timeout 23.9h srun python $2 slurm=true hydra.run.dir=$3 trainer.gpus=$4 ${@:5} 20 | 21 | if [[ $? -eq 124 ]]; then 22 | echo "Time limit exceeded. Resubmit job."; 23 | ssh ${USER}@kis2bat3 <= truncate_episode_at)): 20 | break 21 | return trajectory 22 | -------------------------------------------------------------------------------- /d4rl_ext/utils/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/d4rl_ext/utils/__init__.py -------------------------------------------------------------------------------- /jaxrl_m/typing.py: -------------------------------------------------------------------------------- 1 | from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Union 2 | import numpy as np 3 | import jax.numpy as jnp 4 | import flax 5 | 6 | PRNGKey = Any 7 | Params = flax.core.FrozenDict[str, Any] 8 | PRNGKey = Any 9 | Shape = Sequence[int] 10 | Dtype = Any # this could be a real type? 11 | InfoDict = Dict[str, float] 12 | Array = Union[np.ndarray, jnp.ndarray] 13 | Data = Union[Array, Dict[str, "Data"]] 14 | Batch = Dict[str, Data] 15 | ModuleMethod = Union[ 16 | str, Callable, None 17 | ] # A method to be passed into TrainState.__call__ 18 | -------------------------------------------------------------------------------- /jaxrl_m/vision/__init__.py: -------------------------------------------------------------------------------- 1 | from jaxrl_m.vision.impala import impala_configs 2 | from jaxrl_m.vision.bigvision_resnetv2 import resnetv2_configs 3 | from jaxrl_m.vision.small_encoders import small_configs 4 | from jaxrl_m.vision.resnet_v1 import resnetv1_configs 5 | from jaxrl_m.vision.drq import drq_configs 6 | from jaxrl_m.vision import data_augmentations 7 | 8 | encoders = dict() 9 | encoders.update(impala_configs) 10 | encoders.update(resnetv2_configs) 11 | encoders.update(resnetv1_configs) 12 | encoders.update(small_configs) 13 | encoders.update(drq_configs) 14 | -------------------------------------------------------------------------------- /jaxrl_m/vision/drq.py: -------------------------------------------------------------------------------- 1 | from jaxrl_m.typing import * 2 | 3 | import flax.linen as nn 4 | import jax 5 | import jax.numpy as jnp 6 | from tensorflow_probability.substrates import jax as tfp 7 | 8 | tfd = tfp.distributions 9 | 10 | 11 | def default_init(scale: Optional[float] = jnp.sqrt(2)): 12 | return nn.initializers.orthogonal(scale) 13 | 14 | 15 | class DrqEncoder(nn.Module): 16 | features: Sequence[int] = (32, 32, 32, 32) 17 | strides: Sequence[int] = (2, 1, 1, 1) 18 | padding: str = 'VALID' 19 | layer_norm: bool = False 20 | 21 | @nn.compact 22 | def __call__(self, observations: jnp.ndarray) -> jnp.ndarray: 23 | assert len(self.features) == len(self.strides) 24 | 25 | x = observations.astype(jnp.float32) / 255.0 26 | for features, stride in zip(self.features, self.strides): 27 | x = nn.Conv(features, 28 | kernel_size=(3, 3), 29 | strides=(stride, stride), 30 | kernel_init=default_init(), 31 | padding=self.padding)(x) 32 | if self.layer_norm: 33 | conv_out = nn.LayerNorm()(x) 34 | x = nn.relu(x) 35 | 36 | if len(x.shape) == 4: 37 | x = x.reshape([x.shape[0], -1]) 38 | else: 39 | x = x.reshape([-1]) 40 | return x 41 | 42 | 43 | drq_configs = { 44 | 'drq': DrqEncoder, 45 | } 46 | -------------------------------------------------------------------------------- /src/envs/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/src/envs/__init__.py -------------------------------------------------------------------------------- /src/envs/assets/maze_40.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/src/envs/assets/maze_40.png -------------------------------------------------------------------------------- /src/envs/common/__init__.py: -------------------------------------------------------------------------------- 1 | # Copyright 2017 The dm_control Authors. 2 | # 3 | # Licensed under the Apache License, Version 2.0 (the "License"); 4 | # you may not use this file except in compliance with the License. 5 | # You may obtain a copy of the License at 6 | # 7 | # http://www.apache.org/licenses/LICENSE-2.0 8 | # 9 | # Unless required by applicable law or agreed to in writing, software 10 | # distributed under the License is distributed on an "AS IS" BASIS, 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | # See the License for the specific language governing permissions and 13 | # limitations under the License. 14 | # ============================================================================ 15 | 16 | """Functions to manage the common assets for domains.""" 17 | 18 | import os 19 | from dm_control.utils import io as resources 20 | 21 | _SUITE_DIR = os.path.dirname(os.path.dirname(__file__)) 22 | _FILENAMES = [ 23 | "./common/materials.xml", 24 | "./common/skybox.xml", 25 | "./common/visual.xml", 26 | ] 27 | 28 | ASSETS = { 29 | filename: resources.GetResource(os.path.join(_SUITE_DIR, filename)) 30 | for filename in _FILENAMES 31 | } 32 | 33 | 34 | def read_model(model_filename): 35 | """Reads a model XML file and returns its contents as a string.""" 36 | return resources.GetResource(os.path.join(_SUITE_DIR, model_filename)) 37 | -------------------------------------------------------------------------------- /src/envs/common/materials.xml: -------------------------------------------------------------------------------- 1 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /src/envs/common/skybox.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | 6 | 7 | -------------------------------------------------------------------------------- /src/envs/common/visual.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/envs/conf/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/src/envs/conf/__init__.py -------------------------------------------------------------------------------- /src/envs/conf/calvin.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - calvin_conf/cameras@cameras: static_only # no image: no_cameras 3 | - calvin_conf/scene@scene_cfg: calvin_scene_D 4 | - calvin_conf/robot@robot_cfg: panda_longer_finger 5 | - calvin_conf/tasks@tasks: customized_tasks 6 | 7 | id: calvin 8 | reward_norm: 1. 9 | screen_size: [200, 200] 10 | action_repeat: 1 11 | frame_stack: 1 12 | absorbing_state: false 13 | pixel_ob: false 14 | state_ob: true 15 | max_episode_steps: 360 16 | num_sequences: 1000 17 | 18 | data_path: data 19 | save_dir: tmp 20 | record: true 21 | seed: 0 22 | bullet_time_step: 240.0 23 | use_vr: false 24 | show_gui: false 25 | use_scene_info: true 26 | use_egl: false 27 | control_freq: 30 28 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/cameras/gripper.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.gripper_camera.GripperCamera 2 | name: gripper 3 | fov: 75 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 2 7 | width: 84 8 | height: 84 9 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/cameras/opposing.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.static_camera.StaticCamera 2 | name: opposing 3 | fov: 75 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 2 7 | width: 200 8 | height: 200 9 | look_at: [ 0.4, 0.5, 0.6 ] 10 | look_from: [ 0.4, 1.5, 0.9 ] 11 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/cameras/static.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.static_camera.StaticCamera 2 | name: static 3 | fov: 10 4 | aspect: 1 5 | nearval: 0.01 6 | farval: 10 7 | width: 200 8 | height: 200 9 | look_at: [ -0.026242351159453392, -0.0302329882979393, 0.3920000493526459] 10 | look_from: [ 2.871459009488717, -2.166602199425597, 2.555159848480571] 11 | up_vector: [ 0.4041403970338857, 0.22629790978217404, 0.8862616969685161] 12 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/cameras/tactile.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.camera.tactile_sensor.TactileSensor 2 | name: tactile 3 | width: 120 4 | height: 160 5 | digit_link_ids: [10, 12] # ${robot.digit_link_ids} 6 | visualize_gui: true 7 | config_path: conf/digit_sensor/config_digit.yml 8 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/no_cameras.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/seohongpark/HIQL/b32c832cd67e4fe56ecabb49dbb96dc8d4f4c432/src/envs/conf/calvin_conf/cameras/no_cameras.yaml -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/static_and_gripper.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@gripper: gripper 4 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/static_and_tactile.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@tactile: tactile 4 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/static_gripper_tactile.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static 3 | - cameras@gripper: gripper 4 | - cameras@tactile: tactile -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/cameras/static_only.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - cameras@static: static -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/config_data_collection.yaml: -------------------------------------------------------------------------------- 1 | seed: 0 2 | use_vr: true 3 | data_path: data 4 | save_dir: /tmp 5 | record: true 6 | 7 | hydra: 8 | run: 9 | dir: ${save_dir}/${now:%Y-%m-%d}/${now:%H-%M-%S} 10 | 11 | defaults: 12 | - cameras: no_cameras 13 | - vr_input: vr_input 14 | - env: play_table_env 15 | - scene: calvin_scene_D 16 | - robot: panda_longer_finger 17 | - tasks: new_playtable_tasks 18 | - recorder: recorder 19 | - override hydra/job_logging: colorlog 20 | - override hydra/hydra_logging: colorlog 21 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/config_rendering.yaml: -------------------------------------------------------------------------------- 1 | load_dir: ??? 2 | data_path: data 3 | save_dir: ??? 4 | show_gui: false 5 | processes: 1 6 | set_static_cam: false 7 | 8 | env: 9 | cameras: ${cameras} 10 | show_gui: ${show_gui} 11 | use_vr: false 12 | 13 | hydra: 14 | run: 15 | dir: ${save_dir}/${now:%Y-%m-%d}/${now:%H-%M-%S} 16 | 17 | defaults: 18 | - cameras: static_and_tactile 19 | - override hydra/job_logging: colorlog 20 | - override hydra/hydra_logging: colorlog 21 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/recorder/recorder.yaml: -------------------------------------------------------------------------------- 1 | record: ${record} 2 | record_fps: 30.0 3 | show_fps: false 4 | enable_tts: true 5 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/robot/panda.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.robot.robot.Robot 2 | filename: franka_panda/panda.urdf 3 | base_position: [-0.34, -0.46, 0.24] ## ${scene.robot_base_position} 4 | base_orientation: [0, 0, 0] ## ${scene.robot_base_orientation} 5 | initial_joint_positions: [-1.21779206, 1.03987646, 2.11978261, -2.34205014, -0.87015947, 1.64119353, 0.55344866] ## ${scene.robot_initial_joint_positions} 6 | max_joint_force: 200.0 7 | gripper_force: 200 8 | arm_joint_ids: [0, 1, 2, 3, 4, 5, 6] 9 | lower_joint_limits: [-2.8973, -1.7628, -2.8973, -3.0718, -2.8973, -0.0175, -2.8973] 10 | upper_joint_limits: [2.8973, 1.7628, 2.8973, -0.0698, 2.8973, 3.7525, 2.8973] 11 | gripper_joint_ids: [9, 10] 12 | gripper_joint_limits: [0, 0.04] 13 | tcp_link_id: 13 14 | end_effector_link_id: 7 15 | gripper_cam_link: 12 16 | use_nullspace: true 17 | max_velocity: 2 18 | use_ik_fast: false 19 | magic_scaling_factor_pos: 1 # 1.6 20 | magic_scaling_factor_orn: 1 # 2.2 21 | use_target_pose: true 22 | euler_obs: true 23 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/robot/panda_digit.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - panda 3 | 4 | filename: franka_panda/panda_digit.urdf 5 | gripper_joint_ids: [9, 11] 6 | tcp_link_id: 15 7 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/robot/panda_longer_finger.yaml: -------------------------------------------------------------------------------- 1 | defaults: 2 | - panda 3 | 4 | filename: franka_panda/panda_longer_finger.urdf 5 | gripper_joint_ids: [9, 11] 6 | tcp_link_id: 15 7 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/scene/basic_tabletop.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.scene.play_table_scene.PlayTableScene 2 | _recursive_: false 3 | data_path: ${data_path} 4 | global_scaling: 0.8 5 | euler_obs: ${robot.euler_obs} 6 | robot_base_position: [0.3, 0.15, 0.6] 7 | robot_base_orientation: [0, 0, 1.5707963] 8 | robot_initial_joint_positions: [-0.017792060227770554, -0.7601235411041661, 0.019782607023391807, -2.342050140544315, 0.029840531355804868, 1.5411935298621688, 0.7534486589746342] 9 | surfaces: [] 10 | objects: 11 | fixed_objects: 12 | table: 13 | file: table/hightable.urdf 14 | initial_pos: [ 0.3, 0.7, 0.02 ] 15 | initial_orn: [0, 0, 0] 16 | movable_objects: 17 | plate: 18 | file: 029_plate/google_16k/textured.urdf 19 | initial_pos: [ 0.35, 0.72, 0.61 ] 20 | initial_orn: [0, 0, 0] 21 | thuna: 22 | file: ais_objects/thuna/thuna.urdf 23 | initial_pos: [ -0.1, 0.9, 0.65 ] 24 | initial_orn: [0, 0, 0] 25 | banana: 26 | file: 011_banana/demo/banana_vhacd.urdf 27 | initial_pos: [ 0.5, 0.9, 0.61 ] 28 | initial_orn: [0, 0, 0] 29 | bowl: 30 | file: 024_bowl/google_16k/textured.urdf 31 | initial_pos: [-0.1, 0.72, 0.75] 32 | initial_orn: [0, 0, 0] 33 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/scene/empty_playtable.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.scene.play_table_scene.PlayTableScene 2 | _recursive_: false 3 | data_path: ${data_path} 4 | global_scaling: 0.8 5 | euler_obs: ${robot.euler_obs} 6 | robot_base_position: [0.3, 0.15, 0.6] 7 | robot_base_orientation: [0, 0, 1.5707963] 8 | robot_initial_joint_positions: [-0.017792060227770554, -0.7601235411041661, 0.019782607023391807, -2.342050140544315, 0.029840531355804868, 1.5411935298621688, 0.7534486589746342] 9 | surfaces: [] 10 | objects: 11 | fixed_objects: 12 | table: 13 | file: own_objects/modified_table_new_handles/playtable_modified.urdf 14 | initial_pos: [0.7, 1.0, 0] 15 | initial_orn: [0, 0, 3.141592653589793] 16 | joints: 17 | top_left_door_joint: 18 | initial_state: 0 # revolute 19 | slide_door_joint: 20 | initial_state: 0 # prismatic 21 | drawer: 22 | file: own_objects/drawer/drawer.urdf 23 | initial_pos: [0.475, 1.0, -0.004] 24 | initial_orn: [0, 0, 3.141592653589793] 25 | joints: 26 | drawer_joint: 27 | initial_state: 0 # prismatic 28 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/tasks/customized_tasks.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.envs.tasks.Tasks 2 | tasks: 3 | open_drawer: [move_door_rel, 'base__drawer', 0.12] # 0 - 0.24 4 | turn_on_lightbulb: [toggle_light, 'lightbulb', 0, 1] 5 | move_slider_left: [move_door_rel, 'base__slide', 0.15] # 0 - 0.56 6 | turn_on_led: [toggle_light, 'led', 0, 1] -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/vr_input/vr_controller/oculus.yaml: -------------------------------------------------------------------------------- 1 | # @package _group_ 2 | POSITION: 1 3 | ORIENTATION: 2 4 | ANALOG: 3 5 | BUTTONS: 6 6 | BUTTON_A: 7 7 | BUTTON_B: 1 8 | vr_controller_id: 4 9 | gripper_orientation_offset: [0, 3, 0.7853981633974483] 10 | gripper_position_offset: [0, 0.7, -0.2] 11 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/vr_input/vr_controller/vive.yaml: -------------------------------------------------------------------------------- 1 | # @package _group_ 2 | POSITION: 1 3 | ORIENTATION: 2 4 | ANALOG: 3 5 | BUTTONS: 6 6 | BUTTON_A: 2 7 | BUTTON_B: 1 8 | vr_controller_id: 3 9 | gripper_orientation_offset: [0, 3, 3.14] 10 | gripper_position_offset: [-0.2, 0.3, 0] 11 | -------------------------------------------------------------------------------- /src/envs/conf/calvin_conf/vr_input/vr_input.yaml: -------------------------------------------------------------------------------- 1 | _target_: calvin_env.io_utils.vr_input.VrInput 2 | limit_angle: [90, 0, 0, -1] 3 | visualize_vr_pos: true 4 | reset_button_queue_len: 60 5 | 6 | defaults: 7 | - vr_controller: vive 8 | -------------------------------------------------------------------------------- /src/envs/conf/kitchen.yaml: -------------------------------------------------------------------------------- 1 | id: kitchen 2 | reward_norm: 1. 3 | screen_size: [128, 128] 4 | action_repeat: 1 5 | frame_stack: 1 6 | absorbing_state: false 7 | pixel_ob: false 8 | state_ob: true 9 | max_episode_steps: 280 10 | task: base -------------------------------------------------------------------------------- /src/envs/conf/maze.yaml: -------------------------------------------------------------------------------- 1 | id: maze 2 | reward_norm: 1. 3 | screen_size: [32, 32] 4 | action_repeat: 1 5 | frame_stack: 1 6 | absorbing_state: false 7 | pixel_ob: false 8 | state_ob: true 9 | agent_centric_view: false 10 | max_episode_steps: 2000 11 | --------------------------------------------------------------------------------