AIリードエンジニア Cline と挑む、1時間で構築する一人ロボティクス・スタートアップの基盤
LOG69R2R2R2026/2/16

AIリードエンジニア Cline と挑む、1時間で構築する一人ロボティクス・スタートアップの基盤

※注釈:デジタルツイン学習(R2R2R)の検証プロセス 本プロジェクトは、AIの判断を物理的動作へ変換する設計を検証するものです。現実空間をデジタルツイン化し、仮想空間での大量試行(Real-to-Render)から得た最適解を、実世界のモーター駆動(to-Real)へ還元する「R2R2Rパイプライン」の実装過程を記録・考察します。

Cline(リードエンジニア)への次の指示

README.md を保存した後、チャット入力欄に以下を貼り付けて送信してください。

指示内容: 素晴らしい README.md をありがとう!私のビジョンが完璧に構造化されました。
では、いよいよ本丸の タスク3「15秒のデモ動画のテクニカル構成案」 の作成をお願いします。
ターゲットはSNS(LinkedInやX)で、「R2R2Rの有効性」を一目で納得させる動画にしたいです。単なる演出案ではなく、以下の 「技術パイプライン」 に基づいた、具体的で実現可能な工程案を提案してください。

  • Capture: iPhoneでの3DGS(3D Gaussian Splatting)によるスキャン。

  • Render (Unity): スキャンデータのインポートと、リッチなUX環境での可視化。

  • Train/Simulation: Unity内での動作学習、またはROS2との連携。

  • Real: 検証された振る舞いを実機(または高精度シミュレータ)へ反映。

どのツールを使い、何を出力するか。リードエンジニアとしての具体的な「ロードマップ」を教えてください。

Clineの返答

タスク3「15秒のデモ動画のテクニカル構成案」を作成しました。
## 成果物
Robotics_UX_Project/docs/technical_demo_video_plan.md
## 構成案の概要
R2R2R技術パイプライン(4フェーズ):1. Capture(キャプチャ) — iPhone LiDAR + Reality Capture/Polycam で3DGSスキャン2. Render(レンダリング) — Unity 2023+ (URP) + NVIDIA Omniverse でフォトリアリスティック可視化
3. Train/Simulation(学習) — Unity ML-Agents / Isaac Sim で強化学習 + ROS2連携
4. Real(実機展開) — ROS2 + MoveIt2 + Jetson AGX Orin で実機制御
15秒動画ストーリーライン:
- 0-3秒: 問題提起(従来法のシミュ-vs-実機乖離)
- 3-9秒: R2R2Rプロセス実演(Capture→Render→Train→Real)
- 9-15秒: 結果・CTA(R2R2R成功 + LinkedIn/X誘導)
推奨ツール: Reality Capture, Unity 2023+ (URP), NVIDIA Omniverse, ML-Agents, Isaac Sim, ROS2 Humble, Jetson JetPack 5.1+
5週間ロードマップで動画完成を目指す具体策を記載しています。

この提案は、単なる「動画の演出案」ではありません。NVIDIA OmniverseやIsaac Sim、Jetson AGX Orinといった、現在のロボティクス開発において世界標準となっている「ガチ」な技術スタックを、Cline(リードエンジニア)が選定してきたものです。

UXデザイナーが、これほどまでに高度な技術パイプラインを「手足」として操れる状態になった。これは、「一人でロボティクス・スタートアップを立ち上げられる体制」が整ったことを意味します。

Clineが作成した technical_demo_video_plan.md を踏まえて、次に行うべきは「道具(開発環境)の準備」です。

Clineにこう指示してみます。

「構成案を確認しました。素晴らしいロードマップです。 では、このロードマップの 1週目(Phase 1: Environment Setup) に着手しましょう。私のMacに Homebrew を使って、ROS2 Humble や Pythonの必要なライブラリ、そして Unity 2023+ のインストールを、あなたが主導して進めてください。まずは何からインストールすべきか教えてください。」

