ヒューマノイドロボットの頭部を使った開発:XiaolingのROS 2とJINSANのAndroid
研究用プロトタイプや独自のAI対話システムを開発する際は、ロボットの外観だけでなく、ソフトウェアインターフェースも重要です。XiaolingとJINSAN Aシリーズの頭部では開発方法が異なります。Xiaolingの提供資料はROS 2を、JINSAN Aシリーズの開発資料はAndroidとJavaによるハードウェア制御アプリを説明しています。
この記事では、それぞれの開発方法を比較し、独自の言語モデルとの連携や、具体的なプロジェクト要件の整理を支援します。利用できるインターフェースと納品内容は、型番、ハードウェア・ソフトウェアのバージョン、合意した開発範囲によって異なります。
XiaolingのROS 2とJINSANのAndroid:開発上の違い
使用するソフトウェア環境と実現したい対話に基づいてプラットフォームを選び、対象機器に対応するインターフェース一式を確認してください。
| 項目 | Xiaoling | JINSAN Aシリーズ |
|---|---|---|
| 資料に記載された環境 | 提供されたS100ハンドブックにはROS 2 HumbleとPython 3.10が記載されています。 | 提供されたハードウェア制御資料には、Javaのサンプルを用いたAndroidアプリ開発が記載されています。 |
| 連携方法 | ROS 2ノードはトピックとサービスを介して通信します。ハンドブックには対話、音声、頭部、センサーのインターフェースが記載されています。 | 提供サンプルをAndroidプロジェクトに組み込み、ハードウェア制御インターフェースを呼び出して、対応機器用のAPKをビルドします。 |
| 活用例 | 対話フローを研究する、または資料に記載されたROSインターフェースにアプリを接続します。 | サポートされる表情や頭部の動きを対話ロジックに合わせるAndroidアプリを開発します。 |
| 事前に確認する項目 | ロボットの型番、稼働中のソフトウェア、ROS環境、利用可能なインターフェース、SDKのサポート範囲。 | 基板と機器のバージョン、Android環境、対応するデモ一式、署名方法、承認済みの動作制限。 |
両システムがSDKを共有する、あるいはコマンドを相互に使えるという意味ではありません。JINSANをROS 2に連携するには、範囲を定めた別途のブリッジ開発が必要です。提供資料からは、既存のROS 2ドライバーの存在は確認できません。
Xiaoling:ROS 2 Humbleを中心とした開発
提供されたXiaoling S100ハンドブックは、対話、動作、周辺機器、運用に関する階層構造を説明しています。ROS 2インターフェースを活用することで、プロジェクトを状態を確認できる複数の構成要素に分けて検証できます。
- 対話:テキスト入力、セッションの開始・終了、対話状態、テキスト結果の各インターフェースが記載されています。
- 音声:対話音声の再生、中断、スピーカー状態のインターフェースが説明されています。
- 頭部とセンサー:上位レベルの姿勢・口の動作コマンド、診断情報、一部の周辺機器イベントが説明されています。利用可否と権限は実際の構成によって異なります。
例えば研究チームは、対話状態の監視と許可されたテキスト対話のテストから始め、その後に独自モデルと音声処理の仕組みを検討できます。各インターフェースを利用する前に、機器で稼働中のソフトウェアとメッセージ定義を確認してください。メッセージを配信できても、ロボットが処理または発話したことにはなりません。
Xiaoling半身ロボットを見る。プロジェクトに適した開発構成についてお問い合わせください。
JINSAN Aシリーズ:AndroidとJavaによる開発
提供されたAシリーズ資料には、Androidハードウェア制御のデモプロジェクトと、3399版・3566版それぞれの文書が含まれます。サンプルファイルをアプリのプロジェクトに組み込み、デモのインターフェースを呼び出してAPKをビルドする方法が説明されています。3399版の手順にはAPK署名も記載されています。各バージョンに互換性があると決めつけず、対象機器に合ったパッケージと署名手順を入手してください。
サンプル資料には、まぶた、眼球、頬、口、首などのサーボ制御が説明されています。動作範囲、速度、キャリブレーションは対象の頭部ごとに確認してください。まずメーカーが承認したデモを使用し、操作担当者とインテグレーション担当者が制限を確認するまでは、直接の動作コマンドを避けてください。署名ファイルや認証情報を公開リポジトリに置かないでください。
部品から完成した顔へ
提供された製作映像には、頭部の部品、組み立て、顔の仕上げの例が映っています。実際の構造、外観、インターフェースは選択した構成によって異なります。
提供された作業現場の映像では、開発用ワークステーションの横で組み立て済みの頭部機構を扱っています。機械構造や操作できる機能は頭部のバージョンによって異なります。特定のインターフェースを前提に設計する前に、対応する開発パッケージをご確認ください。
内部部品の組み立て後、外側の顔と仕上げによって完成時の外観が整います。外観や製作工程は頭部によって異なるため、希望する外観と物理的な互換性についてWarmcoreにご相談ください。
JINSAN AIヘッドを見るまたはAシリーズの頭部オプションを見る。ご注文前にAシリーズの開発パッケージと互換性をご確認ください。
独自の大規模言語モデル(LLM)を接続できますか?
どちらのプラットフォームも独自のAI対話プロジェクトの候補になりますが、連携作業は異なります。一般的には、音声入力、モデル推論、音声出力、ロボット制御を分離して設計します。モデルを別のコンピューターやサービスで実行する方法もありますが、実際の構成はハードウェア、ソフトウェア、プロジェクト要件によって異なります。
- Xiaoling:ハンドブックでは、外部ROS 2インターフェースを維持したまま対話機能の実装を置き換える方法が検討されています。対象ロボットに合わせて、置き換え機能、音声経路、セッション処理、復旧処理を開発・テストする必要があります。
- JINSAN Aシリーズ:提供ファイルはAndroidによるハードウェア制御を示しています。LLM、音声認識、音声合成との連携には追加のアプリ開発が必要で、これらのデモファイルだけでは対応を確認できません。
これらは連携方法の例であり、特定のモデル提供元、ローカルモデル、マイク入力経路、機能が購入後すぐに使えるという保証ではありません。動作コマンドは承認された範囲に収め、外部サービスに接続する前にネットワークアクセスとプライバシーの扱いを取り決めてください。
研究チームが最初に取り組む実践的なプロジェクト
- 対話を一つ定義する。例えば、質問を受けて音声で回答し、利用可能であれば承認済みの頭部または表情の動作を一つ加えます。
- プラットフォームを確認する。その対話に必要な型番、基板、ソフトウェアのバージョン、開発環境、インターフェースを記録します。
- 対応する提供サンプルを実行する。モデルや独自アプリを追加する前に、操作担当者と確認済みの基準状態を作ります。
- 構成要素を一つずつ追加する。テキスト、音声、承認済みの動作を個別にテストし、機器で実際に確認できた結果を記録します。
- 中断と復旧をテストする。アプリが停止した場合、サービスを利用できない場合、接続が切れた場合の動作を取り決めます。
サプライヤーの提供範囲と自社エンジニアが開発する範囲の整理については、ロボットSDKとカスタム開発のガイドをご覧ください。また、プラットフォームの機能を確認し、プロジェクトに適した構成をご相談ください。
開発者向けFAQ
Xiaolingのすべての構成がROS 2 Humbleですか?
提供されたS100ハンドブックにはROS 2 Humbleが記載されています。使用予定の型番と機器に対応するソフトウェア環境およびインターフェース一式をご確認ください。
Xiaoling Python SDKは本番環境に対応していますか?
現在のリポジトリでは、実機未検証の開発者プレビューと説明されています。導入を計画する前に、最新のサポート対象リリースと実機検証の状況をお問い合わせください。
JINSAN Aシリーズは同じROS 2インターフェースを使用しますか?
提供されたAシリーズ資料はAndroidとJavaによるハードウェア制御のサンプルを説明しています。XiaolingとROS 2インターフェースを共有することは確認されていません。
エンジニアはすべての動作やセンサーを制御できますか?
必ずしもそうではありません。アクセス権、ハードウェア機能、安全上の制限、フィードバックは、型番、ソフトウェア、合意した権限によって異なります。インテグレーション担当者にご確認ください。
ロボット開発プロジェクトのご相談
ご関心のあるプラットフォーム、研究・アプリケーションの目的、希望するAIとソフトウェア構成、必要な入力と動作、プロジェクトの日程をお聞かせください。適合するハードウェア構成、提供可能な開発資料、インテグレーションの範囲をご相談いただけます。