理系的な戯れ

理工学系とくにロボットやドローンに関する計算・プログラミング等の話題を扱って、そのようなことに興味がある人たちのお役に立てればと思っております。

数学

Pythonで考えるDCモータの制御(10)PWM制御におけるLock Anti-Phase方式とSign-Magnitude方式について

はじめに 最近Twitterが面白くなってきて、そちらで遊んでいたのでブログが疎かになっていますが、ブログも頑張っていこうと思います。 僕のペースでは3週間に2本ぐらい更新できれば今のところ精一杯なのかなと思います。 頑張れる時は頑張ろうと思います…

グラフ理論と迷路探索

はじめに マイクロマウスの迷路探索では探索アルゴリズムとして左手法、トレモー法,足立法などがあるのですが そういった観点とは別に迷路をノードとエッジに見立てたグラフとしてとらえて、ダイクストラ法で 最短経路を見出そうというお話をしたいと思いま…

マイクロマウスの横滑り運動

はじめに マイクロマウスの運動についてタイヤの力学を含めて考えてみたいと思います。 マイクロマウスを完全な6自由度の運動をすると思うと、考察がかなり厳しくなるので、今回は平面内での3自由度に限定して考えていきたいと思います。 その中で横滑りの…

LR回路のスイッチング動作の計算

LR回路のスイッチングについて考えることはモータの内部回路がコイルと抵抗で構成されていることを考えると大事です。回路方程式からひも解いてオン、オフ時の過渡応答を明らかにします。

オドメトリによる移動ロボットの自己位置推定

移動ロボットの自己位置推定の基本としてオドメトリがある。本記事ではマイクロマウスのような2輪移動ロボットの直線近似及び円弧近似によるオドメトリ計算について記述した。

マクローリン展開でcosを近似

マクローリン展開の打ち切り誤差を調べてみました.マイクロマウスのようなロボットのオドメトリによる走行軌跡の計算における三角関数の積分をマクローリン展開した多項式を適当な次数で打ち切った式を用いる方法が提唱されています.そこで,まずはマクロ…

Jupyter labのインストール

はじめに こんにちは、こうへいです。 最近は、普段使いの計算環境はJupyter labにしています。 pythonを使ってちょこちょこ計算をするのに ものすごく便利に使えていて、OSを選ぶ必要がなくて超いけています。 Dropboxのようなローカルと同期してくれる,ク…

3体問題アポロ8号のキセキ

はじめに こんにちは、こうへいです。 いつの間にか記事数が50記事になりました! COVID-19に関する情報が気になりブログ更新をサボっていて申し訳ないのですが 今日は前回に引き続き、3体問題について見ていきます。 取り扱う話題のベースはアポロ8号で…

2体問題のシミュレーション

はじめに 前回ウイルス感染のパンデミックのシミュレーションをしてみたのですが、 粒子のクラスを一般的な移動のシミュレーションに使えそうなので すこし、改良して使ってみようかなと思いました。 数値計算を考えるときに2体問題は解析的に解けるけど3…

Pythonでワシントンポストのコロナシミュレーションを再現してみた

はじめに こんにちは、こうへいです。 今日は、コロナウイルスの伝搬状況を ワシントンポストがシミュレーションしていまして それが面白かったので、自分でも書いてみたいと思って、コーディングの練習も兼ねて挑戦したお話です。 シミュレーションの概要 W…

ニューラルネットワークは電気羊の夢を見るか(1)

はじめに こんにちは、こうへいです。 近頃はAIや機械学習が話題にならない日はない感じとなりましたが、AIの中身を知る人はほとんどいないと思われます。 かく言う僕もその一人ですが、多くのAIの中身はニューラルネットワークであると言われています。 そ…

ミサイルの誘導法対決

はじめに こんにちは、こうへいです。 今日はミサイルの誘導法について取り組みたいと思います。 ゲームとかでミサイル実装するのに役立つかな。 はじめに 単純追尾航法 PPN(Pure Pursuit Navigation) 比例航法 PN (Proportional Navigation) ミサイルの運…

億万長者になる!

はじめに こんにちは、こうへいです。 いつもと毛色の違うタイトルでびっくりしますが、僕は億万長者ではありません。 毎日、食うために妻共々死ぬ思いで一生懸命働いています。 今後の科学技術、医療技術の進展は予想を超えそうな感じがしますので、今後ど…

Pythonで考えるDCモータの制御(9)電流フィードバックと根軌跡

はじめに こんにちは、こうへいです。 今日はDCモータの電流フィードバックについて考えてみます。 電流をフィードバックをして電流値にゲインをかけると、 PI制御の速度制御系にD項を加えるのと同じ効果がでるはずです。 これは、速度の微分の加速度が電流…

Pythonで考えるDCモータの制御(8)Interact&Bokehによるインタラクティブな台形制御の計算

はじめに こんにちは、こうへいです。 先日、モータの台形加減速制御について考えてみました。 kouhei-no-homepage.hatenablog.com 比例ゲインや積分ゲインをインタラクティブに変えて、応答の変化を見たいと思い、 jupyter notebookでintractを使用して改良…

Pythonで考えるDCモータの制御(7)伝達関数計算用関数

はじめに こんにちは、こうへいです。 これまで、繰り返し繰り返し、伝達関数などの計算を行い、そろそろ同じことの繰り返しに飽きてきたので Pythonの関数に落とし込もうと思い、プロトタイプを作ってみました。 伝達関数を分母と分子の多項式の係数を与え…

Pythonで考えるDCモータの制御(6)台形加減速

はじめに こんにちは、こうへいです。 制御工学についてもおさらいができました。 kouhei-no-homepage.hatenablog.com 前々回のお話までで、台形信号をラプラス変換の世界でどのように表現し、 計算ではどのように扱えば良いのかの見通しが立ちました。 kouh…

Pythonで考えるDCモータの制御(5)制御の基礎の基礎とPython

はじめに 制御工学に関する計算とPython 余談 今回は制御についてです ラプラス変換と逆変換 ラプラス変換 ラプラス逆変換 ラプラス変換はしんどい?! 道具としてのラプラス変換:微分方程式を解く道具 微分方程式を代数方程式へ シンプルな操作の代償とし…

Pythonで考えるDCモータの制御(4)台形入力

はじめに こんにちは、こうへいです。 モータ制御する時に、台形状に加減速する事がよくあると思います。前回、ランプ入力を考えましたが、 台形状の目標値を作り出すのに、ランプ信号が役に立ちます。 kouhei-no-homepage.hatenablog.com そこで、今回は 台…

Pythonで考えるDCモータの制御(3)ランプ入力に対する1型PI制御の応答

はじめに こんにちは、こうへいです。 前回まで、DCモータの速度PI制御について考えてみました。 kouhei-no-homepage.hatenablog.com これからは、さらに進んでマイクロマウスやロボットでは速度を台形状に制御する事が多いので、 その検証をできるように考…

Pythonで考えるDCモータの制御(2)モータのPI制御について

はじめに こんにちは、こうへいです。 とりあえず分割することにしました Pythonで考えるDCモータの制御が漠然とだらだらと思いつくままに、書き続けたためか、自分の文章力がないためか 長くなってきたので、分割することにしました。 でも、一記事にまとめ…

Pythonで考えるDCモータの制御(1)モデルによるステップ応答の比較

はじめに こんにちは、こうへいです 初めてチャレンジしたロボットランサーから、 DCモータの制御をこれまで取り扱う事が多かったんですが 同じ事を何度も繰り返しているので、一度整理して見たくなりました。 これまでの記事と確実に重複しますが、それを承…

ロボットシミュレーション用のルンゲ・クッタ法プログラムの検討(3)1717モータのシミュレーション

はじめに こんにちは、こうへいです。 お正月休みも今日で最後です。だいぶリフレッッシュできたような気がします。今年も仕事に趣味に頑張ろう! さて、自前のルンゲ・クッタ関数のテストをマイクロマウス でよく使われているFaulhaberの1717T003SRを想定し…

ロボットシミュレーション用のルンゲ・クッタ法プログラムの検討(2)2次振動系のステップ応答 その2

はじめに こんにちは、こうへいです。 前回、2次遅れ系のステップ応答の計算式を紹介しました。今回は2次遅れ系の代表例であるバネマスダンパ系 のステップ応答を計算して、ルンゲ・クッタ法の結果と比較したいと思います。 kouhei-no-homepage.hatenablog…

ロボットシミュレーション用のルンゲ・クッタ法プログラムの検討(2)2次振動系のステップ応答 その1

はじめに こんにちは、こうへいです。 今回は、前回に続き開発中のルンゲ・クッタ関数を使ったバネマスダンパ系のステップ応答が正しいのかどうか確認してみたいと思います。 (と、思いましたが長くなってしまったので、その1とその2に分けました。) (…

ロボットシミュレーション用のルンゲ・クッタ法プログラムの検討(1)ルンゲ・クッタ関数

はじめに 趣味のマイクロマウス活動において、ずーっと思い描いている妄想に、マイクロマウスシミュレータがあります。 ずいぶん昔に斜め探索の探索アルゴリズムの検討のために探索シュミレータを作ったことがありますが、本当の意味でのマイクロマウスの動…

log xの積分

はじめに Twitterを眺めていたらlog xの積分の話が出ていました。 毎年時期が来るとこの計算をやっているのですが、恥ずかしながら、いつも「できるかな?」と不安になります。 スラスラ解けるかなあ(汗) 正月休み中の頭の体操に思うままに解いていこうと…

3次元における回転座標変換行列

はじめに 飛行機、ミサイル、ドローン、潜水艦、それに2次元平面上を動く場合もピッチやロールの自由度がある場合など おおよそ3次元に動き回れるものの運動をモデル化するには回転運動をどう扱うかと言う話から避けては通れないと思います。 今回は、その…

初級者用マウス2式のサンプルプログラムの解説

初級者用マウス2式と本記事について 初級者用マウス2式 は福井大学のI.Sys 所属の岸本氏が開発されたものです。 マイクロマウス北陸同好会では初心者が初めて取り扱うマイクロマウスとして奨励しています。 sites.google.com 本投稿記事ではサンプルプログ…

新しいマイクロマウス への取り組み2018

物作りは決心の積み重ね。 物作りは決心の行ったり来たり。 この記事が完成した時には、新しいマイクロマウスができているはず。 自分用のモノづくりテンプレ記事です。 マイクロマウスを作るための思考整理 Work Breakdown Structure (WBS) 機械設計 足回り…