pythonでturtlebotコンパチ機を人物追跡させる
ROSさんお手やわらかに:ROS青雲編
turtlebotのサンプルにkinectを使って人間追跡をするデモがある。これと同様のモノをpytonで書いてみる。もっとも、お手本になりそうなコードを探して、ちょっと手を入れただけだ。これのおかげでpythonでのリスト処理のテクニックのごく一部がつかめた。機械学習のように大規模なデータ処理を扱う言語として、最近注目を集めているpythonだけど、なるほどなという感じだ。
リスト処理はその昔、Lispでデータ構造を構築するまねごとをやったことがあるけど、たぶんpythonもそういうことが得意なんだろうとおもう。10年以上前になるが、アメリカの画像認識とロボティクスをやってるベンチャーの人と仕事をしたことがあった。彼が日本にきたとき、秋葉原で接待した帰り、「あなーたはロボットつくるのに、なんちゅう言語をつかってまちゅか」(おそらく僕の英語はこんなふうに聞こえているんだろう)という質問に、「python」と言われ、なんだかわからず綴りを書いてもらったのを覚えている。後日オライリーの本を探して読んだけど、あまり魅力が分からなかった。
肝心のコードはこちらのサイトが元ネタ。動画にあるように、人を検知すると追跡しながらわんわん吠えたり、おもちゃのミサイルを発射したりする物騒なロボだ。ここからfollower.pyを拝借して改造した。最初の方のコメントは残したが、他のノードと連携する部分(わんわん吠えたりする部分)は削除して単純化した。わかりやすいと思う。
これの実行前にminimal.launchと3dsensor.launchを実行しておく。肝心のパフォーマンスは、ラズパイ3のHanabot 2でも、かなりスムーズだった。
« turtlebotをリモコンしやすくする | トップページ | ラズパイubuntuの日本語化 »
「ROSさんお手やわらかに」カテゴリの記事
- 3Dプリンターで作る簡単turtlebot(おしまい)(2017.01.07)
- 3Dプリンターで作る簡単turtlebot(raspberry pi3の取り付け)(2017.01.03)
- 3Dプリンターで作る簡単turtlebot(kinectの取り付け)(2017.01.02)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て2)(2016.12.29)
- 3Dプリンターで作る簡単turtlebot(パーツの組み立て1)(2016.12.25)
コメント