2012年8月31日金曜日

wxconsole (Web rxconsole)作ってみた

前回Android版rxconsoleを作りましたが、今回はWeb版を作ってみました。

見た目は↓な感じです。
Webということは当然rosbridgeを必要としますが、
多分、AndroidでもiOSでも動くと思います。


メッセージ詳細の表示。

設定。rosbridgeのバージョンを選択できます。
デフォルトはversion2.0にしちゃいました。



左上のテキストボックスにrosbridgeのホスト名を入れてEnter押すとつながります。
設定はすべてcookieに保存されるので次回アクセスからホスト名を含めた設定は不要です。
今回はAndroid版で付けなかったフィルタ機能もいれたのでかなり実用的だと思います。

ここにアクセスすればすぐ使えます。

ソースは
です。

rosbridgeはこちらを参照してください。

2012年8月13日月曜日

rosbridge2.0

rosbridgeはブラウザからROSに接続できるwebsocketによるブリッジです。
http://rosbridge.org/

何時の間にかversion2.0が出るみたいです。
スタックも今のbrown-remotelabではなくなったようです。

version1.0はaptで入れられるやつは動かないです。
http://answers.ros.org/question/33825/rosbridge-error-in-rosproxypy-on-fuerte-with/

version2.0をいれます。

cd ~/ros
git clone http://kforge.ros.org/rosbridge/git rosbridge2
echo "export ROS_PACKAGE_PATH=$HOME/ros/rosbridge2:$ROS_PACKAGE_PATH" >> .bashrc
以下のようにしてサーバを走らせます。
rosrun rosbridge_server rosbridge.py

プロトコルはver1とは互換性がないのでご注意ください。

また、version2はまだ正式リリースされてないですね。
今週中リリース予定とのこと。

クライアントはここを見ると書けますので参照ください。
http://rosbridge.org/doku.php?id=wiki:getting_started

2012年8月12日日曜日

rospack, rosdep, rosintallがpipからインストールしないようになった

これまでpipでインストールしていたいくつかのrosのパッケージがaptで入れるように仕様変更されました。

すでにrospackなどで競合が起きて問題になっていました。

以下のようにしてpipで入れたパッケージを削除します。

$ sudo pip uninstall rosdep rospkg  rosinstall vcstools

そしてaptで同じ物を入れましょう。

$ sudo apt-get install python-rosdep python-rosinstall python-rospkg python-vcstools

私の環境では/usr/local/bin/ros*が削除されませんでしたが、
/usr/local/bin/ros*は不要なので、削除しました。

しかし、私の環境ではrosversionが動かなくなってしまいました。

$ rosversion
Traceback (most recent call last):
  File "/opt/ros/fuerte/bin/rosversion", line 4, in <module>
    import pkg_resources
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 2711, in <module>
    parse_requirements(__requires__), Environment()
  File "/usr/lib/python2.7/dist-packages/pkg_resources.py", line 584, in resolve
    raise DistributionNotFound(req)
pkg_resources.DistributionNotFound: rospkg==1.0.2

なので、
/opt/ros/fuerte/bin/rosversionを削除し、
python-rospkgを以下のようにして再インストールしたら直りました。

$ sudo apt-get install --reinstall python-rospkg
rosversionのパスを確認。/usr/bin以下ならOK。
$ which rosversion
/usr/bin/rosversion
クリーンな環境でやればこんなトラブルはないかもしれません。