AIToday

Gorai:AI向けGoロボティクスフレームワーク

Hacker News17時間前
Gorai:AI向けGoロボティクスフレームワーク

要点

Emerging Robotics が Gorai をリリースした。ロボットを分散システムとして扱い、単一の自己完結型 Go バイナリにパッケージ化するオープンソースロボティクスフレームワークで、Raspberry Pi などの Linux ボードにデプロイ可能。AI ファーストな自律性を実現し、NATS サービスディスカバリーを組み込み、キャパビリティレイヤーで安全性を強制し、コンテナや外部ブローカーを不要にする。ソフトウェア主導のチーム及び AI 実践者が数カ月ではなく数日で自律システムを出荷できるようにする。

こういう要約が、毎朝あなたのメールに届きます。

無料で登録 →

3つのポイント

  • 何が起きたか

    Emerging Robotics が Gorai をリリースした。Go で書かれたオープンソースのロボティクスプラットフォームで、ロボットを分散システムとして扱い、単一の静的バイナリとしてデプロイする。メッセージブローカーの NATS をバイナリに埋め込み、コンテナ、Kubernetes、外部サービスを必要とせずにサービスディスカバリーとコンポーネント通信を実現している。

  • なぜ重要か

    Gorai はソフトウェア主導のチーム及び AI 実践者を対象とし、深いロボティクスインフラ知識がなくても自律ロボットを構築できるようにする。AI エージェント互換のキャパビリティモデルを採用し、エージェント実行を信頼するのではなくコンポーネントレベルで安全性を強制することで、海洋監視、ドローン、陸上車両などのプロシューマーロボティクスをより身近にする。数カ月ではなく数日で本番化できる目標で、Raspberry Pi や Orange Pi への依存関係なしでのデプロイを実現する。

  • 注目点

    Gorai は ROS 2(エンタープライズ・研究用ロボティクスに対応)の補完的な位置付けで、プロシューマーとソフトウェア主導のチームをターゲットとしている。完全なドキュメントと 20 章の設計ガイドが gorai-docs リポジトリで提供されており、ビルドに Go 1.25+ が必要で、ライブロボットメッシュのデバッグ用オプション NATS CLI を含む。

詳細

Gorai は Emerging Robotics がリリースしたオープンソースのロボティクスフレームワークで、ロボットがどのようにアーキテクチャされ、デプロイされるべきかを再考している。その基本的な洞察は、「単一の」ロボットでさえ既に分散システムであること、つまりマイクロコントローラー、シングルボードコンピューター、センサー、アクチュエーターのネットワークであるため、それは分散システムのように構築・運用されるべきだということである。

プラットフォームはすべてのセンサーとアクチュエーターを NATS メッシュ上のサービスとして扱う。NATS はメッセージブローカーで、ランタイムでサービスディスカバリー、ロケーション透過性、ヘルスチェックを提供する。コンポーネントを手動で接続したり、別のメッセージブローカーインスタンスに依存する代わりに、NATS はロボットのコンパイル済みバイナリに直接埋め込まれている。つまり、ロボットを Raspberry Pi や Orange Pi にデプロイするには、単一の Go バイナリをコピーして実行するだけで良く、コンテナ、Kubernetes、外部サービスは不要。ロボット全体—そのランタイム、組み込み NATS サーバー、すべてのコンポーネント—がその単一の静的バイナリに自己完結している。

Gorai は NCP(NATS Capability Protocol)を導入している。これはセンサーを読み取り可能なリソースとして、アクチュエーターを NATS メッシュ上で呼び出し可能なツールとしてネイティブに公開する。この設計は AI エージェントが環境とどのように相互作用するかに明示的に整合している。メッシュ上のあらゆるエージェントは世界を知覚し、それに作用することができる。ただし、安全性はエージェントに委譲されるのではなく、キャパビリティノードで強制される。Gorai は AI 実行を歓迎するが信頼しないと見なし、学習型及び決定論的な意思決定(ステートマシン、ルールベースプランナー、またはエージェンティックシステム)の双方が同じキャパビリティを駆動できるようにする。

フレームワークは Go のモジュールシステムをパッケージ管理の基盤として使用し、Caddy モデルに従っている。ロボットプロジェクトは標準的な Go モジュールで、コンポーネントは main.go での blank import 経由で宣言される。各コンポーネントは init() 関数から registry.RegisterComponent() を呼び出して自身を登録する。ユーザーは `gorai component search` と `gorai component add` を使用してエコシステムコンポーネントを検出・追加できる。これは `go get` をラップして import リストを編集する。カスタムコンポーネントはロボット自身のリポジトリ内のパッケージとして存在する。このアプローチは、カスタムパッケージレジストリや承認プロセスの必要性を排除する。コンポーネントを共有することは Go モジュールを GitHub に公開することを意味し、誰でもそれを採用できる。Python ビジョンパイプライン、C++ SLAM などの非 Go コンポーネントは NATS 経由で通信する外部サービスとして実行されるが、バイナリ自体にはコンパイルされない。

