Raspberrypi On Zumo Python TkInterによる操縦・超音波センサによる停止

Raspberrypi On ZumoをPCなどのVNC画面からリモコンで操作します。取り付けた超音波センサーにより、障害物があると停止するようにします。USensorZumo

  1. 超音波モジュールの製作
  2. Arduino Leonardoのプログラム
  3. RaspberryPi のリモコンプログラム

超音波モジュールの取り付け

汎用基板を12×24ピッチの大きさに切り、図のように超音波センサー、ピンヘッダー2×12を取り付けます。

UsensorBoard2ZumoPinAssignment

ボードの裏面の配線は下のようにします。

Board_Plus_Sensor

超音波センサー基板をZumo前面の下部に取り付けます。

UsensorZumo2

 

Arduino Leonardoに超音波処理のプログラム・RaspberryPiのPythonプログラムをアップロードする

前もってやっておかなければならないこと:本サイト RaspberryPi On ZumoのWi-Fiコントロールシステム(WebIOPI)構築の手引き

を参照して、次の2点を行ってください。

  • RaspbianにArduino開発環境をダウンロードします(下記リンク 4.参照)
  • ZumoMotorLibraryをダウンロードします(下記リンク5.参照)

その上で、次のArduinoプログラムをLeonardoにアップロードします。
Arduinoプログラムは次のとおり
USensor

ダウンロードリンク
UsensorCode

次のプログラムをRaspberryPiデスクトップ上でPython2.7を使って走らせる。(このコードも上のダウンロードファイル
UsensorCodeに含まれます)
TkControl-py
このプログラムをRaspberrypi上で走らせるとTkInterを利用してボタンでコントロールできるようになります。
ただし、RaspberrypiOnZumoを走らせるときはVNCを利用してリモートコントロールで動かします。

動作は:10cm以内の障害物に接近すると、Zumoはストップします。それ以外は下のTkInterのボタンで前進・後退・左旋回・右旋回をコントロールできます。終了はMotor controllerのボタンウィンドウを閉じます。
TKControl
<終わり>

RaspberryPi On ZumoのWi-Fiコントロールシステム(WebIOPI)構築の手引き

RaspberryPiOnZumoのWi-Fiコントロール(WebIOPi)システム構築の手引き

PiOnZumo

スマホやパソコンのブラウザから構内のWi-Fiステーション経由でRaspberryPiOnZumoを
操縦するシステムを構築します。WebサーバーにはWebIOPiを使用します。

コードを入手する→codes

RaspberryPiOnZumoについてのFAQ

1.Arduino LeonardoにアップロードしたCommandReceiver.inoのプログラムの意味がよくわからないのですが。

・Arduinoのプログラムは最初に1回だけ実行されるsetup()関数と,その後繰り返し実行されるloop()関数からできていて,
プログラムはその中身を書くことになります。

・setup()関数内でUSBシリアル通信の初期化をSerial.speed(9600)命令で通信速度9600baudに設定します。

・次にloop()関数内で,Serial.available()関数により通信データがあるか調べ,あれば一文字(コマンド)を変数cに読み取り,
その文字の種類によって,モーターを制御しています。

・arduinoのシリアル通信命令についてはArduino.ccのserial以下をご覧ください。

https://www.arduino.cc/reference/en/language/functions/communication/serial/

 

2.Arduinoにモーターコントロールプログラムを書き込むとエラーが出てうまく書き込めません。

・ZumoMotorLibraryの場所が違っている可能性があります。    /home/pi/sketchbook/library/Zumo-shield/ZumoMotors
というディレクトリ構造になっているか確認してください。

・ArduinoIDEから ツール>シリアルポート を確認してください。    /dev/ACMA0となっているか、たとえば/dev/ACMA1などに
なっていたら、 RaspberryPiとArduinoがUSBケーブルで接続された状態で、RaspberryPiを再起動してください。
( $ sudo reboot now )その後、/dev/ACMA0になっていることを確認してください。

 

3.WebIOPiを起動するとデモページが立ち上がってしまう。

・/etc/webiopi/configファイルが書き換えられていません。11.の項目をもう一度よくチェックして下さい。
デスクトップ環境から直接configファイルをleafPad(エディタ)で開くと、書き込みができません。
lxterminalを立ち上げ、その中で sudo leafpad /etc/webiopi/configとして編集し、保存する必要があります。
これは /etc/rc.localの編集、書き込みについても同じです。

 

