<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>データスキーマ on Physical AI Hub</title>
    <link>https://physicalaihub.net/tags/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%9E/</link>
    <description>Recent content in データスキーマ on Physical AI Hub</description>
    <generator>Hugo</generator>
    <language>ja-jp</language>
    <lastBuildDate>Sun, 08 Mar 2026 08:24:51 +0900</lastBuildDate>
    <atom:link href="https://physicalaihub.net/tags/%E3%83%87%E3%83%BC%E3%82%BF%E3%82%B9%E3%82%AD%E3%83%BC%E3%83%9E/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>ロボット学習データの収集設計：実機デモの記録形式と品質検証</title>
      <link>https://physicalaihub.net/posts/robot-learning-demonstration-data-collection/</link>
      <pubDate>Sun, 08 Mar 2026 08:24:51 +0900</pubDate>
      <guid>https://physicalaihub.net/posts/robot-learning-demonstration-data-collection/</guid>
      <description>&lt;p&gt;実機デモは動画として残すだけで十分なのか、という疑問から整理しました。&lt;/p&gt;&#xA;&lt;h2 id=&#34;先に結論&#34;&gt;先に結論&lt;/h2&gt;&#xA;&lt;p&gt;ロボット学習用の実機デモは、動画だけでなく、&lt;strong&gt;episodeの中に時系列のstepを持つデータ&lt;/strong&gt;として収集するのが基本です。各stepには、観測、行動、時刻、終了状態を紐づけ、episodeにはタスク、ロボット、センサー、キャリブレーションなどのメタデータを付与します。&lt;/p&gt;&#xA;&lt;p&gt;品質検証は、保存後に一度だけ行うのでは不十分です。まずスキーマ、配列、欠損、時刻系列を自動検査し、次に行動値や関節状態の物理的妥当性、タスク成功ラベルを確認します。最後に、episode単位でデータを分割し、同じセッションや環境が学習・検証・テストにまたがるリークを防ぎます。&lt;/p&gt;&#xA;&lt;h2 id=&#34;なぜ収集形式が重要なのか&#34;&gt;なぜ収集形式が重要なのか&lt;/h2&gt;&#xA;&lt;p&gt;模倣学習やVLAでは、画像だけでなく、ロボットの状態と操作指令の対応を学習します。映像、関節状態、エンドエフェクタの状態、操作コマンドの時刻関係が崩れると、モデルは誤った因果関係を学習する可能性があります。また、成功デモだけを残すと、停止、失敗、やり直しといった実環境で起きる状態を扱いにくくなります。&lt;/p&gt;&#xA;&lt;p&gt;そのため、収集時点では失敗や中断も含めて保存し、後から終了理由やタスク結果を明示する設計が扱いやすくなります。ただし、成功・失敗ラベルの自動判定と人手判定のどちらが常に優れるかについて、全タスクに共通する基準はありません。タスクごとに判定方法を定義する必要があります。&lt;/p&gt;&#xA;&lt;h2 id=&#34;基本用語とデータ単位&#34;&gt;基本用語とデータ単位&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;episode&lt;/strong&gt;は、タスクの開始から終了までの一つの試行です。&lt;strong&gt;step&lt;/strong&gt;は、episode内のある時刻における観測と行動の組です。RLDSはepisodeとstepの階層を採用し、stepにobservation、action、reward、discount、is_first、is_last、is_terminalなどを持たせます。&lt;/p&gt;&#xA;&lt;p&gt;一方、robomimicはHDF5内のdemo単位に、actions、observations、rewards、donesなどを格納します。終了状態を表すフィールド名や意味は実装によって異なるため、単に&lt;code&gt;done&lt;/code&gt;という名前を合わせるだけでは不十分です。時間制限による終了と、タスクの成功・失敗による終了を区別するかを仕様に記録してください。&lt;/p&gt;&#xA;&lt;h2 id=&#34;推奨する収集スキーマ&#34;&gt;推奨する収集スキーマ&lt;/h2&gt;&#xA;&lt;p&gt;最低限、次の情報をepisode・stepに分けて保持します。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;観測&lt;/strong&gt;：カメラ画像、深度、関節位置・速度、エンドエフェクタ状態などのraw値と前処理済み値&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;行動&lt;/strong&gt;：指令値と実行値。関節位置・速度・トルク、エンドエフェクタ姿勢、デルタ動作などの表現を明記&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;時刻&lt;/strong&gt;：センサーごとのtimestamp、フレーム番号、制御周期、episode開始・終了時刻&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;終了情報&lt;/strong&gt;：報酬または評価値、discount、is_first、is_last、is_terminal、成功・失敗・中断の理由&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;メタデータ&lt;/strong&gt;：タスクID、ロボット構成、センサー構成、単位、座標系、カメラとロボットのキャリブレーション&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;再現性情報&lt;/strong&gt;：収集ソフトウェア、データスキーマ、前処理、設定のバージョン&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;複数のロボットやデータセットを統合する場合は、共通の論理スキーマを使いながら、元の行動空間、単位、座標系、制御周期、観測モダリティをメタデータとして残します。同じ&lt;code&gt;action&lt;/code&gt;というフィールドでも、関節指令なのかエンドエフェクタの相対動作なのかで意味は変わるためです。&lt;/p&gt;&#xA;&lt;figure class=&#34;mermaid-figure&#34;&gt;&#xA;    &lt;pre class=&#34;mermaid&#34; role=&#34;img&#34; aria-label=&#34;実機デモはepisodeとstepの階層で管理し、各stepに観測・行動・時刻・終了状態を、episodeにタスクやセンサーなどのメタデータを付与します。&#34;&gt;flowchart TB&#xA;  D[&#34;Dataset&#34;] --&gt; E[&#34;Episode：1回の試行&#34;]&#xA;  E --&gt; EM[&#34;Episodeメタデータ：タスクID、ロボット構成、センサー構成、キャリブレーション、単位、座標系、バージョン&#34;]&#xA;  E --&gt; S[&#34;Step：episode内のある時刻の観測と行動&#34;]&#xA;  S --&gt; T[&#34;timestamp・フレーム番号・制御周期&#34;]&#xA;  S --&gt; O[&#34;observation：画像、深度、関節状態、エンドエフェクタ状態&#34;]&#xA;  S --&gt; A[&#34;action：指令値・実行値、行動表現&#34;]&#xA;  S --&gt; R[&#34;reward・評価値・discount&#34;]&#xA;  S --&gt; F[&#34;is_first・is_last・is_terminal&#34;]&#xA;  E --&gt; X[&#34;終了情報：成功・失敗・中断・時間制限などの理由&#34;]&lt;/pre&gt;&lt;figcaption&gt;実機デモはepisodeとstepの階層で管理し、各stepに観測・行動・時刻・終了状態を、episodeにタスクやセンサーなどのメタデータを付与します。&lt;/figcaption&gt;&lt;/figure&gt;&lt;h2 id=&#34;保存形式は学習基盤で選ぶ&#34;&gt;保存形式は学習基盤で選ぶ&lt;/h2&gt;&#xA;&lt;p&gt;保存形式は一つに固定されません。重要なのは、論理的なepisode・step構造と、原仕様を失わないメタデータです。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th&gt;形式&lt;/th&gt;&#xA;          &lt;th&gt;構造・特徴&lt;/th&gt;&#xA;          &lt;th&gt;向いている場面&lt;/th&gt;&#xA;          &lt;th&gt;注意点&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;RLDS&lt;/td&gt;&#xA;          &lt;td&gt;episodeとstepを中心に、観測、行動、終了状態などを表現&lt;/td&gt;&#xA;          &lt;td&gt;step中心の学習基盤、複数データセットの統合&lt;/td&gt;&#xA;          &lt;td&gt;&lt;code&gt;is_last&lt;/code&gt;や&lt;code&gt;is_terminal&lt;/code&gt;の意味を実装間で確認する&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;robomimic HDF5&lt;/td&gt;&#xA;          &lt;td&gt;demo単位にactions、observations、rewards、donesなどを格納&lt;/td&gt;&#xA;          &lt;td&gt;robomimicを利用するロボット操作学習&lt;/td&gt;&#xA;          &lt;td&gt;HDF5内のキーとデータ型、終了状態の意味をそろえる&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td&gt;Parquet・MP4系&lt;/td&gt;&#xA;          &lt;td&gt;低次元データやメタデータを表形式、映像を動画チャンクとして分離&lt;/td&gt;&#xA;          &lt;td&gt;映像と状態データを分けた運用、I/Oや管理単位を重視する場合&lt;/td&gt;&#xA;          &lt;td&gt;圧縮方式やフレーム欠落の影響をタスクごとに確認する&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;実務では、変更しないrawログ層、学習向けに正規化した層、品質検証結果とprovenanceを管理するmanifest層の三層構成が扱いやすい設計です。rawを上書きせず、変換元と変換処理のバージョンを追跡できるようにします。&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