gorai CLI はワークステーションで実行される開発者・オペレーター向けツールで、本番環境でロボット上では決して実行されない。`gorai validate`(デプロイ前に設定をチェック)、`gorai run`(テスト用にロボットをローカル実行)、`gorai build`(linux/arm64 などのターゲットハードウェア向けにクロスコンパイル)、`gorai mesh`(ライブ NATS メッシュを検査してサービスとスキーマを確認)などのコマンドを提供する。最初の 3 つは Go ツールチェーンをラップ・強化し、メッシュコマンドはフィールドで実行中のロボットまたはフリートを観察・デバッグする。

Gorai はプロシューマーロボティクス—自律潜水艦、水上艇、陸上ロボット、海洋監視と研究で使用—をターゲットとし、ロボティクスインフラの専門家にならずに自律システムを出荷する必要のあるソフトウェア主導のチーム及び AI/ML 実践者向けに位置付けられている。フレームワークは明示的に ROS 2(エンタープライズロボティクス研究、倉庫自動化、自動運転車の標準)の置き換えを目指していない。その代わり、異なる市場をターゲットとしている。次のチャレンジがロボットが次に何をすべきか(自律性、オーケストレーション、安全性)の決定であり、低レベルキネマティクスやミドルウェア内部ではないチーム向け。完全なドキュメント(アーキテクチャガイド、ハードウェア分析、20 章の設計書を含む)は gorai-docs リポジトリで入手可能で、AI エージェントがドキュメント内を自動で移動できるよう INDEX.md と CLAUDE.md が提供されている。ロボットの構築には Go 1.25+ が必要で、テンプレートからデプロイまで 1 時間以内で完了する。

背景と解説

ロボティクスは従来、深いインフラストラクチャ知識(ミドルウェア、シミュレーション、SLAM ライブラリ、制御アーキテクチャ)を要求してきたため、自律システムを構築するソフトウェアチーム及び AI 実践者にとって高い障壁となっていた。Gorai はこのギャップに対応するため、分散システムエンジニアリング(サービスディスカバリー、ヘルスチェック、リプレイ)の原則を採用し、それをロボティクスに適用している。Go をプラットフォーム言語として選択したのは意図的である。単一の静的バイナリにより、ランタイム依存関係の解決、バージョン競合、デプロイメントの摩擦が排除される。NATS をサービスメッシュとして組み込み、AI エージェントのキャパビリティサーフェスをネイティブな関心事とすることで、Gorai はロボティクスにおける物理 AI へのシフトを示している。自律性、知覚、タスク選択が手作業ではなく学習またはエージェンティックであるシステムへの転換。

フレームワークは明示的に ROS 2(エンタープライズ及びアカデミックロボティクスを支配)の置き換えを目指していない。その代わり、プロシューマーチーム(海洋監視、自律水上艇、陸上ロボット)及び 1 台から複数台へのスケーリングをする AI ファースト組織をターゲットとしている。このポジショニングは、ロボティクス市場が分断化していることを反映している。エンタープライズ研究ロボティクスは依然として ROS 2 のエコシステムの深さを必要とするが、次のぼ AI 駆動型自律システムは、ロボティクスインフラではなく、ソフトウェアと機械学習を主要な専門分野とするチームによって構築されるだろう。

よくある質問

Gorai を使うにはコンテナや Kubernetes を実行する必要がありますか?
いいえ。Gorai はランタイム、組み込み NATS サーバー、すべてのコンポーネントをコンパイルして単一の静的バイナリにします。Raspberry Pi のような Linux ホストにコピーして実行するだけです。コンテナ、Kubernetes、外部サービスは不要。
ロボットにコンポーネントやサードパーティライブラリを追加するにはどうしますか?
Gorai は Caddy モデルを採用しており、ロボットプロジェクトは標準的な Go モジュールです。コンポーネントは main.go でブランク import 経由で宣言します。`gorai component search` と `gorai component add` を使ってエコシステムコンポーネントを見つけて追加するか、自分のリポジトリ内に Go パッケージとしてカスタムコンポーネントを書くことができます。
Gorai は AI エージェントの安全性にどう対応していますか?
安全性はエージェントレベルではなく、キャパビリティノードレベルで強制されます。Gorai は AI 実行を歓迎しますが信頼しない設計で、同じキャパビリティサーフェスは決定論的なステートマシンやルールベースのプランナーもサポートします。

ディスカッション

まだコメントがありません。最初のコメントを投稿しましょう!

ログインして議論に参加

関連記事

AIニュースを毎日お届け

200以上のソースから厳選したAIニュースを毎日無料でお届けします。

無料で始める

登録無料・30秒で完了・いつでも解除できます

毎朝1分、AIの要点だけ。

200媒体以上・Email/LINE/Slack 対応

無料で受け取る →