capybarish


Namecapybarish JSON
Version 0.1.0 PyPI version JSON
download
home_pageNone
SummaryLightweight communication middleware for cloud-based robotics controllers
upload_time2025-09-10 01:29:00
maintainerNone
docs_urlNone
authorNone
requires_python>=3.8
licenseApache-2.0
keywords robotics middleware communication modular-robots udp real-time cloud-robotics distributed-systems
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # đŸĻĢ Capybarish

[![PyPI version](https://badge.fury.io/py/capybarish.svg)](https://badge.fury.io/py/capybarish)
[![Python Support](https://img.shields.io/pypi/pyversions/capybarish.svg)](https://pypi.org/project/capybarish/)
[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)
[![arXiv](https://img.shields.io/badge/arXiv-2505.00784-b31b1b.svg)](https://arxiv.org/abs/2505.00784)

**Capybarish** is a lightweight communication middleware designed for cloud-based robotics controllers. This MVP (Minimum Viable Product) was developed to support research on [reconfigurable legged metamachines](https://arxiv.org/abs/2505.00784) - modular robots that can dynamically reconfigure their morphology using autonomous modular legs.

## đŸ”Ŧ Research Context

This package supports the research presented in ["Reconfigurable legged metamachines that run on autonomous modular legs"](https://arxiv.org/abs/2505.00784) by Chen Yu et al. The middleware enables real-time communication between cloud-based controllers and distributed modular robot components, facilitating the coordination of autonomous modular legs that can form complex legged metamachines.

## 🚀 Quick Start

### Installation

```bash
pip install capybarish
```

### Basic Usage

```python
from capybarish.interface import Interface
from capybarish.utils import load_cfg
import numpy as np

# Load configuration
config = load_cfg("default")

# Initialize the interface
interface = Interface(config)

# Basic control loop for modular robot communication
for i in range(100):
    # Receive sensor data from robot modules
    interface.receive_module_data()
    
    # Get observable data
    data = interface.get_observable_data()
    
    # Send control commands to modular legs
    action = np.array([0.1 * np.sin(i * 0.1)])
    interface.send_action(action, kps=np.array([10.0]), kds=np.array([1.0]))
```

### Configuration

Create a YAML configuration file in the `config/` directory:

```yaml
# config/default.yaml
interface:
  module_ids: [1, 2, 3]  # IDs of your modular robot components
  communication:
    protocol: "udp"
    timeout: 0.1
  dashboard:
    enabled: true
    port: 6667
```

## đŸ—ī¸ Architecture

Capybarish provides a modular middleware architecture with:

- **Interface**: Main control interface for robot communication
- **Communication Manager**: UDP-based real-time communication
- **Dashboard Server**: Data visualization and monitoring
- **Plugin System**: Extensible architecture for custom components
- **Configuration Management**: Flexible YAML-based setup

## 📋 Requirements

- Python 3.8+
- NumPy >= 1.20.0
- OmegaConf >= 2.1.0
- MessagePack >= 1.0.0
- Rich >= 10.0.0 (for UI)
- PyYAML >= 5.4.0

## 🔧 Development Status

**This is an MVP under active development.** The package is being continuously updated and generalized as part of ongoing PhD research at Northwestern University. Features and APIs may change as the research progresses.

### Roadmap
- Enhanced plugin system for more sensors
- Improved cloud-robotics integration
- Performance optimizations for real-time control

## 🤝 Contributing

This project is primarily research-focused, but contributions are welcome! Please feel free to:

- Report issues or bugs
- Suggest improvements
- Submit pull requests

## 📚 Citation

If you use this software in your research, you are welcomed cite:

```bibtex
@software{metamachine2024,
  title={Capybarish: A lightweight communication middleware designed for cloud-based robotics controllers},
  author={Chen Yu},
  year={2025},
  url={https://github.com/chenaah/capybarish}
}
```

```bibtex
@article{yu2025reconfigurable,
  title={Reconfigurable legged metamachines that run on autonomous modular legs},
  author={Yu, Chen and Matthews, David and Wang, Jingxian and Gu, Jing and Blackiston, Douglas and Rubenstein, Michael and Kriegman, Sam},
  journal={arXiv preprint arXiv:2505.00784},
  year={2025}
}
```

## 📄 License

This project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.

## 📞 Contact

**Chen Yu**  
PhD Student, Northwestern University  
Email: chenyu@u.northwestern.edu

---

*This middleware is part of ongoing research on evolutionary modular robots. Updates and improvements will be released as the research progresses.*

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "capybarish",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.8",
    "maintainer_email": "Chen Yu <chenyu@u.northwestern.edu>",
    "keywords": "robotics, middleware, communication, modular-robots, udp, real-time, cloud-robotics, distributed-systems",
    "author": null,
    "author_email": "Chen Yu <chenyu@u.northwestern.edu>",
    "download_url": "https://files.pythonhosted.org/packages/c6/88/16e6062b53847a236074df5ff665b5c693425cab569ca1a6757d1b704c22/capybarish-0.1.0.tar.gz",
    "platform": null,
    "description": "# \ud83e\uddab Capybarish\n\n[![PyPI version](https://badge.fury.io/py/capybarish.svg)](https://badge.fury.io/py/capybarish)\n[![Python Support](https://img.shields.io/pypi/pyversions/capybarish.svg)](https://pypi.org/project/capybarish/)\n[![License: Apache-2.0](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://opensource.org/licenses/Apache-2.0)\n[![arXiv](https://img.shields.io/badge/arXiv-2505.00784-b31b1b.svg)](https://arxiv.org/abs/2505.00784)\n\n**Capybarish** is a lightweight communication middleware designed for cloud-based robotics controllers. This MVP (Minimum Viable Product) was developed to support research on [reconfigurable legged metamachines](https://arxiv.org/abs/2505.00784) - modular robots that can dynamically reconfigure their morphology using autonomous modular legs.\n\n## \ud83d\udd2c Research Context\n\nThis package supports the research presented in [\"Reconfigurable legged metamachines that run on autonomous modular legs\"](https://arxiv.org/abs/2505.00784) by Chen Yu et al. The middleware enables real-time communication between cloud-based controllers and distributed modular robot components, facilitating the coordination of autonomous modular legs that can form complex legged metamachines.\n\n## \ud83d\ude80 Quick Start\n\n### Installation\n\n```bash\npip install capybarish\n```\n\n### Basic Usage\n\n```python\nfrom capybarish.interface import Interface\nfrom capybarish.utils import load_cfg\nimport numpy as np\n\n# Load configuration\nconfig = load_cfg(\"default\")\n\n# Initialize the interface\ninterface = Interface(config)\n\n# Basic control loop for modular robot communication\nfor i in range(100):\n    # Receive sensor data from robot modules\n    interface.receive_module_data()\n    \n    # Get observable data\n    data = interface.get_observable_data()\n    \n    # Send control commands to modular legs\n    action = np.array([0.1 * np.sin(i * 0.1)])\n    interface.send_action(action, kps=np.array([10.0]), kds=np.array([1.0]))\n```\n\n### Configuration\n\nCreate a YAML configuration file in the `config/` directory:\n\n```yaml\n# config/default.yaml\ninterface:\n  module_ids: [1, 2, 3]  # IDs of your modular robot components\n  communication:\n    protocol: \"udp\"\n    timeout: 0.1\n  dashboard:\n    enabled: true\n    port: 6667\n```\n\n## \ud83c\udfd7\ufe0f Architecture\n\nCapybarish provides a modular middleware architecture with:\n\n- **Interface**: Main control interface for robot communication\n- **Communication Manager**: UDP-based real-time communication\n- **Dashboard Server**: Data visualization and monitoring\n- **Plugin System**: Extensible architecture for custom components\n- **Configuration Management**: Flexible YAML-based setup\n\n## \ud83d\udccb Requirements\n\n- Python 3.8+\n- NumPy >= 1.20.0\n- OmegaConf >= 2.1.0\n- MessagePack >= 1.0.0\n- Rich >= 10.0.0 (for UI)\n- PyYAML >= 5.4.0\n\n## \ud83d\udd27 Development Status\n\n**This is an MVP under active development.** The package is being continuously updated and generalized as part of ongoing PhD research at Northwestern University. Features and APIs may change as the research progresses.\n\n### Roadmap\n- Enhanced plugin system for more sensors\n- Improved cloud-robotics integration\n- Performance optimizations for real-time control\n\n## \ud83e\udd1d Contributing\n\nThis project is primarily research-focused, but contributions are welcome! Please feel free to:\n\n- Report issues or bugs\n- Suggest improvements\n- Submit pull requests\n\n## \ud83d\udcda Citation\n\nIf you use this software in your research, you are welcomed cite:\n\n```bibtex\n@software{metamachine2024,\n  title={Capybarish: A lightweight communication middleware designed for cloud-based robotics controllers},\n  author={Chen Yu},\n  year={2025},\n  url={https://github.com/chenaah/capybarish}\n}\n```\n\n```bibtex\n@article{yu2025reconfigurable,\n  title={Reconfigurable legged metamachines that run on autonomous modular legs},\n  author={Yu, Chen and Matthews, David and Wang, Jingxian and Gu, Jing and Blackiston, Douglas and Rubenstein, Michael and Kriegman, Sam},\n  journal={arXiv preprint arXiv:2505.00784},\n  year={2025}\n}\n```\n\n## \ud83d\udcc4 License\n\nThis project is licensed under the Apache License 2.0 - see the [LICENSE](LICENSE) file for details.\n\n## \ud83d\udcde Contact\n\n**Chen Yu**  \nPhD Student, Northwestern University  \nEmail: chenyu@u.northwestern.edu\n\n---\n\n*This middleware is part of ongoing research on evolutionary modular robots. Updates and improvements will be released as the research progresses.*\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "Lightweight communication middleware for cloud-based robotics controllers",
    "version": "0.1.0",
    "project_urls": {
        "Bug Tracker": "https://github.com/chenyu-northwestern/capybarish/issues",
        "Homepage": "https://github.com/chenyu-northwestern/capybarish",
        "Repository": "https://github.com/chenyu-northwestern/capybarish.git",
        "Research Paper": "https://arxiv.org/abs/2505.00784"
    },
    "split_keywords": [
        "robotics",
        " middleware",
        " communication",
        " modular-robots",
        " udp",
        " real-time",
        " cloud-robotics",
        " distributed-systems"
    ],
    "urls": [
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "7f2a7910fbe5e566b1cd8a1b3b5ad51a3243c1b8f63ba01d2afa840ff94b6c53",
                "md5": "1d2b8de4df897b03a8fe97ee794db215",
                "sha256": "fdcb6731b90eb0ca674ca0f5238685ae1273053e616365240134b2e40e665e48"
            },
            "downloads": -1,
            "filename": "capybarish-0.1.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "1d2b8de4df897b03a8fe97ee794db215",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.8",
            "size": 91825,
            "upload_time": "2025-09-10T01:28:59",
            "upload_time_iso_8601": "2025-09-10T01:28:59.310246Z",
            "url": "https://files.pythonhosted.org/packages/7f/2a/7910fbe5e566b1cd8a1b3b5ad51a3243c1b8f63ba01d2afa840ff94b6c53/capybarish-0.1.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": null,
            "digests": {
                "blake2b_256": "c68816e6062b53847a236074df5ff665b5c693425cab569ca1a6757d1b704c22",
                "md5": "95d7f528aa875b2866e257a6e14405cf",
                "sha256": "2fa7b3c6e6c9d59b7b4b536c7ad11c94ea38ccb05bdc93bb4fb5637e90354a04"
            },
            "downloads": -1,
            "filename": "capybarish-0.1.0.tar.gz",
            "has_sig": false,
            "md5_digest": "95d7f528aa875b2866e257a6e14405cf",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.8",
            "size": 87775,
            "upload_time": "2025-09-10T01:29:00",
            "upload_time_iso_8601": "2025-09-10T01:29:00.701266Z",
            "url": "https://files.pythonhosted.org/packages/c6/88/16e6062b53847a236074df5ff665b5c693425cab569ca1a6757d1b704c22/capybarish-0.1.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-09-10 01:29:00",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "chenyu-northwestern",
    "github_project": "capybarish",
    "github_not_found": true,
    "lcname": "capybarish"
}
        
Elapsed time: 1.60912s