Reachy Mini documentation

Reachy Mini

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Reachy Mini

Main class

class reachy_mini.ReachyMini

< >

( robot_name: str = 'reachy_mini' connection_mode: typing.Literal['auto', 'localhost_only', 'network'] = 'auto' spawn_daemon: bool = False use_sim: bool = False timeout: float = 5.0 automatic_body_yaw: bool = True log_level: str = 'INFO' media_backend: str = 'default' localhost_only: typing.Optional[bool] = None )

Parameters

  • connection_mode — Select how to connect to the daemon. Use "localhost_only" to restrict connections to daemons running on localhost, "network" to scout for daemons on the LAN, or "auto" (default) to try localhost first then fall back to the network.
  • spawn_daemon (bool) — If True, will spawn a daemon to control the robot, defaults to False.
  • use_sim (bool) — If True and spawn_daemon is True, will spawn a simulated robot, defaults to True.

Reachy Mini class for controlling a simulated or real Reachy Mini robot.

async_play_move

< >

( move: Move play_frequency: float = 100.0 initial_goto_duration: float = 0.0 sound: bool = True )

Parameters

  • move (Move) — The Move object to be played.
  • play_frequency (float) — The frequency at which to evaluate the move (in Hz).
  • initial_goto_duration (float) — Duration for the initial goto to the starting position of the move (in seconds). If 0, no initial goto is performed.
  • sound (bool) — If True, play the sound associated with the move (if any).

Asynchronously play a Move.

disable_gravity_compensation

< >

( )

Disable gravity compensation for the head motors.

disable_motors

< >

( ids: typing.Optional[typing.List[str]] = None )

Parameters

  • ids (List[str] | None) — List of motor names to disable. If None, all motors will be disabled. Valid names match src/reachy_mini/assets/config/hardware_config.yaml: body_rotation, stewart_1stewart_6, right_antenna, left_antenna.

Disable the motors.

enable_gravity_compensation

< >

( )

Enable gravity compensation for the head motors.

enable_motors

< >

( ids: typing.Optional[typing.List[str]] = None )

Parameters

  • ids (List[str] | None) — List of motor names to enable. If None, all motors will be enabled. Valid names match src/reachy_mini/assets/config/hardware_config.yaml: body_rotation, stewart_1stewart_6, right_antenna, left_antenna.

Enable the motors.

get_current_head_pose

< >

( ) np.ndarray

Returns

np.ndarray

A 4x4 matrix representing the current head pose.

Get the current head pose as a 4x4 matrix.

Get the current head pose as a 4x4 matrix.

get_current_joint_positions

< >

( ) tuple

Returns

tuple

A tuple containing two lists:

  • List of head joint positions (rad) (length 7).
  • List of antennas joint positions (rad) (length 2).

Get the current joint positions of the head and antennas.

Get the current joint positions of the head and antennas (in rad)

get_present_antenna_joint_positions

< >

( ) list

Returns

list

A list of antennas joint positions (rad) (length 2).

Get the present joint positions of the antennas.

Get the present joint positions of the antennas (in rad)

goto_sleep

< >

( )

Put the robot to sleep by moving the head and antennas to a predefined sleep position.

goto_target

< >

( head: typing.Optional[numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]]] = None antennas: typing.Union[numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], typing.List[float], NoneType] = None duration: float = 0.5 method: InterpolationTechnique = <InterpolationTechnique.MIN_JERK: 'minjerk'> body_yaw: float | None = 0.0 )

Parameters

  • head (Optional[np.ndarray]) — 4x4 pose matrix representing the target head pose.
  • antennas (Optional[Union[np.ndarray, List[float]]]) — 1D array with two elements representing the angles of the antennas in radians.
  • duration (float) — Duration of the movement in seconds.
  • method (InterpolationTechnique) — Interpolation method to use (“linear”, “minjerk”, “ease_in_out”, “cartoon”). Default is “minjerk”.
  • body_yaw (float | None) — Body yaw angle in radians. Use None to keep the current yaw.

