2017年7月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

Amazonウィジェット

  • miniPC
  • 最近買った本
  • Raspberry Pi
  • クアッドコプター
  • 書籍ランキング

AdSense

  • 広告
無料ブログはココログ

« 2016年1月 | トップページ | 2016年5月 »

2016年2月

2016年2月 4日 (木)

ROSでARマーカーを追跡するパッケージを使う

SLAMとnavigationが出来たので、今度はARマーカーの表示を標識として読み込ませて、ロボットに行動を起こさせてみよう。

ARマーカーの認識のためのパッケージは、AlvarとARToolKitの2種類が主に存在している。

ここを参考にやった。Alvar派
韓国のodroidやつも参考になる。

uvc_cameraは手持ちのwebカメラではうまく行かず、
こないだ使ったweb_camという新しい方のノードで試すことにした。
web_cam ros calibrationで調べるとすぐに出てきた。
http://ros-robot.blogspot.jp/2010/11/cameracalibrationusb.html



calibrationツールはかなり重たい。
calibrationはチェッカーボードをカメラに見せる。runボタンが押せるようになるまでいろんな向きに動かす。
SAVEするとカレントディレクトリに画像とキャリブ情報が保存される。それをparserによませてyamlファイルをだす。
それをlaunchファイルでusb_camノードに読ませて、
カメラがキャリブレーションした状態で立ち上げる。
yamlファイルの指定がうまく行かず。xmlファイルの$findというタグがうまく行かない。
環境変数あたりの設定だと思う。




調べてみたら、$find PACKAGE_NAME
というのは、自分の使っているPACKAGE_NAMEをいれろということだった。
パッケージはどこか。。。。というと、作っていなかったのだ。
ファイルのパスを指定する方法がわからなかったので、とりあえずパッケージをこしらえることにした。
odroidの記事に沿って、
githubからソースをおとして、rosmake

ところがPACKAGE_NAMEでもar_track_alvarでもファイルを見つけてこれず。
仕方がないので絶対パス指定で指定する方法を探した。

エラーメッセージを元に検索をかけて、
だいぶおくまで探していたら、パス指定を絶対パスで指定している例を見つけた。
本家ros.orgの解説
これでうまく指定できた。

しかし新たなエラーが出た。

[ INFO] [1445134554.137224096]: camera calibration URL: file:///home/liva/ros_tameshi/webcamTameshi/cal.yml
[ WARN] [1445134554.193922018]: [camera] does not match name narrow_stereo in file /home/liva/ros_tameshi/webcamTameshi/cal.yml

narrow_stereoという名前で立ち上げたカメラがないと言っているのか、cal.ymlのなかを見てみると、確かにnarrow_stereoという文字列がある。 これをlaunchファイルで書いたuvc_cameraに書き換えてみた。


結局uvc_cameraでは画像が出ないことがわかっているので、再度usb_cameraの以前作ったlaunchファイルを元に書き足していくことにした。
カメラとビューワーだけで動作を確認し、次にキャリブレーションファイルを読み込んだ状態で起動するところまでを確認した。



  
    
    
    
    
    
    

    
    
  

  
    
    
  

odroidのXMLの例での疑問nsとはなにか。
調べてみると、roslaunch XMLでは、nsはnamespaceのこと

いろいろ試しながら、 ノードグラフを表示させてみたら、あと一歩のようだ。 image_rawをalvarに入れれば動きそう。

151019rosgraph

 

alvarが動いていないので、tfのエコーをみても、
mapからcameraフレームへの変換(ずっと固定)しか出てこない。
alvarへのimage_rawの入れ方がポイントになりそう。
ついに動かせた。

syntax highlighterを使って書いているが、所々自動で修正が入ってしまうので、正しく表示されていないかもしれない。その場合は下記リンクからダウンロードされたし。



  

  
    
    
    
    
    
    

    
    
  

  
    
    
  


	
	
	
		
	
  
   




151019rosgraph_2

 

rvizを起動すると、by topicにMarkerというトピックが追加されているので、それを選ぶと、3Dグラフィックでマーカーの位置が示される。
結構バタバタしているので、新しいIDでTFに追加され、出ては消えるを繰り返すような感じになっている。カメラのフレームレートが遅いとブレるので結構精度が悪い。
fpsを30に指定してみたが、あまり効果はなく
USBカメラの性能なのかCPUなのか。
もう少し早いPCであれば様子が変わるだろうか。





« 2016年1月 | トップページ | 2016年5月 »