ニコニコにもアップしてみました。
ちゃんとこっちの意図通りのツッコミが入っていて、面白いですね。
ニコニコもいいなぁ。
2011年2月8日火曜日
2011年1月30日日曜日
Kinectを使ったジェスチャ認識でルンバを操縦する
Kinectでルンバを操縦してみました。
ハードウェア接続は
Kinect =USB=> PC =Bluetooth=> Roomba
という感じです。
openni_trackerというパッケージを使ってtfのボーンを作り、
tfのデータから腰と手先位置の差分をとって似非ジェスチャ認識させています。
Kinectの目の前にいないと操縦できないのがいまいちですね。
ソースも適当ですが、
一応otl_niスタックとして上げました。
むちゃくちゃ簡単でした。
ルンバのBluetoothモジュールは@longjie0723 のFRISK Roombaを使っています。
http://orientalrobotics.blogspot.com/2011/01/friskroomba.html
非常に快適です。
ルンバのBluetoothモジュールは@longjie0723 のFRISK Roombaを使っています。
http://orientalrobotics.blogspot.com/2011/01/friskroomba.html
非常に快適です。
2011年1月29日土曜日
オリロボ
ROSと全く無関係ですが、ちょっといい本を見つけたので紹介します。
その名もORIROBO。
オリジナルロボットではなく、折り紙ロボットの本です。
かなり詳しく折り方が書いてあります。
さっそく折ってみました!
かっちょえーー!
30分くらいかかりました。
これを切り込みなしの1枚の紙で作れるというのが衝撃的でした。
他にも武器とか、子供心をくすぐるアイテムがいくつも載っています。
これはよい。
安いサーボと組み合わせたらなんか面白いことできそうな予感がしました。
その名もORIROBO。
オリジナルロボットではなく、折り紙ロボットの本です。
かなり詳しく折り方が書いてあります。
さっそく折ってみました!
かっちょえーー!
30分くらいかかりました。
これを切り込みなしの1枚の紙で作れるというのが衝撃的でした。
他にも武器とか、子供心をくすぐるアイテムがいくつも載っています。
これはよい。
安いサーボと組み合わせたらなんか面白いことできそうな予感がしました。
2011年1月22日土曜日
FRISK Roomba動作確認編
@longjie0723 さんにFRISK Roombaモジュールをいただきましたので、
早速動作確認させていただきました。
http://orientalrobotics.blogspot.com/2011/01/friskroomba.html
当方ホストPCがUbuntu10.04、Roomba577での動作確認になります。
まず、FRISKをうちのルンバにぶすっとさします。
この状態で以下のコマンドを打ちます。
$ hcitool scan
Scanning ...
00:01:95:09:06:0C Roomba-001
/etc/bluetooth/rfcomm.conf
を以下のように編集しました。
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:01:95:09:06:0C;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "FRISK Roomba";
}
deviceのところにさっき調べたMACアドレスを書きます。
この状態で
$ sudo /etc/init.d/bluetooth stop
$ sudo rfcomm bind hci0
とします。
すると、
/dev/rfcomm0
というデバイスファイルができています。
誰でも使えるようにパーミッションをだしておきましょう。
$ sudo chmod 666 /dev/rfcomm0
あとは、これをシリアルデバイスだと思ってプログラムを走らせればOK。
$ sudo rfcomm bind hci0
早速動作確認させていただきました。
http://orientalrobotics.blogspot.com/2011/01/friskroomba.html
当方ホストPCがUbuntu10.04、Roomba577での動作確認になります。
まず、FRISKをうちのルンバにぶすっとさします。
この状態で以下のコマンドを打ちます。
$ hcitool scan
Scanning ...
00:01:95:09:06:0C Roomba-001
これでモジュールが正常起動していることと、MACアドレスが分かりました。
/etc/bluetooth/rfcomm.conf
を以下のように編集しました。
rfcomm0 {
# Automatically bind the device at startup
bind yes;
# Bluetooth address of the device
device 00:01:95:09:06:0C;
# RFCOMM channel for the connection
channel 1;
# Description of the connection
comment "FRISK Roomba";
}
deviceのところにさっき調べたMACアドレスを書きます。
この状態で
$ sudo /etc/init.d/bluetooth stop
$ sudo /etc/init.d/bluetooth start
して、
$ sudo rfcomm bind hci0
とします。
すると、
/dev/rfcomm0
というデバイスファイルができています。
誰でも使えるようにパーミッションをだしておきましょう。
$ sudo chmod 666 /dev/rfcomm0
あとは、これをシリアルデバイスだと思ってプログラムを走らせればOK。
$ sudo rfcomm bind hci0
は起動するたびに実行しないといけません。
/etc/rc.local
などにかきましょう。
ルンバ関係ないですが、PS3のジョイスティックが使えなくなっていたので、
/etc/init/bluetooth/main.conf
に
DisablePlugins = input
としました。
ルンバとの共存は問題ないようです。
使ったプログラムは以前作ったものをそのまんまで動きました。
無線化うれしい!
とりえあず動作確認まで。
とりえあず動作確認まで。
2010年12月14日火曜日
ni (OpenNIのrosスタック)を試す。
OpenNIはKinectを利用する認識・デバイス操作ライブラリです。
ROSからOpenNIを利用するには以下を参考にインストールしましょう。
Ubuntu 10.04, cturtleを前提とします。
http://www.ros.org/wiki/ni
$ echo "- git: {local-name: ni, uri: 'https://github.com/ros-pkg-git/ni.git', version: master}" > /tmp/ni.ri
$ rosinstall ~/ni /opt/ros/cturtle /tmp/ni.ri
$ source ~/ni/setup.sh
$ rosmake ni --rosdep-install
$ sudo cp `rospack find ps_engine`/install/55-primesense-usb.rules /etc/udev/rules.d/
そしてリブートしましょう。
これでインストール終了。
試すには
$ roslaunch openni_camera openni_kinect.launch
$ rosrun rviz rviz
して、
Fixed FrameとTarget Frameを/openni_depthにして、
Point Cloud2として、
/camera/depth/points2を指定すると
rviz上で3D色付きイメージが見れます。ぐりぐり動かせます。
人物抽出サンプルを実行するには
とします。
http://www.ros.org/wiki/nite
のドキュメントには64bitのみ対応と書いてありますが、
すでにソースはちゃんと対応してあるので、x86(32bit)でも普通に実行できます。
動画はgtk-recordmydesktopですべてのフレームをキャプチャするオプションをONにしてとりました。
エンコードは
$ mencoder out.ogv -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4 -o output.mp4
という感じ。
ROSからOpenNIを利用するには以下を参考にインストールしましょう。
Ubuntu 10.04, cturtleを前提とします。
http://www.ros.org/wiki/ni
$ echo "- git: {local-name: ni, uri: 'https://github.com/ros-pkg-git/ni.git', version: master}" > /tmp/ni.ri
$ rosinstall ~/ni /opt/ros/cturtle /tmp/ni.ri
$ source ~/ni/setup.sh
$ rosmake ni --rosdep-install
$ sudo cp `rospack find ps_engine`/install/55-primesense-usb.rules /etc/udev/rules.d/
そしてリブートしましょう。
これでインストール終了。
試すには
$ roslaunch openni_camera openni_kinect.launch
$ rosrun rviz rviz
して、
Fixed FrameとTarget Frameを/openni_depthにして、
Point Cloud2として、
/camera/depth/points2を指定すると
rviz上で3D色付きイメージが見れます。ぐりぐり動かせます。
人物抽出サンプルを実行するには
export XN_SENSOR_VENDOR_ID=0x045E
export XN_SENSOR_PRODUCT_ID=0x02AE
export XN_HOST_PROTOCOL_ALGORITHM_REGISTRATION=0x40
rosrun openni Sample-NiUserTrackerとします。
http://www.ros.org/wiki/nite
のドキュメントには64bitのみ対応と書いてありますが、
すでにソースはちゃんと対応してあるので、x86(32bit)でも普通に実行できます。
動画はgtk-recordmydesktopですべてのフレームをキャプチャするオプションをONにしてとりました。
エンコードは
$ mencoder out.ogv -oac mp3lame -ovc lavc -lavcopts vcodec=mpeg4 -o output.mp4
という感じ。
2010年12月4日土曜日
pcl(unstable)のインストール
pcl (point cloud library)をインストールします。
http://www.ros.org/wiki/pcl
pclは3Dのレーザーデータから物体認識するためのライブラリ(たぶん)です。
これまでそんな3Dセンサ持っていないので関係ないと思っていましたが、
Kinectのおかげでpclが使えそうな雰囲気がしてきたのでとりえあず触ってみたいと思います。
私の環境ではROSはcturtleを利用していますが、いろんなところで
cturtleのpclは古すぎて、APIも変わっているしオススメしない、という雰囲気を感じるので
なるべく新しいものを入れたいと思います。
pclを使っている@garaemonさんに聞いたところによると「まじunstableおすすめ」ということでしたので、
いれてみます。
以下のような記述をpcl.rosintallとして保存して、
$ rosinstall ros pcl.rosinstall
でソースを入手しました。
- svn:
uri: https://code.ros.org/svn/ros-pkg/stacks/perception_pcl/tags/unstable
local-name: perception_pcl
- svn:
uri: https://code.ros.org/svn/ros-pkg/stacks/perception_pcl_addons/tags/unstable
local-name: perception_pcl_addons
http://www.ros.org/wiki/pcl
pclは3Dのレーザーデータから物体認識するためのライブラリ(たぶん)です。
これまでそんな3Dセンサ持っていないので関係ないと思っていましたが、
Kinectのおかげでpclが使えそうな雰囲気がしてきたのでとりえあず触ってみたいと思います。
私の環境ではROSはcturtleを利用していますが、いろんなところで
cturtleのpclは古すぎて、APIも変わっているしオススメしない、という雰囲気を感じるので
なるべく新しいものを入れたいと思います。
pclを使っている@garaemonさんに聞いたところによると「まじunstableおすすめ」ということでしたので、
いれてみます。
以下のような記述をpcl.rosintallとして保存して、
$ rosinstall ros pcl.rosinstall
でソースを入手しました。
- svn:
uri: https://code.ros.org/svn/ros-pkg/stacks/perception_pcl/tags/unstable
local-name: perception_pcl
- svn:
uri: https://code.ros.org/svn/ros-pkg/stacks/perception_pcl_addons/tags/unstable
local-name: perception_pcl_addons
ROS全部makeするのめんどくさかったので、ROS本体はcturtleのまま、
pclだけunstable版でやってみます。
環境変数ROS_PACKAGES_PATHのcturtleのほうより先に、このunstable版がくるようにして、
$ roscd pcl_tutorial
$ rosmake --rosdep-install
としてみました。
試しに
$ roscd pcl_tutorial
$ cd data
$ ../bin/tutorial_narf_keypoint_extraction ./office_scene.pcd
としてみると、以下のようにnarf特徴点の抽出と表示ができたようです。
早くKinectのデータで試してみたいですね。
Tutorialがあるので必要ありそうなところだけやってみたいと思います。
2010年11月22日月曜日
joint_state_publisher
URDFのチュートリアルが追加されました。
http://www.ros.org/wiki/urdf/Tutorials
そこでなかなか便利なツールを見つけたので紹介します。
joint_state_publisherです。
http://www.ros.org/wiki/joint_state_publisher
wu-ros-pkgからインストールしてください。
URDFでロボットファイルを作るときに、GUIで
任意のロボット関節角度をPublishしてくれます。
↓みたいな感じです。
便利。
http://www.ros.org/wiki/urdf/Tutorials
2. Learning URDF Step by Step
というやつです。
そこでなかなか便利なツールを見つけたので紹介します。
joint_state_publisherです。
http://www.ros.org/wiki/joint_state_publisher
wu-ros-pkgからインストールしてください。
URDFでロボットファイルを作るときに、GUIで
任意のロボット関節角度をPublishしてくれます。
↓みたいな感じです。
便利。
ラベル:
ROS
登録:
投稿 (Atom)



