feat: add test tube pick task with custom assets and grasp annotations

- Add pick_test_tube task: USDC asset repackaging, grasp generation, task config
- Add tools: usdc_to_obj.py, repackage_test_tube.py, fix_test_tube_materials.py
- Add custom_task_guide.md: full Chinese documentation for creating custom tasks
- Add crawled InternDataEngine online docs (23 pages)
- Add grasp generation script (gen_tube_grasp.py) and pipeline config
This commit is contained in:
Tangger
2026-04-05 11:01:59 +08:00
parent 6314603676
commit 3d6b73753a
36 changed files with 18013 additions and 0 deletions

230
docs_crawled/api_skills.md Normal file
View File

@@ -0,0 +1,230 @@
# Source: https://internrobotics.github.io/InternDataEngine-Docs/api/skills.html
# Skills API Reference [](#skills-api-reference)
This page provides API documentation for the skills module.
## BaseSkill [](#baseskill)
Base class for all manipulation skills.
### Constructor [](#constructor)
python
```
BaseSkill(cfg, task, controller, **kwargs)
```
1
**Parameters: **
| Parameter | Type | Description |
| `cfg ` | DictConfig | Skill configuration |
| `task ` | BananaBaseTask | Task instance |
| `controller ` | TemplateController | Controller instance |
### Properties [](#properties)
| Property | Type | Description |
| `skill_cfg ` | dict | Skill-specific configuration |
| `task ` | BananaBaseTask | Reference to task |
| `controller ` | TemplateController | Reference to controller |
### Methods [](#methods)
#### `run() -> bool `[](#run-bool)
Execute the skill. **Must be implemented by subclass. **
**Returns: **`bool `- Success status
## Dexpick [](#dexpick)
Dex-style picking skill with approach planning.
python
```
class Dexpick(BaseSkill):
def __init__(self, cfg, task, controller, **kwargs)
def run(self) -> bool
```
1
2
3
**Configuration: **
| Parameter | Type | Default | Description |
| `objects ` | List[str] | required | Objects to pick |
| `pick_pose_idx ` | int | 0 | Pick pose group index |
| `pre_grasp_offset ` | float | 0.0 | Pre-grasp approach offset |
| `post_grasp_offset ` | float | 0.1 | Post-grasp lift offset |
## Dexplace [](#dexplace)
Dex-style placing skill with constraints.
python
```
class Dexplace(BaseSkill):
def __init__(self, cfg, task, controller, **kwargs)
def run(self) -> bool
```
1
2
3
**Configuration: **
| Parameter | Type | Default | Description |
| `objects ` | List[str] | required | [object, target] |
| `camera_axis_filter ` | dict | None | Camera constraint |
## Pick [](#pick)
Standard pick skill.
python
```
class Pick(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `objects ` | List[str] | required | Objects to pick |
## Place [](#place)
Standard place skill.
python
```
class Place(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `objects ` | List[str] | required | [object, target] |
## GotoPose [](#gotopose)
Move to target pose skill.
python
```
class GotoPose(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `target_pose ` | tuple | required | (position, orientation) |
## Home [](#home)
Return to home configuration.
python
```
class Home(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `mode ` | str | "default" | Home configuration mode |
## Open / Close [](#open-close)
Gripper control skills.
python
```
class Open(BaseSkill):
def run(self) -> bool
self.controller.set_gripper_state(1.0)
class Close(BaseSkill):
def run(self) -> bool
self.controller.set_gripper_state(-1.0)
```
1
2
3
4
5
6
7
## PourWaterSucc [](#pourwatersucc)
Pouring skill for liquid simulation.
python
```
class PourWaterSucc(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `objects ` | List[str] | required | [container, target] |
| `pour_angle ` | float | 90.0 | Pouring angle (degrees) |
## Rotate [](#rotate)
Rotation skill.
python
```
class Rotate(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `axis ` | str | "z" | Rotation axis |
| `angle ` | float | 90.0 | Rotation angle (degrees) |
## Wait [](#wait)
Wait skill for timing control.
python
```
class Wait(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `duration ` | float | 1.0 | Wait duration (seconds) |
## HeuristicSkill [](#heuristicskill)
Configurable skill for simple actions.
python
```
class HeuristicSkill(BaseSkill):
def run(self) -> bool
```
1
2
**Configuration: **
| Parameter | Type | Default | Description |
| `mode ` | str | "home" | Action mode |
| `gripper_state ` | float | None | Gripper state to set |