Utils
Interpolation Functions
reachy_mini.utils.interpolation.minimum_jerk
Compute the minimum jerk interpolation function from starting position to goal position.
reachy_mini.utils.interpolation.linear_pose_interpolation
Linearly interpolate between two poses in 6D space.
reachy_mini.utils.interpolation.time_trajectory
Compute the time trajectory value based on the specified interpolation method.
reachy_mini.utils.interpolation.delta_angle_between_mat_rot
Compute the angle (in radians) between two 3x3 rotation matrices P and Q.
This is equivalent to the angular distance in axis-angle space. It is computed via the trace of the relative rotation matrix.
Parameters:
| Name | Description |
|---|---|
P | A 3x3 rotation matrix. |
Q | Another 3x3 rotation matrix. |
Returns:
The angle in radians between the two rotations.
References:
- https://math.stackexchange.com/questions/2113634/comparing-two-rotation-matrices
- http://www.boris-belousov.net/2016/12/01/quat-dist/
reachy_mini.utils.interpolation.distance_between_poses
Compute three types of distance between two 4x4 homogeneous transformation matrices.
The result combines translation (in mm) and rotation (in degrees) using an arbitrary but emotionally satisfying equivalence: 1 degree ≈ 1 mm.
Parameters:
| Name | Description |
|---|---|
pose1 | A 4x4 homogeneous transformation matrix representing the first pose. |
pose2 | A 4x4 homogeneous transformation matrix representing the second pose. |
Returns:
A tuple of:
- translation distance in meters
- angular distance in radians
- unhinged distance in magic-mm (translation in mm + rotation in degrees)
reachy_mini.utils.interpolation.compose_world_offset
Compose an absolute world-frame pose with a world-frame offset.
- translations add in world:
t_final = t_abs + t_off - rotations compose in world:
R_final = R_off @ R_abs
This rotates the frame in place (about its own origin) by a rotation defined in world axes, and shifts it by a world translation.
Parameters:
| Name | Type | Description |
|---|---|---|
T_abs | (4,4) ndarray | Absolute pose in world frame. |
T_off_world | (4,4) ndarray | Offset transform specified in world axes (dx,dy,dz in world; dR about world axes). |
reorthonormalize | bool | If True, SVD-orthonormalize the resulting rotation to fight drift. |
Returns:
| Name | Type | Description |
|---|---|---|
T_final | (4,4) ndarray | Resulting pose in world frame. |
reachy_mini.utils.interpolation.InterpolationTechnique
Enumeration of interpolation techniques.
Hardware Configuration
reachy_mini.utils.hardware_config.parser.MotorConfig
Motor configuration.
reachy_mini.utils.hardware_config.parser.SerialConfig
Serial configuration.
reachy_mini.utils.hardware_config.parser.ReachyMiniConfig
Reachy Mini configuration.
reachy_mini.utils.hardware_config.parser.parse_yaml_config
Parse the YAML configuration file and return a ReachyMiniConfig.
Rerun Visualization
reachy_mini.utils.rerun.Rerun
Rerun logging for Reachy Mini.
Methods
log_camera
Log the camera image to Rerun.
log_movements
Log the movement data to Rerun.
set_absolute_path_to_urdf
Set the absolute paths in the URDF file. Rerun cannot read the "package://" paths.
start
Start the Rerun logging thread.
stop
Stop the Rerun logging thread.
reachy_mini.utils.rerun.UrdfEntityPaths
Helper for constructing link/joint entity paths that match the native URDF logger.
Wireless Version Utilities
reachy_mini.utils.wireless_version.utils.call_logger_wrapper
Run a command asynchronously, streaming stdout and stderr to logger in real time.
Parameters:
| Name | Description |
|---|---|
command | list or tuple of command arguments (not a string) |
logger | logger object with .info and .error methods |
reachy_mini.utils.wireless_version.update.update_reachy_mini
Update reachy_mini package and restart daemon.
Parameters:
| Name | Description |
|---|---|
logger | Logger for streaming output. |
pre_release | If True, install pre-release from PyPI (ignored if git_ref set). |
git_ref | If set, install from this GitHub tag/branch instead of PyPI. |
reachy_mini.utils.wireless_version.startup_check.check_and_fix_venvs_ownership
For wireless units, check if files under venvs_path are owned by user pollen and fix if needed.
Parameters:
| Name | Description |
|---|---|
venvs_path | Path to the virtual environments directory (default: /venvs) |
custom_logger | Optional logger to use instead of the module logger |
reachy_mini.utils.wireless_version.startup_check.check_and_update_bluetooth_service
Check if bluetooth service needs updating and update if different.
Compares the source bluetooth_service.py with the installed version at /bluetooth/bluetooth_service.py. If they differ, copies the new version and restarts the bluetooth service. Also syncs the commands/ folder.
reachy_mini.utils.wireless_version.startup_check.check_and_update_wireless_launcher
Check if wireless daemon service needs updating and update if different.
Compares the source reachy-mini-daemon.service with the installed version. If they differ, copies the new version and reloads systemd.
reachy_mini.utils.wireless_version.startup_check.check_and_sync_apps_venv_sdk
Check if apps_venv SDK matches daemon install source and sync if needed.
Compares both version AND install source (PyPI vs git ref). If daemon was installed from a git ref, apps_venv will be synced to the same ref.
reachy_mini.utils.wireless_version.update_available.is_update_available
Check if an update is available for the given package.
reachy_mini.utils.wireless_version.update_available.get_pypi_version
Get the latest version of a package from PyPI.
reachy_mini.utils.wireless_version.update_available.get_local_version
Get the currently installed version of a package.
Core Utilities
reachy_mini.utils.create_head_pose
Create a homogeneous transformation matrix representing a pose in 6D space (position and orientation).
Parameters:
| Name | Type | Description |
|---|---|---|
x | float | X coordinate of the position. |
y | float | Y coordinate of the position. |
z | float | Z coordinate of the position. |
roll | float | Roll angle |
pitch | float | Pitch angle |
yaw | float | Yaw angle |
mm | bool | If True, convert position from millimeters to meters. |
degrees | bool | If True, interpret roll, pitch, and yaw as degrees; otherwise as radians. |
Returns:
np.ndarray — A 4x4 homogeneous transformation matrix representing the pose.
URDF Parsing
reachy_mini.utils.parse_urdf_for_kinematics.get_data
Generate the urdf_kinematics.json file.