LoginSignup
3
2

More than 5 years have passed since last update.

ROSとGazeboでロボットアームのRRBotを動かしてみた(シミュレーション)

Last updated at Posted at 2017-12-21

はじめに

とてもシンプルなロボットアームのモデルであるRRBotというのがgithubで公開されていたので今回なんとかしてGazebo上で動かしてみました。
Screenshot from 2017-12-21 21-11-48.png

前提条件

・ROSが入っていること
・Gazeboのros連携するプラグインが入っていること
→ros連携のプラグイン自体は次のコマンドを打てばインストールできます。

$ sudo apt-get install -y ros-indigo-gazebo-ros-control
$ sudo apt-get install -y ros-indigo-ros-control ros-indigo-ros-controllers

※なお、↑のコマンド中のindigoの部分は自分が使っているROSのdistributionにしてください。筆者はkineticですが大丈夫でした。

前提条件の準備方法に関しては、下記のサイトがわかりやすいです。
ROSで始めるロボティクス
Building a Visual Robot Model with URDF from Scratch(R2D2のモデルを作って動かすチュートリアル)

かなりROSをいじっているので、他にも必要な条件があるかもしれないです…。

実行環境

Ubuntu 16.04
ROS Kinetic
windows7 64bit がloaderのデュアルブート
cpu intel Core i7 860
メモリ 8GB

RRBotの導入

参考サイト
No.6-5:GazeboをROSに繋ぐ (GazeboにおけるURDF 編)

$ cd ~/catkin_ws/src/
$ git clone clone https://github.com/ros-simulation/gazebo_ros_demos.git
$ cd ../
$ catkin_make

↑のコマンドを行って、catkin_ws/srcのディレクトリにRRBotのパッケージ(以下、pkgと略す)をgit cloneでダウントードしてください。

GazeboにRRBotを出す。

次のコマンドを行うと、gazeboが起動してそこにRRBotが現れるはずです。

$ roslaunch rrbot_gazebo rrbot_world.launch

Screenshot from 2017-12-21 20-06-50.png

勝手にアームがだらんとなると思います。
しかし、まだ動かせないですね。

RRBotを動かすためのコントローラーの実行

今のままでは動かせないので、次にRRBotを動かすためのコントローラーを実行します。ただ、普通の人が想像するコントローラーとはかなり異なりますが…。

新しく端末(ターミナル)を開いて、次のコマンドを実行します。

$ roslaunch rrbot_control rrbot_control.launch

まだ、動かせませんね。

RRBotにtopicを送る

参考サイト
controllers behaviour in rrbot

また新しく端末(ターミナル)を開いて(3つ目)、次のコマンドを実行します。

rostopic pub -1 /rrbot/joint1_position_controller/command std_msgs/Float64 "2.0"

これで、RRBotが動いたのでは?
Screenshot from 2017-12-21 20-52-26.png

ちなみに、RRBotは根本から1つ目の関節がjoint1、2つ目の関節がjoint2です。なので、次のコマンドを送ると、

rostopic pub -1 /rrbot/joint2_position_controller/command std_msgs/Float64 "1.0"

Screenshot from 2017-12-21 20-55-20.png
このようになるはずです。joint2が曲がりましたね。

ROSに詳しくなれば、今は端末から直接topicをpublishしていますが、自分でpythonなりC++なりでpubliserを作れるようになるはずです。ちなみに、筆者は優秀な動機の力を借りて最近やっとサンプルコードをコピペしてpublisherが作れるようになったところです。

参考文献まとめ

ROSで始めるロボティクス
Building a Visual Robot Model with URDF from Scratch(R2D2のモデルを作って動かすチュートリアル)
No.6-5:GazeboをROSに繋ぐ (GazeboにおけるURDF 編)
controllers behaviour in rrbot
ROS演習8:ロボットアーム

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2