manvaのエンジニアリング魂

エンジニアリング・ものづくり・DIYをもっと身近にするためのブログ。インスピレーションを刺激します。

制御工学陳腐化への道 データ駆動な制御VRFTを試してみる

制御工学は滅亡する 昨今の機械学習の進化を見ると、制御工学の大部分が機械学習に取って代わられることは必定と思われる。特に、高度な制御技術が適用されてきた、高速高精度が要求される用途ほど、立場は危うい。制御工学は、基本的に、まず数式で制御対象…

MATLABの標準関数fminsearchでVRFT、FRIT

制御対象への入力と出力の時系列データから、制御対象のモデル化をせずに制御器を設計できるVirtual reference feedback tuning(VRFT)法とFictitious Reference Iterative Tuning(FRIT)法というのがおもしろいので解説とサンプルをまとめておく。VRFT法とFRI…

ロボットの制御とハードディスクの制御はどう違うか

ロボットの制御と、ハードディスクドライブ(HDD)の制御との違いについて話したい。なぜHDDの話かというと、HDDや光学ディスクドライブの制御は最も高度な制御技術が実製品に応用されてきた分野であり、学ぶところが多いからだ。ところが、同じモーションコン…

ロボットの関節位置を制御するには

世界人口の9割はロボットを位置制御したがっているとの推察のもと、位置制御の初歩的な話をまとめる。 速度制御ができている場合の位置制御 自動車工場での溶接などに使われている産業用ロボットは、関節に産業用サーボモータを用いている。産業用サーボモー…

速度フィードバック制御の安定限界は予想できるか:付録

MATLABでステップ応答、ボード線図、ナイキスト線図を描くときの参考までに、前回の記事 速度フィードバック制御の安定限界は予想できるか - manvaのエンジニアリング魂 で使ったシミュレーションのコードを置いておく。Simulinkも使っているが、ファイルで…

速度フィードバック制御の安定限界は予想できるか

教科書レベルで安定理論を学んで、理解できた気になってませんか? …と挑発的に始めてみた。ロボットなどのモーション制御の分野では、たいてい理論で求めた安定限界よりもずっと低いフィードバックゲインで実機は不安定になる。案外、このあたりの事情を詳…

一番わかりやすい座標変換の説明

ロボット工学で座標変換をよく使うが、結構混乱しがちだ。 例えば、 同次変換行列はなぜ右からかけるのか 絶対座標系の回転と相対座標系の回転はなぜかける順番が逆になるのか など、答えは「知っている」ものの、なぜそうなるのか、きちんと理解して説明で…

Jetson NanoにFlaxをインストールする方法

前の記事↓ manva.hatenablog.com で、Jetson Nanoに JAXをインストールし、次はFlaxをインストールできたのでやり方を書いておく。 Flaxとは、JAXベースのニューラルネット(NN)ライブラリである。知らんけど。NNライブラリと言えば、TensorFlowとPyTorchがメ…

Jetson NanoにJAXをインストールする方法

Jetson Nano 2GB版↓にJAXをインストールできたのでやり方を書いておく。 www.switch-science.com JAXとは、GPU対応のNumpyのようなものらしい。知らんけど。なぜJetson NanoやJAXを始めたのかは後日別途語りたい。まずはJAXの公式サイト↓ github.com の手順…

ODriveで低価格サーボ

大きさは正義(力こそパワー)であるが,個人でロボットを作ろうとする場合や,企業等で個人向けにロボットを作って販売しようとする場合,たいていは小さいものしかできず,(オタクではない)一般人には,おもちゃ扱いされがちである。 なぜ小さいものになって…

スモールゲイン定理の必要性を完全に理解した

前に書いた記事↓で, manva.hatenablog.comスモールゲイン定理(ロバスト制御の話で出てくるバージョン)で,が必要条件でもあることについて,自分なりの結論を出していたが,まだちゃんと理解できたという確信がなかったので,しつこく調べていた。スモール…

無料で実践ロバスト制御⑦ mixsynの方が楽だった

平田氏の著書「実践ロバスト制御」↓を無料のPython-Controlで勉強する試み⑦。実践ロバスト制御 (システム制御工学シリーズ)作者:平田 光男コロナ社Amazon今まで,教科書のMATLABサンプルの通り,hinfsynを使ってH∞制御問題を解いてきたが,mixsynというコマ…

スモールゲイン定理は「必要」十分条件?

スモールゲイン定理は,「十分条件」と書かれている文献も多く,それなら当たり前の話として理解できるのだが,ロバスト制御の文献になると「必要十分条件」と書かれている。これが謎だったので,調べてみた。結局,この記事の最後に書いてある結論に到達す…

不要な条件なのに「必要条件」という違和感

(AならばB)が成り立つとき、BはAの必要条件であるという。AであるためにはBである「必要」があるから必要条件。うん、BじゃなかったらAじゃないからBである必要があるよな。わかる。 しかし、高校で習ったときからずっと自分の中で何か違う気がしていた。…

無料で実践ロバスト制御⑥ 重み関数の決め方

ほぼ教科書の受け売りになってしまうが,重み関数の決め方や意味を必要最小限だけ説明しておく。 重み関数 無料で実践ロバスト制御④ ーH∞制御問題を解くー - manvaのエンジニアリング魂 の手順3で,重み関数は乗法的摂動を覆うように決めた。 これは何をし…

無料で実践ロバスト制御⑤ ー修正混合感度問題ー

