Metadata-Version: 2.2
Name: robodog
Version: 0.1.1.1
Summary: A Python library for controlling AlphaDog robotic dogs
Home-page: https://github.com/00make/robodog
Author: 00make
Author-email: towardsrwby@gmail.com
Project-URL: Bug Tracker, https://github.com/00make/robodog/issues
Project-URL: Documentation, https://github.com/00make/robodog/wiki
Project-URL: Source Code, https://github.com/00make/robodog
Keywords: robotics,alphadog,ros,robot control,python
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Classifier: Topic :: Scientific/Engineering
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: roslibpy>=1.3.0
Requires-Dist: dataclasses>=0.6; python_version < "3.7"
Requires-Dist: typing-extensions>=4.0.0
Provides-Extra: dev
Requires-Dist: pytest>=6.0; extra == "dev"
Requires-Dist: pytest-cov>=2.0; extra == "dev"
Requires-Dist: black>=22.0; extra == "dev"
Requires-Dist: isort>=5.0; extra == "dev"
Requires-Dist: flake8>=3.9; extra == "dev"
Provides-Extra: docs
Requires-Dist: sphinx>=4.0; extra == "docs"
Requires-Dist: sphinx-rtd-theme>=0.5; extra == "docs"
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: project-url
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# robodog

A Python library for controlling AlphaDog robotic dogs.

## Features

* Automated ROS connection management
* Multiple control modes (standing, walking, dancing, etc.)
* Real-time status monitoring
* Dynamic parameter configuration
* Elegant context manager support
* Comprehensive error handling
* Type annotation support

## Installation

```bash
pip install robodog
```

## Quick Start

1. Ensure your computer is on the same network as the robotic dog
2. Note the IP address of the robotic dog (default: 10.10.10.10)

### Basic Example

```python
from robodog import Dog
from robodog.config import UserMode
import time

# Connect to the dog using default IP
with Dog() as dog:
    # Switch to normal mode
    dog.set_user_mode(UserMode.NORMAL)
    
    # Adjust standing height
    dog.set_parameters({'body_height': 0.25})
    time.sleep(2)
    
    # Restore default height
    dog.set_parameters({'body_height': 0.23})
```

## Core Features

* Switch between user modes (normal, quiet, kids, etc.)
* Adjust body posture (height, tilt, etc.)
* Real-time status monitoring

Check the `examples` directory for more examples.

### User Modes

Available user modes:

* `UserMode.NORMAL`: Normal mode
* `UserMode.QUIET`: Quiet mode
* `UserMode.KIDS`: Kids mode
* `UserMode.EXTREME`: Extreme mode
* `UserMode.DANCE`: Dance mode
* `UserMode.MUTE`: Mute mode
* `UserMode.LONG_ENDURANCE`: Long endurance mode

Basic parameters:

* `body_height`: Body height (default 0.23)
* `roll`: Roll angle
* `pitch`: Pitch angle
* `yaw`: Yaw angle

### Contributing

Issues and pull requests are welcome. For major changes, please open an issue first to discuss proposed changes.

### License

This project is licensed under the MIT License - see the `LICENSE` file for details.

### Contact

For questions or suggestions:

* Submit GitHub Issues
* Email: <towardsrwby@gmail.com>
