inohana のすべての投稿

いのはな電子工房

みちびき衛星 CLAS・GPS TankROBO5

■初めに

みちびき衛星CLAS・GPS自動草刈り機の開発が、ほぼ完了した。ここで搭載したCLAS・GPSが想像以上に良かったので、この開発資産を使って、もう一機種開発を進めることとした。

長らくRTK・GPSを使って来たが、電子基準点が必要なことと、基準点データを受信するために、インターネット接続が必要となり、それなりのランニング・コストがかかる。一方、CLAS・GPSでは、電子基準点データに相当する補強データは、みちびき衛星から降って来るので、この部分のランニング・コストはゼロである。測位精度が公称±10cmと言われていて、RTK・GPSの±5cmより落ちるが、自動草刈り機を実際に運用した実績からは、ほとんど遜色が無いと感じる。

また、みちびき衛星は、日本独自の技術で運用されており、これは相当高い優位性を持っていると思う。後は、これをどう有効に活用出来るかだと思うので、この辺を模索してみたい。

■主な仕様

既に開発途上で、この記事を掲載開始時点で70%程の完成度である。既開発の自動草刈り機の用途は、草刈り・芝刈りに特化されているが、このTankROBO5はCLAS・GPS誘導の自動走行プラットフォームとし、そこからのカスタマイズで様々な用途展開を可能とする予定である。更に大型の、最大積載量100Kgの車体も存在する。
TankROBO5は、同じ車体を使った1~4号機(慣性誘導機種)は受託開発で完成・納入済みなので、5号機としている。

主な仕様は、以下の通り

・モーター  ブラシレス・24V300W×2
・電池    リチウムイオン・29.4V40Ah
・車体重量  22Kg(電池除く)
・スピード  0~3.6Km/h
・最大積載量 50Kg
・登坂能力  40°
・走行精度 ±10cm(入力した走行パターンに対して)
・システム・マイコン Raspberry Pi4
・モーター・マイコン ESP32
・CLAS・GPS受信機(NEO-D9C,ZED-F9P)
・GPSアンテナ  GN-GGB0710
・モニター・カメラ(USBカメラ・120万画素)
・ヘッドライト LED・10W×2

・遠隔操縦・バリエーション
LAN WiFi  WiFi・中継器を使えば、広い範囲で使える ※今回製作中
WiFi AP   ROBOTがAP(アクセスポイント)となり、LANの無い環境で使える
3G/LTE   インターネット経由・国内どこでも、遠隔操縦可能

・サイズ

・カスタマイズ・展開事例(案)
鳥獣対策
液肥・消毒・除草剤散布
夜間巡回監視
複数・指定コース・荷物運搬


等(是非、応用案・アドバイスをお願いします)

みちびき衛星 CLAS・GPS 自動草刈り機

■初めに

最近プロポで操縦可能な、草(芝)刈り機が、国産・中国産で市販されている。YouTubeでも動画を見かけるようになったので、中国製・車体を入手して、GPS誘導による自動草刈り機を2次開発することにした。従来はRTK・GPSでやっていたが、新しい技術を取り入れ、みちびき衛星CLAS・GPSでやってみることにした。

RTK・GPSでは電子基準点のデータを受信するために、インターネット接続(有料・通信ドングル)が必要で、また電子基準点を自前で設置するか、データ提供サービスをやっている業者(有料・docomo、SoftBank、日本GPSデータサービス等)との契約が必要となる。しかし、CLASであれば補強信号はみちびき衛星から降ってくるので、運用コストを大幅に低減でき(ガソリン代だけ)、測位精度もRTK(±5cm)よりやや落ちる(±10cm)が、自動草刈り機、その他の農業機械等の用途には充分と思われる。

このような理由で、みちびき衛星 CLAS・GPS 自動草刈り機の制作を始めることにした。ここに、順次詳細を掲載して行くことにしたい。

■主な仕様

・エンジン 196cc・9馬力 4ストローク
・重量   約200Kg
・刈幅   550mm
・スピード 0~3Km/h
・登坂能力 45°
・雪かきブレード
・走行精度 ±10cm(入力した走行パターンに対して)
・システム・マイコン Raspberry Pi4
・モーター・マイコン ESP32
・CLAS・GPS受信機(NEO-D9C,ZED-F9P)
・GPSアンテナ  GN-GGB0710
・モニター・カメラ(USBカメラ・120万画素)

