Let's play with Reachy!

This open source tool will let you send commands using our Python’s API to a 3D model of a full Reachy robot (both arms and a head) and see their effect on the simulated model.

Quickstart

First, you need to install our Python’s package. It requires Python 3 and a few classical dependencies (numpy, scipy, etc).
To install it, you can use Pypi with pip3 install reachy or you can get sources from our github repository.
This software is the same one that runs on the real robot. We’ve simply added a new IO layer that change the communication with the hardware (motors and sensors) with a WebSocket communication that interacts with the 3D visualisation so both hardware and visualisation share the exact same API !. The only important difference is when creating your robot, you need to set all io to ‘ws’.

from reachy import parts, Reachy

r = Reachy(
    right_arm=parts.RightArm(io='ws', hand='force_gripper'),
    left_arm=parts.LeftArm(io='ws', hand='force_gripper'),
)

Then you can play with Reachy using our Python API, try the example below:

from reachy import parts, Reachy

r = Reachy(
    right_arm=parts.RightArm(io='ws', hand='force_gripper'),
    left_arm=parts.LeftArm(io='ws', hand='force_gripper'),
)

r.left_arm.shoulder_roll.goal_position = 35
r.left_arm.arm_yaw.goal_position = 90
r.left_arm.elbow_pitch.goal_position = -110
r.left_arm.hand.forearm_yaw.goal_position = 90

for _ in range(3):
    r.left_arm.hand.wrist_roll.goto(goal_position=45, duration=0.5, wait=True)
    r.left_arm.hand.wrist_roll.goto(goal_position=-45, duration=0.5, wait=True)