From 420b448d1005635ead8f1a2614dfc4d7b9f185dd Mon Sep 17 00:00:00 2001 From: solarguo Date: Sat, 7 Feb 2026 12:38:23 +0800 Subject: [PATCH 01/11] ver0.1 --- main/LICENSE | 21 ++++ main/README.md | 199 ++++++++++++++++++++++++++++++++++++ main/docs/architecture.md | 11 ++ ver0.1/LICENSE | 21 ++++ ver0.1/README.md | 199 ++++++++++++++++++++++++++++++++++++ ver0.1/docs/architecture.md | 11 ++ 6 files changed, 462 insertions(+) create mode 100644 main/LICENSE create mode 100644 main/README.md create mode 100644 main/docs/architecture.md create mode 100644 ver0.1/LICENSE create mode 100644 ver0.1/README.md create mode 100644 ver0.1/docs/architecture.md diff --git a/main/LICENSE b/main/LICENSE new file mode 100644 index 0000000..18f8dbd --- /dev/null +++ b/main/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 QunYu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/main/README.md b/main/README.md new file mode 100644 index 0000000..0d3c0e9 --- /dev/null +++ b/main/README.md @@ -0,0 +1,199 @@ +# SwarmPlug + +**SwarmPlug** is a plug-and-play connectivity layer for **ROS1-based multi-agent systems**, +designed to enable decentralized **association, introspection, and coordination** across heterogeneous robotic swarms. + +> 🚩 This repository is a **public demo & timestamp anchor** for **SwarmPlug ver0.1**. +> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. +![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) + +--- + +## 1. What does SwarmPlug do? + +SwarmPlug focuses on one fundamental problem in swarm robotics: + +> **How can multiple ROS-based agents, running independent ROS masters on different devices, discover each other and share selected ROS interfaces in a decentralized way?** + +SwarmPlug provides: + +- A lightweight **association layer** between devices + +- Unified **introspection** of swarm-wide ROS entities + +- A simple **CLI interface** to inspect swarm state + + +No cloud, no central server, no monolithic ROS master. + +--- + +## 2. What ver0.1 proves + +This ver0.1 demo validates the following capabilities: + +- βœ… Cross-device association between multiple ROS1 nodes + +- βœ… Swarm-wide discovery of: + + - ROS nodes + + - ROS topics + + - ROS parameters + +- βœ… Command-line introspection of swarm state + +- βœ… End-to-end β€œhello world” topic exchange across devices + + +This version focuses on **connectivity and observability**, not on control or task logic. + +--- + +## 3. Repository scope + +### Included in this repository + +- πŸ“„ Documentation and usage examples + +- 🧩 High-level architecture description + +- πŸ–₯ CLI command demonstrations + +- πŸ•’ Public release timestamp (ver0.1) + + +### Not included in this repository + +- ❌ Core synchronization algorithms + +- ❌ Commercial SwarmPlug implementation + +- ❌ Protocol adapters and internal optimizations + +- ❌ Appliance / firmware images + + +> This separation is intentional and aligns with the commercial roadmap. + +--- + +## 4. Architecture overview (high level) + +SwarmPlug runs **locally on each device**, alongside the local ROS master. + +Each instance: + +- Interfaces with its local ROS graph + +- Participates in a decentralized association process + +- Exposes a unified swarm view through a CLI + + +``` +ROS Nodes β†’ Local ROS Master + β”‚ + β–Ό + SwarmPlug Module + β”‚ + ── Association Layer ── + β”‚ + Swarm-wide View + β”‚ + β–Ό + swarmplug CLI + +``` +--- + +## 5. CLI demo (ver0.1) + +The following commands illustrate the ver0.1 demo behavior. + +### List swarm members + +``` +swarmplug nodes +``` + +### List visible ROS topics across the swarm + +``` +swarmplug topics +``` + +### Echo a topic from the swarm +``` +swarmplug echo /topic1 +``` + +### List ROS parameters discovered in the swarm + +``` +swarmplug parameters + +``` + +### Read a specific parameter + +``` +swarmplug echo /turtlesim/background_b +``` + +These commands allow developers to **inspect swarm state without manually logging into each device**. + +--- + +## 6. Typical demo scenario + +A minimal demonstration setup may include: + +- Device A: ROS1 node publishing `/topic1` + +- Device B: SwarmPlug-enabled node associated with A + +- Device C: Another ROS1 node joining later + + +After association: + +- All participating devices can observe selected ROS entities + +- CLI commands return a **swarm-consistent view** + + +This validates decentralized discovery and visibility. + +--- + +## 7. Current status + +- **Public demo release:** ver0.1 + +- **Focus:** association & introspection + +- **Next milestone:** ver0.2 (feature expansion & stability improvements) + + +The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. + +--- + +## 8. License & usage + +This repository is provided **for demonstration and evaluation purposes only**. + +- Commercial use of SwarmPlug core requires authorization + +- Internal implementations are not open-sourced in this repository + + +--- + +## 9. Contact + +For collaboration, evaluation, or commercial inquiries: + +πŸ“§ **qyswarm@163.com** diff --git a/main/docs/architecture.md b/main/docs/architecture.md new file mode 100644 index 0000000..7607a57 --- /dev/null +++ b/main/docs/architecture.md @@ -0,0 +1,11 @@ +## High-level architecture (ver0.1) + +```mermaid +flowchart LR + A[ROS Device A
roscore + app nodes] -->|local ROS| B[SwarmPlug Module A] + C[ROS Device B
roscore + app nodes] -->|local ROS| D[SwarmPlug Module B] + + B <-->|association link| D + + B -->|CLI introspection| E[swarmplug CLI] + D -->|CLI introspection| E diff --git a/ver0.1/LICENSE b/ver0.1/LICENSE new file mode 100644 index 0000000..18f8dbd --- /dev/null +++ b/ver0.1/LICENSE @@ -0,0 +1,21 @@ +MIT License + +Copyright (c) 2026 QunYu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/ver0.1/README.md b/ver0.1/README.md new file mode 100644 index 0000000..0d3c0e9 --- /dev/null +++ b/ver0.1/README.md @@ -0,0 +1,199 @@ +# SwarmPlug + +**SwarmPlug** is a plug-and-play connectivity layer for **ROS1-based multi-agent systems**, +designed to enable decentralized **association, introspection, and coordination** across heterogeneous robotic swarms. + +> 🚩 This repository is a **public demo & timestamp anchor** for **SwarmPlug ver0.1**. +> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. +![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) + +--- + +## 1. What does SwarmPlug do? + +SwarmPlug focuses on one fundamental problem in swarm robotics: + +> **How can multiple ROS-based agents, running independent ROS masters on different devices, discover each other and share selected ROS interfaces in a decentralized way?** + +SwarmPlug provides: + +- A lightweight **association layer** between devices + +- Unified **introspection** of swarm-wide ROS entities + +- A simple **CLI interface** to inspect swarm state + + +No cloud, no central server, no monolithic ROS master. + +--- + +## 2. What ver0.1 proves + +This ver0.1 demo validates the following capabilities: + +- βœ… Cross-device association between multiple ROS1 nodes + +- βœ… Swarm-wide discovery of: + + - ROS nodes + + - ROS topics + + - ROS parameters + +- βœ… Command-line introspection of swarm state + +- βœ… End-to-end β€œhello world” topic exchange across devices + + +This version focuses on **connectivity and observability**, not on control or task logic. + +--- + +## 3. Repository scope + +### Included in this repository + +- πŸ“„ Documentation and usage examples + +- 🧩 High-level architecture description + +- πŸ–₯ CLI command demonstrations + +- πŸ•’ Public release timestamp (ver0.1) + + +### Not included in this repository + +- ❌ Core synchronization algorithms + +- ❌ Commercial SwarmPlug implementation + +- ❌ Protocol adapters and internal optimizations + +- ❌ Appliance / firmware images + + +> This separation is intentional and aligns with the commercial roadmap. + +--- + +## 4. Architecture overview (high level) + +SwarmPlug runs **locally on each device**, alongside the local ROS master. + +Each instance: + +- Interfaces with its local ROS graph + +- Participates in a decentralized association process + +- Exposes a unified swarm view through a CLI + + +``` +ROS Nodes β†’ Local ROS Master + β”‚ + β–Ό + SwarmPlug Module + β”‚ + ── Association Layer ── + β”‚ + Swarm-wide View + β”‚ + β–Ό + swarmplug CLI + +``` +--- + +## 5. CLI demo (ver0.1) + +The following commands illustrate the ver0.1 demo behavior. + +### List swarm members + +``` +swarmplug nodes +``` + +### List visible ROS topics across the swarm + +``` +swarmplug topics +``` + +### Echo a topic from the swarm +``` +swarmplug echo /topic1 +``` + +### List ROS parameters discovered in the swarm + +``` +swarmplug parameters + +``` + +### Read a specific parameter + +``` +swarmplug echo /turtlesim/background_b +``` + +These commands allow developers to **inspect swarm state without manually logging into each device**. + +--- + +## 6. Typical demo scenario + +A minimal demonstration setup may include: + +- Device A: ROS1 node publishing `/topic1` + +- Device B: SwarmPlug-enabled node associated with A + +- Device C: Another ROS1 node joining later + + +After association: + +- All participating devices can observe selected ROS entities + +- CLI commands return a **swarm-consistent view** + + +This validates decentralized discovery and visibility. + +--- + +## 7. Current status + +- **Public demo release:** ver0.1 + +- **Focus:** association & introspection + +- **Next milestone:** ver0.2 (feature expansion & stability improvements) + + +The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. + +--- + +## 8. License & usage + +This repository is provided **for demonstration and evaluation purposes only**. + +- Commercial use of SwarmPlug core requires authorization + +- Internal implementations are not open-sourced in this repository + + +--- + +## 9. Contact + +For collaboration, evaluation, or commercial inquiries: + +πŸ“§ **qyswarm@163.com** diff --git a/ver0.1/docs/architecture.md b/ver0.1/docs/architecture.md new file mode 100644 index 0000000..7607a57 --- /dev/null +++ b/ver0.1/docs/architecture.md @@ -0,0 +1,11 @@ +## High-level architecture (ver0.1) + +```mermaid +flowchart LR + A[ROS Device A
roscore + app nodes] -->|local ROS| B[SwarmPlug Module A] + C[ROS Device B
roscore + app nodes] -->|local ROS| D[SwarmPlug Module B] + + B <-->|association link| D + + B -->|CLI introspection| E[swarmplug CLI] + D -->|CLI introspection| E From c9ae1e6cc0dfbaab1b32e854dc000543cf5d98f4 Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 12:35:45 +0800 Subject: [PATCH 02/11] Delete main directory --- main/LICENSE | 21 ---- main/README.md | 199 -------------------------------------- main/docs/architecture.md | 11 --- 3 files changed, 231 deletions(-) delete mode 100644 main/LICENSE delete mode 100644 main/README.md delete mode 100644 main/docs/architecture.md diff --git a/main/LICENSE b/main/LICENSE deleted file mode 100644 index 18f8dbd..0000000 --- a/main/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 QunYu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/main/README.md b/main/README.md deleted file mode 100644 index 0d3c0e9..0000000 --- a/main/README.md +++ /dev/null @@ -1,199 +0,0 @@ -# SwarmPlug - -**SwarmPlug** is a plug-and-play connectivity layer for **ROS1-based multi-agent systems**, -designed to enable decentralized **association, introspection, and coordination** across heterogeneous robotic swarms. - -> 🚩 This repository is a **public demo & timestamp anchor** for **SwarmPlug ver0.1**. -> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. -![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) - ---- - -## 1. What does SwarmPlug do? - -SwarmPlug focuses on one fundamental problem in swarm robotics: - -> **How can multiple ROS-based agents, running independent ROS masters on different devices, discover each other and share selected ROS interfaces in a decentralized way?** - -SwarmPlug provides: - -- A lightweight **association layer** between devices - -- Unified **introspection** of swarm-wide ROS entities - -- A simple **CLI interface** to inspect swarm state - - -No cloud, no central server, no monolithic ROS master. - ---- - -## 2. What ver0.1 proves - -This ver0.1 demo validates the following capabilities: - -- βœ… Cross-device association between multiple ROS1 nodes - -- βœ… Swarm-wide discovery of: - - - ROS nodes - - - ROS topics - - - ROS parameters - -- βœ… Command-line introspection of swarm state - -- βœ… End-to-end β€œhello world” topic exchange across devices - - -This version focuses on **connectivity and observability**, not on control or task logic. - ---- - -## 3. Repository scope - -### Included in this repository - -- πŸ“„ Documentation and usage examples - -- 🧩 High-level architecture description - -- πŸ–₯ CLI command demonstrations - -- πŸ•’ Public release timestamp (ver0.1) - - -### Not included in this repository - -- ❌ Core synchronization algorithms - -- ❌ Commercial SwarmPlug implementation - -- ❌ Protocol adapters and internal optimizations - -- ❌ Appliance / firmware images - - -> This separation is intentional and aligns with the commercial roadmap. - ---- - -## 4. Architecture overview (high level) - -SwarmPlug runs **locally on each device**, alongside the local ROS master. - -Each instance: - -- Interfaces with its local ROS graph - -- Participates in a decentralized association process - -- Exposes a unified swarm view through a CLI - - -``` -ROS Nodes β†’ Local ROS Master - β”‚ - β–Ό - SwarmPlug Module - β”‚ - ── Association Layer ── - β”‚ - Swarm-wide View - β”‚ - β–Ό - swarmplug CLI - -``` ---- - -## 5. CLI demo (ver0.1) - -The following commands illustrate the ver0.1 demo behavior. - -### List swarm members - -``` -swarmplug nodes -``` - -### List visible ROS topics across the swarm - -``` -swarmplug topics -``` - -### Echo a topic from the swarm -``` -swarmplug echo /topic1 -``` - -### List ROS parameters discovered in the swarm - -``` -swarmplug parameters - -``` - -### Read a specific parameter - -``` -swarmplug echo /turtlesim/background_b -``` - -These commands allow developers to **inspect swarm state without manually logging into each device**. - ---- - -## 6. Typical demo scenario - -A minimal demonstration setup may include: - -- Device A: ROS1 node publishing `/topic1` - -- Device B: SwarmPlug-enabled node associated with A - -- Device C: Another ROS1 node joining later - - -After association: - -- All participating devices can observe selected ROS entities - -- CLI commands return a **swarm-consistent view** - - -This validates decentralized discovery and visibility. - ---- - -## 7. Current status - -- **Public demo release:** ver0.1 - -- **Focus:** association & introspection - -- **Next milestone:** ver0.2 (feature expansion & stability improvements) - - -The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. - ---- - -## 8. License & usage - -This repository is provided **for demonstration and evaluation purposes only**. - -- Commercial use of SwarmPlug core requires authorization - -- Internal implementations are not open-sourced in this repository - - ---- - -## 9. Contact - -For collaboration, evaluation, or commercial inquiries: - -πŸ“§ **qyswarm@163.com** diff --git a/main/docs/architecture.md b/main/docs/architecture.md deleted file mode 100644 index 7607a57..0000000 --- a/main/docs/architecture.md +++ /dev/null @@ -1,11 +0,0 @@ -## High-level architecture (ver0.1) - -```mermaid -flowchart LR - A[ROS Device A
roscore + app nodes] -->|local ROS| B[SwarmPlug Module A] - C[ROS Device B
roscore + app nodes] -->|local ROS| D[SwarmPlug Module B] - - B <-->|association link| D - - B -->|CLI introspection| E[swarmplug CLI] - D -->|CLI introspection| E From e934a50d667cdbb6579761a44002b06eed0244c9 Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 12:36:34 +0800 Subject: [PATCH 03/11] Delete ver0.1 directory --- ver0.1/LICENSE | 21 ---- ver0.1/README.md | 199 ------------------------------------ ver0.1/docs/architecture.md | 11 -- 3 files changed, 231 deletions(-) delete mode 100644 ver0.1/LICENSE delete mode 100644 ver0.1/README.md delete mode 100644 ver0.1/docs/architecture.md diff --git a/ver0.1/LICENSE b/ver0.1/LICENSE deleted file mode 100644 index 18f8dbd..0000000 --- a/ver0.1/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 QunYu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. diff --git a/ver0.1/README.md b/ver0.1/README.md deleted file mode 100644 index 0d3c0e9..0000000 --- a/ver0.1/README.md +++ /dev/null @@ -1,199 +0,0 @@ -# SwarmPlug - -**SwarmPlug** is a plug-and-play connectivity layer for **ROS1-based multi-agent systems**, -designed to enable decentralized **association, introspection, and coordination** across heterogeneous robotic swarms. - -> 🚩 This repository is a **public demo & timestamp anchor** for **SwarmPlug ver0.1**. -> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. -![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) - ---- - -## 1. What does SwarmPlug do? - -SwarmPlug focuses on one fundamental problem in swarm robotics: - -> **How can multiple ROS-based agents, running independent ROS masters on different devices, discover each other and share selected ROS interfaces in a decentralized way?** - -SwarmPlug provides: - -- A lightweight **association layer** between devices - -- Unified **introspection** of swarm-wide ROS entities - -- A simple **CLI interface** to inspect swarm state - - -No cloud, no central server, no monolithic ROS master. - ---- - -## 2. What ver0.1 proves - -This ver0.1 demo validates the following capabilities: - -- βœ… Cross-device association between multiple ROS1 nodes - -- βœ… Swarm-wide discovery of: - - - ROS nodes - - - ROS topics - - - ROS parameters - -- βœ… Command-line introspection of swarm state - -- βœ… End-to-end β€œhello world” topic exchange across devices - - -This version focuses on **connectivity and observability**, not on control or task logic. - ---- - -## 3. Repository scope - -### Included in this repository - -- πŸ“„ Documentation and usage examples - -- 🧩 High-level architecture description - -- πŸ–₯ CLI command demonstrations - -- πŸ•’ Public release timestamp (ver0.1) - - -### Not included in this repository - -- ❌ Core synchronization algorithms - -- ❌ Commercial SwarmPlug implementation - -- ❌ Protocol adapters and internal optimizations - -- ❌ Appliance / firmware images - - -> This separation is intentional and aligns with the commercial roadmap. - ---- - -## 4. Architecture overview (high level) - -SwarmPlug runs **locally on each device**, alongside the local ROS master. - -Each instance: - -- Interfaces with its local ROS graph - -- Participates in a decentralized association process - -- Exposes a unified swarm view through a CLI - - -``` -ROS Nodes β†’ Local ROS Master - β”‚ - β–Ό - SwarmPlug Module - β”‚ - ── Association Layer ── - β”‚ - Swarm-wide View - β”‚ - β–Ό - swarmplug CLI - -``` ---- - -## 5. CLI demo (ver0.1) - -The following commands illustrate the ver0.1 demo behavior. - -### List swarm members - -``` -swarmplug nodes -``` - -### List visible ROS topics across the swarm - -``` -swarmplug topics -``` - -### Echo a topic from the swarm -``` -swarmplug echo /topic1 -``` - -### List ROS parameters discovered in the swarm - -``` -swarmplug parameters - -``` - -### Read a specific parameter - -``` -swarmplug echo /turtlesim/background_b -``` - -These commands allow developers to **inspect swarm state without manually logging into each device**. - ---- - -## 6. Typical demo scenario - -A minimal demonstration setup may include: - -- Device A: ROS1 node publishing `/topic1` - -- Device B: SwarmPlug-enabled node associated with A - -- Device C: Another ROS1 node joining later - - -After association: - -- All participating devices can observe selected ROS entities - -- CLI commands return a **swarm-consistent view** - - -This validates decentralized discovery and visibility. - ---- - -## 7. Current status - -- **Public demo release:** ver0.1 - -- **Focus:** association & introspection - -- **Next milestone:** ver0.2 (feature expansion & stability improvements) - - -The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. - ---- - -## 8. License & usage - -This repository is provided **for demonstration and evaluation purposes only**. - -- Commercial use of SwarmPlug core requires authorization - -- Internal implementations are not open-sourced in this repository - - ---- - -## 9. Contact - -For collaboration, evaluation, or commercial inquiries: - -πŸ“§ **qyswarm@163.com** diff --git a/ver0.1/docs/architecture.md b/ver0.1/docs/architecture.md deleted file mode 100644 index 7607a57..0000000 --- a/ver0.1/docs/architecture.md +++ /dev/null @@ -1,11 +0,0 @@ -## High-level architecture (ver0.1) - -```mermaid -flowchart LR - A[ROS Device A
roscore + app nodes] -->|local ROS| B[SwarmPlug Module A] - C[ROS Device B
roscore + app nodes] -->|local ROS| D[SwarmPlug Module B] - - B <-->|association link| D - - B -->|CLI introspection| E[swarmplug CLI] - D -->|CLI introspection| E From 44910cbdb7ff731da975012c6c5dd9dacec861eb Mon Sep 17 00:00:00 2001 From: QunYu Date: Wed, 11 Feb 2026 17:57:27 +0800 Subject: [PATCH 04/11] Delete docs directory --- docs/architecture.md | 11 ----------- 1 file changed, 11 deletions(-) delete mode 100644 docs/architecture.md diff --git a/docs/architecture.md b/docs/architecture.md deleted file mode 100644 index 7607a57..0000000 --- a/docs/architecture.md +++ /dev/null @@ -1,11 +0,0 @@ -## High-level architecture (ver0.1) - -```mermaid -flowchart LR - A[ROS Device A
roscore + app nodes] -->|local ROS| B[SwarmPlug Module A] - C[ROS Device B
roscore + app nodes] -->|local ROS| D[SwarmPlug Module B] - - B <-->|association link| D - - B -->|CLI introspection| E[swarmplug CLI] - D -->|CLI introspection| E From 23545319f2e9e2e5df64f917930e0740883cbd4a Mon Sep 17 00:00:00 2001 From: QunYu Date: Wed, 11 Feb 2026 17:58:47 +0800 Subject: [PATCH 05/11] Update README.md --- README.md | 205 +++++++++++++++++++----------------------------------- 1 file changed, 70 insertions(+), 135 deletions(-) diff --git a/README.md b/README.md index 0d3c0e9..e57b051 100644 --- a/README.md +++ b/README.md @@ -1,199 +1,134 @@ -# SwarmPlug -**SwarmPlug** is a plug-and-play connectivity layer for **ROS1-based multi-agent systems**, -designed to enable decentralized **association, introspection, and coordination** across heterogeneous robotic swarms. +# SwarmPlug ver0.1 -> 🚩 This repository is a **public demo & timestamp anchor** for **SwarmPlug ver0.1**. -> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. -![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) +**Host Connection Infrastructure** --- -## 1. What does SwarmPlug do? - -SwarmPlug focuses on one fundamental problem in swarm robotics: +> 🚩 This repository is a **public demo for **SwarmPlug ver0.1**. +> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. +![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) -> **How can multiple ROS-based agents, running independent ROS masters on different devices, discover each other and share selected ROS interfaces in a decentralized way?** +## Statement -SwarmPlug provides: +SwarmPlug ver0.1 establishes a deterministic connection layer +between SwarmPlug and a ROS host system. -- A lightweight **association layer** between devices - -- Unified **introspection** of swarm-wide ROS entities - -- A simple **CLI interface** to inspect swarm state - +It does not normalize. +It does not snapshot. +It does not coordinate. -No cloud, no central server, no monolithic ROS master. +It connects. --- -## 2. What ver0.1 proves +## Problem -This ver0.1 demo validates the following capabilities: +Before semantic abstraction or coordination can occur, a reliable host attachment layer must exist. -- βœ… Cross-device association between multiple ROS1 nodes - -- βœ… Swarm-wide discovery of: - - - ROS nodes - - - ROS topics - - - ROS parameters - -- βœ… Command-line introspection of swarm state - -- βœ… End-to-end β€œhello world” topic exchange across devices - - -This version focuses on **connectivity and observability**, not on control or task logic. +ROS systems expose runtime via: ---- - -## 3. Repository scope - -### Included in this repository - -- πŸ“„ Documentation and usage examples +- ROS Master (XMLRPC) -- 🧩 High-level architecture description +- Topics -- πŸ–₯ CLI command demonstrations +- Services -- πŸ•’ Public release timestamp (ver0.1) +- Parameters -### Not included in this repository - -- ❌ Core synchronization algorithms - -- ❌ Commercial SwarmPlug implementation - -- ❌ Protocol adapters and internal optimizations - -- ❌ Appliance / firmware images - - -> This separation is intentional and aligns with the commercial roadmap. +A sidecar infrastructure must connect and discover these interfaces consistently. --- -## 4. Architecture overview (high level) - -SwarmPlug runs **locally on each device**, alongside the local ROS master. +## Position -Each instance: +SwarmPlug ver0.1 defines the host attachment boundary. -- Interfaces with its local ROS graph - -- Participates in a decentralized association process - -- Exposes a unified swarm view through a CLI - +`ROS Runtime β†’ SwarmPlug Attachment` -``` -ROS Nodes β†’ Local ROS Master - β”‚ - β–Ό - SwarmPlug Module - β”‚ - ── Association Layer ── - β”‚ - Swarm-wide View - β”‚ - β–Ό - swarmplug CLI +ver0.1 completes the connection and discovery layer. -``` --- -## 5. CLI demo (ver0.1) +## Architecture (Conceptual) -The following commands illustrate the ver0.1 demo behavior. +```mermaid +flowchart TB -### List swarm members + subgraph L1["Host Runtime"] + A1["ROS Master"] + A2["Topics / Services / Params"] + end -``` -swarmplug nodes -``` + subgraph L2["SwarmPlug ver0.1"] + B1["Connection Layer"] + B2["Discovery Interface"] + end -### List visible ROS topics across the swarm + A1 --> B1 + A2 --> B2 -``` -swarmplug topics -``` -### Echo a topic from the swarm -``` -swarmplug echo /topic1 ``` -### List ROS parameters discovered in the swarm - -``` -swarmplug parameters +--- -``` +## Determinism -### Read a specific parameter +Given a reachable ROS master, +ver0.1 deterministically discovers: -``` -swarmplug echo /turtlesim/background_b -``` +- Topics + +- Nodes + +- Services + +- Parameters + -These commands allow developers to **inspect swarm state without manually logging into each device**. +No transformation is applied. --- -## 6. Typical demo scenario +## Scope Limitation -A minimal demonstration setup may include: +SwarmPlug ver0.1 does not include: -- Device A: ROS1 node publishing `/topic1` +- Canonical naming -- Device B: SwarmPlug-enabled node associated with A +- Semantic abstraction -- Device C: Another ROS1 node joining later +- Snapshot generation - -After association: - -- All participating devices can observe selected ROS entities +- Communication transport -- CLI commands return a **swarm-consistent view** +- Coordination logic -This validates decentralized discovery and visibility. - --- -## 7. Current status +## Version Context -- **Public demo release:** ver0.1 - -- **Focus:** association & introspection - -- **Next milestone:** ver0.2 (feature expansion & stability improvements) - - -The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. +|Version|Responsibility| +|---|---| +|0.1|Host connection| +|0.2|Canonical naming| +|0.3|Semantic snapshot| --- -## 8. License & usage +## Principle -This repository is provided **for demonstration and evaluation purposes only**. +Attachment precedes abstraction. +Discovery precedes normalization. -- Commercial use of SwarmPlug core requires authorization - -- Internal implementations are not open-sourced in this repository - +ver0.1 establishes the attachment layer. ---- -## 9. Contact +## Contact -For collaboration, evaluation, or commercial inquiries: +If you are evaluating SwarmPlug for research or engineering use,feel free to reach out at: -πŸ“§ **qyswarm@163.com** +πŸ“§ **swarmplug@gmail.com** From be16a7595b1691e7e18124eac41dc9377d79321d Mon Sep 17 00:00:00 2001 From: QunYu Date: Thu, 12 Feb 2026 08:01:17 +0800 Subject: [PATCH 06/11] Revise README for clarity and terminology updates Updated terminology from 'connection' to 'attachment' for clarity and consistency. Improved phrasing and formatting throughout the README. --- README.md | 83 ++++++++++++++++++++++++------------------------------- 1 file changed, 36 insertions(+), 47 deletions(-) diff --git a/README.md b/README.md index e57b051..a5e3983 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,42 @@ - # SwarmPlug ver0.1 -**Host Connection Infrastructure** +**Host Attachment Infrastructure** --- -> 🚩 This repository is a **public demo for **SwarmPlug ver0.1**. -> It demonstrates core capabilities and interfaces, **without exposing the commercial core implementation**. +> 🚩 This repository is a **public demo for SwarmPlug ver0.1**. +> It demonstrates observable capabilities and interfaces without exposing proprietary implementation details. + ![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) +--- + ## Statement -SwarmPlug ver0.1 establishes a deterministic connection layer -between SwarmPlug and a ROS host system. +SwarmPlug ver0.1 defines a deterministic host attachment specification +between SwarmPlug and a ROS runtime environment. It does not normalize. It does not snapshot. -It does not coordinate. +It does not coordinate. -It connects. +**It attaches.** --- ## Problem -Before semantic abstraction or coordination can occur, a reliable host attachment layer must exist. +Before semantic abstraction or coordination can occur, +a reliable host attachment layer must exist. -ROS systems expose runtime via: +A ROS runtime exposes its operational surface through: - ROS Master (XMLRPC) - - Topics - - Services - - Parameters - -A sidecar infrastructure must connect and discover these interfaces consistently. +A sidecar infrastructure must attach and discover these interfaces consistently. --- @@ -45,7 +44,8 @@ A sidecar infrastructure must connect and discover these interfaces consistently SwarmPlug ver0.1 defines the host attachment boundary. -`ROS Runtime β†’ SwarmPlug Attachment` +'ROS Runtime β†’ SwarmPlug Attachment' + ver0.1 completes the connection and discovery layer. @@ -68,67 +68,56 @@ flowchart TB A1 --> B1 A2 --> B2 - - ``` ---- - ## Determinism -Given a reachable ROS master, +Given a reachable ROS master, ver0.1 deterministically discovers: - Topics - + - Nodes - + - Services - -- Parameters - -No transformation is applied. +- Parameters ---- +No transformation, mutation, or interception is performed. ## Scope Limitation SwarmPlug ver0.1 does not include: - Canonical naming - + - Semantic abstraction - + - Snapshot generation - + - Communication transport - -- Coordination logic - ---- +- Coordination logic ## Version Context - -|Version|Responsibility| -|---|---| -|0.1|Host connection| -|0.2|Canonical naming| -|0.3|Semantic snapshot| - ---- +| Version | Responsibility | +| ------- | ----------------- | +| 0.1 | Host attachment | +| 0.2 | Canonical naming | +| 0.3 | Semantic snapshot | ## Principle -Attachment precedes abstraction. +Attachment precedes abstraction. Discovery precedes normalization. ver0.1 establishes the attachment layer. - ## Contact -If you are evaluating SwarmPlug for research or engineering use,feel free to reach out at: +If you are evaluating SwarmPlug for research or engineering use, +feel free to reach out at: + +πŸ“§ swarmplug@gmail.com + -πŸ“§ **swarmplug@gmail.com** From f8361de6819748797297742cce849349034a8e7a Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 09:35:34 +0800 Subject: [PATCH 07/11] Delete LICENSE --- LICENSE | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 18f8dbd..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 QunYu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -SOFTWARE. From 6aa27b4d9fbcbc433ccb9df82799107b3c47f43a Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 09:42:45 +0800 Subject: [PATCH 08/11] Update README.md --- README.md | 39 +++++++++++++-------------------------- 1 file changed, 13 insertions(+), 26 deletions(-) diff --git a/README.md b/README.md index a5e3983..3fe33d5 100644 --- a/README.md +++ b/README.md @@ -1,13 +1,6 @@ # SwarmPlug ver0.1 -**Host Attachment Infrastructure** - ---- - -> 🚩 This repository is a **public demo for SwarmPlug ver0.1**. -> It demonstrates observable capabilities and interfaces without exposing proprietary implementation details. - -![MyVideo_1](https://github.com/user-attachments/assets/b9444de8-d616-4299-8397-fcf16fdf4df1) +**Host Attachment Specification** --- @@ -44,8 +37,7 @@ A sidecar infrastructure must attach and discover these interfaces consistently. SwarmPlug ver0.1 defines the host attachment boundary. -'ROS Runtime β†’ SwarmPlug Attachment' - +`ROS Runtime β†’ SwarmPlug Attachment` ver0.1 completes the connection and discovery layer. @@ -76,11 +68,8 @@ Given a reachable ROS master, ver0.1 deterministically discovers: - Topics - - Nodes - - Services - - Parameters No transformation, mutation, or interception is performed. @@ -90,21 +79,17 @@ No transformation, mutation, or interception is performed. SwarmPlug ver0.1 does not include: - Canonical naming - - Semantic abstraction - - Snapshot generation - - Communication transport - - Coordination logic ## Version Context -| Version | Responsibility | -| ------- | ----------------- | -| 0.1 | Host attachment | -| 0.2 | Canonical naming | -| 0.3 | Semantic snapshot | +| Version | Responsibility | +|---------|----------------------| +| ver0.1 | Host attachment | +| ver0.2 | Canonical naming | +| ver0.3 | Semantic snapshot | ## Principle @@ -113,11 +98,13 @@ Discovery precedes normalization. ver0.1 establishes the attachment layer. -## Contact -If you are evaluating SwarmPlug for research or engineering use, -feel free to reach out at: +## License + +This version specification is part of the SwarmPlug documentation. + +Licensed under the **SwarmPlug Documentation License v1.0**. +See the root LICENSE file for details. -πŸ“§ swarmplug@gmail.com From 0bf0f23316dbd3d999a9446c0bc2ea1ab360930b Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 09:49:38 +0800 Subject: [PATCH 09/11] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3fe33d5..6bb0a60 100644 --- a/README.md +++ b/README.md @@ -104,6 +104,7 @@ ver0.1 establishes the attachment layer. This version specification is part of the SwarmPlug documentation. Licensed under the **SwarmPlug Documentation License v1.0**. + See the root LICENSE file for details. From 29fda664d30a4959e7f27fffe1d559693fa4a045 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 10:32:06 +0800 Subject: [PATCH 10/11] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 6bb0a60..6b558fc 100644 --- a/README.md +++ b/README.md @@ -29,7 +29,7 @@ A ROS runtime exposes its operational surface through: - Services - Parameters -A sidecar infrastructure must attach and discover these interfaces consistently. +**A sidecar infrastructure must attach and discover these interfaces consistently.** --- @@ -39,7 +39,7 @@ SwarmPlug ver0.1 defines the host attachment boundary. `ROS Runtime β†’ SwarmPlug Attachment` -ver0.1 completes the connection and discovery layer. +**ver0.1 completes the connection and discovery layer.** --- @@ -72,7 +72,7 @@ ver0.1 deterministically discovers: - Services - Parameters -No transformation, mutation, or interception is performed. +**No transformation, mutation, or interception is performed.** ## Scope Limitation From c6b073c24b855a7b7d62eb3fa477a23efae74d50 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 10:36:34 +0800 Subject: [PATCH 11/11] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6b558fc..e348663 100644 --- a/README.md +++ b/README.md @@ -105,7 +105,7 @@ This version specification is part of the SwarmPlug documentation. Licensed under the **SwarmPlug Documentation License v1.0**. -See the root LICENSE file for details. +See the **main LICENSE** file for details.