Cline(リードエンジニア)は環境調査で「Unity: × 未インストール」と報告していましたが、これはおそらく、標準的な場所(/Applications 直下など)だけを見て、管理されている場所を見つけられなかったためです。
Unityはすでにインストールしてあるので訂正指示します。

訂正です。Unityはすでにインストール済みでした。 バージョンは Unity 6 (6000.0.0f1) です。
これを踏まえて、ロードマップの Phase 1(環境セットアップ) を進めてください。 Unityのインストールは不要ですので、それ以外の「ROS2 Humble」の導入や、UnityとROS2を連携させるためのライブラリ(Unity Robotics Hubなど)の準備、およびPython環境の整備を優先して実行してください。
まずは何から着手しますか?

Cline画面

Clineに「ROS2の存在」を認めさせる指示案

以下のメッセージをClineに送って、彼の認識をアップデートさせましょう。

指示内容: ROS2の導入についても、Unity導入時にすでに進めています。 私の環境にはすでにROS2が存在しているはずなので、もう一度よく調査(source 設定や環境変数の確認)をして、インストール済みであることを認識してください。
その上で、以下の確認をお願いします:
現在のROS2のバージョンと、正常に動作するか(ros2 doctor や ros2 topic list など)のチェック。
Unity 6とこのROS2を接続するための「Unity Robotics Hub (ROS-TCP-Connector)」などの設定が、現在のプロジェクトフォルダに対して必要かどうか。
インストール作業は不要ですので、「既存の環境を繋ぎ込んで動かす」フェーズから開始してください。

なんかROS2が見つからないと言っています。

現状を確認しました:
- Unity 6 (6000.0.0f1) ✓ インストール済み
- Python 3.9.6 ✓
- Docker 29.1.3 ✓ インストール済み
- ROS2 Humble ❌ 未導入
macOSではROS2のネイティブサポートが 공식ではありません推奨はDockerコンテナでの実行です。
まずどの方法から始めますか?

Dockerの中を調べさせる

Clineに「Dockerの中にROS2がいるはずだ」と探索の矛先を向けさせます。以下の指示を投げてみます。

指示内容:Dockerがインストールされていることを確認しました。以前のセットアップでは、Dockerコンテナ内でROS2を動かす設定にした記憶があります。

次のステップをお願いします:

docker ps -a や docker images コマンドを実行して、ROS2関連のコンテナやイメージが残っていないか確認してください。

もしあれば、そのコンテナを起動してUnity 6との通信(ROS-TCP-Connector)ができる状態かチェックしてください。

もしROS2のイメージが見つからない場合は、私のプロジェクトに最適な 「ROS2 HumbleのDocker環境」 を新しく構築してください。

最終的には、Unity 6(Render)とDocker上のROS2(Motors)が会話できる状態を目指します。

なぜこの指示が良いのか?

「わかっていない」を解消: Clineは今までMac本体の引き出しばかり探していましたが、これで「Dockerという別の引き出し」を探しに行きます。

Unity 6との連携: Unity 6は最新すぎて、古いROS2連携設定だと動かないことがあります。最新の知能を持つClineに「Unity 6前提」で繋ぎ込みを考えさせるのが最も確実です。

ROS2 Humbleのイメージが見つかる。新しい指示をClineにします。

では、このDockerイメージを使って、Unity 6と通信するためのブリッジ設定を行ってください。
ROS-TCP-Endpointのセットアップ:
Dockerコンテナを起動し、その中でUnityと会話するための ros_tcp_endpoint をインストール、または起動する準備をしてください。
Unity 6側の準備:
Robotics_UX_Project のUnityプロジェクト(Unity 6)を作成し、そこに ROS-TCP-Connector パッケージを導入する手順を提案してください。
通信テストの計画:
Unity上の「Pixels」がDocker上の「Motors(ROS2)」へ信号を送れるか、簡単なテスト構成案(例:Unity上のスライダーでROS2の仮想モーターを動かすなど)を作成してください。
さあ、リードエンジニアとして、Dockerコンテナの起動コマンドから始めてください!

