つくるの大好き。

つくるのが大好きな人の記録。

ありがとうKINECT!

HoloLensやImmersiveが華々しく活躍する裏で突然息を引き取った名機があります。

そうそれは紛れもなくKINECTです。

突然の生産終了の知らせ、余韻を感じるまでもなくあっという間に別れは来るものなのですね。

その後も忙しい日々を送るなかでちゃんと振り返ることができませんでしたが、紛れもなく人生を変えてくれたデバイスです。

f:id:peugeot-106-s16:20171127215202j:plain

KINECTはとても愛されたデバイスでした。
過日のことですが有志による「Kinectを偲ぶ会(葬儀告別式)」に参列しました。

www.facebook.com

KINECTを心より愛する仲間たちと素敵な思い出を語り合ったり、現役の機体で体まるごとコントローラーにして楽しむコンテンツを体験しつつ別れを惜しみました。

f:id:peugeot-106-s16:20171127220941j:plain

 

KINECTに初めて出会ったのは2010年末、ぼくの体をKINECTが認識しボーンが画面に表示されたとき稲妻のような衝撃が走りました。
こ、こんなデバイスがあるなんて!すごい!

そこからKINECTとの楽しい時間は始まり、それまで普通の業務システムを作っていた仕事もどんどんKINECTをつかったインタラクティブなコンテンツを作るものに変わってゆき転職していないのに事実上転職したような感じになりましたね。
そして会社にもKINECTを得意とした部署ができるまでになりました。

 

AIR SHODOU in Hiroshima MOCA "WIND" from yampuu on Vimeo.

 

youtu.be

youtu.be

youtu.be

本当にこれまでありがとう!楽しかった!
本当に感謝しかないですね。

 

引退の背景

さて、余韻に浸ってばかりもいられません。少し状況整理をしてみました。

まずMicrosoftにとってKINECTってどんな存在なの?というところ。

KINECTは成り立ちから言うとXBOXのコントローラーの一種であり、それ以上でもそれ以下でもありません。
ただとても面白いデバイスなので意図的と言われていますが一般開発者がハックしやすいようにガードがゆるくなっていてOpenNIを使ったKINECTハックが流行しました。
それを受けて純正のWindowsSDKが登場し、正式にWindows上で動くアプリケーションを一般開発者が開発できるようになりました。
ここからもわかるように、コントローラーなんだけどMicrosoftからのプレゼントとして一般開発者にも門扉が開かれたと受け止めるべきでしょう。

そして超雑ですが売り上げを計算してみました。

KINECTの出荷台数は正式に公開されていませんが、えいやっとV1が2500万台、V2が1000万台と仮定します。

Xbox 360のグローバルセールスが7,600万台を突破、Kinectは2,400万台に | Game*Spark - 国内・海外ゲーム情報サイト

価格はV1=2.5万円、V2=2.2万円とします。XBOX同梱とか細かいことは棚にあげます。

するとV1売上=6250億円、V2売上=2200億円。合計8450億円となります。

Microsoftの年間売り上げをざくっと8兆円とし、2011-2017の6年間分とすると48兆円。

売上貢献度は50分の1以下なんですね。
価格の割に高性能なハードウェアは原価率高そうですし、XBOXに同梱するとXBOXが高くなって売りにくくなるとすると、KINECTを維持するにはそうとうな善意からの犠牲が必要そうだなという感じがします。

XBOX Oneへの標準添付がなくなった時点である意味今の状況は予測できたのかもしれませんね。

これから先のこと

KINECTはお星さまになりました。
でもそこで培われたテクノロジーは脈々とHoloLensや現役の製品やiPhone X(笑)に受け継がれています。

jp.techcrunch.com

www.gizmodo.jp

 

でもKINECTの最も価値あるところ、KINECTKINECTたらしめているところってやはり高速、高精度なボディトラッキングだと思います。
これを真似できるセンサーは今後出ないような気がしています。
というのもこの認識性能の裏には莫大な人数を学習した機械学習データがあるからで、同じものを作ろうとしたらMicrosoft規模の会社でないと簡単にはできないでしょう。

ぼくがMicrosoftだったらその貴重な教師データをAzureのCognitiveServiceなどで提供することを考えます。
じき5Gが普及して高速低遅延なネットワークが使える状態になればDepth画像、またはステレオカラー画像をクラウドに送ってボディトラッキングデータが返されるようなサービスは現実性があるような気がしています。
HoloLensのような非力なデバイスでもボディトラッキングができるでしょう。
そうするとKINECTの魂はもっと広く長く人類に恩恵を与えるんじゃないかな。

そんなことをぼんやり思っています。

 

