Object-based memory. SSF keeps a data-association filter over 3D object hypotheses; each holds a partial point cloud, a bounding box, a semantic feature vector, the images and masks of its detections, and a text label and caption. The memory answers whether the target has already been seen and also represents the larger objects (cupboards, cabinets, drawers) that might contain it. Whenever a new view is associated with an object o, the VLM is asked for the probability po that o contains, conceals, or is an object satisfying the query. Because such outputs are unreliable, they are treated as observations and aggregated by a Bayes filter over per-object log-odds, ℓo := ℓo + log(po/(1 − po)), starting from an uninformed prior of 0 and with po clamped to [10−3, 1 − 10−3] so that no single answer can eliminate or confirm a hypothesis. Only substantially different viewpoints (at least 0.15 m in base position, 15° in yaw, or 10° in head tilt) contribute, to limit correlated observations.
Belief map. The belief map is a 3D voxel grid. Each cell i holds a separate Bernoulli belief that an object satisfying the query overlaps it: these are per-cell beliefs, not a distribution over the location of one particular object. Geometric and semantic evidence are treated as conditionally independent, so in log-odds and with a uniform prior the two simply add,
Bi = Gi + Si.
G is a persistent occupancy grid updated by raycasting each depth image; each cell takes a fixed geometric log-odds by observation state: −6.91 when observed free, −4.00 when occupied by something other than the target, −2.20 when unexplored, and −0.85 when it was occluded in some observation and has not yet been seen. Si is the largest ℓo among the memory objects that overlap cell i, and 0 where no object does. Because the interior of a closed container keeps positive belief, the field can drive manipulation and not only viewpoint changes.
Action selection. If the memory already contains an object satisfying the query, the robot picks it and stops. Otherwise high-belief cells are clustered into connected components, and each selected cluster proposes one candidate: an observation from a new viewpoint, or, if the cluster lies inside a closed object in memory, an opening action on that object. Every candidate a has a footprint F(a), the not-yet-observed cells it would reveal (the cone a viewpoint would see, or the interior an opening would expose), and the robot greedily executes the candidate with the highest expected revealed belief mass, the sum of σ(Bi) over that footprint. If no remaining footprint could still contain the target, the search ends in failure. The candidates are dispatched as skills: look_at, explore, open_cabinet, open_drawer, and the four pick_* skills for the final retrieval.