今回はラズベリーパイで手軽に作れるスパイダーロボット、SunFounder PiCrawlerについて解説したいと思います。ソースコードも併せて公開していますので、ラズベリーパイで何か動くものを作ってみたい!という方に参考にして頂ければと思います。
Raspberry Pi(ラズベリーパイ)とは
Raspberry Pi 5は、Raspberry Pi財団が開発した最新のシングルボードコンピュータで、従来モデルよりも大幅な性能向上を実現しています。
搭載される64ビットクアッドコアプロセッサは、クロック速度が最大2.4GHzに達し、前世代よりも処理速度が格段に向上しました。また、4GBまたは8GBのRAMを選択できるため、教育用途からリソースを必要とするプロジェクトまで幅広く対応可能です。
グラフィックス性能も強化され、4K解像度でのデュアルディスプレイ出力をサポートしています。さらに、新たにPCIeインターフェイスが追加され、外部ストレージや高速デバイスとの接続が容易になりました。Wi-Fi 6やBluetooth 5.2の導入により、無線通信も高速かつ安定。
教育、IoT、AI開発、メディア再生など、多様な用途に対応するRaspberry Pi 5は、初心者から上級者まで幅広いユーザーにとって魅力的な選択肢となっています。
Raspberry Piでできることについては以下の記事で解説していますので、あわせてご覧ください。
ラズベリーパイで制御するロボット PiCrawler
SunFounderから発売されているPiCrawlerは、四足歩行で昆虫のような動きをするスパイダーロボットです。ラズベリーパイをコントローラーとして使用し、自分で作成したプログラムをラズベリーパイ上で動作させることにより、ロボットを制御することができます。
入手先
SunFounder製のロボットはアマゾンなどで販売されており、日本国内でも普通に入手できます。
選んだ理由
ラズベリーパイをベースとしたロボットキットは各社から色々なものが発売されていますが、私がSunFounderのロボットを選んだ理由は以下のような感じです。
価格が安く購入しやすい(国内サイトで買える)
価格は15000円程度と本格的なロボットにも関わらず、非常に安価です。同じようなロボットのキットは他のメーカーからも発売されているのですが、ほとんどのものはフレームが樹脂製であるのに対しPiCrawlerはなんとアルミ製です。そしてカメラモジュールなども含めた価格であるため、非常にコストパフォーマンスが高いです。
基板製作やはんだ付け作業が不要
本キットは必要な機能が全てRaspberry Pi用のHAT(拡張基板)に集約されているため、モーター駆動回路、電源回路などを自分で作成する必要がありません。HATをラズベリーパイのGPIOに差し込むだけで必要な機能をラズベリーパイに実装できます。
またロボットのフレームの組み立てもドライバのみででき、ドライバ自体もキットに含まれています。
ロボット製作と聞くと敷居が高いと感じている方でも、プラモデル感覚で簡単に組み立てることができます。
ロボットのモーション設計が不要
ロボットの制御というと、特に車輪ではなく足で歩くタイプの場合は、ロボットが転ばずに歩けるように姿勢をソフトウェアで制御してやる必要があり、専門知識が必要となります。
しかしPiCrawlerにはモーションコントロールを行ってくれるライブラリが付属しており、Pythonから回転や前進、後退を行うためのメソッドを実行するだけで簡単にロボットの動作を制御することができます。
SunFounder PiCrawlerのキット内容
本体のキット内容については以下の記事にまとめています。
追加で用意するもの
コントローラとなるRaspberry Pi、バッテリーは別途用意する必要があります。
Raspberry Pi
PiCrawlerのコントローラーにはRaspberry Pi 3、4を使います。
私はロボットを購入した当時、Raspberry Pi 4の入手が困難であったためRaspberry Pi 3を使用していますが、ロボットに取り付けたカメラモジュールで画像処理を行うので、メモリをたくさん搭載しているRapsberry Pi 4の4GB or 8GB版を使うのがおすすめです。
バッテリー
ロボットのバッテリーには18650という規格に適合したものを取り付ける必要があります。私はパナソニック製のセルで保護回路付きのものを使用しています。(必ず保護回路付きのものを使用することをおすすめします)
保護回路が付くと若干バッテリーの全長が伸びるのですが、バッテリーケースにはぎりぎり収まっています。
充電器も含め、詳細は以下の記事で解説しています。
組み立て
ロボットの組み立て手順について、写真付きで以下の記事で解説しています。
Part1 ~ Part3の3回の記事に分けて書いています。
Part 3ではキットに付属しているサンプルプログラムを使用して実際に動作させる様子を記事にしています。
アプリケーションを開発する
PiCrawlerは付属のライブラリではなく、自分で作成したプログラムから制御することができます。コントローラーはラズベリーパイですので、Raspberry Pi OS上のPythonプログラムから自由に動作をコントロールできます。
ここからは、私が独自に作成したプログラムで制御した例をソースコード付きで紹介していきます。
障害物検出
ロボットに取り付けられた超音波センサーで、障害物までの距離を計測する方法について解説しています。
カメラモジュール
ロボットに取り付けられたラズベリーパイのカメラモジュールで画像を取り込む方法について解説しています。
マルチコア並列処理
ロボットの制御ではカメラの画像を処理したり、GUIでユーザーからの命令を受け取ったり、モーションをコントロールするためサーボモーターを駆動したりと同時に複数の処理をする必要があります。
これらの動作をラズベリーパイのマルチコアCPUを活かして同時実行するための方法を解説しています。
並列実行されているプロセス間でのデータの受け渡し方法を解説しています。
GUI(コントロール画面)
ロボットを動かすためのコントローラー画面の実装方法について解説しています。
ディープラーニング
ラズベリーパイのカメラに映った物体をAI(ディープラーニング)を使って検出し、判別する方法を解説しています。
Googleの機械学習ライブラリ、TensorFlowをラズベリーパイで動かすための方法を解説しています。
ディープラーニングを使って検出したオブジェクトの位置情報をOpenCVを使って取得するプログラムのソースコードを公開しています。
ディープラーニングで判別した人間の位置情報を元に、ロボットの向きを追従するプログラムを実装した動画を公開しています。
まとめ
今回紹介したSunFounderのPiCrawlerというロボットを使うことで、手軽にロボットを製作し、ラズベリーパイの制御プログラムでコントロールすることができます。
ラズベリーパイで何か動くものを作ってみたいと思っている方にはとてもおすすめです。
それでは、また次の記事でお会いしましょう。
コメント