■改造前・後

これが、改造前・後の制御電子回路だが、改造前は新品にも関わらず、ほこりだらけで、マイコンなどと言う高級なものは搭載されていない。しいて言えば、しょぼいプロポの受信機のユニットが、受信機とマイコンもどきが1つになったチップがあるだけである。
それ以外は、モーター・ドライバーが4つ(左右のキャタピラのスプロケット駆動用と、刈刃上下駆動、雪かきブレード上下駆動用)搭載されているだけである。それ以外は大電流ON/OFFのリレーが2つと、ヒューズ類で全てである。
電子回路と呼ぶには、程遠い。逆に言えば、よくこんなもので、らしい動作を実現しているのが凄いと言える。
プロポは、アナログ式サーボとなっていて、パルス幅(1500usセンター・ニュートラル)でモーターの正転反転と、PWM(1Khzなので、ピーピー耳障り)によるスピード制御を行っている。
改造後は、これらを全て取り去り(パワーリレー、200Aクラスは、そのまま流用)

Raspberry  Pi4 python,apache2(javascript+html),php
ESP32 c++
PWM(20Khz)モーター・ドライバーを4Ch分
CLAS・GPS受信機(NEO-D9C,ZED-F9P)
GPSアンテナ  GN-GGB0710
モニター・カメラ(USBカメラ・120万画素)

に置き換えた。
改造後の操縦はWebアプリ(PCブラウザ javascript+html←【WiFi】→RasPi, python,php←【UART】→ESP32 c++)とGamePad(BlueTooth,ブラウザchromeのAPI経由)で行う。改造前より改造後は、20~30年未来と言えると思う。

■ROBOT操縦画面

ROBOT操縦画面です。この画面は、Webアプリ(html+javascript)で作られているので、PC(Windows10のみ動作確認済)、タブレット(Android12以上のみ動作確認済)、スマホ(Android12以上のみ動作確認済)等のWebブラウザで表示し、操作することが可能です。走行パターンを入力する時は、PC等の大画面とマウスでの操作が良いです。草刈り現場では、スマホとGamePadが身軽です(WiFiはROBOTと接続するだけで、OK)。GamePadで、走る・曲がる・止まる、自動スタート、Pause、刈刃アップダウン、ブレードアップダウン、スピード・アップダウンなのど基本操作が全て可能となっています。スマホを胸ポケットに入れ、GamePadだけで、操縦可能です。

■Top画面

Top画面です。草刈り現場は複数の場所にあります。それぞれの現場に必要な地図や走行パターン等がありますので、それらを登録し選択して作業を行います。メモリーの許す限り、登録数に制限はありません。
また、マニュアルや動画説明などもROBOT内に格納されていて、このページから見ることが可能となっています。

■走行軌跡の記録

動画の方が解り易いと思いますので、上の動画を参照して下さい。
大雑把な走行パターンならば、航空写真地図を見ながらの入力で良いですが、畑の端や障害物ギリギリまで草刈りをやるのであれば、cmレベルの精度が必要となりますので、CLAS GPS自身を使った走行軌跡が必要になります。この走行軌跡を見ながら、走行パターンを作成します。この作業は、多少面倒ですが、一度走行パターンを作成してしまえば、ずっと使うことが出来ますので、定期的に同じコースを走行して草刈りをするのであれば有効だと思います。

■走行パターンの入力

これも動画の方が解り易いので、上の動画を参照下さい。
走行軌跡を見ながら入力して行く作業となります。これも面倒な作業ですが、ずっと使うことを考えればペイすると思います。
ゆくゆくは、走行軌跡から自動生成するようにすべきです。これは、将来へ向けての宿題です。
刈幅が550mmなので、往復の間隔はオーバーラップも必要なので400mm程度が最適です。400mm間隔で入力するために、グリッドを0.4mに設定すれば、このポイントにスナップ(引き込まれる)されるようになっています。
走行パターンの先端が、直角ターンではなく、尖った形状にしています。ROBOTは、次の目標ポイントへ向かう時、前進で行くか後進で行くかを、ターン角度が小さい方を選ぶようになっています。直角だと、この判別がつかないので、先端を尖らせておけば、確実にどちらを選択するかを、ROBOTに知らせることが出来るからです。

■地図の作成

掲載準備中です。

 

 

キャタピラ・ロボット②

robot3■2016-11-01
この素材を入手したので、今後電子回路を組み込んで行く予定。
基本構成は、
・WiFi・USBデバイス・サーバー
・Arduino Nano
・Webカメラ
を考えている。
USBデバイス・サーバーを選ぶ理由は、これだと工房のPCのUSBの口にArduinoや、Webカメラが接続されているのと同等になり、ロボットを遠隔操作中でも、Arduinoの中のプログラムを書き変えることが出来る。従って、開発効率が上がると思えるからだ。

■2017-08-28
しばらく、放ったらかしでしたが、ようやく重い腰が上がりつつあります。長い時間が経過してしまい、使えるデバイスも、進化しました。やはり、これから作るならばESP32だと思います。現在、あれこれ思案中なので、こちらで試行錯誤しています。
構成は、以下に変更。

・ESP32
・Androidスマホ
・WiFi・USBデバイス・サーバー(プログラム開発時のみ)

■2017-08-30
とりあえず、動かせるようになりました。まだ、電子回路を入れるケースも作ってないんで、秋月のビニール袋に入れて、走行させてみました(これでは、秋月の宣伝カー)。YouTubeにUpするレベルでもないんで、工房のエリアに置きました。5V DDコンは、ESP32に5Vを供給するとともに、外部に装着予定のスマホとデバイスサーバーへも電源供給する予定なので、余裕を持たせて3Aの供給能力のものを搭載した。
自分的には、ESP32で動かしている点が新しい。このデバイスは、IOがたくさんあるので、従来ESP8266+Arduino Nanoでやってたことが、このデバイス1個で可能になった。3号機をつくるということより、このESP32を使ってみることの方が、よりモチベーションが高い。

robot3 e circuit

■2017-09-11

batt casee case
BATTと電子回路のケースが完成したので、ロボットらしくなってきました。BATTはシャーシ下に装着し、電子回路は、ESP32でWiFiの送受信する都合があるので、シャーシ上に付けました。
まだ、基本的な走行系しか実装してないので、今後カメラ、道具などを搭載して行く予定です。

■2017-09-13

★ロボット3号機・いろいろ装着

前からやってみたかった遠隔プログラム書換え用のUSBデバイス・サーバーと、スマホ・カメラを装着してみた。USBデバイス・サーバーの方は、そこそこらしく動作するが、100%は期待通りには動いてくれていない。遠隔プログラム書換えは、うまく行ったが、デバッグの方はSerial.printがプログラムの処理時間に大きく影響しているらしく、動きが変になる(追実験で、理由は不明だが、Arduino IDEのシリアル・モニタを一度切ってからプログラム書き込みしたら、全て期待通り動作した。これで、ロボット・プログラム開発の効率は大幅に上がる。ESP32 OTAによる遠隔書き込みも成功した➡試行錯誤)。スマホ・カメラ動画はスタンドアロンで動作しているので、従来通りまったく問題無く機能した。

robot3 back

robot3 front

★ロボット3号機・スマホ・カメラ動画

自宅の庭を一周させてみたが、クローラーの凹凸で、振動が激しい。操縦は、この動画を見ながら工房2Fからやっている。犬猫目線で、ロボットに乗って操縦しているかの如き、疑似体験が味わえる。

■2017-09-16

★走行テスト

ほぼ々々、基本部分は出来上がったので、外に出て走行テスト。

■2017-09-26

★操縦システム

soju

操縦システムは、PS4コントローラー  = (Bluetooth)⇒スマホ  =(WiFi) ⇒ROBOTとした。スマホを間に挟んで、WiFiを使っているのは、操縦範囲を広げる(BTでは10m、WiFiならば200m)のと、ROBOTからの情報(バッテリー電圧、その他センサー情報など)を表示するため。スマホ単体でも可能だが、PS4の方が、圧倒的に操作性は良い(詳細は試行錯誤参照)。
PS4のBluetooth接続では、タイムラグが気になる(USBではOK⇒Gamepadで解決)。

■2017-10-07
★ゲームコントローラー(Bluetooth 中華GamePad)での操縦

ROBOTの操縦は、PC or スマホでやっていたが、操作性には改善の余地があった。PCのKeyboardやスマホ・パネルに視線を向ける必要があり、ROBOTを直視し続けながら操縦出来ない点である。この改善策として、ゲームコントローラー(PS4はタイムラグでNG⇒中華GamePadを採用)での操縦を試行錯誤してきた。紆余曲折はあったが、ほぼ実現出来た。部屋の中での走行は、クローラの3号機ではやかまし過ぎるので、タイヤの3.5号機で行った。

■サイト内・リンク

TOP

ロボット1号機

ロボット2号機

⑤IOTセンサーライト センサーライトにスマホからリモコンON/OFF・タイマーON/OFF・監視カメラ機能追加

iotsensorlight

■2016/10/22(土)

■目指す作品

①市販のLEDセンサー・ライトを改造し、Webブラウザーで遠隔ON/OFF出来るようにする。
②監視カメラを内蔵し、WiFiで動画・音声を送りWebブラウザーでモニター出来る。
③指定時間にON/OFFするタイマー機能を組み込む(時刻は、NTPサーバーから取得し、自動設定)。指定時刻は、ブラウザから設定する。

■どこがCoolなの?

市販のLEDセンサーライト(80W→白熱電球換算800W→むちゃくちゃ明るい!)を買い、庭を照らすために設置した。これは、これで便利なのだが赤外線センサーで点灯した後、一定時間後に消えるので、しばらく点灯しておきたい時や、離れたところから点灯させられたら、更に便利になる。
また、センサーライトの基本的な目的は、怪しい侵入者対策なので、監視カメラと合体したら、センサーが作動した時、何者が侵入したかをスマホ、タブレット、PCで確認(隣の家の猫だったりする)出来るし、昼間は来訪者をチェック出来る。タイマーでON/OFF出来るので、自動点灯・消灯も出来る。
既に、IOTシリーズである程度のノウハウがあるので、これのシリーズに追加としたい。

続きを読む ⑤IOTセンサーライト センサーライトにスマホからリモコンON/OFF・タイマーON/OFF・監視カメラ機能追加

④IOTコンセント    スマホからON/OFF・タイマーでON/OFF出来るコンセント

■2016/10/20(木)

■目指す作品

①このコンセントに接続された電気器具(主に照明系を想定)のON/OFFをスマホから遠隔コントロールする。
②指定時間にON/OFFするタイマー機能を組み込む(時刻は、インターネット時刻サイトから取得し、自動設定)。ON/OFF指定時刻は、スマホから設定する。

■どこがCoolなの?

遠隔コントロール。照明などを、自宅のWiFi圏内にあれば、どこからでもスマホでON/OFF(勿論PCでもタブレットでも)出来る。外灯などに最適。いちいち、そこまで行かなくてもOK。
ON/OFFタイマーで、指定時刻①にONし、指定時刻②でOFFが出来るので、外灯の自動点灯、消灯に最適。
内蔵時計は、インターネット上の時刻サイトで自動設定されるので、常に正確。

 

■2016/10/21(金)

iot-sw-circuit

まずは、電子回路から。
基本的なシステムは、IOT蚊取り機と同じです。蚊取り機では、電撃ネットのON/OFF制御をしていましたが、これの代わりにAC100V電源をパワーリレーでON/OFFをすればOKです。過電流検出部以外は、動作確認済みで、3台実用に給してます(ものぐさな私に最適)。リレー(G2R-1 DC5)の接点電流の最大許容値は10Aなので、余裕をみて8Aで過電流検出し、OFFする予定です。

■2017/4/15(土)

IMG_3049

IOTコンセントのTP1(Test Product) がようやく出来上がった(ケースの材料違いで2つ作ってみた)。そこそこの出来だと思う。ポイントは以下

①PCB基板は、Eagleで設計し中国のFusion PCBに発注し、格安なので20枚作ったが、1枚1$程度で出来た。

iot-sw-pcb

