Kobuki紹介記事 第三回 KobukiをROSで使う その2About Kobuki 3. Kobuki in ROS

お知らせ

どうも.SUGAR SWEET ROBOTICSのysugaこと菅です.

前回の記事ではKobukiをROSで使ってみる,と題して,キーボードでKobukiの動作を確認する所をやりました.
ここからはもう少しROSの世界に触れてみましょう.KobukiとKinectを使って環境のマップを描いてみます.

環境の整備

ROSのインストール方法についてはこのブログでは解説しません.Kobukiを始めて購入した人は,プレートの組立については,前々回の記事で解説があります.

Turtlebot用スタックでの動作確認

前回ではKobuki用のスタックを使っていましたが,今回はTurtlebot用のスタックで動作をさせます.
前回の記事でのドライバの設定などが終わっていない場合は,そちらを先にやってください.

まずは,masterを起動します.
[css]
$roscore
[/css]
次に,Turtlebotを起動します.別のターミナルで以下のコマンドを打ちます.
[css]
$roslaunch turtlebot_bringup minimal.launch
[/css]
これでTurtlebotを動作させる基本的なサービスが励起されています.別のターミナルを起動してroslaunchでノードを起動します.
[css]
$roslaunch turtlebot_teleop keyboard_teleop.launch
[/css]
今度は矢印キーではなく文字キーを使います.
k : 停止
u : 前進
m : 後退
j : 左旋回
l : 右旋回
です.

いかがでしょう?ちゃんと動作しましたか?
終了するときは,各ターミナルでCtrl+Cで停止します.

Kinectの接続と動作確認

注意

この記事のソフトウエアはKinect for XBox360にのみ対応しています.4月30日時点では,Kinect for Windows (商用版) での動作確認が出来ませんでした.(openniドライバを修正することで対応できるとの情報もありますが,本ブログでは解説しません)

ケーブルの作成

まず,KobukiからKinectに電源を供給するためのケーブルを作成する必要があります.
ケーブルは,Kinectに付属のACアダプタ(写真)を切断してコネクタを作ることで作成します.
DSC00718

コネクタはアールティで購入できますので,そちらをどうぞ.写真のコネクタセットの内,黒いコネクタを使用します.左下の黒の2ピンのモノを使います.
DSC00721

コンタクトピン(金具です)は2種類ありますが,黒に適合する方を使ってください.

では早速.

ACアダプタをばっさりと切りましょう.するとグレーと茶色のケーブルが出てきます.これは製品のリビジョンで変わることもあるかもしれませんので気をつけてください.僕の環境では,茶色が+12V,グレーがGNDでした.

Kobukiの右から2番目のコネクタ,12V1.5Aのコネクタに接続します.上が+12V,下がGNDですので,それに適合するようにコネクタを作ります.僕の環境だと写真の通りです.
DSC00727

これをKobukiに指しますが,念のため,Kinectには接続せずにKobukiに指してみると良いでしょう.Kobukiの電源を入れると写真のようにLEDが点灯するはずです.これで極性はOK.
DSC00735

動作確認

まずはKobukiの電源を入れてマスターを起動し,
[css]
$ roscore
[/css]
その後にTurtlebotを起動します.
[css]
$ roslaunch turtlebot_bringup minimal.launch
[/css]

次に,3dsensorを起動します.
[css]
$ roslaunch turtlebot_bringup 3dsensor.launch
[/css]
そしてrvizを.
[css]
$ roslaunch turtlebot_rviz_launchers view_robot.launch
[/css]

左のメニューから「registered DepthCloud」を選択すると,以下のような画像が表示されるはずです.
Screenshot_from_2013-04-28 11:11:21

いよいよマッピング

ようやくマッピングですね・・・ここまでくれば簡単です.
沢山のターミナルを立ち上げます.全部まとめて起動することもroslaunchなら出来ちゃいますが,ここでは解説しません.

まずはKobukiの電源を入れてmasterを起動
[css]
$ roscore
[/css]

Turtlebotの基本ノードを起動
[css]
$ roslaunch turtlebot_bringup minimal.launch
[/css]

マッピングデモを起動
[css]
$ roslaunch turtlebot_bringup gmapping_demo.launch
[/css]

んで,rvizで表示
[css]
$ roslaunch turtlebot_rviz_launchers view_navigation.launch
[/css]

キーボードからの遠隔操作
[css]
$ roslaunch turtlebot_teleop keyboard_teleop.launch
[/css]

キーボードで操作しながらTurtlebotを動かしてみてください.マップが描かれて行きます.

Screenshot_from_2013-05-11 13:24:51

まとめ

とりあえず,ROSとTurtlebot2で出来ることが体験出来たと思います.
よりROSの世界に入門するなら,自分でROSのパッケージを開発する技術が必要になるかと思います.
それには,ROS.orgのチュートリアルを最初から挑戦すると良いでしょう.

【Kobuki&Turtlebot2関連商品】


コネクタ

Turlebot2ベースのキット

Yujin Robotics関連

タイトルとURLをコピーしました