新たな取り組み その1
自走ロボットを昔から製作したいと思っていて、何から始めたらいいのかな~と考えていました。
そこで、まずはゼロからラジコンを作ってみようと思い、ベースとなる車両(DEERC社 MN99S)を購入し、その制御にArduinoマイコン、位置センサー(加速度、ジャイロ)、ジョイスティック、RF通信モジュールなどを組み合わせることにしました。
これは別記事でアップしています。
一方でFPVドローンを趣味で飛ばしていて、その流れでフライトコントローラとして利用できるArduPilotなるフライトコードがあることを知りました。(ドローンを自作できる!!)
これは面白そうだと思い調べると、Pixhawkという専用のハードウエアを使うことでフライトコントローラを構成できるようです。
また、このArdupilotはドローン専用ではなくローバー(陸上探査機)にも対応していることがわかりました。ドローンは空飛ぶので安全面とか何かとハードル高いので、まずはローバから製作することにします。資料などは下記参照ください。
*)Pixhawk2.4.8 Overview
https://ardupilot.org/copter/docs/common-pixhawk-overview.html
*)Ardupilot Rover
https://ardupilot.org/rover/
地上局用のPCソフト(Mission Planner)もオープンソースとして提供されており、自作する環境は揃っていることがわかりました。これはなかなか面白そうです。
*)Mission Planner
https://ardupilot.org/planner/docs/mission-planner-overview.html
まずPixhawk2.4.8(Aliexpressより)調達し、手始めに足回りとしてDCモータ2個使ったキットが家にあったのでそれで構成してみました。こんな感じ。
次はMissionPlannnerとpixhawkを接続するところかな。これから立ち上げます。
新たな取り組み その2
いろいろ調べていくとMissionPlannnerとPixhawkを無線通信するためのテレメトリ通信モジュールが必要だとわかりました。まあ自動運転させるのだから無線通信は必須ですね。
今までUSBシリアルの有線でPCとPixhawk接続していましたが、たしかにリモートで動作するものなので無線通信が必要ですね。
しかし、このテレメトリモジュールを調べてみると結構なお値段が…….
Pixhawkやケーブル類を購入したので予算的には厳しく、どうしたものかとさらに調べるとラズパイとPixhawkをシリアル接続できることがわかりました。(これは朗報!!!)
Mission PlannnerはTCP接続をサポートしているとのことなので、ラズパイとPC間はWifi通信とすることでテレメトリモジュールの代用にできそうです。
もちろん長距離での通信は無理ですが、まずは半径10m程度で使ってみるにはいけそうな気がします。
また、自動運転をさせる場合は位置情報を取得するためGPSモジュールも必要とのことで、こちらもGPS/RTKに対応した公式のものは高くて買えないので、FPVドローン用のGPSモジュール(Betian社 BN-180)を流用することにしました。
精度的に厳しいかもしれませんが、まずはこれで製作にとりかかります。
ちなみにモータESC(Itisyou社製の30A)は 2個、アマゾンで購入。
新たな取り組み その3
テレメトリ用にRaspi pico Wを当初採用しましたが、通信速度を上げられず実用に耐えられないので、Raspi3 Model B にて通信することにしました。省スペース、省電力のRaspi Pico Wに期待したのですがちょっと厳しかった。(プログラムの作りの問題かもしれませんが今回は断念)
TCP IP通信Pythonプログラムは、ChatGPT先生のサポートのおかけで割りとサクッと作れました。
Raspiを起動し、ノートPCとVNCで接続、Raspi上でPythonプログラムを走らせてからPC上のMission PlannerとPixhawkをWiFi接続します。
だいたい雰囲気をつかめてきました。
屋外で自動運転も試してみたいのでこの環境をラジコンに移植しようかと思います。
新たな取り組み その4
MN99ラジコンカーをベース車両として立ち上げました。
これで自動運転にチャレンジしたところ、GPSの認識精度がわるいのか、設定したway pointとは違った方向に走り出す。Mission PlannerはGuided Modeにしてスタート、アクセルは回転し動きだすが、ステアリング操作が思うようにいっていない。蛇行運転というかまっすぐ進まない。
また、iPhoneをwifiルータとして利用しているがラジコンカーが少し遠くに行ってしますと、すぐに切れてしまうので、こちらの改善も必要。
新たな取り組み その5
いろいろと調べているとテレメトリ用に ESP8266 wifiモジュールが使えるようです。
ESP8266 wifi telemetry — Rover documentation
専用ファームウエアも提供されているようなのでwifi通信はこれを試してみようと思います。