AbudoriLab.

自律ロボットで誰でも遊べるよう試行錯誤するブログです。

キャリアボードからのJetson Orinのセットアップ

Abudoriです。Jetsonは活用していますか? Jetsonは開発者ボードは便利で手に入りやすいですが、ドローン用などの極端に狭いスペースでつかいたい、Ethernetの数を増やしたいなどの制約があると キャリアボードを選択して、Jetsonのカード単体で使う必要があります。

今回はキャリアボード、Jetsonのカード、SSD、WiFiなどバラバラに選択して環境構築する方法を紹介します。

スポンサードリンク

キャリアボードを選択しよう

Yahboom

初心者用のロボットキットを多数販売しているyahboomがJetson Orinのキャリアボードを販売しています。Waveshareブランドを購入しても同じものが来ます。 このキャリアボードはNVIDIA公式開発者キットを踏襲してほとんど同じになるように作られています(GPIOピンなどはカラフルなど見た目は違いますが)。

モジュールだけあったり、キャリアボードは過酷な状況で使用して壊してしまったけどモジュールだけ生きてた時の乗り換えなどにはこれを選ぶとよいでしょう。キャリアボードの中で一番安いです(高いけど)。

注意点としては、DCジャックの内径が2.5mmで秋月電子のACアダプタが使えないことと、DisplayPortであるという点です。

Seeed A603

スイッチサイエンスがベストですが、売り切れなのでAmazon

Seeed Studioのキャリアボードで最も小型なもの。 ほとんどJetsonのカードサイズで完結します。おそらく市販品で最も小さいキャリアボード。

UAV(いわゆるドローン)に載せるときに一番小さな面積で搭載できます。 そのかわりUSBポートは2基しかありません。Ethernetはちゃんとついているので、LiDARや別のコンピュータに接続することもできます。

注意点としては、電源供給がXT30コネクタとなります。 電源系のハーネスを自作する必要があります。

Seeed A607

Jetson Orin NX/Orin Nano用キャリアボード A608(ACアダプタ抜き)ssci.to

Seeed Studioのキャリアボードでインタフェースが豊富なもの。 Ethernetが2基ついているので、前後3DLiDARの処理をしたり、3DLiDARを読み取り点群処理をした結果をホストPCに優先Ethernetで送信するなどといった使い方ができます。 犬ロボもJetson2基体制なので、片方が点群処理、もう片方が画像処理などをやりたいときにこのキャリアボードを選ぶとよいでしょう。

GPIOがすべてまとめられていて、UARTやCANなどがコネクタを作るだけで配線できるようになっています。

注意点としては、珍しくGPIOがないので、ちょっとしたスイッチ処理やONOFFなどの処理をしたくてもマイコン基板を用意する必要があります。

キャリアボード運用するときに必要な物品(モジュールとキャリアボード以外)

SSD

キャリアボードにはOSを入れる部品はありません。自分でSSDを追加購入する必要があります。昔のJetsonやRaspberry PiのようにSDカードからのフラッシュはできません。キャリアボードからJetsonのハードウェアが直接読み取れるようにSSDを自分で接続する必要があります。

SSDの口として、M.2を利用できます。小さなキャリアボードは違うことがありますが、2280(22mm x 80mmの長いほう)と2230(22mm x 30mmの短いほう)が利用できます。

また、SSDの種類はNVMeのみです。全く同じ形状でSATA形式のものがありますが読み込めません(1敗、買いなおしました)

安くて対応していたSSDがこれです。

また、こちらのWebサイトに装着方法が写真付きでわかりやすくまとめられています。

www.hagisol.co.jp

WiFi

WiFiも専用のカードをささないと動作しません。 NVIDIA公式の開発キットではすでにとりついている状態でOSを起動するだけでWiFiの設定ができるようになっていますが、キャリアボードを利用したり、Seeed StudioのreComputerなどを利用するときは自分で用意する必要があります。

WiFiカードもSSDと同じくM.2の口で接続できるものを用意します。

WiFiチップの互換性によっては、接続したら動かない…ということがありうるので、Intel製チップが載っているものを選定します。 ちょっと前まで「INTEL」と書かれた箱入りのものが売っていましたが、いまはバルク品しかないようです。

以下の製品を買って実装したところ、Jetsonで動作しました。

スポンサードリンク

セットアップ

必要部品を購入したら、セットアップしましょう。ここではまっさらなSSDにJetsonの開発ソフトウェア全部入りのJetPackが入ったUbuntuをNVIDIA公式ツールを使ってインストールします。

公式の説明はこちら

docs.nvidia.com

SSDにJetPack入りのUbutnuを書き込むにはSDKManagerが必要です。もともとはドライバ入れたり、CUDA入れたりするようなツールだったはずですが、JetsonのUbuntuイメージを丸々焼くこともできるようになっているようです。

公式の説明リンクから以下のダウンロードボタンから入手します。

自分の環境に合うリンク先を選ぼう

今回のインストール環境は

  • Ubuntu22 もしくは Ubuntu24
  • メモリ16GB以上
  • x86_64 CPUであること
  • 17GB以上の空き容量があること

です。ちょっと前まで、Jetsonをもう一台持っていても、それをホストコンピュータにすることはできません。この画面にはARMやWindowsも対応しているように見えますが、不具合だらけのNVIDIAのユーティリティツールがノートラブルで終了するわけがないので、UbuntuPCを用意しましょう。今回はUbuntu24で動作することが確認できました(少し前はUbuntu22必須でしたができるようになったようです)。

Ubuntuのボタンを押すと.debファイルがDLされるはずです。これはUbuntuのベースOSであるDebianパッケージです。DLした場所にターミナルで移動してインストール作業をします。

