ラズベリーパイ(Raspberry Pi)ロボットをディープラーニングで人間に追従させる

  • URLをコピーしました!

※本ページはアフィリエイト広告を利用しています

今回はラズベリーパイ(Raspberry Pi)をコントローラとして動作する4足歩行ロボット、PiCrawlerの自律制御機能の一部が実装できたので記事にしたいと思います。

目次

Raspberry Pi(ラズベリーパイ)とは

Raspberry Pi(ラズベリーパイ)はイギリスのラズベリーパイ財団が教育用に開発したボードコンピュータです。

\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場

最新のRaspberry Pi 4では、ARMアーキテクチャを採用したBroadcom製の高性能SoC BCM2711を搭載しており、1.5GHzで動作するARM Cortex-A72が4コアとマイコンボードの中では非常に高速な処理能力を持っています。また、ユーザーがアクセス可能な40ピンのGPIOも搭載しており、外部ハードウェアを制御することが可能です。

詳細なスペック等は以下の記事で解説していますので、あわせてご覧ください。

ソーテック社
¥3,058 (2024/04/15 14:03時点 | Amazon調べ)
\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場

使用するラズパイロボット PiCrawler

使用するロボットはSunfounderが販売しているラズベリーパイベースの多脚ロボット、PiCrawlerです。詳細は以下のページをご覧ください。

ロボットの制御で使用しているマイコンボードはRaspberri Pi 3Bです。Raspberry Pi 4でも同様の制御が可能です。

制御するプログラムは全てPythonでコーディングしています。

やりたいこと

今回はラズベリーパイに接続されているカメラモジュールの映像の中に映った人間をディープラーニングを使ってリアルタイムに検出し、その人間がいる方向にロボット本体の向きを変えるという動作をさせてみたいと思います。

物体認識はPINTOさんが公開されている学習済みライブラリ「TensorFlow Lite-bin」を使用させて頂きいています。この学習済みモデルの「Person」というラベルに対応するオブジェクトが検出された場合のみ、サーボモーターを制御してロボットの向きを変えています。

PINTOさんのリポジトリは以下となります。

著:小枝正直, 著:上田悦子, 著:中村恭之
¥3,080 (2024/04/13 09:15時点 | Amazon調べ)
\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場

ベースとなるアプリケーション

オブジェクトの位置検出

ディープラーニングによるオブジェクト検出については、以下の記事でソースコード付きで解説しています。オブジェクトの検出だけでなく、オブジェクトがロボットに対してどちらの方向にあるのかという情報もOpenCVを使って検出しています。

サーボモーター制御

オブジェクトの位置情報を元にサーボモーターを動かすための制御プログラムは、以下の記事でソースコード付きで解説しています。

今回はこの2つの記事で記載している機能の調停を行うプログラムを作成し、ディープラーニング側のプロセスが持っているオブジェクトの位置情報を、プロセス間通信を使ってサーボ制御プロセスにリアルタイムに渡せるようにしました。

実際にうごかしてみた

実際にプログラムを改修して動かしてみた動画です。
人間の手を検出するとそちらへロボットの向きを変えていることが確認できました。

手だけだとディープラーニングでの検出精度が低いので私自身の全身で検出するように動画を撮ってみました。

少し離れた位置で試すとうまく追従して動いてくれました。

まとめ

今回はラズベリーパイロボット PiCrawlerを、人間に追従して向きをかえるという処理を実装してみました。
目標となるオブジェクトとの距離が近すぎたり、目標の移動速度が速すぎたりするとうまく追従できない場合があったので、移動平均フィルターを入れるなどのチューニングをして精度を上げていきたいと思います。

機械学習を勉強したい方向けに以下の記事で公開していますので、ぜひご覧ください。

また、以下の記事で効率的にPythonのプログラミングスキルを学べるプログラミングスクールの選び方について解説しています。最近ではほとんどのスクールがオンラインで授業を受けられるようになり、仕事をしながらでも自宅で自分のペースで学習できるようになりました。

スキルアップや副業にぜひ活用してみてください。

スクールではなく、自分でPythonを習得したい方には、いつでもどこでも学べる動画学習プラットフォームのUdemyがおすすめです。

講座単位で購入できるため、スクールに比べ非常に安価(セール時1200円程度~)に学ぶことができます。私も受講しているおすすめの講座を以下の記事でまとめていますので、ぜひ参考にしてみてください。


それでは、また次の記事でお会いしましょう。

著:山内 直, 著:大久保 竣介, 著:森本 梨聖, 監修:太田 昌文
¥2,618 (2024/04/15 16:31時点 | Amazon調べ)
\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場
\最大8%ポイントアップ!/
Amazon
\楽天ポイント4倍セール!/
楽天市場
よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次