2021年11月14日日曜日

スロットルレベル20%の回転数

 引っ接触タコメーターで測定したところ

No.1 3070rpm

No.2 2749rpm

No.3 2715rpm

No.4 2745rpm

というわけで、No.1だけが大きく異なる。これは、このドライブだけが、違うESCを使っているかだ。

さらにいろいろ調べた結果、基本的な問題は、キャリブレーションだった。全てのESCをキャリブレーションしなおしたら

No.1 2800rpm

No.2 2891rpm

No.3 2871rpm

No.4 2865rpm

と、誤差の範囲の差しか出なくなった。これくらいは、フライトコントローラーが吸収できるはずだ。

2021年11月10日水曜日

C++ forkとパイプ

 フライトコントロールの制御ループは、ミリ秒単位の周期になる。C++のスレッドで簡単にできそうだったが結局うまくいかず、forkコマンドで子プロセスを作って動かしている。


途中、親から子プロセスのパラメータを変更するときにパイプ機能を使うことになった。一つハマったのが、パイプはforkする前に作らなければならないことだ。

920MHz帯無線通信モジュールTY92SS-E2730を使う

 先にも書いたが、ドローン2号機上のコントローラーはラズパイ4で、それとのやりとりをもともとWIFI経由で予定していたが、機体がアルミパイプであるために通信が不安定で使い物にならなかった。そこで、プロポに変えた。プロポの信号取り出しもなんとか安定できるようになったが、そのシステム...