
Search and drive there
begin() returns a reader you wait on. Waiting with self.wait_for() keeps Stop working.
Result
Memories are stored per map on the robot. Browse or clear them on the web app’s Nav page.
Documentation Index
Fetch the complete documentation index at: /llms.txt
Use this file to discover all available pages before exploring further.
Search everything the robot has seen, and drive back to it

from innate import Skill, SpatialMemory
from innate_skills.navigate_to_position import NavigateToPosition
class GoToRemembered(Skill):
memory: SpatialMemory
navigate: NavigateToPosition
def guidelines(self) -> str:
return "Find something the robot has seen before, and drive there."
def execute(self, query: str):
verdict = self.wait_for(self.memory.begin(query), timeout=150.0)
if verdict is None or verdict.error:
self.fail("Memory search failed")
if not verdict.found:
return f"I don't remember seeing {query}."
self.say(verdict.message)
self.navigate(x=verdict.x, y=verdict.y, local_frame=False)
return f"Went to where I last saw {query}"
begin() returns a reader you wait on. Waiting with self.wait_for() keeps Stop working.
| Field | Contents |
|---|---|
found | Whether anything matched. False is a valid answer, not an error. |
message | The answer, ready to say out loud |
image | JPEG bytes of the remembered view |
x, y, theta | Where the robot stood, in the map frame. theta is in radians. |
seen_stamp | When it was seen |
explanation | Why the model picked this view |
error | Set only if the search itself broke |
search_memory skill does the search and returns SkillOutput(verdict.message, image=verdict.image), so the agent can look at the photo. Add it to an agent and the robot will check its memory before saying it hasn’t seen something.