manvaのエンジニアリング魂

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

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

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

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) 数々の問題

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

ZMPが支持多角形を出る話

梶田氏の著書「ヒューマノイドロボット」の第二版が出版された。ヒューマノイドロボット(改訂2版)作者:秀司, 梶田発売日: 2020/10/23メディア: 単行本名著である。 コンパクトで無駄がない説明。 運動学の計算はDenavit–Hartenbergよりわかりやすい方法を使…

擬似逆行列の話

ペンローズがノーベル賞を受賞したので、ロボットの制御にも使われる、ムーア•ペンローズの擬似逆行列の話を書いておく。用語はあまり統一されておらず、擬似逆行列(pseudo inverse)ではなく一般化逆行列(generalized inverse)と呼んだり,ムーア•ペンローズ…

マウス内蔵キーボードの作り方(ver.0.4) マウスホイールエンコーダ基板の作成

マウスホイールを基板の裏面に付けるため、基板から軸までの高さができるだけ低いエンコーダを探した。普通、小さくて5mmで、それより低いのはアルプスの4.5mmというのがあって、 EC05Eシリーズ|インクリメンタルエンコーダ|アルプスアルパイン それが限界…

最短でKiCadを使えるようになりたい

プリント基板を作るために,KiCadを使えるようになりたいが,結構ボリュームのあるソフトなので,どうやって習得するか。良さそうなチュートリアルを探したが,ソフトを起動して,メニューの「ヘルプ」「KiCadことはじめ」というのが元々入っているので,と…

Pro Microでマウスを自作する方法

Arduino Leonardoでマウスを自作してみたが, manva.hatenablog.com Arduino Leonardoはマウスに使うには基板が大きすぎるので,Pro Microでやってみる。 Pro Microは,「Arduino Leonardo互換」と言うが,どの程度互換なのか。少なくとも,ピンの数が少ない…

Arduino Leonardoでマウスを自作する方法

Arduino Leonardoを使って,マウスを自作してみることにした。自作キーボードは流行っていて,作っている人が多いが、マウスを自作している人はあまり多くなさそうなので,やり方を書いておこう。 私は最近,マウス内蔵キーボードというのを開発中なのだが,…