拙著「ROS2とPythonで作って学ぶAIロボット入門」(講談社)の講義資料です.金沢工業大学ロボティクス学科3年次2023年後学期開講のロボットプログラミングⅡ(2単位)で使用予定です.
なお,本講義では簡単のために,Windows環境でこの本用のDockerイメージを使い,シミュレータのロボットを動かします.今回は,この本用Dockerイメージのダウンロードと使い方を説明します.
また,LinuxでDockerを使いたい場合は,参考資料を参照してください.本資料は参考資料をもとに作成しました.
環 境
- Windows11 Home バージョン 22H2
- Docker Desktop for Windows:4.24.0
- Dockerイメージ:AI-Robot-Book/docker-ros2-desktop-ai-robot-book
コンテナの起動
- ノートPCをインターネットに接続する.この作業は10GBのDockerイメージをダウンロードするので,学内ネットワークでは1時間以上要する.自宅で実施すること.
- Docker Desktopを起動する.
- 起動用バッチファイルを升谷先生が作成されたので,それを使って起動する.
-
ダウンロードするファイルを格納するためにairobotディレクトリ(フォルダ)をエクスプローラを使って作成する.本来はどこでも良いが講義の説明のために指定する.ユーザー名は自分のWindowsユーザー名に読み替える.
- ここからバッチファイルrun.batをダウンロードして,上で作成したairobotディレクトリの中に保存する.上のリンクを右マウスクリックして「名前をつけてリンク先を保存…」、そのディレクトリに保存する(下図参照).
- エクスプローラで上のディレクトリを開き,アドレス欄にある黄色のフォルダアイコンまたは余白をクリックすると下図のようにC:\Users\ユーザ名\airobotに表示が変わる.
- アドレス欄に「cmd」と入力しEnterキーを押すと,そのディレクトリ(C:\Users\ユーザー名\airobot)をカレントディレクトリ(現在いるディレクトリ)とするコマンドプロンプトが起動する.
-
この作業はDocker Desktopからコンテナをあらかじめ起動していない場合やネットワークに接続していない場合はエラーになる.エラーになった場合は,ネットワークの接続を確認して,Docker Desktop空コンテナを起動する.コマンドプロンプトで次のコマンドを入力してEnterキーを押して起動用バッチファイルrunを実行する.
- 初回の起動時は,DockerHubからイメージ(約10GB)をダウンロード(プル)するので,かなり時間がかかる.私の環境(フレッツ光)では5分かかった.学内の場合は1時間以上かかるので,自宅で実施することを強くお勧めする.
- イメージのダウンロード(プル)が終了後に,多くの文が流れて表示され,最後に以下のような内容が表示されて止まり、Docker Desktopのウインドウにai_robot_bookが現れ、StatusがRunningになれば成功。次の「コンテナの使い方」の作業に移る.
-
コンテナの使い方
- コンテナが提供する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」アイコンを押してコンテナを削除する.
- 教科書P24第1章1.3.4 Dockerの起動,停止コマンドはLinux環境などでGUIツールを使わない場合です.コマンドプロンプトからコマンドを入力して実行することもでますが,GUIツールであるDocker Desktop for Windowsを使う場合はコマンドを入力する必要はありません。
参考資料
終わり
コメント