Skill: Systematic Object Search
Purpose
Use this skill when you need to find a specific object in a household environment without prior knowledge of its exact location. The skill implements a robust search pattern based on common sense about where objects are typically stored.
Core Workflow
- •Input: A target object name (e.g.,
remotecontrol) and an ordered list of candidate receptacles to search. - •Process: Navigate to each candidate location in sequence. For each receptacle:
- •If it's closed, open it.
- •Inspect its contents.
- •If the target object is found, take it and proceed to the placement phase.
- •If the receptacle was opened and is empty, close it before moving on.
- •Output: Success when the object is found, or a failure state after all candidates are exhausted.
Key Principles
- •Methodical Search: Do not skip locations in the provided sequence unless the object is found.
- •State Management: Always close drawers/cabinets after checking them if they were opened.
- •Focus: Once the object is found, immediately transition to the next phase of the task (e.g.,
put). Avoid redundant searches. - •Error Handling: If an action fails (e.g., "Nothing happened"), the skill logic in
scripts/search_orchestrator.pyprovides fallback reasoning.
Usage Example
Goal: "find two remotecontrol and put them in armchair." Skill Execution:
- •Activate this skill with target=
remotecontrol, candidates=['sofa 1', 'sidetable 1', 'dresser 1', 'drawer 1', 'drawer 2', 'drawer 3', 'drawer 4', 'coffeetable 1']. - •The skill searches locations in order. It finds the first
remotecontroloncoffeetable 1. - •The agent takes the object and proceeds to place it in
armchair 1. - •The skill is re-activated for the second
remotecontrol, searching the remaining candidates (or the same list). It finds the secondremotecontroloncoffeetable 1. - •The agent takes and places the second object, completing the task.
Integration
This skill is designed to be called as a subroutine within a larger task plan. The bundled search_orchestrator.py script handles the low-level action sequencing to prevent logical errors and repetitive mistakes observed in the learning trajectory.