というわけで、重ね重ねKINECTありがとう!さようなら!

(現役の機体は後生大事に使います)

Windows10アップデートでIntel RealSense + librealsense が動かなくなった時の解決策

こんにちは、またまたお久しぶりです!

10/17からWindows10 Fall Creators Updateの配信が始まっていますね。
前回のCreators Updateの時も発生したのですが、アップデートを行うとIntel RealSense Camera R200 + librealsenseで構築しているアプリケーションでカメラを起動できないというエラーが起こるようになりましたので解決方法を書いておきます。

利用しているlibrealsenseのバージョンは1.12.1です。

 

  • 発生するエラー

Starting Intel RealSense R200... RealSense error calling rs_start_source(device:00000120FEA11F80, source:VIDEO):
no matching media type for pixel format 59555932

f:id:peugeot-106-s16:20171020161920p:plain

 

  • 解決方法
  1. バイスマネージャより「Intel(R) RealSense(TM) 3D Camera (R200) RGB」をアンインストールする

    f:id:peugeot-106-s16:20171020162422p:plain

  2. 「ハードウェア変更のスキャン」を行うと再度「Intel(R) RealSense(TM) 3D Camera (R200) RGB」がインストールされる

    f:id:peugeot-106-s16:20171020162436p:plain

以上でRealSenseカメラが利用できるようになります。

f:id:peugeot-106-s16:20171020162539p:plain

 

  • 余談

Intel RealSense SDK for Windowsはサポート終了がアナウンスされました。

software.intel.com

変わってlibrealsenseの最新版がIntel RealSense SDK 2.0と名称変更されています。

github.com

利用シーンがデスクトップでの利用からロボットの目などになって環境をスキャンする方向に変わっていることがここからもわかりますね。

2017 Summer 登壇・展示記録まとめてドーン!

色々忙しくてイベントレポート記事がずっとかけなかったのでドーン!とまとめます。
完全に自分用メモですねw

 

1. 2017-05-28 ABC 2017 Spring MR/VRトラック

ABC (Android Bazaar and Conference) 2017 Spring、MR/VRトラックに「ARもVRもMRもまとめてドーン!」というタイトルでセッションを担当しました。
このセッションはARデバイス、VRデバイス、MRデバイスに関わらず現実空間の座標系を共有して同じものを見たり、操作するにはどういった考え方が必要なのかをお伝えする、タイトルに似合わず割と硬派な内容です。

abc.android-group.jp

 

セッションスライド

www.slideshare.net

 

ストリーミング配信

youtu.be

 

ちょまどさん来てくれたw

 

 

2. 2017-06-02 岩崎学園 情報科学専門学校 アイディアソン・ハッカソンキックオフ

情報系の学生たちに自由な発想でものづくりをはじめてもらうためにセンサーやXRデバイスを使った楽しい事例の紹介などを行いました。
講堂に生徒さんたちたくさんでビックリ(笑)!

f:id:peugeot-106-s16:20170902211917j:plain

f:id:peugeot-106-s16:20170902211935j:plain

 

セッションスライド

www.slideshare.net

 

3.2017-06-28--30 コンテンツ東京 2017

VR/ARワールド内南国ソフトさんブースでホログラムの妖精を捕まえるコンテンツが展示されました。
これはベース部分にぼくの開発したKINECTとHoloLensの空間シェアリングシステムを利用いただいています。

http://www.content-tokyo.jp/RXJP/RXJP_Contents-Tokyo/documents/2017/CON17_news2017_02.pdf

f:id:peugeot-106-s16:20170902213804j:plain

f:id:peugeot-106-s16:20170902213818j:plain

 

4. 2017-07-15 Tokyo HoloLens Meetup vol.4

 超盛り上がりを見せるHoloLensコミュニティのイベント。
盛り上がるがゆえにちょっとした炎上騒ぎにも見舞われバタバタとした中で急きょ登壇することになりました。棚ぼた棚ぼた(笑)

セッションは例の「ARもVRもMRもまとめてドーン!」をパワーアップさせた「ARもVRもMRもまとめてドドンドーン!」逆風、自粛モードをぶっとばせ!
ここは同じクラスターへの話という事で大変盛り上がりましたね!
高度な技術を駆使してオクルージョンさせても普通の人には何がスゴイかわからない、あたりの下りは大きな共感を呼んでいましたねw

hololens.connpass.com

 

セッションスライド

www.slideshare.net

 

f:id:peugeot-106-s16:20170902214206j:plain

 

5. 2017-08-06 Maker Faire Tokyo 2017

MFT2017にTMCNブースがいただけたので、きゃらみらースペシャルバージョン(3DスキャンしたTMCNメンバーに変身して降ってくるうんちを叩き潰す)を展示しました。

makezine.jp

youtu.be


なんとPanoraさんにも掲載頂いていることに今気づきましたw!

panora.tokyo

 

また、Microsoft MVPTwitterにも掲載頂きました。
うんちですいません。。

 

5. 2017-08-07 TOKYO MX「モーニングCROSS」

朝の情報番組「モーニングCROSS」内、VRアーティストせきぐちあいみさんがMixedReaityの紹介を行うコーナーの中でぼくが作ったアプリ TiltBrushView がたくさん映りました。感激でした^^!
TiltBrushViewについてはまた別記事を書きたいなと思っています。

f:id:peugeot-106-s16:20170902221038j:plain

f:id:peugeot-106-s16:20170902221050j:plain

 

6. 2017-08-11--16 Shukou Tsuchiya Exhibition 2017 墨唱華 – 抽象水墨花言葉

これはリアル水墨画とMixedRealityを組み合わせた新しい試みの展覧会です。
これもまた別記事で書こうかなと思います。

f:id:peugeot-106-s16:20170902222736j:plain

 

イベント告知ページ
Shukou Tsuchiya Exhibition 2017 墨唱華 – 抽象水墨花言葉展 – 開催

 

Mogura VRさんに記事も掲載されています。

www.moguravr.com

 

6. 2017-08-21 VRが創り出す世界 - TECH PLAY Conference 2017 -

急に登壇が決まったので会社帰りにちょっと寄って登壇してきましたw

techplay.jp


急だったので「ARもVRもMRもまとめてドドンドーン!(短縮版)」をお送りしました。
内容は前回のリピートでしたがクラスターが違うのでまた新しい方々と知り合いになる事ができました。

こちらは今後イベントレポートがcode-IQさん等に掲載される予定と聞いています。

 

7. 2017-08-31 CEDEC 2017 インタラクティブ・セッション

今年もご招待いただきブース出展をさせて頂きました。

cedec.cesa.or.jp

コミュニティメンバーで日替わりで自分たちが作ったものを展示してゆきましたが、ぼくは中日にきゃらみらースペシャル版を展示しました。

f:id:peugeot-106-s16:20170902222431j:plain

 

 

ふう、、振り返ってみると色々と活動をしていますね。
忙しいはずだ(笑)
また秋以降、溜め込まずに記事を書いてゆきたいと思います。

Unity2017で async/await を試してみた

Unity2017から正式に .NET4.6 C#6.0 が利用できるようになりました。
もっとスマートにコードを書きたいのに妥協していた人や、HoloLensアプリ開発でUnityEditorとUWPプロジェクトのC#バージョンの違いにビルド時のエラーで気づかされてああんもうってなってた人には待ちに待った機能ではないでしょうか。

f:id:peugeot-106-s16:20170714164455p:plain


C#バージョンの変更方法はこちら。

blogs.unity3d.com

早速コルーチンとasync/awaitの同時利用などを試してみました。

using System.Collections;
using System.Threading;
using System.Threading.Tasks;
using UnityEngine;

public class NewBehaviourScript : MonoBehaviour
{
    private const int LoopTimes = 500;

    void Start ()
    {
        this.StartCoroutine(this.TestCoroutine());
        //this.TestAsync();
        this.StartCoroutine(this.TestAsyncInCoroutine());
    }
    private IEnumerator TestCoroutine()
    {
        for (var i = 0; i < LoopTimes; i++)
        {
            Debug.Log(" C " + i);
            yield return null;
        }
    }

    private async void TestAsync()
    {
        var context = SynchronizationContext.Current;
        await Task.Run(() => 
        {
            for (var i = 0; i < LoopTimes; i++)
            {
                Debug.Log("A " + i);
                context.Post((state) =>
                {
                    var p = this.transform.localPosition;
                    p.x += 0.1f;
                    this.transform.localPosition = p;
                }, null);
            }
        });
    }

    private IEnumerator TestAsyncInCoroutine()
    {
        this.TestAsync();
        yield break;
    }
}

this.TestAsync(); と this.StartCoroutine(this.TestAsyncInCoroutine()); はコメントで切り替えて使います。
それぞれ通常の async/awit とコルーチンからのasync/awit呼び出しをテストできます。

結果としてはきちんと並行動作が行われています。
コルーチンがフレームレートに依存するのに対して、async/awaitはスレッドなので可能な限り最高速で動いていることもわかりますね。
f:id:peugeot-106-s16:20170714165224p:plain

また、このasync/awaitのテストコードにあるようにSynchronizationContextを利用すれば、メインスレッド側でGameObjectのTransformなど、スレッドアンセーフなUnityのAPIにアクセスすることも可能です。

