http://www.brokking.net/yabr_main.html

CNCの自作とCNCで作る工作


Joop brokking氏企画のYABR(倒立ロボット)を作る

(大きさ:H100*W105*D66.5=482g)

はじめに
 1ヶ月余し前、YouTubeにYABR(倒立バランシングロボット)が掲載されました。このロボットの安定した動きが目に留まり
このロボットの制御を応用してライントレースが出来そうだと直感、倒立ロボットをライントレースに使うのは難しいが挑戦
してみました。
先ずはJoop brokking氏のホームページを参照してください。

 このページには動画及び回路図やSketch(ソフトウエアー)などが揃っていますので、電子工作に興味のある方なら
問題なく再現出来ますが、無線モジュール等は同じ部品を使うと日本の電波法に触れますのでご注意ください。

製作について
 私は、以前に作ったB-ROBOTのフレームや部品を再利用するため、YABRとは外観をはじめマイコンやモータードライバー
等の主要部品が異なりますが、今迄の倒立ロボット製作の経験から充分に再現性が有ると判断して製作を進めました。
 特にYABRでは、無線操縦用に中国製の安いシリアルトランシーバーモジュールを使ってますが、国内では使えません。
そこで、技術適合マークが付いたWiFiモジュールを使い、スマホやタブレットからリモート操作が出来るように変更しました。
注意:YABRのPID制御を正しく動作させるには、タイヤサイズ(直径51mm)を守ることです。大きく違うと不安定になります。


回路図
各部品ユニットをマザーボード(片面基板にパターンをCNCで切削加工したもの)に配置してます。


Arduinoについて:新しく購入される方はpro miniよりもUSBシリアルが実装されたNANOの方がお勧めです。
WABRと私のYABRの部品の違い
部品名本家YABRYABRもどき
マイコンArduino pro miniArduino NANO
ステッピングモータードライバーDRV8825A4988
ステッピングモーター35mm39mm
ワイヤレスユニット2.4G wireless serial transceiverWifi module ESP8266-Wroom-02
リモコン・コントローラニンテンドーヌンチャックスマホまたはタブレット
バッテリー11.1V 2200mAh Li-po Battery7.4V 920mA lithium-ion battery

マザーボードに部品配置した様子(電池台を外した状態)
私はフレーム再利用のために高密度実装しましたが、YABR本家の様に箱型に組むと作り易いです。


ArduinoとWiFiモジュールESP8266のWiFi通信について
 ロボット本体のArduinoとWiFiモジュールESP8266はお互いのRXDとTXDがクロス状態に繋がっていて、WiFiモジュールが
受信したスマホまたはタブレットからのOSC信号を受信し、ロボットを左右前後に移動します。
 WiFiモジュールESP8266にはスマホまたはタブレットからのOSC信号を受信し、Arduinoに受け渡すためのSketchを書き込む
必要が有ります。ここからWiFiモジュールESP8266用Sketchのページが開きます
WiFiモジュールESP8266のSketch書き込みについては、No.37:簡単に作れるNodeMCU基板の工作を参考にして下さい。

基本Sketch(ソフトウエアー)について
 ロボット本体のマイコン(Arduino)に書き込むSketchは、先に紹介しましたJoop brokking氏のホームページから
ダウンロード出来るのでArduino IDEを使って書き込みます。
 尚、WiFiを使ってリモート操作する場合も本体側Sketchに変更がありません。但し、ライントレース機能を追加する場合は、
自分でSketchを変更する必要があります。
 私は、Sketchの操縦部分を変更して基板に追加したスイッチにより、WiFiコントロールとライントレースを切り替えてますが
TouchOSCにトグルボタンを追加してスマホから切り替えることも出来ます。

ロボット本体とスマホとのWiFi通信について
 先に述べましたが、本家のYABRではシリアルトランシーバーモジュールを使って本体とニンテンドーのヌンチャックを通信
してロボットをリモート操作しますが、このモジュールは国内で使えません。替わりに技術適合マークの付いたWiFiモジュール
ESP8266を本体に使い、コントローラ側のスマホまたはタブレットとWiFi通信してロボットをリモート操作します。
TouchOSCアプリ(有料)をインストールして使います。

