Python Reachy SDK.
Project description
Reachy 2021 Python SDK
Reachy Python SDK is a pure python SDK library that let you control and interact with a Reachy robot. Reachy and its SDK are developed by Pollen Robotics.
This SDK is intended to work with the Reachy 2021 version.
It lets you get the current state of the robot (all joints position, the sensors up-to-date value, camera image) without having to think about synchronisation with the hardware. You can also send commands to control Reachy both in joint and cartesian spaces. You can control other effectors as well such as its fan or the camera zoom.
The SDK also provides higher level function to easily create complex motions such as asynchronous goto command.
You can use the SDK over the network, either WiFi or Ethernet but you should favour the second option for low-latency control. The communication to the robot is done via gRPC and can thus work on most kind of network configurations. Local control of the robot (directly on Reachy's computer can simply be done using the localhost IP)
License
The SDK, and the rest of Reachy software, is open-source and released under an Apache-2.0 License.
Installation
The SDK can be installed on any computer running Python 3.6 or later.
You can install the SDK:
From PyPi
pip install reachy-sdk
From the source
git clone https://github.com/pollen-robotics/reachy-sdk
pip install -e reachy-sdk
We recommend using virtual environment for your development.
The SDK depends on numpy, opencv and grpc. Most of the documentation is available as jupyter notebooks.
Getting Started
To get started with your Reachy installation and setup, see our official guide.
Connecting the SDK to a real robot is as simple as:
from reachy_sdk import ReachySDK
reachy = ReachySDK(host='my-reachy-ip')
Gettting the current joints position can be done via:
for name, joint in reachy.joints.items():
print(f'Joint {name} is at position {joint.present_position} degree.')
And displaying, via matplotlib, the last image of the left camera:
import cv2 as cv
from matplotlib import pyplot as plt
plt.figure()
plt.plot(cv.cvtColor(reachy.left_camera.last_frame, cv.COLOR_BGR2RGB))
For more advanced examples, see the official documentation.
Mobile base
As of July 2022, it is also possible to control our mobile base attached to Reachy easily!
from reachy_sdk import ReachySDK
reachy = ReachySDK(host='my-reachy-ip', with_mobile_base=True)
The mobile base is then controllable with reachy.mobile_base. To learn how to use the mobile base with Reachy, see the official documentation or the mobile-base-sdk API.
APIs
The SDK APIs can be accessed here: https://pollen-robotics.github.io/reachy-sdk/ (generated by Sphinx).
Support
This project adheres to the Contributor code of conduct. By participating, you are expected to uphold this code. Please report unacceptable behavior to contact@pollen-robotics.com.
Visit pollen-robotics.com to learn more or join our Dicord community if you have any questions or want to share your ideas. Follow @PollenRobotics on Twitter for important announcements.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file reachy-sdk-0.7.0.tar.gz
.
File metadata
- Download URL: reachy-sdk-0.7.0.tar.gz
- Upload date:
- Size: 21.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4b2d17831a4836d3d15331f8700c9f7dc91a2127ad5cc97962d3cf1b2cb85948 |
|
MD5 | 0220110e11af837f9245f5ff031af051 |
|
BLAKE2b-256 | 124fdaaba27fc9da93ec27d464c7d9f8f83dac52e27b081d217d28612dc03f7f |
File details
Details for the file reachy_sdk-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: reachy_sdk-0.7.0-py3-none-any.whl
- Upload date:
- Size: 25.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.1
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e69590c4d854b3e85af29aa9959c920b402d4d402ca5cee53c0559d6fb065814 |
|
MD5 | eb26d95dec983ca0d57157ed15550795 |
|
BLAKE2b-256 | bff3a643b345eea1848155b8cb2946765eb065642838f1bafea0dc0e883c167d |