Orca Core is the core control package of the ORCA Hand. It's used to abstract hardware, provide scripts for calibration and tensioningm and to control the hand with simple high-level control methods in joint space.
Get Started
To get started with Orca Core, follow these steps:
-
Create a virtual environment (recommended):
python -m venv venv
source venv/bin/activate
You can also use Poetry, pyenv, conda, or any other environment manager if you prefer.
-
Install dependencies:
pip install -e .
-
Check the configuration file:
- Review the config file (e.g.,
orca_core/orca_core/models/orcahand_v1_right/config.yaml
) and make sure it matches your hardware setup.
-
Run the tension and calibration scripts:
python scripts/tension.py orca_core/orca_core/models/orcahand_v1_right
python scripts/calibrate.py orca_core/orca_core/models/orcahand_v1_right
Replace the path with your specific hand model folder if needed.
-
Move the hand to the neutral position:
python scripts/neutral.py orca_core/orca_core/models/orcahand_v1_right
-
Example usage: test.py
Here is a minimal example script you can use to test your setup:
from orca_core import OrcaHand
import time
hand = OrcaHand('orca_core/orca_core/models/orcahand_v1_right')
status = hand.connect()
print(status)
if not status[0]:
print("Failed to connect to the hand.")
exit(1)
hand.enable_torque()
joint_dict = {
"index_mcp": 90,
"middle_pip": 30,
}
hand.set_joint_pos(joint_dict, num_steps=25, step_size=0.001)
time.sleep(2)
hand.disable_torque()
hand.disconnect()
Note:
- Always ensure your
config.yaml
matches your hardware and wiring.
- All scripts in the
scripts/
folder take the model path as their first argument.
- For more advanced usage, see the other scripts and the API documentation.