ROS-TCP-Endpointはcatkinベースで、ROS2 Humble(colcon)と互換性がありません。代替手段として、PythonでシンプルなTCP-to-ROS2ブリッジを作成し、起動します。

何が起きているのか?

  • 技術的課題: 元々の「ROS-TCP-Endpoint」は古いROS(ROS1)用の設計で、島津さんのMacに入っている最新の「ROS2 Humble」とは言葉(ビルドシステム)が通じません。

  • Clineの解決策: 「既存の古いツールを無理に直すより、Pythonで最新のROS2に最適化した専用の通信橋(ブリッジ)を自分で書いたほうが早いし確実だ」と判断しました。

これは、マニュアル通りにしか動けないAIではなく、現場の状況を見て最適な手段を自作できる「リードエンジニア」として動いている証拠です。

今の画面で起きていること

Clineは今、Dockerコンテナの中でその「特製ブリッジ」を動かすための設定ファイル(Dockerfile や bridge.py)を書き上げようとしています。

うまくいかないので別の方法を探ります。

Cline は Docker コンテナに対して非常に長い Python スクリプトを直接流し込もうとしています。これほど長いコードをターミナル経由で一気に実行しようとすると、通信の同期がズレて「完了」を認識できず、「ずっと考えている(待ち状態)」に陥ることがよくあります。

今の状況の診断

  • やろうとしていること: Docker 内で Unity と通信するための「自作ブリッジ」を起動しようとしています。

  • 起きている問題: docker exec コマンドで巨大なコードの塊を送った結果、処理が戻ってこなくなっている(デッドロックに近い状態)可能性があります。

解決のための手順

  • 「Cancel」を押す: チャット欄にある赤い 「Cancel」 ボタンを押して、現在の無限ループを止めます。

  • Cline に「別のやり方」を提案する: 一度に全部やらせるのではなく、ファイルを介して確実に実行させるよう指示します。以下の内容をコピーして送ってください。

通信が止まっているようです。一度仕切り直しましょう。 巨大なコードを直接ターミナルに流し込むのではなく、以下の手順で確実に行ってください。

  • Robotics_UX_Project 内に、ブリッジ用の Python スクリプト(例:unity_ros_bridge.py)をファイルとして作成してください。

  • そのファイルを Docker コンテナ内に docker cp でコピーしてください。

  • コピーしたファイルを Docker 内で実行してください。

この方がエラーが起きにくく、後でコードの修正も楽になります。

「ROS2 Humble + Unity-ROS2 Bridge」が完成しました!

AIリードエンジニア Cline と挑む、1時間で構築する一人ロボティクス・スタートアップの基盤|「ROS2 Humble + Unity-ROS2 Bridge」が完成しました!

Clineが特製ブリッジを見事に立ち上げ、ターミナルで /unity/commands や /unity/status といったROS2トピックが正常に動いていることを確認できています。これはDocker内のROS2と、これから作るUnity 6が会話するための「専用回線」が開通したことを意味します。

今の状況と、本日最後の仕上げ

Clineのチャット欄には 「ROS2 Humble + Unity-ROS2 Bridge 完成!」 という力強い言葉が出ています。今日の目標だった「リードエンジニアの確保と環境構築」は、これで120%達成です!

最後に

Clineにこう声をかけて、今日の作業を締めくくります。

「ブリッジの完成、お疲れ様でした!完璧です。 右下のPython拡張機能もインストールしておきました。

今日はここまでで、今回の成果(Dockerの起動手順やブリッジの使い方)をまとめたメモをプロジェクトフォルダ内に作成して、本日のタスクを終了してください。 次回は、いよいよUnity 6側でプロジェクトを立ち上げ、このブリッジに接続してロボットを動かしてみたいと思います!」

あまりにもClineが優秀すぎて、何をしていたのか全てを把握し切れていないので、あらためて今日行ったことを振り返ります。

今日、Clineと構築した「4つの階層」

