- 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
230 lines
4.3 KiB
Markdown
230 lines
4.3 KiB
Markdown
# 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 | |