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)
The SDK, and the rest of Reachy software, is open-source and released under an Apache-2.0 License.
The SDK can be installed on any computer running Python 3.6 or later.
You can install the SDK:
pip install reachy-sdk
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.
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.
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.
The SDK APIs can be accessed here: https://pollen-robotics.github.io/reachy-sdk/ (generated by Sphinx).
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.