From 420b448d1005635ead8f1a2614dfc4d7b9f185dd Mon Sep 17 00:00:00 2001 From: solarguo Date: Sat, 7 Feb 2026 12:38:23 +0800 Subject: [PATCH 01/13] 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 61072c842688a5cdaaa676d7372f87767cabb4c1 Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 11:59:26 +0800 Subject: [PATCH 02/13] Revise architecture documentation for version 0.2 Updated architecture documentation to reflect version 0.2 changes, including new components and descriptions. --- docs/architecture.md | 59 +++++++++++++++++++++++++++++++++++++++----- 1 file changed, 53 insertions(+), 6 deletions(-) diff --git a/docs/architecture.md b/docs/architecture.md index 7607a57..0604280 100644 --- a/docs/architecture.md +++ b/docs/architecture.md @@ -1,11 +1,58 @@ -## High-level architecture (ver0.1) +## High-level architecture (ver0.2) ```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] + A[ROS Host
Existing System] --> B[SwarmPlug v0.2
Sidecar Module] - B <-->|association link| D + B --> C[Canonical Naming Layer
/sp/<host_id>/...] + B --> D[Host Identity & Network View] + B --> E[Unified CLI Interface] - B -->|CLI introspection| E[swarmplug CLI] - D -->|CLI introspection| E +``` +### ROS Host (Left) + +- Any **existing** ROS system + +- No need to install SwarmPlug + +- No configuration changes required + +- Runs completely unchanged + +--- +### SwarmPlug v0.2 (Center) + +- A **sidecar module** + +- Attaches to ROS in a **read-only** manner + +- Injects no nodes, participates in no scheduling, and makes no decisions + +--- +### Canonical Naming Layer + +- Assigns a **stable, attributable name** to every ROS resource + +- Answers the core question: + + > β€œWho does this topic / service / action belong to?” + +--- +### Host Identity & Network View + +- Explicitly defines: + + - Which **host** this plugin represents + + - What its **preferred network identity** is + +- Lays the foundation for future mesh, appliance, and multi-NIC deployments + +--- +### Unified CLI Interface + +- The single interface between humans and the system + +- Unified, scriptable, and automation-friendly + +- Does not expose internal complexity From 7f059f64bff5cb826d6984c5142559a8ffa0793f Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 11:59:50 +0800 Subject: [PATCH 03/13] 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 404e4b26579a707aa5eb1fe2f4d4b00bd655f4d4 Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 12:00:06 +0800 Subject: [PATCH 04/13] 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 8af66bf9c5cdd9a8e82867257e29cf19f422c06e Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 12:00:34 +0800 Subject: [PATCH 05/13] Update copyright holder in LICENSE file --- LICENSE | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/LICENSE b/LICENSE index 18f8dbd..7b51538 100644 --- a/LICENSE +++ b/LICENSE @@ -1,6 +1,6 @@ MIT License -Copyright (c) 2026 QunYu +Copyright (c) 2026 SwarmPlug Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -9,13 +9,13 @@ 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 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. +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN +THE SOFTWARE. From 8cd72face4008100a6fb98f8bfa4afd021e770af Mon Sep 17 00:00:00 2001 From: QunYu Date: Sun, 8 Feb 2026 12:01:18 +0800 Subject: [PATCH 06/13] Revise README for SwarmPlug v0.2 release Update README to reflect version 0.2 features and improvements. --- README.md | 261 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 135 insertions(+), 126 deletions(-) diff --git a/README.md b/README.md index 0d3c0e9..c01024b 100644 --- a/README.md +++ b/README.md @@ -1,199 +1,208 @@ -# 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 v0.2 +> Target audience: ROS system engineers, researchers, and platform architects. -> 🚩 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) +> **Canonical Naming & Host Identity Layer for ROS Systems** ---- +SwarmPlug v0.2 is an **engineering-stable milestone** that introduces +**canonical naming** and **explicit host identity** for ROS-based systems, +laying the structural foundation for future cross-host coordination, replication, +and heterogeneous system integration. -## 1. What does SwarmPlug do? +This version does **not** add new communication mechanisms. +Instead, it focuses on **making the system observable, identifiable, and manageable**. -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: +## What is SwarmPlug? -- A lightweight **association layer** between devices - -- Unified **introspection** of swarm-wide ROS entities - -- A simple **CLI interface** to inspect swarm state - +**SwarmPlug** is a plug-and-play ROS extension module that runs on a separate device +and connects to an existing ROS host **without modifying the host system**. -No cloud, no central server, no monolithic ROS master. +- No ROS nodes are injected +- No Multi-Master +- No intrusion into the host +- Single, controlled ROS Master binding ---- +SwarmPlug acts as a **sidecar system interface**, not a replacement for ROS. -## 2. What ver0.1 proves +--- -This ver0.1 demo validates the following capabilities: +## What’s New in v0.2 -- βœ… 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 - +### 1. Canonical Naming (Core Feature) -This version focuses on **connectivity and observability**, not on control or task logic. +v0.2 introduces a **canonical naming layer** for ROS resources: ---- +``` +/sp/// +``` -## 3. Repository scope +Where: -### Included in this repository +- ``: Explicit identity of the ROS host +- ``: topic / service / param / node / action +- ``: Original ROS name (unchanged) -- πŸ“„ Documentation and usage examples - -- 🧩 High-level architecture description - -- πŸ–₯ CLI command demonstrations - -- πŸ•’ Public release timestamp (ver0.1) - +Example: +``` +/sp/node161/topic/turtle1/cmd_vel +``` -### 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. +Canonical names are **read-only structural references** and do **not** replace native ROS names. --- -## 4. Architecture overview (high level) +### 2. Host Identity Abstraction -SwarmPlug runs **locally on each device**, alongside the local ROS master. +Each SwarmPlug instance exposes an explicit **Host ID**, used consistently across +canonical naming and system inspection. -Each instance: +Host ID resolution order: -- Interfaces with its local ROS graph - -- Participates in a decentralized association process - -- Exposes a unified swarm view through a CLI - +1. `--host-id` CLI flag +2. `SP_HOST_ID` environment variable +3. System hostname (fallback) -``` -ROS Nodes β†’ Local ROS Master - β”‚ - β–Ό - SwarmPlug Module - β”‚ - ── Association Layer ── - β”‚ - Swarm-wide View - β”‚ - β–Ό - swarmplug CLI +This avoids ambiguity in multi-host or multi-plugin environments. -``` --- -## 5. CLI demo (ver0.1) +### 3. Host Network Self-Description -The following commands illustrate the ver0.1 demo behavior. +`swarmplug host info` provides a structured, explainable view of the plugin host: -### List swarm members +- Preferred IP (RFC1918, non-virtual) +- Preferred MAC +- All IPs / MACs +- Optional raw network dump (`--all`) +Example: ``` -swarmplug nodes +IP preferred: 192.168.31.161 (iface=wlp3s0) +MAC preferred: 1c:1b:b5:6a:b6:8e (iface=wlp3s0) ``` -### List visible ROS topics across the swarm +This is essential for future Mesh, appliance, and multi-NIC deployments. + +--- + +### 4. Action Structure Inference + +v0.2 adds CLI-level **ROS Action discovery**, with optional strict validation: + +```bash +swarmplug actions +swarmplug actions --canon +swarmplug actions --canon --strict-action ``` -swarmplug topics -``` -### Echo a topic from the swarm +This capability is preparatory and does not alter runtime behavior. + +## Project Layout (v0.2) + ``` -swarmplug echo /topic1 +swarmplug/ +β”œβ”€β”€ bin/ +β”‚ └── swarmplug # Single CLI entry point +β”œβ”€β”€ bootstrap/ +β”‚ β”œβ”€β”€ swarmplug_start.sh # Host discovery & binding +β”‚ └── scan_ros_masters.py +β”œβ”€β”€ env/ +β”‚ └── swarmplug_env.sh # Runtime-generated environment +β”œβ”€β”€ README.md +β”œβ”€β”€ VERSION +└── LICENSE + ``` -### List ROS parameters discovered in the swarm +## Usage Overview +### Environment Setup (Required) + +Add the following to your shell configuration: ``` -swarmplug parameters +export PATH="$HOME/swarmplug/bin:$PATH" +export SP_HOST_ID=node161 # example: robot001 / carA / host-alpha ``` -### Read a specific parameter +Reload: +``` +source ~/.bashrc +hash -r +``` +### Basic Commands ``` -swarmplug echo /turtlesim/background_b +swarmplug --auto topics +swarmplug topics --canon +swarmplug services --canon +swarmplug parameters --canon + ``` +### Host Inspection +``` +swarmplug --auto host info +swarmplug --auto host info --all -These commands allow developers to **inspect swarm state without manually logging into each device**. +``` ---- +### Actions +``` +swarmplug actions +swarmplug actions --canon +swarmplug actions --canon --strict-action -## 6. Typical demo scenario +``` -A minimal demonstration setup may include: +## Design Principles (v0.2) -- Device A: ROS1 node publishing `/topic1` +- **Non-intrusive**: No changes to ROS host -- Device B: SwarmPlug-enabled node associated with A +- **Structural, not behavioral**: Observe and describe, do not decide -- Device C: Another ROS1 node joining later +- **Reversible & transparent**: Canonical names always map back to ROS names +- **Version-scoped**: No premature features -After association: +## What v0.2 Intentionally Does NOT Do -- All participating devices can observe selected ROS entities +- No parameter semantic unification -- CLI commands return a **swarm-consistent view** - - -This validates decentralized discovery and visibility. - ---- - -## 7. Current status - -- **Public demo release:** ver0.1 +- No cross-host synchronization -- **Focus:** association & introspection +- No Mesh / blockchain / consensus -- **Next milestone:** ver0.2 (feature expansion & stability improvements) +- No automatic control or decision-making -The roadmap prioritizes robustness, modularity, and compatibility with heterogeneous robotic platforms. +These are reserved for later versions. ---- +## Version Status +``` +Version: v0.2.0 +Status : DONE +Type : Engineering Stable / Structural Milestone -## 8. License & usage +``` +## License +See LICENSE file for details. -This repository is provided **for demonstration and evaluation purposes only**. +## Roadmap Context -- Commercial use of SwarmPlug core requires authorization +- **v0.1**: Host discovery and safe binding -- Internal implementations are not open-sourced in this repository +- **v0.2**: Canonical naming & host identity (this version) +- **v0.3**: Unified parameter / state schema (planned) + +- **v1.x**: Cross-host coordination and robustness layers ---- - -## 9. Contact - -For collaboration, evaluation, or commercial inquiries: +> **SwarmPlug v0.2 answers one question clearly: +> β€œWhat exists in this system, and who does it belong to?”** -πŸ“§ **qyswarm@163.com** +Nothing more. Nothing less. From ac2c6321233f133ceffe986d45d052e837e00173 Mon Sep 17 00:00:00 2001 From: QunYu Date: Wed, 11 Feb 2026 17:59:49 +0800 Subject: [PATCH 07/13] Revise README for SwarmPlug v0.2 Updated README to enhance clarity on SwarmPlug v0.2 features and structure. --- README.md | 238 ++++++++++++++++++------------------------------------ 1 file changed, 80 insertions(+), 158 deletions(-) diff --git a/README.md b/README.md index c01024b..0aaf194 100644 --- a/README.md +++ b/README.md @@ -1,208 +1,130 @@ +# SwarmPlug ver0.2 -# SwarmPlug v0.2 -> Target audience: ROS system engineers, researchers, and platform architects. - -> **Canonical Naming & Host Identity Layer for ROS Systems** - -SwarmPlug v0.2 is an **engineering-stable milestone** that introduces -**canonical naming** and **explicit host identity** for ROS-based systems, -laying the structural foundation for future cross-host coordination, replication, -and heterogeneous system integration. - -This version does **not** add new communication mechanisms. -Instead, it focuses on **making the system observable, identifiable, and manageable**. - - ---- - -## What is SwarmPlug? - -**SwarmPlug** is a plug-and-play ROS extension module that runs on a separate device -and connects to an existing ROS host **without modifying the host system**. - -- No ROS nodes are injected -- No Multi-Master -- No intrusion into the host -- Single, controlled ROS Master binding - -SwarmPlug acts as a **sidecar system interface**, not a replacement for ROS. +**Canonical Naming Infrastructure** --- -## What’s New in v0.2 - -### 1. Canonical Naming (Core Feature) - -v0.2 introduces a **canonical naming layer** for ROS resources: - -``` -/sp/// -``` - -Where: +## Statement -- ``: Explicit identity of the ROS host -- ``: topic / service / param / node / action -- ``: Original ROS name (unchanged) +SwarmPlug ver0.2 introduces a canonical identity and naming layer +above host attachment. -Example: -``` -/sp/node161/topic/turtle1/cmd_vel -``` +It does not snapshot. +It does not transmit. +It does not coordinate. - -Canonical names are **read-only structural references** and do **not** replace native ROS names. +It standardizes identity. --- -### 2. Host Identity Abstraction - -Each SwarmPlug instance exposes an explicit **Host ID**, used consistently across -canonical naming and system inspection. +## Problem -Host ID resolution order: +ROS systems use inconsistent naming across: -1. `--host-id` CLI flag -2. `SP_HOST_ID` environment variable -3. System hostname (fallback) +- Devices + +- Networks + +- Deployments + -This avoids ambiguity in multi-host or multi-plugin environments. +Without canonical identity, +cross-system semantic alignment becomes ambiguous. --- -### 3. Host Network Self-Description - -`swarmplug host info` provides a structured, explainable view of the plugin host: +## Position -- Preferred IP (RFC1918, non-virtual) -- Preferred MAC -- All IPs / MACs -- Optional raw network dump (`--all`) +SwarmPlug ver0.2 defines a stable identity anchor +independent of host runtime naming. -Example: -``` -IP preferred: 192.168.31.161 (iface=wlp3s0) -MAC preferred: 1c:1b:b5:6a:b6:8e (iface=wlp3s0) -``` +`ROS Runtime β†’ Host Attachment β†’ Canonical Identity` - -This is essential for future Mesh, appliance, and multi-NIC deployments. +ver0.2 completes the identity normalization layer. --- -### 4. Action Structure Inference +## Architecture (Conceptual) -v0.2 adds CLI-level **ROS Action discovery**, with optional strict validation: +```mermaid +flowchart TB -```bash -swarmplug actions -swarmplug actions --canon -swarmplug actions --canon --strict-action -``` + subgraph L1["Host Runtime"] + A1["ROS Topics / Nodes"] + end -This capability is preparatory and does not alter runtime behavior. + subgraph L2["Host Attachment (ver0.1)"] + B1["Discovery Layer"] + end -## Project Layout (v0.2) + subgraph L3["Canonical Identity (ver0.2)"] + C1["host_id"] + C2["node_id"] + C3["Canonical Naming Rules"] + end -``` -swarmplug/ -β”œβ”€β”€ bin/ -β”‚ └── swarmplug # Single CLI entry point -β”œβ”€β”€ bootstrap/ -β”‚ β”œβ”€β”€ swarmplug_start.sh # Host discovery & binding -β”‚ └── scan_ros_masters.py -β”œβ”€β”€ env/ -β”‚ └── swarmplug_env.sh # Runtime-generated environment -β”œβ”€β”€ README.md -β”œβ”€β”€ VERSION -└── LICENSE + A1 --> B1 --> C1 + B1 --> C2 + C1 --> C3 ``` -## Usage Overview - -### Environment Setup (Required) - -Add the following to your shell configuration: -``` -export PATH="$HOME/swarmplug/bin:$PATH" -export SP_HOST_ID=node161 # example: robot001 / carA / host-alpha - -``` - -Reload: -``` -source ~/.bashrc -hash -r -``` - -### Basic Commands -``` -swarmplug --auto topics -swarmplug topics --canon -swarmplug services --canon -swarmplug parameters --canon - -``` -### Host Inspection -``` -swarmplug --auto host info -swarmplug --auto host info --all - -``` +--- -### Actions -``` -swarmplug actions -swarmplug actions --canon -swarmplug actions --canon --strict-action +## Determinism -``` +Given identical host configuration, +ver0.2 produces identical canonical identity anchors. -## Design Principles (v0.2) +Identity is stable across: -- **Non-intrusive**: No changes to ROS host +- Reboots -- **Structural, not behavioral**: Observe and describe, do not decide +- Network changes -- **Reversible & transparent**: Canonical names always map back to ROS names +- Deployment contexts -- **Version-scoped**: No premature features -## What v0.2 Intentionally Does NOT Do +--- -- No parameter semantic unification +## Scope Limitation + +SwarmPlug ver0.2 does not include: + +- State abstraction -- No cross-host synchronization +- Snapshot schema -- No Mesh / blockchain / consensus +- Communication layers -- No automatic control or decision-making +- Blockchain anchoring + +- Decision mechanisms -These are reserved for later versions. +--- -## Version Status -``` -Version: v0.2.0 -Status : DONE -Type : Engineering Stable / Structural Milestone +## Version Context -``` -## License -See LICENSE file for details. +|Version|Responsibility| +|---|---| +|0.1|Host connection| +|0.2|Canonical naming| +|0.3|Semantic snapshot| -## Roadmap Context +--- -- **v0.1**: Host discovery and safe binding - -- **v0.2**: Canonical naming & host identity (this version) - -- **v0.3**: Unified parameter / state schema (planned) - -- **v1.x**: Cross-host coordination and robustness layers +## Principle + +Identity precedes semantics. +Normalization precedes distribution. + +ver0.2 establishes the identity layer. + + + +## Contact -> **SwarmPlug v0.2 answers one question clearly: -> β€œWhat exists in this system, and who does it belong to?”** +If you are evaluating SwarmPlug for research or engineering use,feel free to reach out at: -Nothing more. Nothing less. +πŸ“§ **swarmplug@gmail.com** From ebe76ac1d967d439b1377c7269dbb9e35a87ee84 Mon Sep 17 00:00:00 2001 From: QunYu Date: Wed, 11 Feb 2026 18:24:03 +0800 Subject: [PATCH 08/13] Delete docs directory --- docs/architecture.md | 58 -------------------------------------------- 1 file changed, 58 deletions(-) delete mode 100644 docs/architecture.md diff --git a/docs/architecture.md b/docs/architecture.md deleted file mode 100644 index 0604280..0000000 --- a/docs/architecture.md +++ /dev/null @@ -1,58 +0,0 @@ -## High-level architecture (ver0.2) - -```mermaid -flowchart LR - A[ROS Host
Existing System] --> B[SwarmPlug v0.2
Sidecar Module] - - B --> C[Canonical Naming Layer
/sp/<host_id>/...] - B --> D[Host Identity & Network View] - B --> E[Unified CLI Interface] - -``` -### ROS Host (Left) - -- Any **existing** ROS system - -- No need to install SwarmPlug - -- No configuration changes required - -- Runs completely unchanged - ---- -### SwarmPlug v0.2 (Center) - -- A **sidecar module** - -- Attaches to ROS in a **read-only** manner - -- Injects no nodes, participates in no scheduling, and makes no decisions - ---- -### Canonical Naming Layer - -- Assigns a **stable, attributable name** to every ROS resource - -- Answers the core question: - - > β€œWho does this topic / service / action belong to?” - ---- -### Host Identity & Network View - -- Explicitly defines: - - - Which **host** this plugin represents - - - What its **preferred network identity** is - -- Lays the foundation for future mesh, appliance, and multi-NIC deployments - ---- -### Unified CLI Interface - -- The single interface between humans and the system - -- Unified, scriptable, and automation-friendly - -- Does not expose internal complexity From bf566f1b048feeff287bbe9673ece39cd85fd1e9 Mon Sep 17 00:00:00 2001 From: QunYu Date: Thu, 12 Feb 2026 08:05:10 +0800 Subject: [PATCH 09/13] Revise README for clarity and consistency Updated language for clarity and consistency in README. --- README.md | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index 0aaf194..0597b9c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ ## Statement -SwarmPlug ver0.2 introduces a canonical identity and naming layer +SwarmPlug ver0.2 defines a canonical identity specification layer above host attachment. It does not snapshot. @@ -19,7 +19,7 @@ It standardizes identity. ## Problem -ROS systems use inconsistent naming across: +ROS deployments often exhibit inconsistent naming patterns across: - Devices @@ -76,13 +76,12 @@ flowchart TB Given identical host configuration, ver0.2 produces identical canonical identity anchors. -Identity is stable across: +Identity remains invariant across: + +- System reboots +- Network reconfiguration +- Deployment relocation -- Reboots - -- Network changes - -- Deployment contexts --- @@ -100,7 +99,8 @@ SwarmPlug ver0.2 does not include: - Blockchain anchoring - Decision mechanisms - + +ver0.2 does not modify host runtime behavior. --- @@ -126,5 +126,4 @@ ver0.2 establishes the identity layer. ## Contact If you are evaluating SwarmPlug for research or engineering use,feel free to reach out at: - πŸ“§ **swarmplug@gmail.com** From 1b10f21ff3e3dab9a6e5b70169c41f94eacca539 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 09:43:34 +0800 Subject: [PATCH 10/13] Delete LICENSE --- LICENSE | 21 --------------------- 1 file changed, 21 deletions(-) delete mode 100644 LICENSE diff --git a/LICENSE b/LICENSE deleted file mode 100644 index 7b51538..0000000 --- a/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -MIT License - -Copyright (c) 2026 SwarmPlug - -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 e31206c78c6a119ca51f2cc20ff89219ef987d71 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 09:48:58 +0800 Subject: [PATCH 11/13] Update README.md --- README.md | 43 ++++++++++++++++++++----------------------- 1 file changed, 20 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index 0597b9c..b94c98c 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # SwarmPlug ver0.2 -**Canonical Naming Infrastructure** +**Canonical Identity Specification** --- @@ -13,7 +13,7 @@ It does not snapshot. It does not transmit. It does not coordinate. -It standardizes identity. +**It standardizes identity.** --- @@ -22,9 +22,7 @@ It standardizes identity. ROS deployments often exhibit inconsistent naming patterns across: - Devices - -- Networks - +- Networks - Deployments @@ -82,22 +80,16 @@ Identity remains invariant across: - Network reconfiguration - Deployment relocation - - --- ## Scope Limitation SwarmPlug ver0.2 does not include: -- State abstraction - -- Snapshot schema - -- Communication layers - -- Blockchain anchoring - +- State abstraction +- Snapshot schema +- Communication layers +- Blockchain anchoring - Decision mechanisms ver0.2 does not modify host runtime behavior. @@ -106,11 +98,11 @@ ver0.2 does not modify host runtime behavior. ## Version Context -|Version|Responsibility| -|---|---| -|0.1|Host connection| -|0.2|Canonical naming| -|0.3|Semantic snapshot| +| Version | Responsibility | +|---------|----------------------| +| ver0.1 | Host attachment | +| ver0.2 | Canonical identity | +| ver0.3 | Semantic snapshot | --- @@ -121,9 +113,14 @@ Normalization precedes distribution. ver0.2 establishes the identity layer. +--- +## 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. -## Contact -If you are evaluating SwarmPlug for research or engineering use,feel free to reach out at: -πŸ“§ **swarmplug@gmail.com** From 569024006bf586d17c06e45dfc4509274995e8e8 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 10:33:37 +0800 Subject: [PATCH 12/13] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index b94c98c..f4b3391 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ independent of host runtime naming. `ROS Runtime β†’ Host Attachment β†’ Canonical Identity` -ver0.2 completes the identity normalization layer. +**ver0.2 completes the identity normalization layer.** --- @@ -92,7 +92,7 @@ SwarmPlug ver0.2 does not include: - Blockchain anchoring - Decision mechanisms -ver0.2 does not modify host runtime behavior. +**ver0.2 does not modify host runtime behavior.** --- From a66e189a9b862adeb6356d0513855d358456cb66 Mon Sep 17 00:00:00 2001 From: QunYu Date: Fri, 13 Feb 2026 10:37:03 +0800 Subject: [PATCH 13/13] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f4b3391..28e3428 100644 --- a/README.md +++ b/README.md @@ -120,7 +120,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.