Metadata-Version: 2.3
Name: orca_core
Version: 0.1.0
Summary: Core Python Controller of the ORCA Hand. Handles all hardware interaction, logic and abstracts control. Provides API for basic functionality and info of the hand.
License: MIT
Author: clemens-chr
Author-email: cchristoph@student.ethz.ch
Requires-Python: >=3.8
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Requires-Dist: dynamixel-sdk (>=3.7.31,<4.0.0)
Requires-Dist: numpy (>=2.2.3,<3.0.0)
Requires-Dist: pyyaml (>=6.0.2,<7.0.0)
Description-Content-Type: text/markdown

# Orca Core

OrcaHand class is used to abtract hardware, control the hand of the robot with simple high level control methods in joint space. 

## Get Started

To get started with Orca Core, follow these steps:

1. **Clone the repository**:

    ```sh
    git clone git@github.com:orcahand/orca_core.git
    cd orca_core
    ```

2. **Install dependencies using Poetry**:

    ```sh
    poetry install
    ```

3. **Run the example usage**:

    ```python
    # Example usage
    from orca_core import OrcaHand

    hand = OrcaHand()
    status = hand.connect()
    print(status)
    hand.calibrate()

    # Set the desired joint positions to 0
    hand.set_joint_pos({joint: 0 for joint in hand.joint_ids})
    hand.disconnect()
    ```

## Config file

The configuration file `core/orca_config.yaml` is specific to the hand (currently the only hand we have) and defines everything from auto calibration, joint limits, and control settings. This file is crucial for the proper functioning of the OrcaHand class.

