iPhoneで小鉢をスキャン。ロボットアームが押して倒すまでの全記録
LOG81R2R2R2026/3/7

iPhoneで小鉢をスキャン。ロボットアームが押して倒すまでの全記録

「iPhoneで撮影したものが、そのままロボットの訓練データになる」——これがR2R2Rの核心です。今回は工房で小鉢(kobachi)をiPhoneスキャンし、Unityのデジタルツイン空間にインポートして、実際にロボットアームが物体に触れるところまでを一気に試しました。半日で「現実→デジタル→インタラクション」の全サイクルが回ったその記録を、ビジネスとテクノロジーの両面からお届けします。

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

そもそもR2R2Rとは何か

R2R2Rとは「Real-to-Render-to-Real」の略です。現実の物体や空間をスキャンしてデジタル空間に再現(Render)し、そこで学習・シミュレーションした結果を再び現実のハードウェアに適用するワークフローを指します。

このアプローチの最大のメリットはコストと安全性です。

  • ロボットの動作訓練を現実で行うと、装置の破損リスクや人的コストが発生する

  • デジタル空間なら何千回でも無料で失敗できる

  • 現実のデータを使うため、シミュレーションと現実のギャップ(Sim-to-Real Gap)が小さい

今回のテストはその第一歩——「身近な日用品をスキャンして、ロボットの訓練環境に組み込む」という試みです。

使ったツールと全体ワークフロー

  • 撮影・スキャン: Luma 3D(iPhone)— 無料のフォトグラメトリアプリ

  • エクスポート: OBJ形式(mesh.obj + mesh.mtl + テクスチャ19枚)

  • 3D環境: Unity 2022 LTS

  • ロボット: URDF形式ロボットアーム(既存プロジェクト)

ワークフロー全体像:

【Real】iPhoneスキャン
    ↓
【Render】Unityインポート → 物理シミュレーション  ← 今回ここまで完走
    ↓
【Real】ハードウェア展開  ← 次フェーズ

Luma 3Dでのスキャンと注意点

Luma 3Dは無料のiOSアプリで、動画を撮影するだけでフォトグラメトリ処理を行いOBJ/GLBでエクスポートできます。

スキャン品質を上げる4つのコツ

  1. ターンテーブルのように側面を一周

  2. 斜め上から内側を一周

  3. 裏返して底面を一周(これをやらないと底が抜ける)

  4. 照明は拡散光が理想(曇りの日の窓際など)

今回の反省: 底面の撮影が不十分だったため、メッシュに穴が開いた状態でした。R2R2Rのワークフロー確認テストとしては十分でしたが、本番データとして使うには再スキャンが必要です。

UnityへのOBJインポート手順

Luma 3DのOBJエクスポートは mesh.obj + mesh.mtl + テクスチャPNG(今回は19枚)という構成になります。

フォルダ構成

Assets/
└── Kobachi/
    ├── mesh.obj
    ├── mesh.mtl
    ├── mesh_material0000_map_Kd.png
    ├── mesh_material0001_map_Kd.png
    └── ...(0018まで全部同じ階層)

インポート手順

  1. Kobachi/ フォルダを作成し、全ファイルを同じ階層に配置(サブフォルダ不可)

  2. KobachiフォルダをUnityのProjectウィンドウにドラッグ&ドロップ

  3. mesh.obj を選択 → Inspector → Scale Factor確認(Convert Unitsがオンなら1でOK)

  4. SceneビューにドラッグしてGameObjectとして配置

ハマりポイント3つ

問題

原因

対処

テクスチャが表示されない

サブフォルダに分けた

全ファイルを同じ階層に

物理エラーが出る

Non-convex MeshCollider + Rigidbody

MeshCollider の Convex をオン

200万ポリゴン警告

Luma 3Dの高解像度出力

テストは許容、本番前にBlenderでDecimate

物理シミュレーション:ロボットアームが小鉢を押した

今回使用したロボットアームはURDF形式で既にCollisionが設定済み。小鉢側に以下を追加してPlayしました。

  • MeshCollider(Convex: オン)

  • Rigidbody(Mass: 0.3、Use Gravity: オン)

結果——ロボットアームが動いて小鉢に接触し、押し倒すことに成功。

今回確認できたこと

  • Luma 3Dスキャンメッシュのコリジョンが正常に機能する ✅

  • ロボットアームとスキャンオブジェクトが物理的に干渉できる ✅

  • iPhoneで撮影した実物が、数時間でデジタルツイン空間の「操作対象物」になる ✅

ビジネス視点:R2R2Rが変えること

今回のテストは技術的な確認にとどまりますが、ビジネス的な含意は大きいです。

  • 製造業: 現場の部品や治具をスキャンするだけで、ロボット訓練データが生成できる

  • 飲食・小売: 商品をスキャンしてロボットのピッキング訓練に使える

  • 医療・介護: 患者環境をスキャンして、アシストロボットの動作をシミュレーションできる

特別なスキャン機材もプログラミング知識も不要。iPhoneと無料アプリがあれば、誰でもR2R2Rの入口に立てる——これが今回最も確認できたことです。

次のステップ

  1. 底面を含む高品質な再スキャン(Luma 3D撮影手順の改善)

  2. グリッパー/ハンドの追加(掴む動作のテスト)

  3. ポリゴン削減(Blender Decimateで50万以下に)

  4. ROS2との連携(シミュレーション → 実機への橋渡し)

R2R2Rは「デジタルツインを作ること」が目的ではなく、「現実の作業をもっとうまく、もっと安く、もっと安全にすること」が目的です。工房で撮影した一枚の小鉢から、その可能性の入口が見えてきました。