Raises

ValueError

  • ValueError — If neither head nor antennas are provided, or if duration is not positive.

Go to a target head pose and/or antennas position using task space interpolation, in “duration” seconds.

look_at_image

< >

( u: int v: int duration: float = 1.0 perform_movement: bool = True ) np.ndarray

Parameters

  • u (int) — Horizontal coordinate in image frame.
  • v (int) — Vertical coordinate in image frame.
  • duration (float) — Duration of the movement in seconds. If 0, the head will snap to the position immediately.
  • perform_movement (bool) — If True, perform the movement. If False, only calculate and return the pose.

Returns

np.ndarray

The calculated head pose as a 4x4 matrix.

Raises

ValueError

  • ValueError — If duration is negative.

Make the robot head look at a point defined by a pixel position (u,v).

TODO image of reachy mini coordinate system

look_at_world

< >

( x: float y: float z: float duration: float = 1.0 perform_movement: bool = True ) np.ndarray

Parameters

  • x (float) — X coordinate in meters.
  • y (float) — Y coordinate in meters.
  • z (float) — Z coordinate in meters.
  • duration (float) — Duration of the movement in seconds. If 0, the head will snap to the position immediately.
  • perform_movement (bool) — If True, perform the movement. If False, only calculate and return the pose.

Returns

np.ndarray

The calculated head pose as a 4x4 matrix.

Raises

ValueError

  • ValueError — If duration is negative.

Look at a specific point in 3D space in Reachy Mini’s reference frame.

TODO include image of reachy mini coordinate system

async_play_move

( move: Move play_frequency: float = 100.0 initial_goto_duration: float = 0.0 sound: bool = True )

Parameters

  • move (Move) — The Move object to be played.
  • play_frequency (float) — The frequency at which to evaluate the move (in Hz).
  • initial_goto_duration (float) — Duration for the initial goto to the starting position of the move (in seconds). If 0, no initial goto is performed.
  • sound (bool) — If True, play the sound associated with the move (if any).

Asynchronously play a Move.

set_automatic_body_yaw

< >

( body_yaw: float )

Parameters

  • body_yaw (float) — The yaw angle of the body in radians.

Set the automatic body yaw.

set_target

< >

( head: typing.Optional[numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]]] = None antennas: typing.Union[numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]], typing.List[float], NoneType] = None body_yaw: typing.Optional[float] = None )

Parameters

  • head (Optional[np.ndarray]) — 4x4 pose matrix representing the head pose.
  • antennas (Optional[Union[np.ndarray, List[float]]]) — 1D array with two elements representing the angles of the antennas in radians.
  • body_yaw (Optional[float]) — Body yaw angle in radians.

Raises

ValueError

  • ValueError — If neither head nor antennas are provided, or if the shape of head is not (4, 4), or if antennas is not a 1D array with two elements.

Set the target pose of the head and/or the target position of the antennas.

set_target_antenna_joint_positions

< >

( antennas: typing.List[float] )

Set the target joint positions of the antennas.

set_target_body_yaw

< >

( body_yaw: float )

Parameters

  • body_yaw (float) — The yaw angle of the body in radians.

Set the target body yaw.

set_target_head_pose

< >

( pose: numpy.ndarray[tuple[typing.Any, ...], numpy.dtype[numpy.float64]] )

Parameters

  • pose (np.ndarray) — A 4x4 matrix representing the desired head pose.
  • body_yaw (float) — The yaw angle of the body, used to adjust the head pose.

Raises

ValueError

  • ValueError — If the shape of the pose is not (4, 4).

Set the head pose to a specific 4x4 matrix.

start_recording

< >

( )

Start recording data.

stop_recording

< >

( )

Stop recording data and return the recorded data.

wake_up

< >

( )

Wake up the robot - go to the initial head position and play the wake up emote and sound.

Update on GitHub