センサ

ローパスフィルタ、ハイパスフィルタのプログラム

センサからデータをとるとどうしても望まないノイズや定常値が出てしまうことがあります。そんな時にフィルタは使われますが、プログラムで書くとどのように表せるのでしょうか。 想定読者 ・ローパスフィルタ、ハイパスフィルタを作りたいが方法を知りたい...
センサ

微分方程式をプログラムでシミュレーションする

今回は微分方程式をプログラムで解いていきます。答えを直接求める解析解、そして離散化させることによって求める数値解(オイラー法)、さらに精度の高いルンゲクッタ法でシミュレーションをしていきます。 解析解と数値解(オイラー法)を比べる \beg...
センサ

センサからの値を積分したいときはどうする?

こんにちは。最近センサから値を読み取り、なるほどと思ったことがあったのでここに書き共有すると同時に備忘録として活用しようと思います。 角速度→角度の積分 IMUセンサのジャイロから計測される角速度を単純に積分したい時があります。積分誤差など...
古典制御

モータのモデリング

ものを制御するときにその数理モデルを知っていることは非常に重要です。実機を使った実験ではお金も時間もかかってしまいます。そこで正確な数理モデルが求められます。 今回はDCモータを例に数理モデルの導出方法を紹介します。これを読めば、モデルの導...
古典制御

P制御で定常偏差が出る仕組みとPI制御で解決できるメカニズム

PID制御の基本中の基本であるP制御。 P制御だけで使われる機会はほとんどないと思います。その理由は定常偏差が生まれてしまうからですが、なぜ定常偏差が出てしまうのでしょうか。ふと疑問に思ってよくよく考えてみたら当然であることに気づきました。...
センサ

IMUセンサ(ICM20948)からPythonにデータを送りCSV保存する方法

記事の概要 今回はArduinoでシリアルモニタで表示されるデータをPythonに送る方法を紹介いたします. データはICM20948という加速度と角速度と地磁気を計測できるIMUセンサから取得します. それぞれ3軸(X,Y,Z)ずつと時間...