友人の瀬戸さんの本を読んだので宣伝。
脚注が超すごいので、ぜひ中学〜高校生くらいに読んで欲しいところ。
インタビューされた方の印象は比較的まともでまじめに感じました。
(かろうじて実物を知っていたのは小椋さんくらい)
夢にあふれたロボット博士でいたいもんだ。
2012年6月29日金曜日
2012年6月21日木曜日
スマートペットがやってきた
バンダイから出たスマートペットが届きました。
あまり勝手に動いたりしないので、生命感があまりなく、
良くも悪くも「おもちゃ」というイメージです。
電池の持ちとか考えると仕方ないのかな。という感じ。
ソフトが充実すれば面白くなるのかも?
まだ、なかなかレベル上がらないので認識できる言葉やジェスチャーも少なく、
結局DCモータ2つしかないので、表現力ももう一歩ですね。
首軸は、おすわりモードにすると、ギアの噛みあわせが変わって、
足のモータで首が動くようになる、というギミックっぽいです。
ここはなかなかすごいですね。
5000円なので、かわいいiPhoneスタンドとしてもまあ、許せる値段ですかね〜。
動くだけでやっぱり可愛いい!
音がうるさいのがちょっと難点。
ビデオ取って見ました。
========元ネタ紹介=========
偉大なる元ネタ by @kaduhi さん
@moyashi さん
私の
ラベル:
Robot
2012年6月9日土曜日
rosruby進捗
今日の進捗。
ロゴ作りました。
ros.orgのwikiとチュートリアルも少し書きました。
http://ros.org/wiki/rosruby/Tutorials
どうか、誰か使ってください。
ラベル:
rosruby
2012年6月3日日曜日
Travis CI使ってみた
rosrubyのテスト実行環境が欲しかったので、Travis CIを使って見ました。
Travis CIは継続的インテグレーションをクラウド上で行うサービスです。
継続的インテグレーションというのは、ソフトを少しでも書き換えるたびに
すべてのテストを自動でやり直す仕組みだと思います。
普通はJenkinsとか使うんだと思いますが、個人だとサーバーとかないし、
オープンソースならTravis CIを使うのがナウいみたいです。
Travis CIは様々な言語に対応しており、例えば、rubyの1.8, 1.9, jruby1.8など、同じ言語でも異なるヴァージョンでテストできたりします。
基本的にGitHubとの連携で使うみたいです。
ここの解説が詳しくていいです。
http://mochizblog.heroku.com/21
.travis.ymlというYAMLファイルに設定を記述します。
私の環境だと↓のような感じ。
Travis CIは継続的インテグレーションをクラウド上で行うサービスです。
継続的インテグレーションというのは、ソフトを少しでも書き換えるたびに
すべてのテストを自動でやり直す仕組みだと思います。
普通はJenkinsとか使うんだと思いますが、個人だとサーバーとかないし、
オープンソースならTravis CIを使うのがナウいみたいです。
Travis CIは様々な言語に対応しており、例えば、rubyの1.8, 1.9, jruby1.8など、同じ言語でも異なるヴァージョンでテストできたりします。
基本的にGitHubとの連携で使うみたいです。
ここの解説が詳しくていいです。
http://mochizblog.heroku.com/21
.travis.ymlというYAMLファイルに設定を記述します。
私の環境だと↓のような感じ。
language: ruby
rvm:
- 1.8.7
- 1.9.3
- jruby-18mode # JRuby in 1.8 mode
env:
- ROS_MASTER_URI=http://localhost:11311 ROS_PACKAGE_PATH=$HOME RUBYLIB=$HOME/builds/OTL/rosruby/rosruby/lib
- rvm rubyの実行環境の切り替えの設定
- env 環境変数の切り替えの設定。複数ある場合は横にならべる。
rubyで、version1.8.7, 1.9.3, jrubyの1.8モードでビルドします。
envに複数書くと、それとversionの掛け算の数だけタスクが生成されます。
つまり、
- 1.8.7 & ENV1
- 1.9.3 & ENV1
- jruby & ENV1
- 1.8.7 & ENV2
- 1.9.3 & ENV2
- jruby & ENV2
の6回テストしてくれる。
なお、実行されるコマンドは言語ごとに違いますが、rubyの場合は、リポジトリのルートで
$ bundle exec rake
が実行されます。
なので、Gemfileに必要なgemを入れて(rakeを含む)、rakeでテストが走るようにしておけばOK。 rake testではないのがポイント。
Gemfileは以下のようにしてみました。rakeもいれないといけないって書いてありました。
Gemfileは以下のようにしてみました。rakeもいれないといけないって書いてありました。
source 'https://rubygems.org'
gem 'rosruby_msgs'
gem 'rake'
gem 'yard'
# ここからはROS情報
なお、rosrubyはテストの実行にroscoreとROSのメッセージファイルを必要とします。
Travis CIではaptで必要なソフトを入れられるんですが、本家とlaunchpadのみ。
で、ROSは独自なので困りました。
そこで、ノリで
- ruby版のroscoreの作成
- gemでrosruby_msgs(rosruby用コンパイル済みメッセージ)を公開
という2つをやりました。
gem install rosruby_msgsでrosrubyであらかたコンパイルしたメッセージがインストールできるようにしました。(ほとんど意味ないです。)
ruby版roscoreは簡単かと思いましたが案外難しかった。仕様が明らかじゃないし。
2012年5月27日日曜日
ROS Unity Indicator
Ubuntu Unityユーザのみなさんこんにちは。
最初にUnityを触った時はありえない!
と思いましたが、今や慣れました。みなさんはどうですか?
前回ちらっと紹介しましたが、ROSの状態を示すアイコンをバーに追加してみました。
インストールは前回記事を参照してください。
roswsを使っている人は以下で入れられます。
$ rosws merge 'https://raw.github.com/OTL/orz-ros-pkg/master/orz-ros-pkg.rosinstall'
おなじみROSのアイコンがでます。
で、ノードやトピック、サービス、パラメータの参照ができます。
また、トピック詳細を参照すると、ぼやっと現れます。
ノードをKillしたりもできます。
ROSは基本的にコマンドラインが重視されますが、これくらいのちょい機能+オシャレならいいんじゃないかなー。
本当はrosrubyでつくろうとしたけど、Pythonでプロトタイプしてたらめんどくさくなって、そのままPythonです。
動画はこちら。
大画面推奨ですが全画面だとおかしくなるかも。
追記:
すでにほぼ同じものがありました。
さすがiHeartRoboticsやるなぁ。
http://www.ros.org/news/2010/08/rind-ros-status-indicator.html
http://ros.org/wiki/rind
最初にUnityを触った時はありえない!
と思いましたが、今や慣れました。みなさんはどうですか?
前回ちらっと紹介しましたが、ROSの状態を示すアイコンをバーに追加してみました。
インストールは前回記事を参照してください。
roswsを使っている人は以下で入れられます。
$ rosws merge 'https://raw.github.com/OTL/orz-ros-pkg/master/orz-ros-pkg.rosinstall'
$ rosws update
実行は以下です。
$ rosrun unity_indicator ros_indicator
おなじみROSのアイコンがでます。
で、ノードやトピック、サービス、パラメータの参照ができます。
エラーが発生(Logにエラーレベルを出力)するとアイコンが赤くなります。
また、トピック詳細を参照すると、ぼやっと現れます。
ノードをKillしたりもできます。
ROSは基本的にコマンドラインが重視されますが、これくらいのちょい機能+オシャレならいいんじゃないかなー。
本当はrosrubyでつくろうとしたけど、Pythonでプロトタイプしてたらめんどくさくなって、そのままPythonです。
動画はこちら。
大画面推奨ですが全画面だとおかしくなるかも。
追記:
すでにほぼ同じものがありました。
さすがiHeartRoboticsやるなぁ。
http://www.ros.org/news/2010/08/rind-ros-status-indicator.html
http://ros.org/wiki/rind
2012年5月26日土曜日
rosintall&rosws入門
rosintallとrosws (ROS workspace)の仕組みについて調べてみました。
rosintallは、ソースからROSのスタックを持ってきてビルドするためのものでした。
fuerteになって、rosintallはroswsで実質置き換えられたようです。
rosintallは、
rosintall, rosws, roslocate, roscoという4つのコマンドでできているようです。
roswsはrosintallでできることは全部できる、と書いてあるので、
roswsをマスターしましょう。
もとのチュートリアルはこちら。
http://www.ros.org/doc/api/rosinstall/html/rosws_tutorial.html
使い始めるには生成したsetup.bashを読み込みましょう。
rosintallは、ソースからROSのスタックを持ってきてビルドするためのものでした。
fuerteになって、rosintallはroswsで実質置き換えられたようです。
rosintallは、
rosintall, rosws, roslocate, roscoという4つのコマンドでできているようです。
roswsはrosintallでできることは全部できる、と書いてあるので、
roswsをマスターしましょう。
もとのチュートリアルはこちら。
http://www.ros.org/doc/api/rosinstall/html/rosws_tutorial.html
1.インストール
Ubuntuの人は以下のコマンドで入れることができます。$ sudo apt-get install python-pip
$ sudo pip install -U rosinstall
2.ワークスペースの初期化
以下のコマンドを打って、/tmp/rosws_tutorialというディレクトリをワークスペースにしてみましょう。
$ cd /tmp
$ mkdir rosws_tutorial
$ cd rosws_tutorial
$ rosws init
Writing /tmp/rosws_tutorial/.rosinstall
(Over-)Writing setup.sh, setup.bash, and setup.zsh in /tmp/rosws_tutorial
rosws init complete.
Type 'source ./setup.bash' to change into this environment.
Add that source command to the bottom of your ~/.bashrc to set it up every time you log in.
If you are not using bash please see http://www.ros.org/wiki/rosinstall/NonBashShells
すると以下のファイルができます。
$ ls -a
./ ../ .rosinstall setup.bash setup.sh setup.zsh
以下のようなコマンドを打ってみると、ワークスペースがセットされました。
$ rosws info
workspace: /tmp/rosws_tutorial
ROS_ROOT: None
もし、はやまって環境変数ROS_WORKSPACEがすでにセットされてるとエラーになります。
ERROR: Ambiguous workspace: ROS_WORKSPACE=/home/ogutti/ros/otl-ros-pkg, /tmp/rosws_tutorial/.rosinstall
そのときは↓のようにしましょう。
$ unset ROS_WORKSPACE
(ROS_WORKSPACEは、rosws initで作ったsetup.bashを読み込むことでセットするもののようです。)
3.ROSディストロの情報をセット
以下のようにするとfuerteの環境がセットされるみたいです。これをやることで/opt/ros/fuerte/setup.bashを読みこまなくてよくなります。
$ rosws merge /opt/ros/fuerte/.rosinstall
Performing actions:
Add new elements:
/opt/ros/fuerte/share, /opt/ros/fuerte/share/ros, /opt/ros/fuerte/setup.sh, /opt/ros/fuerte/stacks
Overwriting /tmp/rosws_tutorial/.rosinstall
rosws update complete.
Do not forget to do ...
$ source /tmp/rosws_tutorial/setup.sh
... in every open terminal.
Config changed, maybe you need run rosws update to update SCM entries.
使い始めるには生成したsetup.bashを読み込みましょう。
$ source setup.bash
これで、ROS_WORKSPACE環境変数がセットされました。
$ echo $ROS_WORKSPACE
確かめてみてください。
$ roscd
すると、ここに来れますね。
4.ワークスペースの拡張
折角なのでrosrubyでも入れてもらいたいところですが、rosruby入れるとメッセージのビルドが遅くなって迷惑をかけるので、最新の私のリポジトリorz-ros-pkgでも入れましょう。
$ rosws info
workspace: /tmp/rosws_tutorial
ROS_ROOT: /opt/ros/fuerte/share/ros
Localname S SCM Version-Spec UID (Spec) URI (Spec) [https://...]
--------- - ---- ------------ ----------- -------------------------
orz-ros-pkg x git master github.com/OTL/orz-ros-pkg.git
/opt/ros/fuerte/stacks
/opt/ros/fuerte/share
/opt/ros/fuerte/share/ros
以上のように表示されたでしょうか?ちゃんとorz-ros-pkgが登録されています。
$ rosws update
すると、見事に登録されたorz-ros-pkgがインストール(ダウンロード)されました。
新しいリポジトリを加えるときは、
- rosws mergeでrosintallファイルを追加
- rosws updateでダウンロード&アップデート。
これで大体つかめたんじゃないでしょうか?
もっと機能は豊富なので、知りたい人は原典URLを参照ください。
まとめ
ということで今までと↓が変更点です。
ここでは試しに/tmp/rosws_tutorialでやりましたが、本番は~/rosなどでやるといいでしょう。
- .bashrcでROS_PACKAGE_PATHを直接編集しない
- .bashrcにROS_WORKSPACEを書かない
- .bashrcで/opt/ros/fuerte/setup.bashを読み込まない
- 作成したWORKSPACEのsetup.bashを読み込む
2012年5月5日土曜日
ROS Fuerte Ubuntu 12.04 (precise)対応
Ubuntu12.04でもapt-getでROSがインストールできるようになりました。
私の環境はUbuntu12.04アップデート時にいろいろ失敗してしまい、
入れるのに少し苦労しましたが、普通の人は、
$ sudo apt-get update
$ sudo apt-get install ros-fuerte-desktop-full
とでもすればOKでしょう。
setup.bashの読み込みもお忘れなく。
私の環境はUbuntu12.04アップデート時にいろいろ失敗してしまい、
入れるのに少し苦労しましたが、普通の人は、
$ sudo apt-get update
$ sudo apt-get install ros-fuerte-desktop-full
とでもすればOKでしょう。
setup.bashの読み込みもお忘れなく。
登録:
コメント (Atom)


