-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
Auto Merging ♻
1. Broadcaster finds a robot
2. Broadcaster gets local map using NetSimMerger.get_latest()
3. Broadcaster sends msg.Merge over the network
4. Listener gets msg.Merge
5. Listener gets local map using NetSimMerger.get_latest()
6. Listener replies with msg.Merge over the network
7. Listener calls NetSimMerger.request_merge()
8. Broadcaster gets reply and calls NetSimMerger.request_merge() with new map
State Machine Merging 🤖
1. State machine says ("Lets merge with ROBOT_B")
2. State machine makes call NetSimMerger.merge_with(robot_B)
Within NetSimMerger.merge_with:
- Get the local map
- Craft a ms.Merge
- Publish to topic: `/coms_listening`
3. coms.sim.Sim.Broadcaster listens to `/coms_listeneing` and pushes the message over the network [waits for reply]
4. ROBOT_B: coms.sim.Listener obtains msg.Merge
5. ROBOT_B: gets local map
6. ROBOT_B: replies with its own msg.Merge
7. ROBOT_B: calls NetSimMerger.request_merge()
8. coms.sim.Sim.Broadcaster hears reply
9. coms.sim.Sim.Broadcaster calls NetSimMerger.request_merge()
NOTE: Implement sending messages as a service request in coms.sim.Sim
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels