No.161215
(Re:161218)

KD-06, obstacle avoidance Robot, with Arduino & XBee S2





〔概要-1〕

 障害物回避ロボを作成し、人生に立ちはだかる諸々の困難を回避する


〔概要-2〕

 回避ロボは2つのモードで制御する

  1) 無線リモコンによる有人制御
  2) プログラムによる無人制御



〔参考書籍〕


   


『XbeeによるArduino無線ロボット工作』 鈴木美朗志 著 (2016年 東京電機大学出版局)
第2章 XBeeによるインセクト(虫型ロボット)の制御



〔参考LINK〕

鈴木美朗志 著 « 東京電機大学出版局

XBeeSeries – スイッチサイエンス
https://trac.switch-science.com/wiki/XBeeSeries
ボクにもわかるZigBee方式 XBee (ボクにもわかる地上デジタル 地デジ方式編)
http://www.geocities.jp/bokunimowakaru/std-zigbee.html

Arduino Leonardo と xBee のトラブル : 林檎愛博士-私は如何にしてMacを愛するようになったか

センサーを使ってみよう(PSD測距センサー編) | RT Robot Shop Blog
光位置センサ PSD- Wikipedia

PORTD

C言語での無限ループの作り方
繰り返し文

十六進法 - Wikipedia
2進数、16進数と10進数 - CyberLibrarian




〔Parts List〕

  Arduino UNO R3

     XBee S2 (ZB 2mW, XB24-Z7PIT-004 ) PCBアンテナ
     XBee ピッチ変換基盤 3.3v レギュレータなし
     XBee ピッチ変換基盤 3.3v レギュレータ付き

     タミヤ リモコンインセクト ロボクラフトシリーズ7
     タミヤ ユニバーサルプレート
     測距モジュール GP2Y0A21YK x3
     http://akizukidenshi.com/catalog/g/gI-02551/
     DCモータードライバー TA7267BP x 8
     http://www.marutsu.co.jp/GoodsDetail.jsp?q=TA7267BP&salesGoodsCode=14353879&shopNo=3

     2Pトグルスイッチ 
     抵抗390Ω
     抵抗10KΩ
     電池ボックス 単三x3本用(スナップ仕様) x3
     電池ボックス 006P
     電池スナップ
     ユニバーサル基盤 (Arduinoシールド用)
     DCジャック・プラグ
     LED
     タクトスイッチ
     積層セラミックコンデンサ 0.1μ㌲ 50V
     積層セラミックコンデンサ 0.01μ㌲ 50V












無線ロボットの工作本に取り掛かったのですが、鈴木先生がチョイスしたベース機体が面白いです

虫、といわれればまぁなんとか虫なような。






















本体の仮組み








有線のリモコンを改造して、基板を取り付けられるように加工








インパクトドライバーでは回転数が低いのと、ふとしたはずみでインパクト機能が働いてしまうので
やはり遠からずリューターも購入することになりそうです















今回使用するXBeeは、KD-02を無線化したときのものとは別バージョンのものです

 前回 : XBee S1 PCBアンテナ
 今回 : XBee S2 (ZB 2mW, XB24-Z7PIT-004 ) PCBアンテナ


省電力で高性能らしいです (よくわかりませんが・・・)



ZigBee - Wikipedia
IEEE 802.15 - Wikipedia
XBeeSeries – スイッチサイエンス
ボクにもわかるZigBee方式 XBee (ボクにもわかる地上デジタル 地デジ方式編)
http://www.geocities.jp/bokunimowakaru/std-zigbee.html








XBeeピッチ変換基板 3.3Vレギュレータ付き








400円くらいの中華デュイーノ

KD-03(電卓)を作った際にまったく動かなかったので、今回はどうなることでしょうか








テキストに記載はないものの、ブレッドボード上で接続テスト

ひととおり動いているようです















テキストでは普通のユニバーサル基盤に配置しているのですが、
今回もシールド化してしまうことに








基板などを乗せるため、ベース機体に加工を少々








ベースプレートには、タミヤのユニバーサルプレートを使う予定だったのですが
手ごろな木片がパーツ箱の中から発見されたので、これで代用することに

オイルステインでも塗っておけばよかったかな








センサーの線は、ベースプレート下に配線しようかと思いましたが、やはり丸出ししておくことに

ちょっと虫(インセクト)っぽくなる気もします








本体できあがり








リモコンが出来ていないので、XCTU上から動作テスト


なんとか動いてるっぽいです








「なんかやけに熱いなぁ」 とは思ってたんですが、距離センサーを二個壊しました


黒い線がプラスのほうだったとは盲点でした















1週間ほど間が空いて、やっとこリモコンの制作に取り掛かります








リモコン回路から無線操作を試みるのですが、これがまたまったく動きません。



なんだかんだやって、結局中華デュイーノを純正UNO R3にしたら動きました。





<追加試験>

ボードをArduino Leonardo に変更してテスト

  ⇒ 自動走行モードでは動く
  ⇒ リモコンモードでは動かない

  ⇒⇒ 通信になんか問題がありそう

ref)
Arduino Leonardo と xBee のトラブル : 林檎愛博士-私は如何にしてMacを愛するようになったか


⇒ コード中の Serial を全て Serial1 に変更したら動きました








コントローラーを完成させます。

こちらもテキスト内容をすこし変更して部品を配置








XBeeへのI/Oをピン接続にして、トグルスイッチは基板上に配置しました








電池は前面ではなく背面に

一個2500円もするXBeeは、やっぱり常に見える位置にあったほうが
ありがたみがあっていいかな、というようなことでこのような配置に。






















動作テスト


<サンプルコードの変更点>

障害物発見
  ⇒ 後退 2000ミリ秒から800ミリ秒へ変更
  ⇒ 旋回 2000ミリ秒から800ミリ秒へ変更

































































































〔雑感〕

とても良いテキストに巡り合えたと思った。


「理解できない部分は飛ばして、ひとまず作る」というやり方で進めたのだけど、
今のところうまく行っているように思う

その分、「じゃあ何でこれ動いたの?」という風に、後からテキストを熟読し、
ノートにまとめている時間のほうが長くなる傾向にある


完全に独学なので、出てきた疑問点について検索しても解決しなかった場合について、
対策を考える必要があると思いました。 



最初の工作物である、エステス社のロケットから丸一年が経過。

あまりの理系的知識の無さに、NHK高校講座を受講しつつロボットらしきものをつくれるように
なったので、割と充実した1年だったのかな、などと思いつつ

次作へ続きます。







Back