SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

ROSとRaspberryPiで遠隔みまもりロボットを作ろう(「Tech-Sketch」出張所/番外編)

ラズパイで動くロボット「GoPiGo」をつかって遠隔見守りロボットを作ろう(1) 開発準備編

ROSとRaspberryPiで遠隔みまもりロボットを作ろう 第1回(「Tech-Sketch」出張所/番外編)

  • X ポスト
  • このエントリーをはてなブックマークに追加

いよいよGoPiGoのテスト走行!

 では実際にコマンドラインから指令を与え、GoPiGoをテスト走行させてみましょう。ここでもROSのコマンドが出てきますが、詳しくは次回紹介するので、ここではドライバーが正常にインストールができたことと、GoPiGoの車輪が正常に動くかを確認してみましょう。

 注意点として、今までは電源をコンセントからとっていたと思いますが、ここからは実際にロボットを移動させるので、電源ケーブルをコンセントから抜き電池に切り替えて動作させてください。

 まず、1つのターミナルウィンドウで複数のコマンドを打てると便利なので、tmuxなどお好みのツールを起動してください。ここではtmuxを使います。

tmuxの起動
$ tmux

 次に、tmux上で画面分割を行い、以下のコマンドをそれぞれ別のターミナルで起動しましょう。

 前ページでインストールしたROS用のドライバーを起動させるところまでいったん行います。

ターミナル1:ROSマスターの起動
$ roscore
ターミナル2:GoPiGoのROS用のドライバーの起動
$ sudo chmod a+rw /dev/i2c-1
$ roslaunch ropigo ropigo.launch
ターミナル1(左)とターミナル2(右)の出力結果
ターミナル1(左)とターミナル2(右)の出力結果

 最後に、GoPiGoの車輪に速度指令値を与えるコマンドを入力します。左にゆっくり回転させてみましょう。

 はじめは、予期せぬ誤作動を防ぐために、GoPiGoを逆さまにして移動しない状態にしてから行うと良いでしょう。

 ターミナルに速度指令コマンドを入力します。コピペではなく、直接入力してください。ROSはタブ補完が効きます。Twistの後のスペースまで打った後、Tabキーを押すとそれ以降が自動で入力されます。

ターミナル3:0.2[rad/s]の速度で左回転させる
$ 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"
ターミナル3(右下)まで実行した出力結果
ターミナル3(右下)まで実行した出力結果

 GoPiGoが左周りに回転すれば成功です! このコマンドで、0.2[rad/s]の速度で左回転させています。angularのzを-0.2に変更すれば右回転します。停止するには、上記コマンドをCtrl+Cで抜けた後、angularのzに0.0を入力してください。

 また、下記のようにlinearのxに値を指定すると、前進・後退をします(前進がプラス、後退がマイナス)。この例では、0.2[m/s]の速度で前進します。

ターミナル4: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を実際に動かしたり内部情報を出力させたりしながら解説していきたいと思います。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
ROSとRaspberryPiで遠隔みまもりロボットを作ろう(「Tech-Sketch」出張所/番外編)連載記事一覧

もっと読む

この記事の著者

古賀 勇多(TIS株式会社)(コガ ユウタ)

TIS株式会社 AIサービス事業部AIサービス企画開発部所属。2015年入社後、自律移動ロボットの研究開発に従事。ロボット・クラウド・機械学習を活用した、人と共生できるロボットシステムの開発を目標にしている。最近興味がある技術は電子工作や3D CAD、DIY。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/9829 2016/12/09 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング