拙著「ROS2とPythonで作って学ぶAIロボット入門」(講談社)の講義資料です.金沢工業大学ロボティクス学科3年次2022年後学期開講のロボットプログラミングⅡ(2単位)で使用予定です.
なお,本講義では簡単のために,Windows環境でこの本用のDockerイメージを使い,シミュレータのロボットを動かします.今回は,この本用Dockerイメージのダウンロードと使い方を説明します.
また,LinuxでDockerを使いたい場合は,参考資料を参照してください.本資料は参考資料をもとに作成しました.
環 境
- Windows10 Home バージョン 21H2 (Windows Pro, Enterprise, Educationは未検証)
- Docker Desktop for Windows:4.12.0
- Dockerイメージ:AI-Robot-Book/docker-ros2-desktop-ai-robot-book
コンテナの起動
- ノートPCをインターネットに接続する.この作業は10GBのDockerイメージをダウンロードするので,学内ネットワークでは1時間以上要する.自宅で実施すること.
- Docker Desktopを起動する.
- 起動用バッチファイルを升谷先生が作成したので,それを使って起動する.
-
ダウンロードするファイルを格納するためにairobotディレクトリ(フォルダ)をエクスプローラを使って作成する.本来はどこでも良いが講義の説明のために指定する.ユーザー名は自分のWindowsユーザー名に読み替える.
- ここからバッチファイルrun.batをダウンロードして,上で作成したディレクトリの中に保存する.上のリンクをクリックしてダウンロードができない場合は,リンクを右マウスクリックして「名前をつけてリンク先を保存…」でそのディレクトリに保存する(下図参照).
- エクスプローラで上のディレクトリを開き,アドレス欄にある黄色のフォルダアイコンまたは余白をクリックすると下図のようにC:\Users\ユーザ名\airobotに表示が変わる.
- アドレス欄に「cmd」と入力しEnterキーを押すと,そこ(C:\Users\ユーザー名\airobot)をカレントディレクトリとするコマンドプロンプトが起動する.
-
この作業はDocker Desktopをあらかじめ起動していない場合やネットワークに接続していない場合はエラーになる.エラーになった場合は,ネットワークの接続を確認して,Docker Desktopを起動する.コマンドプロンプトで次のコマンドを入力してEnterキーを押して起動用バッチファイルrunを実行する.
- 初回の起動時は,DockerHubからイメージ(約10GB)をダウンロード(プル)するので,かなり時間がかかる.私の環境(フレッツ光)では5分かかった.学内の場合は1時間以上かかるので,自宅で実施することを強くお勧めする.
- イメージのダウンロード(プル)が終了後に,多くの文が流れて表示され,最後に以下のような内容が表示されて止まればコンテナの準備完了.なお,準備完了を表すcompleteなどが表示されないので,待ちぼうけと勘違いしないように注意.この状態で次の「コンテナの使い方」の作業に移る.
-
コンテナの使い方
- コンテナが提供するLinuxのデスクトップ環境を利用する方法は以下の2つがあるが,講義では簡単なウェブブラウザを使う方法を使う.VNCビューアを使う方法は参考資料を参照して欲しい.
- ウェブブラウザ
- VNCビューア
- 以下のリンクをクリックすると,ウェブブラウザ内に以下のような画像が表示される.ウェブブラウザが起動しない場合は,手動でウェブブラウザを起動し,以下のアドレスをアドレス欄に入力する.何でもよいがここでは,Windows標準搭載のMicrosoft Edgeを使う.
- このDockerイメージで使用しているデスクトップ環境はLXDEと呼ばれるもので,Windowsと同じように画面の下辺にスタートボタンやアイコンが表示される.このままでは使いづらいので,画面左辺のタブをクリックしてnoVNCメニューを表示する.下図赤枠の「Fullscreen」アイコンをクリックする.
- そうすると全画面に表示され,画面下端のスタートボタン等にアクセス可能となる.
- デスクトップ環境の操作は教科書P22第1章1.3.4 Dockerを参照して頂きたい.
- 終了したい場合は,Escキーを押して全画面表示を終了し,ウェブブラウザ(のタブ)を閉じるだけで良い.
コンテナの停止
- ウェブブラウザを閉じただけでは,コンテナは停止しないので,Docker Desktopを使いコンテナを停止させる.Docker Desktopのウィンドウを開き,左側のメニューの「Containers」をクリックしてコンテナの一覧を表示する.一覧の「ai_robot_book」の「Stop」アイコンをクリックするとコンテナが停止する.なお,ストップの右にあるゴミ箱アイコンをクリックするとコンテナが削除されるので,間違ってクリックしないように注意!
- ノートPCの電源を落とす前にコンテナを停止する.そうしないとコンテナが壊れて使えなくなる恐れがある.なお,「ai_robot_book」はコンテナを起動したときにコンテナに付けた名前である.
コンテナの起動と削除
- ストップしたコンテナをまた使うためには,Docker Desktopのウィンドウを開き,「Containers」の中の「ai_robot_book」の行の「Start」アイコンをクリックする.
- コンテナでの作業内容を全て破棄したい場合は,「Delete」アイコンを押してコンテナを削除する.
備 考
- Windows11のPCがないので試せていない.
- 教科書P24第1章1.3.4 Dockerの起動,停止コマンドはLinux環境などでGUIツールを使わない場合です.コマンドプロンプトからコマンドを入力して実行することもでますが,GUIツールであるDocker Desktop for Windowsを使う場合は必要ないでしょう.
参考資料
終わり
コメント