4.ブラウザからRasPiのアドレスにアクセスしてもボタンのついたページが表示されない。

・ index.htmlファイルが文法的に正しくない。10.のリストと比べて字句が正しいかチェックして下さい。

 

5.プッシュボタンを押してもRasPiが終了しない。

・プッシュボタンが26, 27ピンに間違いなく差してあるか確認する。
・shutdown.pyのリストをもう一度確認してください。
・shutdown.pyの場所を確認してください。
・/etc/rc.local の内容を確認してください。

Zumo v1.2 ジャンプスタートガイド

Zumo v1.2

ジャンプスタートガイド

目次

Zumo開発元ユーザーガイド(英語版). 2

Arduino IDEをダウンロード.. 2

Arduino Librariesダウンロードリンク(説明付). 3

ライブラリファイルをArduino Librariesに加える… 3

インストール済みライブラリのサンプルにアクセスする… 5

ダウンロードと起動… 5

Zumo用Simulink Libraryのダウンロード.. 6

補足ライブラリとサンプルを追加する… 7

 

 

 

 

 

Zumo開発元ユーザーガイド(英語版)

Arduino IDEをダウンロード

1

  • windows installerを使う場合は、exeファイルを実行し全てのオプションを”yes”または”accept”を選択してください。

2

  • Zip ファイルをダウンロードしたら、C フォルダか、その中のProgram Files フォルダなど任意の場所に解凍してください。
  • ダウンロードしたファイルからexeを実行し、スタートメニューかデスクトップにショートカットを作成してください。

Arduino Librariesダウンロードリンク(説明付)

3

 

ライブラリファイルをArduino Librariesに加える

  • Sketchbook locationを確認するために、Arduino IDEを開いてFileタブのPreferencesを選択してください。下図の場所に記載されたSketchbook locationを確認したらそのアドレスをメモして、Preferencesを閉じてください。

4

 

  • Sketchbook Locationのナビゲーションで、小文字のLで表される「libraries」と呼ばれるフォルダにあることを確認してください。そのフォルダがない場合には「libraries」フォルダを作成してください。
  • Arduinoにライブラリを加えるために、ダウンロードしたArduino Libraryを任意のフォルダで解凍し、フォルダごとすべてをlibrariesフォルダにコピーしてください。
  • L3GとLSM303のライブラリについては、それぞれ「L3G」、「LSM303」の名前のフォルダを使ってください。
  • 最終的に、Arduinoライブラリのフォルダは、下記のようになります。
  • Arduino IDEを再起動してライブラリを確認してください。

5

インストール済みライブラリのサンプルにアクセスする

  • サンプルにアクセスするために、Arduino IDEでFileタブのExamplesへ行き、フォルダ内のサンプルを確認してください。(リスト最下部にあることが多いです)
  • Arduino IDE 自体にサンプル例が多く用意されています。
  • Sketchbookを通してインストール済みサンプルにアクセスできます。

6

ダウンロードと起動

  • デバイスを差し込むことで自動的にドライバーがインストールされ、デバイスを使うことが出来るようになります。
  • ArduinoのどのCOMポートに差し込まれているか確認する必要があります。スタートメニューよりデバイスマネージャーを起動し、「Ports(COM & LPT)」内のArduino LeonardoのCOMの値を確認してください。

7

  • IDE内のToolsタブのPortを開き、あなたのボードのCOMportを選択してください。
  • 使いたいスケッチやスケッチサンプルへは、矢印ボタンを押してあなたのボードよりスケッチをアップロードしてください。アップロードの後直ちに起動が開始されます。

8

Zumo用Simulink Libraryのダウンロード

  • Zipファイルをダウンロードしてください。: http://www.mathworks.com/matlabcentral/fileexchange/45886-simulink-library-for-zumo-robot
  • MATLABのmain directory (デフォルトではマイドキュメント直下のMATLABフォルダ)にそのファイルを解凍してください。
  • ライブラリにインストールするためにmを起動してください。
  • MATLABを再起動し、ブロックを見るためにSimulinkのlibraryを開いてください。

補足ライブラリとサンプルを追加する

  • ダウンロードサイトやCDから手に入れたサンプルライブラリを追加するために、Documentsタブ、Arduino内のlibraries sketchbookフォルダにて解凍し、Zumoライブラリも同様のことを行ってください。