2014年7月23日水曜日

Indigo Igloo リリース

5月予定だったIndigoがやっとリリースされました!

http://www.ros.org/news/2014/07/ros-indigo-igloo-released.html


Ubuntu 13.10と14.04がサポートされています。
Ubuntu14.04LTSで動く唯一のディストロなので、待望だった方も多いのではないでしょうか?

Indigoのバイナリリリースにはrosbuildでビルドされたものは含まれず、すべてcatkin化されています。
ただし、依然としてrosbuildでビルドすることはできますので、時代にとり残されている人も大丈夫です。

移行を見当するときはマイグレーションガイド↓を見て見当しましょう。
http://wiki.ros.org/indigo/Migration

痛みを伴う変更や、大きな標準の変化ほとんどないと思います。

私が気になったのは
・PythonコードがPython3.3コンパチになった(実際にはPython2を使っている)
・OpenCVがUbuntu標準のものを使うようになった
・cmake_modulesというパッケージにcmakeを公式サポートしてないパッケージのcmakeが集められた
・boost::signalがboost::signal2になった。新しいboostで警告が出なくなる

くらいですね。

気にすべきは、自分が必要としているパッケージが存在しているかどうかだと思います。
大抵はhydroのものをソースからビルドすれば使えると思いますが、めんどくさいですよね。


次のJadeは1年後の2015/5リリース予定みたいです。

2014年7月13日日曜日

何でもPublishできるGUI:rqt_ez_publisher

ROSの基本はTopicのPub/Subにあると思います。
(rostopicがもっとも使うコマンドではないでしょうか?)

私は何かをpublishするときに、
すぐスライダで値を変えられるGUIを作りたくなるのですが、
メッセージ型に合わせていちいち作るのがあほらしいといつも思っていました。

ROS標準にはrqt_publisherというのがあるのですが、いかんせんテキスト形式で値をセットするだけで、私の要求には答えません。

そこで自分で作ってみました。


indigoとhydroにリリースしたので、

$ sudo apt-get install ros-indigo-rqt-ez-publisher

もしくは

$ sudo apt-get install ros-hydro-rqt-ez-publisher

でインストール出来ます。

実行は以下のようにするか

$ rosrun rqt_ez_publisher rqt_ez_publisher

$ rqt
として、Plugins -> Topics -> Easy Message Publisherとして作ってください。
(rqt_publisherと同じように、rqtのプラグインになっています)

使い方は基本的にはすでにSubscribeされているトピックを選択すると、GUIができます。
あとはスライダを動かせばPublishされます。

イメージビデオを作りました。(全画面での視聴推奨)


まだまだバグがあるとおもいますが、何かフィードバックいただけるとありがたいです。

wiki: http://wiki.ros.org/rqt_ez_publisher
ソースコード: https://github.com/OTL/rqt_ez_publisher

Ubuntu 14.04でのスクリーンキャプチャ

私はこれまでgtk-recordmydesktopを愛用していたのですが、14.04で私のノートPCではうまく
うごきませんでした。

SimpleScreenRecorderがうまくいったので紹介します。
http://www.maartenbaert.be/simplescreenrecorder/

インストールは以下のようにします。

$ sudo add-apt-repository ppa:maarten-baert/simplescreenrecorder
$ sudo apt-get update
$ sudo apt-get install simplescreenrecorder

$ simplescreenrecorder
で起動できます。使い方も簡単です。

おすすめ。

2014年6月29日日曜日

ROSパッケージのリリースの仕方メモ

ROSのパッケージリリースって、gemとかに比べると非常にめんどくさいですよね。
毎回忘れるので手順メモ。

ディストロはhydroとします。

1. development-testを可能にする。


https://github.com/ros/rosdistro/
をフォーク

rosdistro/hydro/distribution.yaml
を編集。このとき、アルファベット順を守ること。
docとsourceの項目を追加。
(wiki等のドキュメントは古いので、よく調べること)

rosdistroでnosetestsを実行し、エラーがないことを確認。

