AbudoriLab.です。移動ロボットの開発環境はさまざまありますが、とくに自律制御をする場合はROSを利用する場合が多いかと思います。ここでは、はじめてロボットを触る方向けにUbuntu22とROS 2インストール方法を解説します。超初心者向けの記事ですので、わからないところはコメントに残してください。追記します。(どんどん長くなります笑)
この記事は前の記事からの続きです。PCの用意、Ubuntuのインストールについては前の記事を参照してください。
前回記事
https://www.abudorilab.com/entry/2024/01/09/011131
非常に細かく書いている部分があるので、テキトーに読み飛ばしながら手順をなぞってみてください。
大まかな手順
ROSをインストールするPCにUbuntuというOSをインストールします。OSインストールの細かい手順やつまづきポイントを解説します。OSをインストールしたら、次は日本語入力などの初期設定を行い、ROSのインストール手順を解説します。大まかには以下の手順を取ります。
- PCを用意するーこの記事
- OSインストール用のメディアを用意する ー前の記事
- インストールするPCをBIOSで起動する ー前の記事
- OSインストーラを起動する ー前の記事
- OSのインストールをする ー前の記事
- Ubuntuの基本設定を行う ーこの記事
- ROSのインストールを行う ーこの記事
- ROSのワークスペースを作る ーこの記事
Ubuntuの基本設定を行う
ここからはUbuntuの基本設定をしていきます。パソコンを再起動すればUbuntuが立ち上がります(上の画面からではEnterを押せば自動的に再起動してUbuntuが立ち上がるはず)。ユーザ選択画面で先ほど決めたパスワードを入力してデスクトップを表示してください。
基本的にLinuxはターミナルで、コマンドを入力しコンピュータを操作します。最初は大変でもなれるので頑張りましょう。まずはターミナルを起動します。ショートカットキーCtrl+Alt+tで起動するかSuperキー(WindowsキーのことでWindows以外のOSでWindowsキーのことを指します)を押して出てくる検索窓に“terminal”と入力して選択します。ショートカットキーが便利なので覚えていると便利ですが覚えられなければ画像のように右クリックでお気に入りに追加しましょう。
まずは、OSに入っているさまざまなソフトウェアの最新化をしましょう。Ubuntu22.04ですから、2022/4のソフトウェアのままです(正確には日本語Remixなので、もう少しだけ新しいです)。“sudo apt update”と入力してEnterキーを押しましょう。
そのうちなれるので、わからない場合はそのまま打ち込んでみてください。コマンドは実行するソフトウェアの名前を入力します。この場合では“apt”というソフトウェアを実行しています。この例では管理者権限で実行するので“sudo”をaptの前に入れています。aptというソフトウェアの“update”というプログラムを走らせるため、“sudo apt update”と入力します。
sudo(管理者権限)を使うためパスワードが要求されます。パソコンにログインしたパスワードを入力してEnterを押します。特に画面に文字が表示されることはありませんが、ちゃんと認識しているのでタイピングミスをしないように入力しましょう。パスワードが周囲に見えないような仕様です。
updateで最新版と差があるかどうか確認しました。最新版が出ていればaptというソフトウェアが更新できるよ!と感知できます。更新できるソフトウェアを実際にダウンロードするために、“sudo apt upgrade”と入力しEnterを押します。
次にROSのインストールに必要なツールをインストールします。“curl”というツールをインストールします。これも管理者権限(sudo)でaptというソフトウェアの“install”というプログラムを使います。installというプログラムでcurlを探してきてインストールさせるので、“sudo apt install curl”と入力してEnterを押します。(そろそろ詳細をやめます笑)
WebブラウザはFireFoxが入っていますが、Chromeがいいという人も多いと思います。Chromeそのものではないですが、Chromiumが簡単に入りますので、入れてみましょう。“sudo apt install chromium-browser”と入力してEnterを押します。
また、このように自動で更新ツールがGUIで出ることがありますので、利用しましょう。今すぐインストールを押してしばらく待ちましょう。
Linuxではこのように頻繁にコマンドを入力するため、タイピング力が大切です。タッチタイピングは是非できた方がよいので、練習しましょう。毎日一回タイピングゲームで練習すれば1ヶ月〜3ヶ月もすれば早くなるはずです。1日中頑張ったりと長時間やるよりは1日3分を毎日やった方が効果は高いと思います。
まずは、e-typingで練習して、
ある程度慣れてきたら寿司打をするといいでしょう。
スポンサードリンク
ROSのインストールを行う
ROSのインストールをする作業を行います。知らない/わからないことが出てくると思いますがそのまま真似してみてください。調べる体力がある人は調べてみてください。が、深く理解してなくてもできるにはできるので、気負わずにやってみましょう。
ROSを正しくダウンロードできるためのキーをダウンロードします。インストールする際にプログラムが認証を行う時に使います(今の私たちはあまり気にする必要はありません)。
sudo curl -sSL https://raw.githubusercontent.com/ros/rosdistro/master/ros.key -o /usr/share/keyrings/ros-archive-keyring.gpg
をCtrl-cを押してコピー、ターミナルをクリックして有効化してからCtrl-Shift-vで貼り付けます。ターミナルでコピーやペーストする場合はShiftも必要です。
次にROSをインストールするリストに追加します。先ほどからaptを使ってインストールしてきましたが、ROSもこれでインストールします。Ubuntuの初期状態では、aptはROSを知らない状態なので、aptにROSというものがあるよ〜と教えます。次のコマンドをターミナルに入力(コピペ)してEnterを押します。
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/ros-archive-keyring.gpg] http://packages.ros.org/ros2/ubuntu $(. /etc/os-release && echo $UBUNTU_CODENAME) main" | sudo tee /etc/apt/sources.list.d/ros2.list > /dev/null
↑のコマンドを入力したのち、もう一度“sudo apt update”を入力してEnterを押します。これでapt install でROSを認識することができるようになります。その後に、“sudo apt install ros-humble-desktop-full”と入力してEnterを押します。
大量のプログラムをダウンロードするためかなり時間がかかります。
これでROS自体はコンピュータに入りました。起動できるかどうか確認します。
ターミナルで“source /opt/ros/humble/setup.bash”と入力してEnterを押した後に、“rviz2”と入力してEnterを押します。
次のような画面が出てきたら成功です。もう少しだけ続きます。
ROSのワークスペースを作る
ROSでは、ロボットの環境認識プログラムや行動生成プログラムなどを自分で作ったり、人が作ったもののコードを持ってきてコンパイルしたりします。そのプログラムを保存したり、自分のプログラムを置くワークスペースを作ります。
まずは設定ファイルを作ります。その前にテキストエディタを起動してみましょう。ターミナルで“gedit”とコマンドを打ってみましょう。Windowsのメモ帳的なエディタが起動します。
このgeditで.bashrcというファイルを編集します。.bashrcはターミナルを開いた最初の場所に保存されています。ターミナルで見てみましょう。“ls”(エルエス、アイエスではない)コマンドで現在地のファイルを見ることができます。lsはリストです。ファイルをリストにして可視化します。ただし、.bashrcは隠しファイルなのでそのままでは見えません。lsに-(ハイフン)で可視化にオプションを追加します。わかりやすいもので-l(ハイフン エル)をいれると縦に並びます。-a(ハイフン エー)入れることで隠しファイルもすべて表示されます。エルとエーを組み合わせると画像のようになります。
geditで.bashrcを開くためにはgeditの後にファイル名を入れます。つまり“gedit .bashrc”と入力します。
先ほど“source /opt/ros/humble/setup.bash”を入力しました。これを入力することでROS専用コマンドが有効化されROSのツールを使用できるようになります。逆にこれを入力しないとまったく動きません。なので、毎回このコマンドを打つ必要があります。これをするのは非常に面倒なので自動化します。この.bashrcはターミナル自体の設定ファイルです。この.bashrcに書いてあるコマンドをターミナル起動時に自動的に実行されます。なので、この設定ファイルに“source /opt/ros/humble/setup.bash”を追記します。このファイルの一番下に書いて保存してバツボタンを押して閉じましょう。
設定ファイルを変更しましたが、これでは反映されていません。“source”コマンドで反映しましょう。“source ~/.bashrc”と入力します。じつは“source /opt/ros/humble/setup.bash”を入力したのは、ROSの設定ファイルを反映させるために書いています。
これでROSのコマンドが使えるようになりました。ちょっと脇道にそれます。
.bashrcはターミナルの起動時にコマンドを入力してくれます。試してみます。ただの実験なので、これは入力しなくて良いです。source /opt/ros...の後に、文字を表示するだけのコマンドを書きます。“.bashrcを読み込んだよ”って表示されるようにしました。この画像のように、ターミナルを開くたびに表示されるようになりました。.bashrcは単純に書かれたコマンドを順番に入力してEnterを押しているだけだとわかります。
ここから、実際に作業するディレクトリを作ります。ディレクトリはWindowsでいうフォルダのことです。エクスプローラと全く同じ階層構造になっていて、WindowsやMacOSなどのGUIではフォルダ、ターミナルなどのCUIではディレクトリということが多いです。
ここでcolcon_wsというディレクトリを作ってみましょう。“mkdir”コマンド(メイク ディレクトリ)の後に作りたいディレクトリ名を入れます。よって“mkdir colcon_ws”となります。lsコマンドでcolcon_wsができていることを確認します。
colcon_wsディレクトリの中にsrcディレクトリを作ります。今、colcon_wsを作ったので、colcon_wsの中に移動してsrcを作ります。colcon_wsの中に移動するには“cd”(チェンジディレクトリ)コマンドを入力します。つまり、“cd colcon_ws”を入力します。その次にsrcディレクトリを作るので、“mkdir src”と入力します。
下の画像では、現在の場所をpwdコマンドで表示しています。colcon_ws/srcができていることがわかります。ここで、colcon_ws/src → colcon_ws とcdコマンドで一階層上に移動しています。一階層上に移動するときは“cd ..”と入力します。
この作ったディレクトリ内でROSのソースコードをビルドします。このビルドツールがcolconです(なのでcolcon_wsというディレクトリ名になっています)。このcolconをインストールします。sudo apt install python3-colcon-common-extensionsと入力します。
colcon を入れた後に、colcon_wsで(colcon_ws/srcではありません!)“colcon build”と入力します。successfulと入力されればROSを使用する準備が完了です!
colcon buildをすることによってbuild install logディレクトリが増えているはずです。
以上で、ROSを使う準備ができました!お疲れ様でした。
実際にROSを動かすときは、先ほどのsrcディレクトリの中にソースコードを書いたり、他の人が作ったコードを入れて、colcon_wsディレクトリでcolcon buildすることでROSパッケージがビルドされます。ビルドができたら実行コマンドを打ち込めばROSパッケージを動かすことができます。これからROSを使った移動ロボットの例を紹介していきますので是非やってみてください。