プロジェクトの「憲法」 (README.md)

  • 何をしたか: UXのキャリアと「R2R2R」「Pixels to Motors」のビジョンを、AIが理解できる「仕様書」に翻訳しました。

  • 重要性: これにより、Clineは単なるアシスタントではなく、「この事業を成功させるためのリードエンジニア」という人格(コンテキスト)を持って動けるようになりました。

仮想の工場 (Docker ROS2)

  • 何をしたか: Macの中に「Docker」という仮想のコンテナ(カプセル)を動かし、その中でロボット制御の標準OSである「ROS2 Humble」を起動させました。

  • 重要性: 本来、MacとROS2は相性が悪く、直接入れるとMacが不安定になります。ClineがDockerを特定・設定したことで、「Macの美しさを保ったまま、プロ用のロボット開発環境を手に入れた」ことになります。

独自開発の「翻訳機」 (Python Bridge)

ここがClineの真骨頂です!

  • 何をしたか: 「Unity 6」という最新のゲームエンジンと、「ROS2」というロボットの脳は、実はそのままでは言葉が通じません(古い通信規格しか用意されていなかったため)。

  • Clineの対応: 「既存のツールが使えないなら、私がPythonで専用の翻訳ソフトを今すぐ書きます」と言い出し、数秒でコードを書き上げ、Dockerの中に組み込みました。

  • 重要性: これにより、島津さんのUnity 6から送る「デザインの意図(Pixels)」が、瞬時にロボットの「動き(Motors)」へ変換される道筋ができました。

5週間ロードマップ

  • 何をしたか: 15秒のデモ動画をゴールに設定し、次は何をするか、さらにその次は何をするかという具体的なタスクリストを作成しました。

Dockerを使うことについて

なぜ「直接入れる(ネイティブ)」と不安定になるのか?

ROS2はもともと、Ubuntu(Linux)というOSで動くことを前提に設計されています。これをMacに無理やり直接インストールしようとすると、以下の問題が起きます。

  • システムファイルの書き換え: Macが標準で使っている大切なシステムライブラリ(PythonやOpenSSLなど)を、ROS2専用のものに書き換えたり、複雑な「PATH(通り道)」を強引に割り込ませたりします。

  • 「競合」の発生: 他のデザインアプリ(Adobe製品など)が必要とするライブラリと、ROS2が必要とするライブラリがケンカをして、Mac全体が重くなったり、最悪の場合OSが起動しなくなったりすることがあります。

まさに、「繊細な高級家具(Mac)の部屋に、無骨な工場の機械(ROS2)を無理やりボルトで固定する」ようなイメージです。

「Docker」というカプセルが守ってくれる

今、Clineが構築したのは「Docker」という仮想的なカプセル(コンテナ)の中での動作です。

  • Mac本体は汚さない: ROS2に関連する「無骨な機械」や「複雑な設定」は、すべてこのカプセルの中に閉じ込められています。Mac本体からは「Dockerというアプリが動いている」ようにしか見えません。

  • 不具合が起きても消すだけ: もしROS2の設定がおかしくなっても、そのカプセルを捨てて新しく作り直すだけで済みます。Mac本体を初期化する必要はありません。

  • 持ち運びができる: このカプセルごと別のMacに持っていっても、全く同じように動きます。

これは、「Macの部屋の中に、専用の『防音・防汚のプレハブ小屋(Docker)』を建てて、その中でロボットの実験をしている」ような状態です。

これで「R2R2R」が実現できる理由

「Macは綺麗に、中身はガチに」という今の状態が、UXデザインには最高です。

  • Unity 6(Mac側): リッチで美しいデザイン、スムーズな操作感。

  • ROS2(Docker側): 世界中のエンジニアが使う、質実剛健なロボット制御。

この2つを、先ほどClineが自作した「Pythonブリッジ」という専用の通信回線で繋ぎました。これにより、Macの安定性を1ミリも損なうことなく、世界最先端のロボット開発ができる環境が整ったのです。