とても今風になりましたね!
今後積極的に使っていこうと思います。

ShuttleさんのGPU搭載可能ベアボーン「SZ170R8V2」を試してみた

日本ShuttleさんよりフルサイズGPUも搭載できるベアボーンSZ170R8V2」を検証用にお貸出し頂きましたので軽くレビューを書きます。

f:id:peugeot-106-s16:20170707163812j:plain

ShuttleさんPCケースの特徴として、長期にわたってサイズ等が変わらないというのがあるそうです。例えば組込用途など組み込んだ状態で長期にわたって使う場合、世代交代があっても形が変わらないというのはメリットですね。

外部インターフェイスとしては↑の写真のようなフロントパネル配置のものに加えて、背面にも多くのインターフェイスがあります。
LANが2ポート用意されているのも帯域確保やいざというときの耐障害性に役立つ仕様ですね。

あとDisplayPort 2ポート+HDMIとデフォルトでも多くのディスプレイが使えそうです。

f:id:peugeot-106-s16:20170707164150j:plain

でも最大の特徴は右のPCI Expressスロットですね。

ここにぶちこめますGPUまるごと!

f:id:peugeot-106-s16:20170707164354j:plain

f:id:peugeot-106-s16:20170707164418j:plain

ケースがコンパクトなので電源ケーブルの取り回しには少し苦労しましたが、フルサイズのGPUが組み込めるのはインパクトあります。
リッチなVRコンテンツを期間限定展示するような用途にもパワフルで持ち運びもしやすいこのPCは良いのではないでしょうか。

 

余談ですが、マニュアルもジャンパ設定がほとんどを占めるというマニアックさがいい感じですねw

f:id:peugeot-106-s16:20170707164715j:plain

 

今回はこのケースに Corei7 3.4GHzのCPUとSSDを搭載した状態でお貸出し頂き、追加でNVIDIA GeForce970 をビルトインしました。

KINECTでキャラに変身できるきゃらみらーもQuality=Fantasticであっても当然のようにサクサクです。
今回は試せませんでしたがOculusやVIVEのコンテンツもGPUを変えることで余裕で運用することができそうです。

youtu.be

 

f:id:peugeot-106-s16:20170707172943p:plain

f:id:peugeot-106-s16:20170707173005p:plain

 

コンパクトなVRマシンを探しているけどノートはちょっと、という方や、VRの展示をよくやるんだけど持ち運びが楽なデスクトップ機があればいいと思っていたような方にはオススメではないでしょうか。

 

Intel RealSense Camera ZR300を試してみた

先週のIntel Euclid Developer Kitのトライアルに続き、今日はIntel RealSense Camera ZR300のトライアルをしてみました。

f:id:peugeot-106-s16:20170625171003j:plain

click.intel.com

このZR300、Euclidと同様ロボットの目や環境センシングを目的に開発されたもので、基本センシング機能はEuclidと同等のようです。
大きな違いはEuclidはCPUを持ちスタンドアロンで動作するのに対し、ZR300はPC等に接続して利用するセンシング用カメラデバイスとなっているところです。

基本的にはLinuxが動作環境であり、Intel RealSens SDK for Linux が対応しています。
逆にIntel RealSense SDK for WindowsはZR300非対応となっています。

ただ、librealsenseを利用するとWindowsでもZR300を利用することができます。

 

レンジの違い

近距離、中距離、遠距離でのDepthの取れ方を視覚的に比較してみました。
これによるとZR300はR200よりレンジは狭く、近距離、中距離では黒くなって取れない範囲が多いことがわかりました。
遠距離でもR200よりは認識が減衰する距離が近いことがわかりました。
ということで静的な認識目的ではR200が最もレンジが広そうです。
(ZR300ちょと微妙じゃないか、、?)
屋外でのテストは今回できなかったのでまた実施してみたいと思います。

f:id:peugeot-106-s16:20170625174001p:plain

f:id:peugeot-106-s16:20170625174024p:plain

f:id:peugeot-106-s16:20170625174053p:plain

 

また、ZR300の大きな特徴であるジャイロや加速度の値もlibrealseseで取得することができます。

f:id:peugeot-106-s16:20170625174520p:plain

スペック

スペック詳細は下記ページの"Specification"タブに載っています。
基本的には環境センシング用としてR200っぽい雰囲気ですが、大きな違いとしては加速度、ジャイロセンサーがついていることです。
動体に搭載する場合これらは重要です。

Intel® RealSense™ Development Kit Featuring the ZR300 - Intel® RealSense™ Developer Kits

