LoginSignup
2
3

More than 5 years have passed since last update.

Raspberry Pi ロボットをゼスチャーで操作する【GrovePi/Python3】

Posted at

RaspberryPiロボットは 以前 Node.jsとArduinoを利用して作ったのですが、Pythonで動作出来るように改造してみました。

音声入力を使わず、今回はゼスチャーセンサーを利用して操作してみます。まずは3種類の動作をさせてみました。

joy.gif

「Wave」のゼスチャーで、うなずきながらこちらに寄ってきます。

fear.gif

「Forward」のゼスチャーで、首を振りながらあとすざりします。

play.gif

「Clockwise」のゼスチャーで、ダンスをします。(ちょっとダンスっぽくないけど)

環境

IMG_9098.jpg

  • Raspberry Pi2 ModelB(RASPBIAN JESSIE WITH PIXEL 4.4/Python 3.4.2)
  • PLANEX 無線LAN子機 (USBアダプター型) GW-USNANO2A (FFP)
  • Raspberry Pi カメラモジュール Raspberry Pi Camera Board
  • cheero Canvas 3200mAh IoT 機器対応
  • ステレオプラグインスピーカー ASP-2188K
  • Arduino工作用の中国製ロボットキット(アクリルボード・モーター・タイヤ・単4電池ケース・超音波センサ・サーボモーター用アームなど)
  • PCA9685 16Channel 12bit PWM
  • SG90サーボモータ
  • 電池ケース 単3×3本用(4.5V)、単3×2本用(3.0V)
  • GrovePi
  • GROVE - ジェスチャー
  • GROVE - RGBバックライト液晶モジュール
  • GROVE - I2C モータードライバ
  • GROVE - 超音波距離センサモジュール

ずらずらと書きましたが、RaspberryPiにGrovePiを接続し、モーターやセンサー類の制御を行っています。カメラマウント用のサーボモーターは電圧の関係でGroveシステムを使って制御出来ないので、別途モータードライバを用意します。

GrovePi(要はArduino)をRaspberryPiの上部にマウント出来るので少しスリムに出来ました。

Python3

プログラミングは手抜きをして、メーカーが用意しているPythonライブラリを使用します。Groveシステムとサーボモータードライバのサンプルコードを利用してこんな風に記述してみました。

app.py - Gist

必要なライブラリは以下のライブラリよりインポートします。

サーボモータードライバー
Adafruit_Python_PCA9685/Adafruit_PCA9685/PCA9685.py - GitHub

i2cモータードライバー
GrovePi/Software/Python/grove_i2c_motor_driver/grove_i2c_motor_driver.py - GitHub

ゼスチャーセンサー
GrovePi/Software/Python/grove_gesture_sensor/grove_gesture_sensor.py - GitHub

カラーLCD液晶
GrovePi/Software/Python/grove_rgb_lcd/grove_rgb_lcd.py - GitHub

まとめ

今回はチャットの文字入力や音声入力を利用せずセンサーで動作させてみました。

これだけでは面白くないので、次回ロボットに簡単な感情エンジンを搭載してみたいと思います。(続く)

2
3
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3