私のところはほとんど影響はありませんでした。
では前回の続きでroshです。
http://www.ros.org/wiki/rosh
roshはPythonインタプリタからROSにアクセスするための便利ツールです。
私の経験上、ロボットとインタプリタの相性は抜群だと思いますので、
これはかなりいい予感がします。
(作者は予想通りKen Conleyさんですね)
個人的にはPythonのインタプリタはあまり好きではありません。(っていうほど使ったことないですけど)
roshもデフォルトのインタプリタではなく、IPythonというものを使っているようです。
(IPythonではtabの補完ができたり、デバッグにも使えるみたいです。
emacsキーバインドも使えるし、これはすごいです!!Python使いには常識?)
まずroshのインストールです。
desktop-fullでインストールしてもroshは入らないようです。
$ sudo apt-get install ros-diamondback-rosh-desktop-plugins
IPythonが初めての人は ~/.ipython/ipythonrcの以下の部分を2にセットします。(プライベートシンボルを補完しないように)
readline_omit__names 2
カスタマイズしたい人はroshrcを書くこともできます。
http://www.ros.org/wiki/rosh/roshrc
私は以下のようにして動作確認しました。
予め、自作のjtalk_node、/talk (std_msgs/String)をSubscribeするノードを動かしておきます。
$ rostopic list
/rosout
/rosout_agg
/talk
という状態です。
$ rosrun rosh rosh
で起動します。
ここで、
topics.
まで入力して、Tabを押すと
In [1]: topics.
topics.rosout topics.rosout_agg topics.talk
とトピック一覧が表示されます。
で、
tをタイプしてTabすると補完されて、
In [1]: topics.talk
となります。
topics.talk[0]
とすれば最新の/talkが見れます。
topics.talk(data="hoge")
とすれば、/talkに大して、std_msgs/Stringのstring dataに"hoge"をいれたものを発行できます。
これはすごい便利な予感がしますね。
rostopicでは物足りないときはこれですね。っていうかrostopicいらない?