カメラ系のモードを比較のために列挙してみました。(死ぬほどあったw 
ここからも各カメラの性格の違いが垣間見れて興味深いです。

というわけで、動体への搭載や環境センシング向けに、構成に応じてEuclidとZR300を使い分けると良いですね。

Depth
ZR300 R200 F200
640 x 480 @ 90Hz Z16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 90Hz Z16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 60Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 90Hz DISPARITY16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 90Hz DISPARITY16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 30Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 60Hz Z16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 60Hz Z16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 15Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 60Hz DISPARITY16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 60Hz DISPARITY16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 5Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 30Hz Z16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 30Hz Z16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 2Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 30Hz DISPARITY16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 30Hz DISPARITY16 57.5 x 44.8 degrees, distortion = NONE 640 x 240 @ 60Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 90Hz Z16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 90Hz Z16 56.6 x 43.8 degrees, distortion = NONE 640 x 240 @ 30Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 90Hz DISPARITY16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 90Hz DISPARITY16 56.6 x 43.8 degrees, distortion = NONE 640 x 240 @ 15Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 60Hz Z16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 60Hz Z16 56.6 x 43.8 degrees, distortion = NONE 640 x 240 @ 5Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 60Hz DISPARITY16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 60Hz DISPARITY16 56.6 x 43.8 degrees, distortion = NONE 640 x 240 @ 2Hz Z16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 30Hz Z16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 30Hz Z16 56.6 x 43.8 degrees, distortion = NONE  
628 x 468 @ 30Hz DISPARITY16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 30Hz DISPARITY16 56.6 x 43.8 degrees, distortion = NONE  
492 x 372 @ 90Hz Z16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 90Hz Z16 57.5 x 45.1 degrees, distortion = NONE  
492 x 372 @ 90Hz DISPARITY16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 90Hz DISPARITY16 57.5 x 45.1 degrees, distortion = NONE  
492 x 372 @ 60Hz Z16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 60Hz Z16 57.5 x 45.1 degrees, distortion = NONE  
492 x 372 @ 60Hz DISPARITY16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 60Hz DISPARITY16 57.5 x 45.1 degrees, distortion = NONE  
492 x 372 @ 30Hz Z16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 30Hz Z16 57.5 x 45.1 degrees, distortion = NONE  
492 x 372 @ 30Hz DISPARITY16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 30Hz DISPARITY16 57.5 x 45.1 degrees, distortion = NONE  
480 x 360 @ 90Hz Z16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 90Hz Z16 56.4 x 43.8 degrees, distortion = NONE  
480 x 360 @ 90Hz DISPARITY16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 90Hz DISPARITY16 56.4 x 43.8 degrees, distortion = NONE  
480 x 360 @ 60Hz Z16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 60Hz Z16 56.4 x 43.8 degrees, distortion = NONE  
480 x 360 @ 60Hz DISPARITY16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 60Hz DISPARITY16 56.4 x 43.8 degrees, distortion = NONE  
480 x 360 @ 30Hz Z16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 30Hz Z16 56.4 x 43.8 degrees, distortion = NONE  
480 x 360 @ 30Hz DISPARITY16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 30Hz DISPARITY16 56.4 x 43.8 degrees, distortion = NONE  
332 x 252 @ 90Hz Z16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 90Hz Z16 57.4 x 45.2 degrees, distortion = NONE  
332 x 252 @ 90Hz DISPARITY16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 90Hz DISPARITY16 57.4 x 45.2 degrees, distortion = NONE  
332 x 252 @ 60Hz Z16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 60Hz Z16 57.4 x 45.2 degrees, distortion = NONE  
332 x 252 @ 60Hz DISPARITY16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 60Hz DISPARITY16 57.4 x 45.2 degrees, distortion = NONE  
332 x 252 @ 30Hz Z16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 30Hz Z16 57.4 x 45.2 degrees, distortion = NONE  
332 x 252 @ 30Hz DISPARITY16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 30Hz DISPARITY16 57.4 x 45.2 degrees, distortion = NONE  
320 x 240 @ 90Hz Z16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 90Hz Z16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 90Hz DISPARITY16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 90Hz DISPARITY16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 60Hz Z16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 60Hz Z16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 60Hz DISPARITY16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 60Hz DISPARITY16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 30Hz Z16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 30Hz Z16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 30Hz DISPARITY16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 30Hz DISPARITY16 55.7 x 43.2 degrees, distortion = NONE  
Color
ZR300 R200 F200
1920 x 1080 @ 30Hz YUYV 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz YUYV 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 30Hz RGB8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz RGB8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 30Hz BGR8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz BGR8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 30Hz RGBA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz RGBA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 30Hz BGRA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz BGRA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 30Hz RAW16 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 30Hz RAW10 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 15Hz YUYV 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz YUYV 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 15Hz RGB8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz RGB8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 15Hz BGR8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz BGR8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 15Hz RGBA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz RGBA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
1920 x 1080 @ 15Hz BGRA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 15Hz BGRA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
1280 x 720 @ 15Hz YUYV 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz YUYV 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
1280 x 720 @ 15Hz RGB8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz RGB8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
1280 x 720 @ 15Hz BGR8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz BGR8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
1280 x 720 @ 15Hz RGBA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz RGBA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
1280 x 720 @ 15Hz BGRA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz BGRA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
960 x 540 @ 15Hz YUYV 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz YUYV 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
960 x 540 @ 15Hz RGB8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz RGB8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
960 x 540 @ 15Hz BGR8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz BGR8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
960 x 540 @ 15Hz RGBA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz RGBA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1920 x 1080 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
960 x 540 @ 15Hz BGRA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz BGRA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
848 x 480 @ 15Hz YUYV 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 15Hz YUYV 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
848 x 480 @ 15Hz RGB8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 15Hz RGB8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
848 x 480 @ 15Hz BGR8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 15Hz BGR8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
848 x 480 @ 15Hz RGBA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 15Hz RGBA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
848 x 480 @ 15Hz BGRA8 69.5 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 15Hz BGRA8 68.4 x 41.8 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 60Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 60Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 60Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 60Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 60Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 60Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 60Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 60Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 60Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 60Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 30Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 30Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 30Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 30Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 30Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 30Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 30Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 30Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 30Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 30Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 1280 x 720 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 60Hz YUYV 70 x 42.9 degrees, distortion = NONE
640 x 480 @ 15Hz RAW16 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 480 @ 15Hz RAW16 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 60Hz RGB8 70 x 42.9 degrees, distortion = NONE
640 x 360 @ 15Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 360 @ 15Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 60Hz BGR8 70 x 42.9 degrees, distortion = NONE
640 x 360 @ 15Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 360 @ 15Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 60Hz RGBA8 70 x 42.9 degrees, distortion = NONE
640 x 360 @ 15Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 360 @ 15Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 60Hz BGRA8 70 x 42.9 degrees, distortion = NONE
640 x 360 @ 15Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 360 @ 15Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
640 x 360 @ 15Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 640 x 360 @ 15Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
424 x 240 @ 15Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 424 x 240 @ 15Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
424 x 240 @ 15Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 424 x 240 @ 15Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
424 x 240 @ 15Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 424 x 240 @ 15Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
424 x 240 @ 15Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 424 x 240 @ 15Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
424 x 240 @ 15Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 424 x 240 @ 15Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 60Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 60Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 60Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 60Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 60Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 60Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 60Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 60Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 60Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 60Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 30Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 30Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 30Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 30Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 30Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 30Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 30Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 30Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 30Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 30Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 15Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 15Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 15Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 15Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 15Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 15Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 960 x 540 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 15Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 15Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 60Hz YUYV 70 x 42.9 degrees, distortion = NONE
320 x 240 @ 15Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 240 @ 15Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 60Hz RGB8 70 x 42.9 degrees, distortion = NONE
320 x 180 @ 15Hz YUYV 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 180 @ 15Hz YUYV 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 60Hz BGR8 70 x 42.9 degrees, distortion = NONE
320 x 180 @ 15Hz RGB8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 180 @ 15Hz RGB8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 60Hz RGBA8 70 x 42.9 degrees, distortion = NONE
320 x 180 @ 15Hz BGR8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 180 @ 15Hz BGR8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 60Hz BGRA8 70 x 42.9 degrees, distortion = NONE
320 x 180 @ 15Hz RGBA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 180 @ 15Hz RGBA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
320 x 180 @ 15Hz BGRA8 55 x 42.8 degrees, distortion = MODIFIED_BROWN_CONRADY 320 x 180 @ 15Hz BGRA8 54 x 41.5 degrees, distortion = MODIFIED_BROWN_CONRADY 848 x 480 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    848 x 480 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    640 x 480 @ 60Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 60Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 60Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 60Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 60Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 30Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 30Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 30Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 30Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 30Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 15Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 15Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 15Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 15Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 15Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 5Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 5Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 5Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 5Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 5Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 2Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 2Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 2Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 2Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 480 @ 2Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    640 x 360 @ 60Hz YUYV 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 60Hz RGB8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 60Hz BGR8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 60Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 60Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    640 x 360 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 60Hz YUYV 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 60Hz RGB8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 60Hz BGR8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 60Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 60Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    424 x 240 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    320 x 240 @ 60Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 60Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 60Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 60Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 60Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 30Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 30Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 30Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 30Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 30Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 15Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 15Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 15Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 15Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 15Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 5Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 5Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 5Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 5Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 5Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 2Hz YUYV 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 2Hz RGB8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 2Hz BGR8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 2Hz RGBA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 240 @ 2Hz BGRA8 55.4 x 42.9 degrees, distortion = NONE
    320 x 180 @ 60Hz YUYV 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 60Hz RGB8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 60Hz BGR8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 60Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 60Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 30Hz YUYV 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 30Hz RGB8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 30Hz BGR8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 30Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 30Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 15Hz YUYV 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 15Hz RGB8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 15Hz BGR8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 15Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 15Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 5Hz YUYV 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 5Hz RGB8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 5Hz BGR8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 5Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 5Hz BGRA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 2Hz YUYV 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 2Hz RGB8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 2Hz BGR8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 2Hz RGBA8 70 x 42.9 degrees, distortion = NONE
    320 x 180 @ 2Hz BGRA8 70 x 42.9 degrees, distortion = NONE

Infrared

ZR300 (Stereo) R200 (Stereo) F200
640 x 480 @ 90Hz Y8 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 90Hz Y8 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 300Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 90Hz Y16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 90Hz Y16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 300Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 60Hz Y8 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 60Hz Y8 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 240Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 60Hz Y16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 60Hz Y16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 240Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 30Hz Y8 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 30Hz Y8 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 120Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
640 x 480 @ 30Hz Y16 57.7 x 44.9 degrees, distortion = NONE 640 x 480 @ 30Hz Y16 57.5 x 44.8 degrees, distortion = NONE 640 x 480 @ 120Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 90Hz Y8 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 90Hz Y8 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 60Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 90Hz Y16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 90Hz Y16 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 60Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 60Hz Y8 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 60Hz Y8 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 30Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 60Hz Y16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 60Hz Y16 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 30Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 30Hz Y8 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 30Hz Y8 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 15Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
628 x 468 @ 30Hz Y16 56.8 x 43.9 degrees, distortion = NONE 628 x 468 @ 30Hz Y16 56.6 x 43.8 degrees, distortion = NONE 640 x 480 @ 15Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 90Hz Y8 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 90Hz Y8 57.5 x 45.1 degrees, distortion = NONE 640 x 480 @ 5Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 90Hz Y16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 90Hz Y16 57.5 x 45.1 degrees, distortion = NONE 640 x 480 @ 5Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 60Hz Y8 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 60Hz Y8 57.5 x 45.1 degrees, distortion = NONE 640 x 480 @ 2Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 60Hz Y16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 60Hz Y16 57.5 x 45.1 degrees, distortion = NONE 640 x 480 @ 2Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 30Hz Y8 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 30Hz Y8 57.5 x 45.1 degrees, distortion = NONE 640 x 240 @ 300Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
492 x 372 @ 30Hz Y16 57.3 x 44.9 degrees, distortion = NONE 492 x 372 @ 30Hz Y16 57.5 x 45.1 degrees, distortion = NONE 640 x 240 @ 300Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 90Hz Y8 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 90Hz Y8 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 240Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 90Hz Y16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 90Hz Y16 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 240Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 60Hz Y8 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 60Hz Y8 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 120Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 60Hz Y16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 60Hz Y16 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 120Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 30Hz Y8 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 30Hz Y8 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 60Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
480 x 360 @ 30Hz Y16 56.1 x 43.6 degrees, distortion = NONE 480 x 360 @ 30Hz Y16 56.4 x 43.8 degrees, distortion = NONE 640 x 240 @ 60Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 90Hz Y8 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 90Hz Y8 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 30Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 90Hz Y16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 90Hz Y16 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 30Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 60Hz Y8 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 60Hz Y8 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 15Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 60Hz Y16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 60Hz Y16 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 15Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 30Hz Y8 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 30Hz Y8 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 5Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
332 x 252 @ 30Hz Y16 57.2 x 44.9 degrees, distortion = NONE 332 x 252 @ 30Hz Y16 57.4 x 45.2 degrees, distortion = NONE 640 x 240 @ 5Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
320 x 240 @ 90Hz Y8 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 90Hz Y8 55.7 x 43.2 degrees, distortion = NONE 640 x 240 @ 2Hz Y8 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
320 x 240 @ 90Hz Y16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 90Hz Y16 55.7 x 43.2 degrees, distortion = NONE 640 x 240 @ 2Hz Y16 67.6 x 53.3 degrees, distortion = INVERSE_BROWN_CONRADY
320 x 240 @ 60Hz Y8 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 60Hz Y8 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 60Hz Y16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 60Hz Y16 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 30Hz Y8 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 30Hz Y8 55.7 x 43.2 degrees, distortion = NONE  
320 x 240 @ 30Hz Y16 55.4 x 43 degrees, distortion = NONE 320 x 240 @ 30Hz Y16 55.7 x 43.2 degrees, distortion = NONE  
Fisheye
ZR300 (Stereo) R200 F200
640 x 480 @ 60Hz RAW8 102 x 86.4 degrees, distortion = FTHETA    
640 x 480 @ 30Hz RAW8 102 x 86.4 degrees, distortion = FTHETA    

Intel Euclid Developer Kit を試してみた

f:id:peugeot-106-s16:20170618140722j:plain

Intel Euclid Developer Kitは、5月31日に発売になったIntel RealSenseカメラとAtom プロセッサ、及びWiFI等を内蔵したスタンドアロン動作するデバイスです。

https://click.intel.com/

gigazine.net

非常にロボットの目、ロボットの頭脳となることを意識したパッケージングになっていて、RealSenseカメラはZR300相当が装備されているようです。
環境を認識しながら自立的に動く何かが作れそうな気がしますねw

開発者向けの情報はこちらに集約されています。

Intel® Euclid™ Community

ではさっそく試してみましょう!

 

開封

Euclidは本体と2種類のパワーサプライ用アタッチメントがあります。
一つがバッテリーパック、もう一つがUSBからパワー供給を行えるアタッチメントパックです。
用途に応じてどちらを使うか選択します。

f:id:peugeot-106-s16:20170618125636j:plain

 

外部向けI/FはUSB3.0HDMIがあります。

f:id:peugeot-106-s16:20170618125749j:plain

 

あと、画面を持たないスタンドアロンバイスのなので喋ります。
ライセンス条項なんかもどんどん喋ります。
声がロボット感があっていい感じw

youtu.be

なお、これは内部で動作しているUbuntuの設定から”Screen Reader”をOFFにすれば黙ります。

f:id:peugeot-106-s16:20170618132111p:plain

 

初期設定

Euclidと最初に接続するにはPC等からEuclid自体がアクセスポイントとなっているWiFiに接続し、Webインターフェイスのポータル画面にアクセスします。

f:id:peugeot-106-s16:20170618133723p:plain

このポータル画面から利用する機能ノードをまとめたシナリオを起動/終了できます。
またWiFi設定をここから行えるので、普段利用しているWiFiにEuclidを参加させることもできます。
ぼくはここで普段利用しているネットワークにEuclidを参加させました。

以後EuclidへのアクセスはこのWebインターフェイスVNC接続を利用したリモートデスクトップでのアクセスにより行います。(SSHも試していませんが可能なはず)

 

プリセットのシナリオを試してみる

前項で述べたシナリオを起動してみます。
今回はカラーカメラ、Depthカメラ、Person Trackingノードを利用する"PersonalViewを起動してみます。

f:id:peugeot-106-s16:20170618133859p:plain

そしてMonitorタブで各機能のRawデータを表示させるようにしてみると、各機能が正常に動作していることを確認できます。

f:id:peugeot-106-s16:20170618134240p:plain

 

独自のシナリオを作成する

さて、本当にやりたいのはここからですよね!

独自の機能ノードを作成するためにチュートリアルを紐解いてみましょう。
Euclidの機能ノードを作成するにはlinuxの知識とROSの知識が必要です。
開発作業自体はEuclid内にROSのワークスペースが準備されているので自家発電的に開発が可能ですよ。

では、Communityページの”Introduction To Euclid”を順を追ってすすめます。

f:id:peugeot-106-s16:20170618134732p:plain

ただこちらのチュートリアル、ノリはいいけどそのままですとすんなりいかない人が多そうです。
しかもPDFなのでコードのコピーとかしんどいですw
あとコマンド等の _ (アンダーバー)が抜けているところがかなりあるのでROSのコマンドらしきものはROS自体の情報を参照して誤りを正したうえで実行します。
一応Updateが入っているようですが、こちらも合わせて参照しながら進めると良いでしょう。

communities.intel.com

そしてぼくの方で実際に動作したソースコード、設定ファイル類をこちらに置いておきます。

github.com

また、カメラを起動するとパフォーマンスを喰うのでVNCサーバーがとてつもなく遅くなって操作不能になることも多いので、割といばらの道でしたw

ということで、きちんと動くとカメラ映像にOpenCVで色調変換のフィルタをかけた映像が、Ubuntu内でもWebインターフェイスでもモニターできるようになります。

f:id:peugeot-106-s16:20170618135715p:plain

f:id:peugeot-106-s16:20170618135734p:plain

 

まとめ

ということでEuclidを試してみました。

これまでWindowsやUnityでRealSenseを使ったアプリを作っていた方にはかなり世界観が違うのでとっつきにくいかもしれませんが、いまやRealSenseが主にフォーカスしているのはこのようなロボットの目となるような用途になってきているので当然の進化なのかもしれません。

スタンドアロン動作できるということはちょっと今までと違う使い方ができそうで夢が広がります。
やっぱり動くものに載せたいですね^^