├── .github └── workflows │ └── publish-to-pypi.yml ├── .gitignore ├── .pre-commit-config.yaml ├── LICENSE ├── LICENSE-3RD-PARTY ├── README.md ├── assets ├── paper_optimization_progression.gif ├── real_paper_example.png ├── sim_example.png ├── sim_example_mounted_camera.png └── so100_optimization_progression.gif ├── easyhec ├── __init__.py ├── examples │ ├── __init__.py │ ├── real │ │ ├── __init__.py │ │ ├── base.py │ │ ├── paper.py │ │ ├── robot_definitions │ │ │ └── so100 │ │ │ │ ├── LICENSE │ │ │ │ ├── README.md │ │ │ │ ├── meshes │ │ │ │ ├── Base.stl │ │ │ │ ├── Base.stl.convex.stl │ │ │ │ ├── Base_Motor.stl │ │ │ │ ├── Base_Motor.stl.convex.stl │ │ │ │ ├── Fixed_Jaw.stl │ │ │ │ ├── Fixed_Jaw.stl.convex.stl │ │ │ │ ├── Fixed_Jaw_Motor.stl │ │ │ │ ├── Fixed_Jaw_Motor.stl.convex.stl │ │ │ │ ├── Fixed_Jaw_part1.ply │ │ │ │ ├── Fixed_Jaw_part1.ply.convex.stl │ │ │ │ ├── Fixed_Jaw_part2.ply │ │ │ │ ├── Fixed_Jaw_part2.ply.convex.stl │ │ │ │ ├── Lower_Arm.stl │ │ │ │ ├── Lower_Arm.stl.convex.stl │ │ │ │ ├── Lower_Arm_Motor.stl │ │ │ │ ├── Lower_Arm_Motor.stl.convex.stl │ │ │ │ ├── Moving_Jaw.stl │ │ │ │ ├── Moving_Jaw.stl.convex.stl │ │ │ │ ├── Moving_Jaw_part1.ply │ │ │ │ ├── Moving_Jaw_part1.ply.convex.stl │ │ │ │ ├── Moving_Jaw_part2.ply │ │ │ │ ├── Moving_Jaw_part2.ply.convex.stl │ │ │ │ ├── Moving_Jaw_part3.ply │ │ │ │ ├── Moving_Jaw_part3.ply.convex.stl │ │ │ │ ├── Rotation_Pitch.stl │ │ │ │ ├── Rotation_Pitch.stl.convex.stl │ │ │ │ ├── Rotation_Pitch_Motor.stl │ │ │ │ ├── Rotation_Pitch_Motor.stl.convex.stl │ │ │ │ ├── Upper_Arm.stl │ │ │ │ ├── Upper_Arm.stl.convex.stl │ │ │ │ ├── Upper_Arm_Motor.stl │ │ │ │ ├── Upper_Arm_Motor.stl.convex.stl │ │ │ │ ├── Wrist_Pitch_Roll.stl │ │ │ │ ├── Wrist_Pitch_Roll.stl.convex.stl │ │ │ │ ├── Wrist_Pitch_Roll_Motor.stl │ │ │ │ └── Wrist_Pitch_Roll_Motor.stl.convex.stl │ │ │ │ ├── so100.srdf │ │ │ │ └── so100.urdf │ │ └── so100.py │ └── sim │ │ ├── __init__.py │ │ ├── base.py │ │ └── maniskill.py ├── optim │ ├── __init__.py │ ├── nvdiffrast_renderer.py │ ├── optimize.py │ └── rb_solver.py ├── segmentation │ ├── __init__.py │ └── interactive.py └── utils │ ├── __init__.py │ ├── camera_conversions.py │ ├── pytorch3d_se3.py │ ├── pytorch3d_so3.py │ ├── utils_3d.py │ └── visualization.py └── setup.py /.github/workflows/publish-to-pypi.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/.github/workflows/publish-to-pypi.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | __pycache__/ 2 | *.egg-info/ 3 | build/ 4 | dist/ 5 | results/ 6 | sam2/ 7 | .vscode/ -------------------------------------------------------------------------------- /.pre-commit-config.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/.pre-commit-config.yaml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE-3RD-PARTY: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/LICENSE-3RD-PARTY -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/README.md -------------------------------------------------------------------------------- /assets/paper_optimization_progression.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/assets/paper_optimization_progression.gif -------------------------------------------------------------------------------- /assets/real_paper_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/assets/real_paper_example.png -------------------------------------------------------------------------------- /assets/sim_example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/assets/sim_example.png -------------------------------------------------------------------------------- /assets/sim_example_mounted_camera.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/assets/sim_example_mounted_camera.png -------------------------------------------------------------------------------- /assets/so100_optimization_progression.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/assets/so100_optimization_progression.gif -------------------------------------------------------------------------------- /easyhec/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/__init__.py -------------------------------------------------------------------------------- /easyhec/examples/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/examples/real/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/examples/real/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/base.py -------------------------------------------------------------------------------- /easyhec/examples/real/paper.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/paper.py -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/LICENSE -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/README.md -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Base.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Base.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Base.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Base.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Base_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Base_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Base_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Base_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part1.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part1.ply -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part1.ply.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part1.ply.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part2.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part2.ply -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part2.ply.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Fixed_Jaw_part2.ply.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Lower_Arm_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part1.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part1.ply -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part1.ply.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part1.ply.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part2.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part2.ply -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part2.ply.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part2.ply.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part3.ply: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part3.ply -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part3.ply.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Moving_Jaw_part3.ply.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Rotation_Pitch_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Upper_Arm_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll_Motor.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll_Motor.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll_Motor.stl.convex.stl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/meshes/Wrist_Pitch_Roll_Motor.stl.convex.stl -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/so100.srdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/so100.srdf -------------------------------------------------------------------------------- /easyhec/examples/real/robot_definitions/so100/so100.urdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/robot_definitions/so100/so100.urdf -------------------------------------------------------------------------------- /easyhec/examples/real/so100.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/real/so100.py -------------------------------------------------------------------------------- /easyhec/examples/sim/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/examples/sim/base.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/sim/base.py -------------------------------------------------------------------------------- /easyhec/examples/sim/maniskill.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/examples/sim/maniskill.py -------------------------------------------------------------------------------- /easyhec/optim/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/optim/nvdiffrast_renderer.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/optim/nvdiffrast_renderer.py -------------------------------------------------------------------------------- /easyhec/optim/optimize.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/optim/optimize.py -------------------------------------------------------------------------------- /easyhec/optim/rb_solver.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/optim/rb_solver.py -------------------------------------------------------------------------------- /easyhec/segmentation/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/segmentation/interactive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/segmentation/interactive.py -------------------------------------------------------------------------------- /easyhec/utils/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /easyhec/utils/camera_conversions.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/utils/camera_conversions.py -------------------------------------------------------------------------------- /easyhec/utils/pytorch3d_se3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/utils/pytorch3d_se3.py -------------------------------------------------------------------------------- /easyhec/utils/pytorch3d_so3.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/utils/pytorch3d_so3.py -------------------------------------------------------------------------------- /easyhec/utils/utils_3d.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/utils/utils_3d.py -------------------------------------------------------------------------------- /easyhec/utils/visualization.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/easyhec/utils/visualization.py -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/StoneT2000/simple-easyhec/HEAD/setup.py --------------------------------------------------------------------------------