Skip to main content

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.

Reachy 2021 says hello!

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

reachy-sdk-0.7.0.tar.gz (21.7 kB view hashes)

Uploaded Source

Built Distribution

reachy_sdk-0.7.0-py3-none-any.whl (25.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page