いよいよGoPiGoのテスト走行!
では実際にコマンドラインから指令を与え、GoPiGoをテスト走行させてみましょう。ここでもROSのコマンドが出てきますが、詳しくは次回紹介するので、ここではドライバーが正常にインストールができたことと、GoPiGoの車輪が正常に動くかを確認してみましょう。
注意点として、今までは電源をコンセントからとっていたと思いますが、ここからは実際にロボットを移動させるので、電源ケーブルをコンセントから抜き電池に切り替えて動作させてください。
まず、1つのターミナルウィンドウで複数のコマンドを打てると便利なので、tmuxなどお好みのツールを起動してください。ここではtmuxを使います。
$ tmux
次に、tmux上で画面分割を行い、以下のコマンドをそれぞれ別のターミナルで起動しましょう。
前ページでインストールしたROS用のドライバーを起動させるところまでいったん行います。
$ roscore
$ sudo chmod a+rw /dev/i2c-1 $ roslaunch ropigo ropigo.launch
最後に、GoPiGoの車輪に速度指令値を与えるコマンドを入力します。左にゆっくり回転させてみましょう。
はじめは、予期せぬ誤作動を防ぐために、GoPiGoを逆さまにして移動しない状態にしてから行うと良いでしょう。
ターミナルに速度指令コマンドを入力します。コピペではなく、直接入力してください。ROSはタブ補完が効きます。Twistの後のスペースまで打った後、Tabキーを押すとそれ以降が自動で入力されます。
$ rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.0 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.2"
GoPiGoが左周りに回転すれば成功です! このコマンドで、0.2[rad/s]の速度で左回転させています。angularのzを-0.2に変更すれば右回転します。停止するには、上記コマンドをCtrl+Cで抜けた後、angularのzに0.0を入力してください。
また、下記のようにlinearのxに値を指定すると、前進・後退をします(前進がプラス、後退がマイナス)。この例では、0.2[m/s]の速度で前進します。
$ rostopic pub /cmd_vel geometry_msgs/Twist "linear: x: 0.2 y: 0.0 z: 0.0 angular: x: 0.0 y: 0.0 z: 0.0"
前進が確認できたら再度、linearのxを0.0に戻し、停止させましょう。
うまく動けば、こちらの動画のようになるので参考にしてください。
以上が今回のゴールです。おつかれさまでした!
おわりに
今回の記事では、「遠隔見守りロボット」を作る上での準備として、GoPiGo上のラズパイに、UbuntuとROSをインストール/セットアップし、ROSを使ってGoPiGoが動くことを確認しました。
次回は、ROSについて詳しく解説します。ROSにはノード、トピック、サービスなどの用語が出てきますが、先ほどインストールした「GoPiGoを制御するためのROS用のドライバー」を使いながら、GoPiGoを実際に動かしたり内部情報を出力させたりしながら解説していきたいと思います。