【ロボットプログラミング入門】PiCar-X with RaspberryPiで遊ぶ

  • URLをコピーしました!

今回はロボットを使って遊んでみる。
PiCar-Xという面白そうなロボットカーを手に入れたのでさっそく触ってみました

お子さんの自由研究にぜひロボットプログラミングを!おすすめしたいです

Picar-Xは、SunFounder社が手掛けるRaspberry Piを搭載して動作するプログラミングロボットカーです
(今回も提供いただきました、ありがとう!!)

購入する際は電池付属のものを選ぶと良いでしょう。

PiCar-Xで遊ぶにはRaspberryPiが別途必要です。対応しているRaspberryPiは以下

Raspberry Pi 4/3B+/3B/Zero W

目次

PiCar-Xを組み立てる

さっそく届いたので開封していく。(上品な箱に入っています、わくわくしますね)

PiCar-X開封前

さっそく開封していく。おおぅ、部品がいっぱい..。

PiCar-X内容品

説明書も付属してます。日本語表記ではないのですが、図が記載されているのでその通り組み立てればできるはず!

組み立ての動画はYoutubeにもありますが、こちらも英語対応のため、少しわかりにくいかも?

※組み立てには1時間程度かかったので覚悟しておいてね。

組み立てが終わったらプログラムのセットアップをしていきます。

PiCar-Xのセットアップ

まずはRaspberryPiのOSをインストールしておきましょう。
基本は通常のRaspberryPiOSで動作するので、PiCar-X専用の特別なOSのインストールは不要です。

初めてOSのセットアップを行う方はインストールください。

OSのインストール手順はこちらを参照ください。
https://docs.sunfounder.com/projects/picar-x/ja/latest/python/python_start/installing_the_os.html

動作用プログラムのインストール

最初に言っておくと下記ページを参照していただければすべて手順が書いてます。
ただ大事なのでこの記事でも同じことを回りくどく書いておきます。大事なことなので念の為、(ブログの尺稼ぎでもある..)

https://docs.sunfounder.com/projects/picar-x/ja/latest/python/python_start/install_all_modules.html

システムのアップデート

sudo apt update
sudo apt upgrade

Python関連、gitのインストール

Python環境、git環境が整っていない方はこちらも実行。整っている方も念の為実行してても問題ない

sudo apt install git python3-pip python3-setuptools python3-smbus

Robot Hatのプログラムインストール

Robot HatはRaspberryPiと接続しているボードです。こちらが動作するためのセットアップです。

cd ~/
git clone -b v2.0 https://github.com/sunfounder/robot-hat.git
cd robot-hat
sudo python3 setup.py install

画像処理用ライブラリのインストール

cd ~/
git clone -b picamera2 https://github.com/sunfounder/vilib.git
cd vilib
sudo python3 install.py

PiCar-Xを動作させるためのプログラム群をインストール

PiCar-Xが動作するためのサンプルコードやキャリブレーション用プログラムをインストール

(少々時間がかかるのでここらへんでコーヒーでも淹れに行きましょう)

cd ~/
git clone -b v2.0 https://github.com/sunfounder/picar-x.git
cd picar-x
sudo python3 setup.py install

I2Sアンプのセットアップ

Warningというドキッとする嫌な文言が現れますが、気にせず「y」を入力して続行します

cd ~/picar-x
sudo bash i2samp.sh

セットアップが完了したら再起動がかかります。
再起動後にアンプから音が鳴ればセットアップ完了です。ただ、音が出ない場合は「I2Sアンプのセットアップを何度か実行する必要があるかもしれません」とSunFounderさんのページには書いておる。

「かもしれません」!!?? まぁいいか。

僕のPiCar-Xは「虫の死ぬ間際のような、か細い音で鳴いた..」

I2Cインターフェースを有効にする

sudo raspi-config

3. Interfacing Options > P5 I2C > Yes の順に選択し、再起動を行えばOK

モーターの調整

サーボモーターの調整を行います。

調整用のプログラムを起動して
Robot Hat (RaspberryPiとドッキングしている基盤) のP11ピンにモーターのピンを3種類接続します。

サーボが0°の位置に調整されます。

下記のページを参照いただくと分かりやすい。
https://docs.sunfounder.com/projects/picar-x/ja/latest/python/python_start/py_servo_adjust.html

キャリブレーション

こちらの説明も公式記事に丸投げです。下記のページを参照いただくと分かりやすい。
https://docs.sunfounder.com/projects/picar-x/ja/latest/python/python_calibrate.html

要はPiCar-Xがまっすぐ進むようにタイヤの向きやカメラの向き画像認識用のグレースケールを調整します。

PiCar-Xを動かしてみる (遊んでみる)