git commit -a; git push origin master
して、pull requestを作成。

一晩もあればマージしてもらえる。

2. development-testを実行。


http://prerelease.ros.org/select_distro
で、ターゲットのディストロアイコンをクリック。

リポジトリと、emailを入力してスタート。

しばらくすると結果がメールで通知される。

3. bloomでリリース


bloomのインストール
sudo apt-get install python-bloom

パッケージ最初のリリース(アップデートでない)ならば↓に従う。

bloom-releaseのあとでPrerelaseTestをするとよい。


慎重に。bloom-releaseの--editオプションは--new-trackに変わった。




2014年3月25日火曜日

Indigoのリリース準備

次のROSのバージョンであるIndigoのビルドファームの準備ができたそうです。
ようするに、apt-get install ros-indigo-** でインストールできるバイナリを作る環境が整ったそうです。
http://lists.ros.org/pipermail/ros-users/2014-March/068388.html

インストールはこちら(開発者以外はまだ非推奨)
http://wiki.ros.org/indigo/Installation


indigoはUbuntu13.10, 14.04しかサポートしません。
私は試す環境がないです。14.04は来月リリースですし。。。

移行に必要な情報はこちら
http://wiki.ros.org/indigo/Migration

catkinでいくつかのマクロが変更になったようですね。
あとはurdfdom。
細かい変更なので影響はそれほどないかと。

あとはPython3への対応が推奨されていますが、必須ではないようです。

ちなみにindigoリリースは5月とされています。

2014年3月7日金曜日

ROS勉強会

ROSのオフラインの勉強会が東京で開かれるみたいです。

4/12の土曜です。
詳しくはこちら。

私も顔出してみようかと思います!

2014年1月16日木曜日

MikuMikuPenguinをUbuntu12.04で動かす

今日はROS関係ないですが、ロボットモーション作成と関わりの深いMMDのフリー版を軽く紹介します。

MMDはMikuMikuDanceの略で、初音ミクにダンスを踊らせる3DCG動画作成ソフトです。
モデルとモーションデータがあれば、初音ミクだけじゃなく、いろんなモデルを動かせます。

で、これが無料なんですが、ソースが公開されていません。
また、Windows版のバイナリしか公開されていない。

そこでアメリカ人がゼロから実装して、GPLv3のMMD互換のプログラムを公開しました。

ソース https://github.com/sn0w75/MikuMikuPenguin

まだまだバグバグですが、そのうち良くなるかも?

Ubuntu12.04でビルドするのに意外と手間取ったのでやり方を紹介します。

1) bulletのインストールの準備

Ubuntu12.04ではデフォルトでbulletがaptで入りません。そこで以下の手順でlibbullet-devを入れられるようにします。(ROSを使っている人はすでに入っているかも?)
(http://www.ubuntuupdates.org/ppa/getdeb_games?dist=precise)

$ wget -q -O - http://archive.getdeb.net/getdeb-archive.key | sudo apt-key add -
$ sudo sh -c 'echo "deb http://archive.getdeb.net/ubuntu precise-getdeb games" >> /etc/apt/sources.list.d/getdeb.list'

2) 必要ライブラリをapt-get!!

$ sudo apt-get update
$ sudo apt-get install autoconf-archive libglfw-dev libsoil-dev libglm-dev libbullet-dev libglew1.6-dev libtool

3) ソースの取得

本流を修正する場合

$ https://github.com/sn0w75/MikuMikuPenguin
$ cd MikuMikuPenguin
$ sed -i s/c++11/c++0x/g */Makefile.am


参考:OTLのブランチを使う場合
(Ubuntu12.04用のブランチを作ったのですが、本流が修正されたので、
不要になったっぽいです。)
$ git clone https://github.com/OTL/MikuMikuPenguin.git
$ cd MikuMikuPenguin
$ git checkout ubuntu12.04

3) build

$ autoreconf -i
失敗してもあきらめずにもう一度
$ autoreconf -i
$ ./configure
$ make
$ sudo make install

これで使えるはずです。

4) 実行

やったー!!