home *** CD-ROM | disk | FTP | other *** search
/ DOS/V Power Report 2003 March / VPR0303A.ISO / AIBO / MoNet / common / libMTN / MTN-FFORM-J.txt < prev    next >
Text File  |  2002-12-19  |  12KB  |  265 lines

  1.  
  2.         MTNファイルフォーマット
  3.  
  4. ■機能
  5. - Robot用モーションデータ情報を提供する
  6.  
  7. ■byte order
  8.         little endian
  9.  
  10. ■データ型定義
  11.  
  12. type:Strings は以下のような構成となっている.
  13.  
  14.       offset  size    type    contents                        data
  15.       -------+-------+-------+-------------------------------+-------
  16.          0      1     uc      length
  17.          1      x     ch      characters
  18.  
  19.     length:
  20.         文字列の文字数
  21.     characters:
  22.         文字列データ 
  23.  
  24. ■File Format
  25.  
  26.       offset  size    type    contents                        data
  27.       -------+-------+-------+-------------------------------+-------
  28.          0      1     ch      magic 0                         'O'
  29.          1      1     ch      magic 1                         'M'
  30.          2      1     ch      magic 2                         'T'
  31.          3      1     ch      magic 3                         'N'
  32.          4      24    cp      Section 0    
  33.          28     x     cp      Section 1
  34.          x      x     cp      Section 2    
  35.          x      x     cp      Section 3    
  36.  
  37.     magic 0-3:
  38.         ファイルマジック
  39.  
  40.  
  41.     1. Section 0 
  42.     Section0 は基本的な項目のヘッダで,固定長である.
  43.  
  44.       offset  size    type    contents                        data
  45.       -------+-------+-------+-------------------------------+-------
  46.       0       4       lw      Section Number                  0
  47.       4       4       lw      Section Size                    24
  48.       8       4       lw      Number of Section               4
  49.       12      2       wd      Major Version                   1
  50.       14      2       wd      Minor Version                   2
  51.       16      2       wd      Number of keyframe              
  52.       18      2       wd      Frame Rate                      16
  53.       20      4       lw      Reserved                        0
  54.  
  55.     Section Number:
  56.         SectionのシリアルNo.
  57.     Section Size:
  58.         Sectionの大きさ(byte)
  59.     Number of Section:
  60.         ファイルに含まれるSection数
  61.     Major Version:
  62.         Formatのメジャーバージョン番号
  63.     Minor Version:
  64.         Formatのマイナーバージョン番号
  65.     Number of keyframe:
  66.         ファイル内のkeyframeの数
  67.     Frame Rate:
  68.         Motionの再生速度 [msec/frame]
  69.  
  70.  
  71.     2. Section 1
  72.     Section1 は基本的な名称を記述するのヘッダで,可変長である.
  73.     ◆注意:Section Sizeが 4 byte区切り等にならない場合には,paddingする.
  74.  
  75.       offset  size    type    contents                        data
  76.       -------+-------+-------+-------------------------------+-------
  77.       0       4       lw      Section Number                  1
  78.       4       4       lw      Section Size                    
  79.       8       x       Strings Motion Name                     
  80.       x       x       Strings Creator
  81.       x       x       Strings Design Label
  82.       x       0-3             Padding                         0
  83.  
  84.     Section Number:
  85.         SectionのシリアルNo.
  86.     Section Size:
  87.         Sectionの大きさ(byte)
  88.     Motion Name:
  89.         Motion Nameは,mtnファイル名の拡張子より前の文字列
  90.     Creator:
  91.         作者名
  92.     Design Label:
  93.         ロボットのデザインラベル
  94.  
  95.  
  96.     3. Section 2
  97.     Section2 はJoint Listを記述するのヘッダで,可変長である.
  98.     ◆注意:Section Sizeが 4 byte区切り等にならない場合には,paddingする.
  99.  
  100.       offset  size    type    contents                        data
  101.       -------+-------+-------+-------------------------------+-------
  102.       0       4       lw      Section Number                  2
  103.       4       4       lw      Section Size                    
  104.       8       2       wd      Number of Joint 
  105.       x       x       Strings PRM 0
  106.       x       x       Strings PRM 1
  107.       x       x       ....
  108.       x       x       Strings PRM (Number of Joint -1)
  109.       x       0-3             Padding                         0
  110.  
  111.     Section Number:
  112.         SectionのシリアルNo.
  113.     Section Size:
  114.         Sectionの大きさ(byte)
  115.     Number of Joint:
  116.         ファイル内で扱うJointの数
  117.     PRM:
  118.         ファイル内で扱うJointのCPC Primitive Locator名.
  119.  
  120.  
  121.     4. Section 3
  122.     Section3 にはMotion Dataを記述し,可変長である.
  123.     ◆注意:Section Sizeが 4 byte区切り等にならない場合には,paddingする.
  124.  
  125.       offset  size    type    contents                        data
  126.       -------+-------+-------+-------------------------------+-------
  127.       0       4       lw      Section Number                  3
  128.       4       4       lw      Section Size                    
  129.       8       4       lw      Data Type                       0
  130.       12      x       cp      Data Section
  131.  
  132.     Section Number:
  133.         SectionのシリアルNo.
  134.     Section Size:
  135.         Sectionの大きさ(byte)
  136.     Data Type:
  137.         Motion Data の種類(現在、0 のみをサポート)
  138.         0: 角度列データ
  139.         1: 軌跡データ
  140.  
  141.     4-1. Data Section
  142.     Data Type 0 の場合,Data Fomratは以下のような構成となる.
  143.  
  144.     [Roll] [Pitch] [Yaw]
  145.     [Joint Data]
  146.     {
  147.       [Number of Interpolate frame]
  148.       [Roll] [Pitch] [Yaw]
  149.       [Joint Data]
  150.     }  X (Number of Keyframe - 1)
  151.  
  152.  
  153.       offset  size    type    contents                        data
  154.       -------+-------+-------+-------------------------------+-------
  155.       0       4       lw      Roll 
  156.       4       4       lw      Pitch    
  157.       8       4       lw      Yaw
  158.       12      x       cp      Joint Data Section
  159.       x       4       lw      Number of Interpolate frame
  160.                               .....
  161.     Roll:
  162.         Robot BODY座標系のroll [Micro radian](右に傾くと正)
  163.     Pitch:
  164.         Robot BODY座標系pitch  [Micro radian](後に傾くと正)
  165.     Yaw:
  166.         Robot BODY座標系のyaw  [Micro radian](左に向くと正)
  167.     Joint Data Section:
  168.         ジョイントデータの値がSection 2のStrings PRM の順序で
  169.         記述される
  170.     Number of Interpolate frame:
  171.         前フレームとの補間フレーム数
  172.  
  173.     4-1-1. Joint Data Section
  174.  
  175.       offset  size    type    contents                        data
  176.       -------+-------+-------+-------------------------------+-------
  177.       0       4       lw      Joint Data 0
  178.       4       4       lw      Joint Data 1
  179.                               .....
  180.       x       4       lw      Joint Data   [Number of Joint]  
  181.  
  182.     Joint data:
  183.         ジョイントのデータ の値を[Micro radian]で記述する.
  184.  
  185.  
  186. ■実例
  187.  ADDRESS : +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F 0123456789ABCDEF   
  188.            +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
  189.           -------------------------------------------------
  190. 00000000 : 4F 4D 54 4E 00 00 00 00 18 00 00 00 04 00 00 00 : OMTN............
  191. 00000010 : 01 00 02 00 06 00 10 00 00 00 00 00 01 00 00 00 : ................
  192. 00000020 : 30 00 00 00 0D 61 5F 73 74 61 6E 64 23 73 69 74 : 0....a_stand#sit
  193. 00000030 : 5F 53 10 53 6F 6E 79 20 43 6F 72 70 6F 72 61 74 : _S.Sony Corporat
  194. 00000040 : 69 6F 6E 07 44 52 58 2D 39 31 30 00 02 00 00 00 : ion.DRX-910.....
  195. 00000050 : F8 01 00 00 14 00 14 50 52 4D 3A 2F 72 31 2F 63 : .......PRM:/r1/c
  196. 00000060 : 31 2D 4A 6F 69 6E 74 32 3A 6A 31 17 50 52 4D 3A : 1-Joint2:j1.PRM:
  197. 00000070 : 2F 72 31 2F 63 31 2F 63 32 2D 4A 6F 69 6E 74 32 : /r1/c1/c2-Joint2
  198. 00000080 : 3A 6A 32 1A 50 52 4D 3A 2F 72 31 2F 63 31 2F 63 : :j2.PRM:/r1/c1/c
  199. 00000090 : 32 2F 63 33 2D 4A 6F 69 6E 74 32 3A 6A 33 1D 50 : 2/c3-Joint2:j3.P
  200. 000000A0 : 52 4D 3A 2F 72 31 2F 63 31 2F 63 32 2F 63 33 2F : RM:/r1/c1/c2/c3/
  201. 000000B0 : 63 34 2D 4A 6F 69 6E 74 32 3A 6A 34 1D 50 52 4D : c4-Joint2:j4.PRM
  202. 000000C0 : 3A 2F 72 31 2F 63 31 2F 63 32 2F 63 33 2F 65 31 : :/r1/c1/c2/c3/e1
  203. 000000D0 : 2D 4A 6F 69 6E 74 33 3A 6A 35 1D 50 52 4D 3A 2F : -Joint3:j5.PRM:/
  204. 000000E0 : 72 31 2F 63 31 2F 63 32 2F 63 33 2F 65 32 2D 4A : r1/c1/c2/c3/e2-J
  205. 000000F0 : 6F 69 6E 74 33 3A 6A 36 14 50 52 4D 3A 2F 72 32 : oint3:j6.PRM:/r2
  206. 00000100 : 2F 63 31 2D 4A 6F 69 6E 74 32 3A 6A 31 17 50 52 : /c1-Joint2:j1.PR
  207. 00000110 : 4D 3A 2F 72 32 2F 63 31 2F 63 32 2D 4A 6F 69 6E : M:/r2/c1/c2-Join
  208. 00000120 : 74 32 3A 6A 32 1A 50 52 4D 3A 2F 72 32 2F 63 31 : t2:j2.PRM:/r2/c1
  209. 00000130 : 2F 63 32 2F 63 33 2D 4A 6F 69 6E 74 32 3A 6A 33 : /c2/c3-Joint2:j3
  210. 00000140 : 14 50 52 4D 3A 2F 72 33 2F 63 31 2D 4A 6F 69 6E : .PRM:/r3/c1-Join
  211. 00000150 : 74 32 3A 6A 31 17 50 52 4D 3A 2F 72 33 2F 63 31 : t2:j1.PRM:/r3/c1
  212. 00000160 : 2F 63 32 2D 4A 6F 69 6E 74 32 3A 6A 32 1A 50 52 : /c2-Joint2:j2.PR
  213. 00000170 : 4D 3A 2F 72 33 2F 63 31 2F 63 32 2F 63 33 2D 4A : M:/r3/c1/c2/c3-J
  214. 00000180 : 6F 69 6E 74 32 3A 6A 33 14 50 52 4D 3A 2F 72 34 : oint2:j3.PRM:/r4
  215. 00000190 : 2F 63 31 2D 4A 6F 69 6E 74 32 3A 6A 31 17 50 52 : /c1-Joint2:j1.PR
  216. 000001A0 : 4D 3A 2F 72 34 2F 63 31 2F 63 32 2D 4A 6F 69 6E : M:/r4/c1/c2-Join
  217. 000001B0 : 74 32 3A 6A 32 1A 50 52 4D 3A 2F 72 34 2F 63 31 : t2:j2.PRM:/r4/c1
  218. 000001C0 : 2F 63 32 2F 63 33 2D 4A 6F 69 6E 74 32 3A 6A 33 : /c2/c3-Joint2:j3
  219. 000001D0 : 14 50 52 4D 3A 2F 72 35 2F 63 31 2D 4A 6F 69 6E : .PRM:/r5/c1-Join
  220. 000001E0 : 74 32 3A 6A 31 17 50 52 4D 3A 2F 72 35 2F 63 31 : t2:j1.PRM:/r5/c1
  221. 000001F0 : 2F 63 32 2D 4A 6F 69 6E 74 32 3A 6A 32 1A 50 52 : /c2-Joint2:j2.PR
  222. 00000200 : 4D 3A 2F 72 35 2F 63 31 2F 63 32 2F 63 33 2D 4A : M:/r5/c1/c2/c3-J
  223. 00000210 : 6F 69 6E 74 32 3A 6A 33 14 50 52 4D 3A 2F 72 36 : oint2:j3.PRM:/r6
  224. 00000220 : 2F 63 31 2D 4A 6F 69 6E 74 32 3A 6A 31 14 50 52 : /c1-Joint2:j1.PR
  225. 00000230 : 4D 3A 2F 72 36 2F 63 32 2D 4A 6F 69 6E 74 32 3A : M:/r6/c2-Joint2:
  226. 00000240 : 6A 32 00 00 03 00 00 00 48 02 00 00 00 00 00 00 : j2......H.......
  227. 00000250 : 00 00 00 00 5A 88 00 00 00 00 00 00 00 00 00 00 : ....Z...........
  228. 00000260 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  229. 00000270 : 00 00 00 00 3B 56 FD FF 00 00 00 00 50 FD 07 00 : ....;V......P...
  230. 00000280 : D3 BB FF FF 00 00 00 00 6D A8 06 00 3B 56 FD FF : ........m...;V..
  231. 00000290 : 00 00 00 00 51 FD 07 00 00 00 00 00 00 00 00 00 : ....Q...........
  232. 000002A0 : 6E A8 06 00 00 00 00 00 00 00 00 00 3C 00 00 00 : n...........<...
  233. 000002B0 : 00 00 00 00 F0 66 FE FF 00 00 00 00 28 36 F7 FF : ..........(6..
  234. 000002C0 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  235. 000002D0 : 00 00 00 00 BE 14 F5 FF 00 00 00 00 5D A0 1E 00 : ............]...
  236. 000002E0 : CD AD F6 FF 00 00 00 00 D2 4C 19 00 EB 58 F5 FF : .........L..X..
  237. 000002F0 : 00 00 00 00 5D A0 1E 00 CE AD F6 FF 00 00 00 00 : ....]...........
  238. 00000300 : D2 4C 19 00 00 00 00 00 00 00 00 00 32 00 00 00 : .L..........2...
  239. 00000310 : 00 00 00 00 A8 FE 03 00 00 00 00 00 28 36 F7 FF : ............(6..
  240. 00000320 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  241. 00000330 : 00 00 00 00 CE AD F6 FF 00 00 00 00 0D A3 16 00 : ................
  242. 00000340 : 26 AF F2 FF 00 00 00 00 08 26 27 00 CE AD F6 FF : &........&'.....
  243. 00000350 : 00 00 00 00 0D A3 16 00 26 AF F2 FF 00 00 00 00 : ........&.......
  244. 00000360 : 08 26 27 00 00 00 00 00 00 00 00 00 28 00 00 00 : .&'.........(...
  245. 00000370 : 00 00 00 00 E2 54 01 00 00 00 00 00 80 43 F8 FF : ....禝.......C..
  246. 00000380 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  247. 00000390 : 00 00 00 00 11 F6 F7 FF 00 00 00 00 99 D9 1E 00 : .....・.....叨..
  248. 000003A0 : AA 50 ED FF 00 00 00 00 05 92 25 00 B0 02 F8 FF : .P........%.....
  249. 000003B0 : 00 00 00 00 5D A0 1E 00 9B 5B ED FF 00 00 00 00 : ....]...媼......
  250. 000003C0 : 05 92 25 00 00 00 00 00 00 00 00 00 32 00 00 00 : ..%.........2...
  251. 000003D0 : 00 00 00 00 30 CB 04 00 00 00 00 00 70 C9 F8 FF : ....0.......p...
  252. 000003E0 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  253. 000003F0 : 00 00 00 00 95 87 FA FF 00 00 00 00 B2 6F 15 00 : ....芙.......o..
  254. 00000400 : 78 C0 EA FF 00 00 00 00 21 C9 24 00 76 AC FA FF : x.......!.$.v...
  255. 00000410 : 00 00 00 00 2A 4E 15 00 15 C6 EA FF 00 00 00 00 : ....*N..........
  256. 00000420 : 21 C9 24 00 00 00 00 00 00 00 00 00 64 00 00 00 : !.$.........d...
  257. 00000430 : 00 00 00 00 AA 85 08 00 00 00 00 00 93 57 F9 FF : ............展..
  258. 00000440 : 00 00 00 00 00 00 00 00 78 33 FF FF 00 00 00 00 : ........x3......
  259. 00000450 : 00 00 00 00 00 00 00 00 00 00 00 00 C4 A9 02 00 : ................
  260. 00000460 : 12 08 E8 FF 00 00 00 00 E4 F3 23 00 19 D7 FF FF : ........蔘#.....
  261. 00000470 : 00 00 00 00 AE D2 02 00 0F 08 E8 FF 00 00 00 00 : ................
  262. 00000480 : EC F3 23 00 00 00 00 00 00 00 00 00             : #.........
  263.           -------------------------------------------------
  264.            +0 +1 +2 +3 +4 +5 +6 +7 +8 +9 +A +B +C +D +E +F
  265.