2024年6月
            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            

カテゴリー

ブログパーツ

無料ブログはココログ

« turtlebotをリモコンしやすくする | トップページ | ラズパイubuntuの日本語化 »

2016年9月19日 (月)

pythonでturtlebotコンパチ機を人物追跡させる

ROSさんお手やわらかに:ROS青雲編

turtlebotのサンプルにkinectを使って人間追跡をするデモがある。これと同様のモノをpytonで書いてみる。もっとも、お手本になりそうなコードを探して、ちょっと手を入れただけだ。これのおかげでpythonでのリスト処理のテクニックのごく一部がつかめた。機械学習のように大規模なデータ処理を扱う言語として、最近注目を集めているpythonだけど、なるほどなという感じだ。

リスト処理はその昔、Lispでデータ構造を構築するまねごとをやったことがあるけど、たぶんpythonもそういうことが得意なんだろうとおもう。10年以上前になるが、アメリカの画像認識とロボティクスをやってるベンチャーの人と仕事をしたことがあった。彼が日本にきたとき、秋葉原で接待した帰り、「あなーたはロボットつくるのに、なんちゅう言語をつかってまちゅか」(おそらく僕の英語はこんなふうに聞こえているんだろう)という質問に、「python」と言われ、なんだかわからず綴りを書いてもらったのを覚えている。後日オライリーの本を探して読んだけど、あまり魅力が分からなかった。

肝心のコードはこちらのサイトが元ネタ。動画にあるように、人を検知すると追跡しながらわんわん吠えたり、おもちゃのミサイルを発射したりする物騒なロボだ。ここからfollower.pyを拝借して改造した。最初の方のコメントは残したが、他のノードと連携する部分(わんわん吠えたりする部分)は削除して単純化した。わかりやすいと思う。

「follower.py」をダウンロード

これの実行前にminimal.launchと3dsensor.launchを実行しておく。肝心のパフォーマンスは、ラズパイ3のHanabot 2でも、かなりスムーズだった。

« turtlebotをリモコンしやすくする | トップページ | ラズパイubuntuの日本語化 »

ROSさんお手やわらかに」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック


この記事へのトラックバック一覧です: pythonでturtlebotコンパチ機を人物追跡させる:

« turtlebotをリモコンしやすくする | トップページ | ラズパイubuntuの日本語化 »