Semantic Prior Model
We leverage semantic priors about object-room relationships, captured in the Relational
Semantic Network.
The RSN encodes the conditional probability of finding an object class in a room type:
$$P(y^l \in \ell) = \text{RSN}(y^l, \ell)$$
For example, \(P(\text{fire extinguisher} \in \text{kitchen})\) captures the prior
knowledge that fire extinguishers are commonly found in kitchens.
Distributed Belief Fusion
When robot \(r_i\) receives belief \(P_j(y_G)\) from robot \(r_j\) with confidence \(c_j\),
it updates its belief using weighted averaging:
$$P_i^{\text{new}}(y_G \in v) = \frac{c_i \cdot P_i(y_G \in v) + c_j \cdot P_j(y_G \in
v)}{c_i + c_j}$$
The confidence is updated based on the number and quality of observations:
$$c_i^{\text{new}} = \min\left(c_{\max}, \sqrt{c_i^2 + c_j^2} + \alpha \cdot
|\text{obs}_i^{\text{new}}|\right)$$
Auction-Based Task Allocation
We use an auction-based allocation mechanism inspired by market-based multi-robot
coordination.
Each robot computes bids based on task priority, travel cost, and current workload:
$$\text{Bid}_i(v) = \frac{\text{Priority}(v)}{\text{Cost}_i(v) + \epsilon} \cdot
\text{LoadFactor}_i$$
where \(\text{Priority}(v) = P(y_G \in v) \cdot \text{Value}(v) \cdot (1 -
\text{Searched}(v))\)
Algorithm Overview
Algorithm SEEK-Multi-Execute(target_class, time_limit):
for each agent i in parallel:
Initialize local_dsg[i], belief[i] from RSN priors
assigned_tasks[i] ← ∅
while not found and t < time_limit:
observations ← SenseEnvironment()
UpdateLocalDSG(observations)
UpdateBelief(observations)
BroadcastUpdates(dsg_delta, belief, intention)
received ← ReceiveMessages()
FuseBeliefs(received)
MergeDSG(received)
tasks ← ComputeTaskPriorities(belief)
assignment ← DistributedAuction(tasks)
path ← PlanPath(assignment, intentions)
ExecuteAction(path.next_action)
return success, total_path_length