今回は、ロボットを動かすための環境構築について説明します。
必要なものとしては、対象となる**ロボットとそれを制御するパソコン**の2つです。
また、この2つの機器をつなげるための**無線ネットワーク環境**も必要となります。
ロボットを制御する方法として、最も広く使われているのがROS(Robot Operating Systems)というものです。
まず、私の開発環境を書きます。
PC:Ubuntu 18.04
ROS version:melodic
ROSにはいくつかのバージョンがありますが、私はmelodicを使っています。
ROSのインストール方法は公式ホームページを参考にしてください。
次には今回の制御目標であるロボットについて説明します。
私が使っているのは、ROBOTIS社の**Turtlebot3 waffle pi**というものです。
名前の通り、平べったい形をしているロボットです。
センサとしては、カメラ、LDS、IMUが装備されており、ラズベリーパイによって制御されます。
詳細情報は公式ホームページを参考にしてください。
ロボット側もROSをインストールする必要があります。
これに関しては、ROBOTIS社のホームページから既にROSがインストールされているラズパイのOSイメージをダウンロードすることができます。
次は、無線ネットワークを使ってパソコンとロボットをつなげる必要があります。
ロボットのセンサから取得した情報をパソコン側に送ったり、ロボットにコマンドを送ったりするためです。
2つの機器をつなげるためには,それぞれのIPアドレスを調べる必要があります.
まずターミナルを開いてください.
ショートキーは,**「Ctrl + Alt + t」**となります.
コマンドが入力できる状態になりましたら,**「ifconfig」**を入れてください.
$ ifconfig
すると,色んな情報が出てきますが,
**「wlan0」というところの「inet」**というところに書かれた数字を確認してみてください.
192.168.0.10
のような数字が書かれていると思います.
これがパソコンのIPアドレスとなります.
ロボットのラズパイの方も同じ方法で調べることができます.
今回は,例としてパソコンとロボットのIPが次のようになっていると想定します.
・パソコンのIP:192.168.0.10
・ロボットのIP:192.168.0.20
ここまで出来ましたら,あとはROSの設定ファイルを開いて上記の情報を書き込みます.
ROSの設定は,**「.bashrc」**というファイルで出来ます.
ターミナルを開いて次のようにコマンドを入力してください.
$ gedit ~/.bashrc
すると,テキストエディターが開くと思います.
上記のコマンドの「gedit」というのは,テキストエディターの名前であって,それを使って「~/.bashrc」ファイルを開いたということです.
パソコンによっては,色んなことが書かれていると思いますが,
export ROS_MASTER_URI=http://localhost:11311
export ROS_HOSTNAME=localhost
と書かれたところを探してください.
パソコンの場合は,**「localhost」のところを消して先程のIPアドレス**を書いてください.
つまり,
export ROS_MASTER_URI=http://192.168.0.10:11311
export ROS_HOSTNAME=192.168.0.10
こうなるようにしてください.
次に,ロボットのラズパイの方は,
**「ROS_MASTER_URI」の方はパソコンのIPアドレスを,「ROS_HOSTNAME」の方はラズパイのIPアドレス**を入れてください.
つまり,
export ROS_MASTER_URI=http://192.168.0.10:11311
export ROS_HOSTNAME=192.168.0.20
こうなるようにしてください.
変更内容を保存して,テキストエディターを閉じてください.
ただ,このままだとOSに変更内容が反映されないので,次のコマンドを入力してください.
$ source ~/.bashrc
以上でロボットとパソコンを無線ネットワークでつなげる設定は終了です.
次回は,実際にロボットが計測した情報をパソコン側が受け取る方法を説明します.