TouchOSCの編集
模擬画面の上でマウスを右クリックすると部品が選択できます。ここでは表題を入れるlavelとxy padを選びます。
また、画面左側の設定を参考にValue RangeにFrom 0 To 127を入力とInvert Yにチェック入れます。
出来上がったらSave Asからファイルネームを付けてセーブし、スマホまたはタブレットに転送しますが、同期をとって
WiFi転送する方法も有りますが、私はPCからメールに添付してタブレットに送ってます。

 下の画像はPC用のTouchOSCの編集画面です。TouchOSC editorはこちらからダウンロードできます


WiFi設定とTouchOSCアプリの設定
 スマホ又はタブレットのOSにはiOS系とandroid系があります。私はandroid系のタブレットしか持ってないので
android系のみの説明となります。
先ず、ロボットのハードウエア―が完成していてることとTouchOSCアプリがインストールされていることを前提とします。
①ロボットの電源を入れスマホ又はタブレットの設定を開き、無線とネットワークのWiFiの項目を開きます。
②利用可能なネットワークに「YABR-OSC」が表示されるはずです。
 (先にWiFiモジュールESP8266に書き込んだSketchで設定したID「YABR_OSC」と任意のパスワード)
③表示されたYABR-OSCをタップするとパスワードが要求されるので入力して確定します。
④パスワードが間違ってなければ正常に接続されます。
⑤次にTouchOSCアプリを開くとSettngs画面が開くので一番上の項目OSCをタップします。
⑥開いたOSC項目一番上のHostに192.168.4.1と入力、次のPortに8000と入力、その下のPortにも8000と入力、
 その下のZeroconf NameにはYABR_OSCと入力、その下のlocalIP Addressに192.168.4.2が表示されればOK
⑦次に元のSettngs画面に戻り、Layout項目をタップし、2行目のAdd form File項目をタップし、次のimport layout画面
 下部のDownload項目をタップします。
⑧先のTouchOSCの編集で作ったOSCドキュメントファイルをスマホまたはタブレット転送してあれば、そのファイル名が
 表示され、そのファイルを選択するとLayout画面に替わり、ここでそのファイルのチェックボタンをONにすると元の
 Settings画面に戻るので下部のDoneをタップするとOSCコントロール画面が現れ、XY-Padを使ってロボットの操作が
 出来るようになります。

無料のOSCアプリ「AndrOSC」を使う方法
 有料のTouchOSCは、機能が豊富で見た目のデザインが優れていますが、無料(ドネーション有り)のAndrOSCを
同じように使うことが出来ます。但し、各部品に表示するテキストの拡大や装飾機能が有りません。
 使い方の説明が長いので別ページで表示しますが、ロボット操作などに簡単に応用出来て有用だと思います。

ライントレースについて
 ライントレースの始めようと思ったのは、以前にAmazonでIRセンサーTCRT5000を10個170円で購入してたからです。
TCRT5000の出力をArduinoのアナログ端子に入力し、入力電圧を0~255の数値に変換、私はしきい値を100とし、100以上を
白、100以下を黒として白いパネルと黒いビニールテープを判定します。 ここでは3個のセンサーを使いラインを読んで
います。 私には初めてのライントレースですが、初めはスピードが出過ぎて脱線しましたが、今は、ラインを外さずに
周回するようになりました。
 しかし、カーブが続くと旋回信号が頻繁となり、前進信号が途切れがちになるためにスピードが落ちたり一時停止となり、
次に前進するまでに少し時間が掛かります。この問題を改善するが今後の課題です。
 (周回の様子は動画の後半でご覧頂けます)

YABRの前に取り付けたIRセンサーのPCB


IRセンサーTCRT5000を使った回路図とCNCで切削したプリントパターンの例


ライントレースのコース
 ライントレースのコースは厚みが7㎜、大きさが900㎜×600㎜の白い発泡スチロール製パネルに電工用の
黒いビニールテープを張り付けて作りました。


動画をご覧ください。
後半にライントレースの様子をご覧いただけます。


おわりに
 如何でしたか?Joop brokking氏が企画されたYABRの基本Sketchを利用させて頂き、安心して国内で遊べるように
通信方法の変更やライントレース機能を追加しましたが、1ヶ月余しで何んとか発表出来るようになりました。
 YABRに興味を持ち製作される方は、最初は基本機能から始め、完動後にライントレース等の付加価値を追加して
ください。 最後までご覧頂き有難うございました。 興味のある皆様の参考になれば幸いです。


by Paradise


MENUへ戻ります。



inserted by FC2 system