2011年3月28日月曜日

roshを使ってみる

みなさん震災の影響はどうでしょうか?
私のところはほとんど影響はありませんでした。
では前回の続きで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いらない?

2011年3月10日木曜日

Diamondbackのインストール

先日ROSの新しいバージョン Diamondbackがリリースされました。

さっそくインストールしてみます。

すでにROSのリポジトリをaptにいれている人は、

$ sudo apt-get update
$ sudo apt-get install ros-diamondback-desktop-full
とするととりあえず必要なものが全部入ります。


全部は入れたくないけどrx, rvizなど、ROS+便利ツールを使いたい人は、
sudo apt-get install ros-diamondback-desktop


ROSそのものだけを使いたい人は
$ sudo apt-get install ros-diamondback-ros-base


とすると必要なものが入ります。

私はdesktop-fullにしました。

あとはいつも通り、環境変数をセットするために、
source /opt/ros/diamondback/setup.bash
を.bashrcに追加します。

以上です。

$ rosls common_msgs
してみると、
trajectory_msgs
などが追加されていますね。

diamondbackではPCL関連のアップデートが一番アツいと思いますが、
個人的に最も興味があるのはroshです。

2011年3月9日水曜日

Robot Sound Libraries

ロボットがどんな声を発するべきか。

日本ではいわゆる「ゆっくり」ボイスで決まり?な訳ですが、
海外ではそうはいきません。

Willowがロボット用音声を提供してくれました。

http://hri.willowgarage.com/sounds/

WEBページで直接聞けるのでいろいろ試してみてください。
みなさん、どれがお好みですか?

人っぽいものから、単なる音までいろいろ揃っています。
こういったロボット用コンテンツを共有するという、非常に面白い試みだと思います。