ROS#07Servicesを使ってみよう

次はROSのServicesを使ってみたいと思います。

http://wiki.ros.org/Services

まずはいま稼働してるServicesを一覧するコマンド、rosservice listですね。

$ rosservice list
/clear
/kill
/reset
/rosout/get_loggers
/rosout/set_logger_level
/spawn
/teleop_turtle/get_loggers
/teleop_turtle/set_logger_level
/turtle1/set_pen
/turtle1/teleport_absolute
/turtle1/teleport_relative
/turtlesim/get_loggers
/turtlesim/set_logger_level

もし該当するServiceはどんなTypeを知りたいのであれば、rosservice type /Your servicesでできます。

$ rosservice type /kill
turtlesim/Kill
$ rosservice type /clear
std_srvs/Empty

また先の亀さんのこと戻りましょう。こっちはclear Servicesを呼び出し、いままで動いたとき書いてた白線をクリアすることができます。

$ rservice call /clear

ですが、パラメータがついてるServicesがあるのは結構多いです。そのために以下のコマンドでServicesどんなパラメータあるのか調べることできます。例えば、 /spawnですね。

$ rosservice type /spawn  | rossrv show
float32 x
float32 y
float32 theta
string name

string name

そこではLinuxのPipingを使ってるだけで特にROSでだけのものではありません。まずType名もらって、

rosservice type /spawn
turtlesim/Spawn

そしてとshowコマンドを使えば同じの結果もらえます。

$ rossrv show turtlesim/Spawn
float32 x
float32 y
float32 theta
string name

string name

もちろんargsのコマンドでも見えます。

$ rosservice args /spawn
x y theta name

最後に先のコマンドでもらった/Spawnのパラメータを入れてみて、新しい亀さんを作りましょう。

rosservice call /spawn  3 3 0.2 “new_turtle”
name: “new_turtle”

Footer_Basic

Find ME

Twitter:@3threes2
Email:soup01threes*gmail.com (* to @)
YoutubeChannel:https://www.youtube.com/channel/UCQ3CHGAIXZAbeOC_9mjQiWQ

シェアする

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

フォローする