デーモン
コアデーモンクラス
reachy_mini.daemon.daemon.Daemon
シミュレーションまたは実機の Reachy Mini ロボット用デーモン。
適切なバックエンド(シミュレーション用の Mujoco または実機用の RobotBackend)でサーバーを実行します。
メソッド
restart
Reachy Mini デーモンを再起動します。
パラメータ:
| Name | Type | Description |
|---|---|---|
sim | bool | True の場合、Mujoco を使用したシミュレーションモードで実行します。デフォルトは None(前回の値を使用)。 |
mockup_sim | bool | True の場合、軽量シミュレーションモード(MuJoCo なし)で実行します。デフォルトは None(前回の値を使用)。 |
serialport | str | 実機モーター用のシリアルポート。デフォルトは None(前回の値を使用)。 |
scene | str | シミュレーションモードで読み込むシーン名("empty" または "minimal")。デフォルトは None(前回の値を使用)。 |
headless | bool | True の場合、Mujoco をヘッドレスモード(GUI なし)で実行します。デフォルトは None(前回の値を使用)。 |
use_audio | bool | True の場合、オーディオを有効にします。デフォルトは None(前回の値を使用)。 |
localhost_only | bool | True の場合、サーバーを localhost のクライアントのみに制限します。デフォルトは None(前回の値を使用)。 |
wake_up_on_start | bool | True の場合、起動時に Reachy Mini を起こします。デフォルトは None(起こさない)。 |
goto_sleep_on_stop | bool | True の場合、停止時に Reachy Mini をスリープさせます。デフォルトは None(スリープさせない)。 |
戻り値:
| Type | Description |
|---|---|
DaemonState | 再起動を試行した後のデーモンの現在の状態。 |
run4ever
Reachy Mini デーモンを無期限に実行します。
最初にデーモンを起動し、その後ステータスを継続的に確認し、ユーザー割り込み(Ctrl+C)によるグレースフルシャットダウンを可能にします。
パラメータ:
| Name | Type | Description |
|---|---|---|
sim | bool | True の場合、Mujoco を使用したシミュレーションモードで実行します。デフォルトは False。 |
mockup_sim | bool | True の場合、軽量シミュレーションモード(MuJoCo なし)で実行します。デフォルトは False。 |
serialport | str | 実機モーター用のシリアルポート。デフォルトは "auto" で、自動的にポート検出を試みます。 |
scene | str | シミュレーションモードで読み込むシーン名("empty" または "minimal")。デフォルトは "empty"。 |
localhost_only | bool | True の場合、サーバーを localhost のクライアントのみに制限します。デフォルトは True。 |
wake_up_on_start | bool | True の場合、起動時に Reachy Mini を起こします。デフォルトは True。 |
goto_sleep_on_stop | bool | True の場合、停止時に Reachy Mini をスリープさせます。デフォルトは True。 |
check_collision | bool | True の場合、衝突判定を有効にします。デフォルトは False。 |
kinematics_engine | str | 使用する運動学エンジン。デフォルトは "AnalyticalKinematics"。 |
headless | bool | True の場合、Mujoco をヘッドレスモード(GUI なし)で実行します。デフォルトは False。 |
use_audio | bool | True の場合、オーディオを有効にします。デフォルトは True。 |
start
Reachy Mini デーモンを起動します。
パラメータ:
| Name | Type | Description |
|---|---|---|
sim | bool | True の場合、Mujoco を使用したシミュレーションモードで実行します。デフォルトは False。 |
mockup_sim | bool | True の場合、軽量シミュレーションモード(MuJoCo なし)で実行します。デフォルトは False。 |
serialport | str | 実機モーター用のシリアルポート。デフォルトは "auto" で、自動的にポート検出を試みます。 |
scene | str | シミュレーションモードで読み込むシーン名("empty" または "minimal")。デフォルトは "empty"。 |
localhost_only | bool | True の場合、サーバーを localhost のクライアントのみに制限します。デフォルトは True。 |
wake_up_on_start | bool | True の場合、起動時に Reachy Mini を起こします。デフォルトは True。 |
check_collision | bool | True の場合、衝突判定を有効にします。デフォルトは False。 |
kinematics_engine | str | 使用する運動学エンジン。デフォルトは "AnalyticalKinematics"。 |
headless | bool | True の場合、Mujoco をヘッドレスモード(GUI なし)で実行します。デフォルトは False。 |
use_audio | bool | True の場合、オーディオを有効にします。デフォルトは True。 |
hardware_config_filepath | str | None | ハードウェア構成 YAML ファイルへのパス。デフォルトは None。 |
戻り値:
| Type | Description |
|---|---|
DaemonState | 起動を試行した後のデーモンの現在の状態。 |
status
Reachy Mini デーモンの現在のステータスを取得します。
stop
Reachy Mini デーモンを停止します。
パラメータ:
| Name | Type | Description |
|---|---|---|
goto_sleep_on_stop | bool | True の場合、停止時に Reachy Mini をスリープさせます。デフォルトは True。 |
戻り値:
| Type | Description |
|---|---|
DaemonState | 停止を試行した後のデーモンの現在の状態。 |
reachy_mini.daemon.daemon.DaemonState
Reachy Mini デーモンの状態を表す Enum。
reachy_mini.daemon.daemon.DaemonStatus
Reachy Mini デーモンのステータスを表す Dataclass。
バックエンドクラス
抽象バックエンド
reachy_mini.daemon.backend.abstract.MotorControlMode
モーター制御モード用の Enum。
ロボットバックエンド
reachy_mini.daemon.backend.robot.RobotBackend
Reachy Mini 用の実機ロボットバックエンド。
メソッド
close
モーターコントローラとの接続を閉じ、リソースを解放します。
compensate_head_gravity
重力を補償するために必要な電流を計算します。
disable_motors
トルクをオフにしてモーターを無効化します。
enable_motors
トルクをオンにしてモーターを有効化します。
get_all_joint_positions
ロボットの現在の関節位置を取得します。
戻り値:
| Type | Description |
|---|---|
tuple | 2 つのリストを含むタプル。1 つ目のリストは頭部の関節位置、2 つ目のリストはアンテナの関節位置です。 |
get_imu_data
現在の IMU データ(加速度計、ジャイロスコープ、クォータニオン、温度)を取得します。
戻り値:
| Type | Description |
|---|---|
dict | None | 'accelerometer'、'gyroscope'、'quaternion'、'temperature' キーを持つ dict、または IMU が利用できない場合は None。 |
get_present_antenna_joint_positions
アンテナの現在の関節位置を取得します。
戻り値:
| Type | Description |
|---|---|
list | アンテナの関節位置のリスト。 |
get_present_head_joint_positions
頭部の現在の関節位置を取得します。
戻り値:
| Type | Description |
|---|---|
list | 体の回転を含む、頭部の関節位置のリスト。 |
get_status
ロボットバックエンドの現在のステータスを取得します。
read_hardware_errors
モーターコントローラからハードウェアエラーを読み取ります。
run
ロボットバックエンドの制御ループを実行します。
このメソッドは、指定された周波数でモーターコントローラを継続的に更新します。関節位置を読み取り、モーターコントローラを更新し、関節位置をパブリッシュします。また、モーターコントローラが応答しない場合のエラー処理とリトライも行います。
set_antennas_operation_mode
アンテナモーターの動作モードを変更します。
このメソッドは現在の feetech モーターではうまく動作しません。これらはトルク制御をサポートしていないためです。そのため、このメソッドはトルク制御モードではアンテナを無効化します。
パラメータ:
| Name | Type | Description |
|---|---|---|
mode | int | アンテナモーターの動作モード(0: トルク制御、3: 位置制御、5: 電流ベース位置制御)。 |
set_head_operation_mode
ヘッドモーターの動作モードを変更します。
動作モードは次のとおりです:
- 0: トルク制御
- 3: 位置制御
- 5: 電流ベース位置制御
このメソッドは、現在のfeetechモーター(ボディ回転)ではトルク制御をサポートしていないため、うまく動作しません。そのため、このメソッドはトルク制御モードのときにアンテナを無効にします。ヘッドに使用されているdynamixelモーターはトルク制御をサポートしているため、このメソッドは期待どおりに動作します。
パラメータ:
| Name | Type | Description |
|---|---|---|
mode | int | ヘッドモーターの動作モード。 |
set_motor_torque_ids
特定のモーター名に対してトルク状態を設定します。
パラメータ:
| Name | Type | Description |
|---|---|---|
ids | list[int] | トルク状態を設定するモーターIDのリスト。 |
on | bool | トルクを有効にする場合はTrue、無効にする場合はFalse。 |
reachy_mini.daemon.backend.robot.RobotBackendStatus
Robot Backendのステータス。
MuJoCo Backend
reachy_mini.daemon.backend.mujoco.MujocoMockupBackend
MuJoCoがインストールされていない場合にインポートエラーを回避するためのモックアップクラス。
reachy_mini.daemon.backend.mujoco.MujocoMockupBackendStatus
MuJoCoがインストールされていない場合にインポートエラーを回避するためのモックアップクラス。
モックアップシミュレーションBackend
reachy_mini.daemon.backend.mockup_sim.MockupSimBackend
MuJoCoなしで動作する軽量なReachy Miniシミュレーション。
このバックエンドは、物理シミュレーションを行わずに目標位置が即座に適用されるシンプルなシミュレーションを提供します。アプリはウェブカメラ/マイクに直接アクセスします(UDPストリーミング経由ではありません)。
メソッド
get_present_antenna_joint_positions
アンテナの現在の関節位置を取得します。
get_present_head_joint_positions
ヘッドの現在の関節位置を取得します。
get_status
バックエンドのステータスを取得します。
run
シミュレーションループを実行します。
mockup-simモードでは、目標位置は即座に適用されます。
set_motor_torque_ids
特定のモーター名に対してモータートルク状態を設定します。
mockup-simモードでは何もしません。
reachy_mini.daemon.backend.mockup_sim.MockupSimBackendStatus
MockupSimバックエンドのステータス。
Daemonユーティリティ
reachy_mini.daemon.utils.convert_enum_to_dict
Enumを含むデータクラスを、Enumの値を持つ辞書に変換します。
reachy_mini.daemon.utils.find_serial_port
VIDとPID、またはワイヤレス版用のRaspberry Pi UARTに基づいてReachy Miniのシリアルポートを検索します。
パラメータ:
| Name | Type | Description |
|---|---|---|
wireless_version | bool | Raspberry Pi UARTを使用してワイヤレス版を探すかどうか。 |
vid | str | デバイスのベンダーID(例: "1a86")。 |
pid | str | デバイスのプロダクトID(例: "55d3")。 |
pi_uart | str | Raspberry Pi UARTデバイスへのパス(例: "/dev/ttyAMA3")。 |
reachy_mini.daemon.utils.get_ip_address
特定のネットワークインターフェース(LinuxおよびWindows)のIPアドレスを取得します。
アプリ
モデル
reachy_mini.daemon.app.models.Matrix4x4Pose
4x4変換行列によって3Dポーズを表します(並進はメートル単位で表現されます)。
reachy_mini.daemon.app.models.XYZRPYPose
位置(x, y, z、メートル単位)と姿勢(roll, pitch, yaw、ラジアン単位の角度)を用いて3Dポーズを表します。
reachy_mini.daemon.app.models.FullBodyTarget
ヘッドポーズとアンテナの関節を含む全身を表します。
reachy_mini.daemon.app.models.DoAInfo
マイクアレイからの到来方向(Direction of Arrival)情報。
reachy_mini.daemon.app.models.FullState
すべての関節位置とポーズを含むロボットの完全な状態を表します。
依存関係
reachy_mini.daemon.app.dependencies.get_daemon
リクエスト依存関係としてdaemonを取得します。
reachy_mini.daemon.app.dependencies.get_backend
リクエスト依存関係としてバックエンドを取得します。
reachy_mini.daemon.app.dependencies.get_app_manager
リクエスト依存関係としてアプリマネージャーを取得します。
reachy_mini.daemon.app.dependencies.ws_get_backend
WebSocket依存関係としてバックエンドを取得します。
ジョブ
reachy_mini.daemon.app.bg_job_register.JobStatus
ジョブステータス用のEnum。
reachy_mini.daemon.app.bg_job_register.JobInfo
インストールジョブのステータス用Pydanticモデル。
reachy_mini.daemon.app.bg_job_register.JobHandler
バックグラウンドジョブのハンドラー。
reachy_mini.daemon.app.bg_job_register.run_command
バックグラウンドジョブを開始し、カスタムロガーを使用して、そのjob_idを返します。
reachy_mini.daemon.app.bg_job_register.get_info
IDによってジョブの情報を取得します。
reachy_mini.daemon.app.bg_job_register.ws_poll_info
ジョブログをリアルタイムでストリーミングするWebSocketエンドポイント。
メインアプリケーション
reachy_mini.daemon.app.main.Args
Reachy Mini daemonを構成するための引数。
reachy_mini.daemon.app.main.create_app
FastAPIアプリケーションを作成して構成します。
reachy_mini.daemon.app.main.run_app
FastAPIアプリをUvicornで実行します。
reachy_mini.daemon.app.main
FastAPIアプリをUvicornで実行します。
アプリルーター
Daemonルーター
reachy_mini.daemon.app.routers.daemon.start_daemon
daemonを起動します。
reachy_mini.daemon.app.routers.daemon.stop_daemon
必要に応じてロボットをスリープ状態にしてdaemonを停止します。
reachy_mini.daemon.app.routers.daemon.restart_daemon
デーモンを再起動します。
reachy_mini.daemon.app.routers.daemon.get_daemon_status
デーモンの現在のステータスを取得します。
State Router
reachy_mini.daemon.app.routers.state.get_head_pose
現在のヘッドポーズを取得します。
パラメータ:
| 名前 | 型 | 説明 |
|---|---|---|
use_pose_matrix | bool | ポーズを行列表現(4x4 をフラット化)で使用するか、並進 + オイラー角表現(x, y, z, roll, pitch, yaw)で使用するかを指定します。 |
backend | Backend | backend インスタンス。 |
戻り値:
| 型 | 説明 |
|---|---|
AnyPose | 現在のヘッドポーズ。 |
reachy_mini.daemon.app.routers.state.get_body_yaw
現在のボディヨー角(ラジアン)を取得します。
reachy_mini.daemon.app.routers.state.get_antenna_joint_positions
現在のアンテナ関節位置(ラジアン)(left, right)を取得します。
reachy_mini.daemon.app.routers.state.get_doa
マイクアレイからの到来方向(Direction of Arrival)を取得します。
角度をラジアンで返します(0=left、π/2=front、π=right)および音声検出ステータスを返します。オーディオデバイスが利用できない場合は None を返します。
reachy_mini.daemon.app.routers.state.get_full_state
オプションフィールドを含むロボットの完全な状態を取得します。
reachy_mini.daemon.app.routers.state.ws_full_state
ロボットの完全な状態をストリーミングするための WebSocket エンドポイント。
Motors Router
reachy_mini.daemon.app.routers.motors.get_motor_status
モーターの現在のステータスを取得します。
reachy_mini.daemon.app.routers.motors.set_motor_mode
モーターの制御モードを設定します。
Move Router
reachy_mini.daemon.app.routers.move.get_running_moves
現在実行中の move タスクの一覧を取得します。
reachy_mini.daemon.app.routers.move.goto
特定のターゲットへの移動を要求します。
reachy_mini.daemon.app.routers.move.play_wake_up
ロボットに wake up を実行するよう要求します。
reachy_mini.daemon.app.routers.move.play_goto_sleep
ロボットに sleep 状態へ移行するよう要求します。
reachy_mini.daemon.app.routers.move.list_recorded_move_dataset
データセット内で利用可能な recorded move の一覧を取得します。
reachy_mini.daemon.app.routers.move.play_recorded_move_dataset
データセットから事前定義された recorded move を再生するようロボットに要求します。
reachy_mini.daemon.app.routers.move.stop_move
実行中の move タスクを停止します。
reachy_mini.daemon.app.routers.move.set_target
単一の FullBodyTarget を設定するための POST ルート。
reachy_mini.daemon.app.routers.move.ws_move_updates
move の更新をストリーミングするための WebSocket ルート。
Apps Router
reachy_mini.daemon.app.routers.apps.list_available_apps
利用可能なアプリ(未インストールを含む)の一覧を取得します。
reachy_mini.daemon.app.routers.apps.list_all_available_apps
すべての利用可能なアプリ(未インストールを含む)の一覧を取得します。
reachy_mini.daemon.app.routers.apps.install_app
アプリ情報に基づいて新しいアプリをインストールします(バックグラウンドで実行され、job_id を返します)。
reachy_mini.daemon.app.routers.apps.remove_app
名前を指定してインストール済みアプリを削除します(バックグラウンドで実行され、job_id を返します)。
reachy_mini.daemon.app.routers.apps.job_status
ジョブのステータス/ログを取得します。
reachy_mini.daemon.app.routers.apps.ws_apps_manager
ジョブのライブステータス/ログをストリーミングするための WebSocket ルートで、新しいログが利用可能になり次第更新を送信します。
reachy_mini.daemon.app.routers.apps.start_app
名前を指定してアプリを起動します。
reachy_mini.daemon.app.routers.apps.restart_app
現在実行中のアプリを再起動します。
reachy_mini.daemon.app.routers.apps.stop_app
現在実行中のアプリを停止します。
reachy_mini.daemon.app.routers.apps.current_app_status
現在実行中のアプリがあれば、そのステータスを取得します。
reachy_mini.daemon.app.routers.apps.install_private_space
プライベートな HuggingFace space をインストールします。
事前に HF トークンを /api/hf-auth/save-token 経由で保存しておく必要があります。
Update Router
reachy_mini.daemon.app.routers.update.available
Reachy Mini Wireless 用のアップデートが利用可能かどうかを確認します。
reachy_mini.daemon.app.routers.update.start_update
Reachy Mini Wireless バージョンのアップデート処理を開始します。
reachy_mini.daemon.app.routers.update.get_update_info
アップデートジョブの情報を取得します。
reachy_mini.daemon.app.routers.update.websocket_logs
アップデートログをリアルタイムでストリーミングするための WebSocket エンドポイント。
Cache Router
reachy_mini.daemon.app.routers.cache.clear_huggingface_cache
HuggingFace のキャッシュディレクトリをクリアします。
reachy_mini.daemon.app.routers.cache.reset_apps
アプリケーションの仮想環境ディレクトリを削除します。
Kinematics Router
reachy_mini.daemon.app.routers.kinematics.get_kinematics_info
現在の運動学情報を取得します。
reachy_mini.daemon.app.routers.kinematics.get_urdf
ロボットの URDF 表現を取得します。
reachy_mini.daemon.app.routers.kinematics.get_stl_file
STL アセットファイルへのパスを取得します。
Volume Router
reachy_mini.daemon.app.routers.volume.get_volume
現在の出力ボリュームレベルを取得します。
reachy_mini.daemon.app.routers.volume.set_volume
出力音量レベルを設定し、テストサウンドを再生します。
reachy_mini.daemon.app.routers.volume.play_test_sound
テストサウンドを再生します。
reachy_mini.daemon.app.routers.volume.get_microphone_volume
現在のマイク入力音量レベルを取得します。
reachy_mini.daemon.app.routers.volume.set_microphone_volume
マイク入力音量レベルを設定します。
ログルーター
reachy_mini.daemon.app.routers.logs.websocket_daemon_logs
reachy-mini-daemon サービスの journalctl ログをリアルタイムでストリーミングする WebSocket エンドポイントです。
HF 認証ルーター
reachy_mini.daemon.app.routers.hf_auth.save_token
検証後に HuggingFace トークンを保存します。
reachy_mini.daemon.app.routers.hf_auth.get_auth_status
ユーザーが HuggingFace で認証されているかどうかを確認します。
reachy_mini.daemon.app.routers.hf_auth.delete_token
保存されている HuggingFace トークンを削除します。