②ケースは、巷を賑わせている3Dプリンターで作成
iotsw-autocadIOT-SW-Kumitate因みに3Dデータは、無料の AUTODESK 123D DESIGNで設計した。3Dプリンターは、L-DEVO、フィラメント材はH-PLAである。印刷時間は8時間、使用材料代は72gで¥360程である。組み上げて、多少紆余曲折はあったものの、ほぼほぼ期待の動作をしている。

3Dプリンターを導入し、IOTコンセントのケースを作成したが、これは改めて画期的な装置だと実感した。金型無しに、このようなモノが作れるようになったのは素晴らしい。

■2017/4/19(水)

IOT コンセントの応用編として、当工房で日常的に使っているIOT  SWコントロールを紹介します。遠隔操作でON/OFFしたいSWにESP-WROOMを介してIPアドレスを持たせ、それぞれのチップの中でWebServerを動作させてます。ここに、Webブラウザで入りSW ON/OFFの指令を出しているのです。従って、Webブラウザがあれば、PCでなくてもスマホでもタブレットからでもいけます。1台のSW(ESP-WROOM)では、大した帯域も使いませんので相当な数の(恐らく100台以上? 試してませんが)SWのコントロールが可能です。

■2017/4/22(土)

IOTSW

iotswpic

これが、IOTコンセントの操作画面(Galaxy Noteでの例)です。ESP-WROOMに仕込んだWebServer内の6つのhtml(Java Script含む)で描画させ、ON/OFF動作と各種設定をやらせてます。設定内容はESP-WROOMのフラッシュメモリーに保存されるようになってます。
この事例では、1チャンネルのスイッチですが、IOピンはまだまだ余っているので、多チャンネル化が可能です。
WiFiは、子機として動作させるのがデフォルトですが、親機(アクセスポイント)としても動作させることが出来、WiFiルーター無しでもOKです。(※2018-11-08追記 最近やった実験では、WiFiのアンテナ等の条件を整えれば、1Km遠方のコンセントでもON/OFFが可能)
USBのACアダプタを流用したので、ついでにUSBの充電口もあけておきました。

■2017/5/9(火)

3Dプリンターの立上げも、条件を確立出来たので(試行錯誤参照)、試作のステップは完了した。ケース作成のプリンターの造形時間がかかる(8時間弱)ので、24時間フル稼働して1日3台の、およそ量産とは言えない体制は出来上がった。

201705091504

 

■サイト内・リンク

TOP

③IOT蚊取り器    屋敷の蚊との対決・根絶を目指して

%e3%82%ad%e3%83%a3%e3%83%97%e3%83%81%e3%83%a3

 

■2016/10/14(金)

つい先日まで、IOT蚊取り器なるモノにはまっていました。この企画は、世の中に存在しないし、発想そのものが自分的にはCoolだと思い制作を始めました。ただ時期的に秋も深まり、蚊そのものの生息数が、少なくなってきて、最近は実証実験が難しくなってきました。が、その紹介を順次して行きたいと思います。今後、マイペースで綴ってみます。今日は、記事スタート宣言のみ、、、

続きを読む ③IOT蚊取り器    屋敷の蚊との対決・根絶を目指して

②ロボット2号機   自律走行・作業を目指して(将来は田植え機・トラクターの自動作業に適用)

 

 

 

■2016/10/12(水)

これが、ロボット2号機です。1号機が小さ過ぎて、ぎゅうぎゅう詰めになってしまったので大型の2号機を作成途上です。ベースとなる走行系はほぼ完成しました。走破性能を向上させるために、クローラ仕様としました。まだ、道具は持たせていません。
悪路・障害物・走行性能は抜群です。

続きを読む ②ロボット2号機   自律走行・作業を目指して(将来は田植え機・トラクターの自動作業に適用)

①ロボット1号機   自律走行・作業・芝刈り等を目指して・超高精度cm級Navi搭載

■2016/10/12(水)

これが、ロボット1号機です。
操縦は自宅のPCで、送られてくる動画(スマホ・アプリを流用)を見ながらの手動と、RTK NAVIによる緯度経度情報を用いたプログラミング(VB2013で開発)走行。 続きを読む ①ロボット1号機   自律走行・作業・芝刈り等を目指して・超高精度cm級Navi搭載