Ubuntuでパッケージインストールする方法と同じで sudo apt install で.debファイルをインストールします。 インストールが終わったら、 sdkmanager コマンドを実行して、起動してみましょう。

cd ダウンロード
sudo apt install  ./sdkmanager_2.4.0-13236_amd64.deb 
# インストール終わったら...
sdkmanager

手順通りに進めるとsdkmanagerが起動されるはず

ログインボタンを教えて進めます。ブラウザからNVIDIA開発者アカウントでログインしましょう。

ブラウザが立ち上がっていてログイン待ちになっているのを見落としてしまいがち

しばらくするとSDKManagerのメイン画面になります。

Jetsonをフォースリセットモードで起動します。GPIOピンではなく、Jetsonモジュールから伸びているピンを操作します。 10ピンと9ピンをショートさせた状態で電源供給するとフォースリセットモードで起動し、SSDではなく独自のBIOSのようなモードで起動します。このモードで起動すると、JetsonのUSB-Cポートがシリアルポートになり、SDKManagerと通信できるようになりOSを焼くことができます。

10pinがForceResetピンなので、GNDの9pinをショートしよう
ジャンパーピンをさしてショートさせた。自信がある人はマイナスドライバーでもできます。Jetsonが死んでも知りませんが。
ショートさせた状態で電源投入。この状態でJetsonのUSB-CとPCのUSB-Aを接続させる

Jetsonの電源プラグはよく見るDCジャックの5.5mm 2.1mmではささりません。5.5mm 2.5mmのプラグが必要です。秋月電子のACアダプタは使えないので、別のものを用意する必要があります。AmazonのPDトリガーケーブルはなぜか内径2.5mmのものが多いです。以下のトリガーケーブルで電源供給ができました。

PCとJetsonを接続し認識されるとSDKManagerが変化します。この時、HostMachineのチェックを外し、Jetsonのチェックをつけると、JetPack6.2が選択できるようになります。現行のJetsonは6.2.2が最新であり、7.0以上になることはないでしょう。

ダメな例。HostMachineのチェックを外す必要がある
CONTINUEが選べるように選択しよう

次の画面でいよいよインストールに進みます。ここでJetsonに必要な情報をダウンロードしてインストールします。ここで17GB消費するので容量を開けておきましょう。ダウンロードだけで1~3時間くらいかかります。

ダウンロードが終わったらUbuntuをJetsonに書き込みます。JetsonのTYPE-Cケーブルはシリアル通信として起動しているので、数百kbpsで通信します。この速度で10GB以上コピーするので、数時間かかります。途中で、Jetsonのユーザ名とパスワードが要求されるので、使いたいユーザ名とパスワードを設定しましょう。そのあとはとても時間がかかるので、セットして寝ましょう。

Abudoriは途中で全く進捗が進まなくなり、書き込み失敗していました。強制終了してもう一度実行したので、日曜日1日かかっています。

右下のチェックボックスをチェックするとダウンロードだけして終了してしまう。このチェックボックスは外そう。
FINISHになったらJetsonのOSが起動しています。うっかり電源ケーブルを抜かないようにしましょう。
FINISHの後、Jetsonのファンが回っているはずなので、そのままDisplayPortを接続しましょう。デスクトップが開いているはずです。

スポンサードリンク

基本セットのインストール

Ubuntuが起動していればインストール完了です。しかし、まだ使いにくい状況です。基本的なものをインストールしましょう。

WiFiカードのドライバを入れなおす

WiFiカードはINTEL製のAX210が搭載されている、Amazonで書いてありましたが、起動直後にWiFi選択画面が現れませんでした。 JetPackを入れたUbuntuは最小限の構成になっているようでWiFiドライバが入っていません。ドライバをあらためて入れる必要があります。

sudo apt install backport-iwlwifi-dkms

OSは認識していないけど、カーネルは差さっている!ということが分かった。WiFiのよくあるドライバを入れなおしたら動作した。

Chromium

Jetsonをインストールしたばかりの時はブラウザがありません。FireFoxも入ってなく、ChromeもARMCPU版は配布されていないためChromiumを入れることになります。インストールしたらすぐに使えるようにランチャーに登録しておきましょう。

以下のコマンドを入力します。

sudo snap install snapd_24724.snap
sudo snap refresh --hold snapd
sudo apt update
sudo apt install -y chromium-browser

snapを使ってChromiumを入れる。Ubuntu22の場合はバックポート(バージョンを古くする)しないと使えない(最新ビルドは動作しない)ので、過去のバージョンを指定してChromiumを入れる。
スーパーキー(Windowsキー)を押して"chromium"を押すと起動できる。起動したらChromiumアイコンを右クリックして登録ボタンを押そう。

mozcを入れる

JetPackが入っているOSイメージはUbuntu22固定です。Ubuntu24からOSに多様な言語がバンドルされWindowsのように言語を選ぶだけで日本語入力ができます。Ubuntu22は日本語入力ツールを入れる必要がありますので、ここでインストールします。

Google製の日本語入力ツールMozcをインストールします。以下のコマンドを入力します。

sudo apt install ibus-mozc

インストールが終わったらJetsonを再起動させます。起動後、右上設定ボタンの"A"をクリックしてMozcを選択すれば完了です。試しにブラウザで日本語が入力できるか確認しましょう。

Aをクリックして"Japanese(Mozc)"を選択しよう

ここまでインストールしたら、普通のPCのように使えるでしょう。あとは画像処理をするなり、ROS 2を入れるなり、煮るなり焼くなりJetsonを活用してください。