平田氏の著書「実践ロバスト制御」↓を無料のPython-Controlで勉強する試み⑤。実践ロバスト制御 (システム制御工学シリーズ)作者:平田 光男コロナ社Amazon前回までで,H∞制御問題の解き方の流れが把握できた。 まずその結果を確認する。 移植したコード「プロ…

無料で実践ロバスト制御④ ーH∞制御問題を解くー

平田氏の著書「実践ロバスト制御」↓を無料のPython-Controlで勉強する試み④。実践ロバスト制御 (システム制御工学シリーズ)作者:平田 光男コロナ社AmazonPython-ControlでH∞制御問題が解けたので,どのようにしたかを書いておく。 Python-ControlにはH∞制御…

無料で実践ロバスト制御③ ー摂動を持つ制御対象ー

平田氏の著書「実践ロバスト制御」↓を無料のPython-Controlで勉強する試み③。実践ロバスト制御 (システム制御工学シリーズ)作者:平田 光男コロナ社Amazonまずはロバスト制御系設計の流れを体験してみたい。 MATLABやPython-Controlを使う前提で 理論は後回し…

無料で実践ロバスト制御② ーまずは古典制御ー

平田氏の著書「実践ロバスト制御」↓を無料のPython-Controlで勉強する試み②。実践ロバスト制御 (システム制御工学シリーズ)作者:平田 光男コロナ社Amazon以下これを「教科書」と呼ぶ。 Python-Controlのインストール Pythonを使うならAnacondaをインストール…

無料で実践ロバスト制御① ー挫折からの再入門ー

平田氏の著書「実践ロバスト制御」をPython-Controlを使ってやってみようという話。 今まで,ロバスト制御を試してみたいと思いつつ,なかなか難解なので挫折していた。 なぜ挫折してしまうかというと,以下のような要因がある。 数学的に難解 理解するため…

マウス内蔵キーボードver.0.4 爆誕

できた。使ってみた。ダメだ。もちろん、前に作ったものよりは格段に良くなったのだが,残念ながらこれを普段使いにしたいとは思えない。慣れれば使えないことはない,というレベル。一番の問題は、キーをすり鉢状に傾けすぎたせいで,押したときにデバイス…

Arduino IDEで日本語キーボードを使う方法

Arduino IDEで日本語キーボードを作ろうとしていたら,キーボードの仕様がいろいろわかりにくかったので、まとめておく。 Arduinoの仕様 ASCIIコード まず,古く(1963年)からある仕様で,ASCIIコードというのがある。 ASCII - Wikipedia 128個(7ビット)の基…

マウス内蔵キーボードの作り方(ver.0.4) ハードウェア完成

ハードウェアが完成し、全てのキーがちゃんと入力できることを確認した。 前回以降の製作過程を書いておく。 まず、3Dプリンタのフィラメントが無くなったので買い替え。前にブログにも書いた通り,今まで使っていたフィラメント↓が良かったので、また同じの…

マウス内蔵キーボードの作り方(ver.0.4) 3Dプリンタのトラブル

右手デバイスができたので,左手デバイスを作っているが,ここに来て3Dプリンタが不調。 最初は変にザラザラになったな、くらいの感じ↓だったが、 不調のまましばらく使っていたら,次第に悪化して,フィラメントの出が悪くなって,かすれたようになり,エク…

マウス内蔵キーボードの作り方(ver.0.4) シリアル通信 右から来たものを左で受け止める

左右分割キーボードで、右手デバイスからの情報を左手デバイスで受取る部分ができた。 シリアル通信の配線はこんな感じ。2台のPro MicroのTXとRXをクロスして繋ぐ。 左手デバイスはまだ作ってなくて,Pro MicroにTRRSケーブルのジャックだけをつないだもの。…

マウス内蔵キーボードの作り方(ver.0.4) 右手用の配線

右手用デバイスを配線し,マウスとキーボードを切替えて使えるようになった。切替え用のキー(「マウスシフトキー」と呼ぶことにする)を押している間はマウスとして使え,離しているときはキーボードとして使える。 右手用デバイスは,24キーあって、基本的に…

デジタル入力が足りない場合の対処 ~ キーマトリクス

デジタル入力(DI)ピンが足りない場合、キーマトリクスを使う。検索すれば既に情報がいっぱいあるが、めっちゃ丁寧に説明してみる。Pro MicroなどのArduino系マイコンでは、プルアップ抵抗が内蔵されており(内部プルアップ),それを使えばスイッチをGNDに繋ぐ…

デジタル入力の基礎的な話 - プルアップとかそんなん

自作キーボードで使われるキーマトリクスの話を書こうとしたが、もうちょっと基礎的な話も書いてみた。普通のスイッチ1個をデジタル入力する場合。下図のような回路で,Vccに繋げばDIはHighとなり,GNDに繋げばDIはLowとなる。 ただ,こういうスイッチは値段…

マウス内蔵キーボードの作り方(ver.0.4) マウスとして完成

前回書いた問題が続々と解決し,まずはマウスとして使えるようになった。 基板が来た もう来ないかと思っていた基板がついに来た。Elecrowに2020/10/5発注で2021/1/6着。3ヵ月もかかったので、来たことが逆に驚きだった。 5枚発注したが、6枚入っていた。黒…

マウス内蔵キーボードの作り方(ver.0.4) 数々の問題

マウス内蔵キーボードの製作について,前回更新からだいぶ時間が立ってしまった。時間がかかりすぎて自分自身が飽きてしまいそうなのでそろそろ仕上げたいとは思うのだが,数々の問題が発生している。試行錯誤の過程も,何か役に立つ情報が含まれているかも…