NVIDIA Jetson Tx2 + Ubuntu 16.04 + アサヒドライプレミアム

月末のプレミアムフライデー,定時退社日と酒を飲むにはもってこいの状況だったのですが,来週には試走会一回目があり...
かえってひたすら作業に没頭すべきかどうか,非常に難しい判断を強いられました.結果的に,ビールが飲みたくて仕方なく,のみ「ながら」にしました(笑)
朝のエントリで書いたと思うのですが,NVIDIAのJetsonTx2を買って画処理をそれでやろうと思っているのですが,その設定で時間がかかりそうだったので,
少々酔っててもいいいかと思い.
(先日,一人ロボットの孤独に耐えかねて,Facebookでブログのリンクを公開したこともあり,だいぶゆるゆるの雰囲気になってると思いますが,今後はこんな感じで行きます(笑))

で,NVIDIAのJetsonですが,自腹で買いました.10万円なり...やっぱいろいろと金かかりますね...

f:id:rkoichi2001:20170630214850j:plain

Jetpackの最新版3.0を入れて,ホストPCからJetsonにフラッシュしました.Jetson自体は Ubuntu 16.04で動くのですが,HostPCはUbuntu14.04での動作保証しかしていないらしく,なんていけてないんだと思ったのですが,Ubuntu16.04でも大丈夫でした.Jetpackから最新のバイナリイメージをフラッシュして,今ROSをインストールしてます.

で,Jetsonとは何ぞや?という話なんですが,いまDeepLearningのブームもあって並列計算を手軽に実現できるハードウェア?がオタクの間では大流行してます.
何かの仕事(A, B, C)をしないといけないときに,Aを片付けてからBを,Bを片付けてからCをという順番でないと片付かない仕事なら順番にやっていくしかないと思うのですが,仕事の種類によってはAの結果がBには関係なく,Bの結果もCには関係なくみたいなことって結構あると思います.(まさに画像処理とかDeepLearningがそんな感じだとおもうんですが.)この場合,同時にいっぱい仕事ができたほうが早くおわりますよね?こんな感じで,互いの仕事の結果に依存関係がない場合,できる限り同時進行できる数を増やしたほうが早く終わると思うんですが,このJetson,その同時進行できる数が普通のパソコンよりけた違いに多いんです.

もともと,NVIDIA自体はパソコンのグラフィックスを表示するための計算処理ハードウェアを作ってた会社(だと思うんですが)だったんですが,どうやらこのグラフィックス処理のハードウェアというのもいかに並列に処理できる数を増やすか的なことにポイントがあるらしく,今はグラフィックスというよりいろんなとこに進出してます.車載の世界では,Toyota, Audi, BoschNVIDIAのDrive PXというハードを使って自動運転を実現するロードマップを描いていて,車載の分野で存在感が抜群に上がってきてます.

monoist.atmarkit.co.jp

で,このDrive PXですが,個人で買うと200万くらいします(笑)かつ,電気をいっぱい食うので大きなバッテリーが必要で,僕のロボットに乗せると確実にタイヤがつぶれます.で,その廉価版というか,もっと小規模なロボット用に作られたものが Jetson になります.これを今回買いました.こいつにステレオの視差計算とかビジュアルオドメトリの計算とかをさせて,何とか5FPS位出ればハッピーかななんて思ってます.一応,普通のPCっぽくも動くんですが,フラッシュした後,JetsonでUbuntuを立ち上げたのが下記の写真になります.

f:id:rkoichi2001:20170630220606j:plain

今晩ステレオの視差計算をJetsonでできるとこまで行けばいいんですが,,,そこは作業のはかどり具合と酔いの回りの勝負ですね.

f:id:rkoichi2001:20170630220753j:plain

今後の人のために,二つだけ
1.JetpackはUbuntu16.04のホストPCからでもフラッシュできる.
2.Jetpackのフラッシュは若干相性があり,うまくいかないことがある.自分の場合は,手持ちのノートPCでどうしてもうまくいかなかったので,デスクトップでやったらすんなりいきました.

ということで,ステレオを動かすとこまで行けば,またポストします.