サンプルコードだけでも十分に遊べるので今回はサンプルコードだけで遊んでみた

上記手順どおりのセットアップを行った場合サンプルコードは~/picar-x/example配下に格納されています

遊べるサンプルコード

cd ~/picar-x/example
python3 <サンプルコード名>

キーボード制御

サンプルコード名: 2.keyboard_control.py

キーボードのキーでPiCar-Xを動かします。
前進、後進、右旋回、左旋回、頭の上下左右の首振りを割り当てられたキーを押して動かしていきます。

テキストから音声 & 効果音再生

サンプルコード名: 3.tts_example.py

テキストをしゃべります、そして効果音を流します。
テキストや効果音はカスタマイズ可能で、自分の好きな音を流すことが可能です。

対応している音声は中国語、英語、ドイツ語、スペイン語、フランス語、イタリア語になります。
日本語対応してほしかった..。ということで日本語はしゃべりません。(アップデートに期待)

効果音はMP3形式、WAV形式のファイルがあれば再生可能です

障害物回避

サンプルコード名: 4.avoiding_obstacles.py

障害物を検知し回避しながら動きます。ルンバのような動きで警戒に部屋中を駆け巡ってくれます。

ライン追跡

サンプルコード名: 5.minecart_plus.py

床に敷いた黒い線上をPiCar-Xが走ります。
付属の黒いビニールテープ、もしくはホームセンターで売っている黒いビニールテープを床に配置することで、思い通りにPiCar-Xを入らせることができます。

工場の配送ロボットなんかはこの仕組みで動いてたりしますね。

崖検出

サンプルコード名: 6.cliff_detection.py

崖の上から(机の上から)落ちないようにPiCar-Xが検知し後退して回避します。

コンピュータービジョン

サンプルコード名: 7.display.py

カメラ映像をリアルタイムでブラウザから見ることができます。
写真撮影、色検知(赤、オレンジ、黄、緑、青、紫)、QRコード、顔検知、オブジェクト検知が可能です。

検知用のアルゴリズムがすでに組み込まれているため手軽に画像認識で遊べます。

あなたを見つめる

サンプルコード名: 8.stare_at_you.py

顔認識を行い、あなたの顔をPiCar-Xが追跡します。
首を上下左右に振って見つめてきます。か、可愛い〜。

ビデオ録画

サンプルコード名: 9.record_video.py

ビデオ録画を行います。防犯カメラ代わりとしてどうぞ

ブルファイト

サンプルコード名: 10.bull_fight.py

赤色を検知して追ってきます。そう闘牛のように
赤い布をヒラヒラさせながら、華麗にPiCar-Xをかわしましょう

ビデオカー

サンプルコード名: 11.video_car.py

カメラ映像を見ながらPiCar-Xを制御できます。
リアルマ◯オカートのようにテレビにカメラ映像を映しながら部屋中を駆け巡らせるのは楽しかった。

宝探し

サンプルコード名: 12.treasure_hunt.py

色検知(赤、オレンジ、黄、緑、青、紫)を行い、目の前で発見した色の名前をしゃべります。

アプリによる制御

サンプルコード名: 13.app_control.py

事前にsunfounder-controllerモジュールをインストールします。

cd ~
git clone https://github.com/sunfounder/sunfounder-controller.git
cd ~/sunfounder-controller
sudo python3 setup.py install

専用のスマホアプリ(IOS/Android)をインストールします
AppStoreもしくはGoogleStoreから「SunFounder Controller」を検索してインストール

SunFounder Controller App

アプリでできることは以下
実はアプリと連携させるとすべての機能で遊ぶことができますね。

アプリでできること
車の前進、後進、左折、右折
カメラの上下左右
色認識
顔認識
物体認識
ライン追跡
障害物回避
速度表示

サンプルコードで遊んでみた

ライン追跡(5.minecart_plus.py)で遊んでみました。

我が家のPiCar-Xちゃんは、黒いラインをしっかり追跡してくれます。

サンプルコードだけでも十分遊べますね。

Ezblockでプログラミング

プログラミングができないお子さんでも遊べます。
命令ブロックを組みながらロボットの制御を組むことができます。

スマホ、もしくはタブレットでアプリをインストールします。
AppStoreもしくはGoogleStoreから「EzBlock Studio」を検索してインストール

EzBlock Studio App

セットアップと使用方法に関してはこちらのページを参考に
https://docs.sunfounder.com/projects/picar-x/ja/latest/ezblock/play_with_ezblock.html

プログラミング初心者でも直感的に命令を組めます

PiCar-Xへの命令ブロックを組むだけ、そんな単純なのに複雑な動きを組むことが可能です。

EzBlock Studio

ロボット・プログラミングをやってみたい方にはぜひPiCar-Xをおすすめしたいと思います。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次