Access:8
モータ/アクチュエータ
ベクトル制御をはじめとするDCブラシレス・モータの高効率駆動アルゴリズム,トルクや回転を検出する各種メカトロ・センサの活用術,インバータの回路設計などを解説します.
ZEPマガジン
![]() |
微分方程式→伝達関数→状態方程式:動的システムのモデリング 微分方程式のままでは,時間領域での変化を追う必要があり,応答の特徴を直感的に比較しにくいため,別の表現へ変換する手順が使われる |
![]() |
過去入力から出力が決まる動的システムを制御する 現在の出力が,現在の入力だけでなく,過去の入力や状態の履歴に依存するシステム.この性質があるため,動的システムは「記憶」をもつシステムとして整理される |
![]() |
最適設計も安定余裕も可制御性も,モデリング&シミュレーション設計 制御設計では,対象の動きや応答を把握しないまま調整を進めると,結果が設計者の経験に依存するが,モデリングを行えば対象の性質を共通の枠組みで議論できる |
![]() |
脱試行錯誤!フィードバック制御の最適化は体系的アプローチで フィードバック制御では,ゲイン$K$を大きくすると応答は速くなるが,振動や行き過ぎが現れる.速さと振動は同時によくならない関係にある |
![]() |
フィードバック制御のメリット:目標値追従/外乱抑制/安定化 フィードバック制御では,観測できる量が制御性能を左右する.回転角度を直接使う場合もあれば,角速度の情報を併用する場合もある |
![]() |
角速度はシンプル制御:角度はフィードバック制御 角速度がずれると,「角度」のずれは時間とともに増えるため,角度の制御では,現在の角度がどこにあるかを見て,入力を変え続ける必要がある |
![]() |
温度/回転から電力まで:「制御」の定義と応用 制御では,対象,状態,目標,操作が明確に区別される.対象はロボットや装置.状態は姿勢,速度,温度など.目標は望ましい値.操作は入力として与える物理量 |
![]() |
状態推定の第1歩:逐次計算による平均値計算 平均値は観測値をそのまま採用するのではなく,複数サンプルを統合して1つの値にまとめる処理.この方法がオブザーバやカルマン・フィルタにつながる |
![]() |
計測点以外の量「状態」を推量るオブザーバとカルマン・フィルタ 現実のシステムでは,すべての状態をセンサで観測できるわけではない.観測できない状態を,モデルと計測から推定して扱うのが状態推定 |
![]() |
制御プログラムの良否:判定時間応答と周波数応答 P制御やPID制御を用いることで,立ち上がり特性やオーバーシュートを調整できる.パラメータ調整により,時間応答の速度と安定性をバランスさせることが可能 |
![]() |
姿勢を定量化する2つの物理量:加速度と角速度 M5 StampFlyで実習する場合,姿勢は加速度と角速度という2つの物理量で定量化できる |
![]() |
姿勢制御プログラム実装の準備:PIDの制御量を式で表す PID制御プログラムでは,比例,積分,微分の各要素を組み合わせて最終的な制御入力Uを生成し,各モータや制御軸ごとに独立して計算する |
![]() |
目標姿勢からのずれを3種の制御量”PID”で自動補正 マルチコプタの姿勢を安定させるには,目標姿勢からのずれを瞬時に補正する制御が不可欠であり,その基本は比例制御(P),積分制御(I),微分制御(D)である |
![]() |
ねらった姿勢にピタリ!フィードバック制御の導入 フィードバック制御を導入することで,ドローンの操縦者が行う操作量は少なくても安定した姿勢を維持できるようになる |
![]() |
上下/ロール/ピッチ/ヨー:機体の運動を自在制御 4枚のプロペラをもつクアッド・コプタは,推力の合成とトルクの制御によって機体の姿勢と位置を制御する |
![]() |
コーディングと可視化:ブラウザIDE Jupiter LAb ラズベリー・パイにはPythonとJupyter Labがあらかじめ導入されている.Jupyter Labはブラウザ上で動作する統合開発環境で,コードの編集・実行・結果の可視化を同一画面で行える |
![]() |
制御器設計の第1歩!モータの数式化から始める 電気的および機械的なエネルギ変換を行う直流モータの動作は,2階の微分方程式で表すことができる |
![]() |
制御工学計算ライブラリPython Controlのススメ Python-Controlは制御工学の計算やシミュレーションをPython上で実行できるライブラリ.時間応答の可視化,ステップ応答や周波数応答の計算,安定余裕の評価などが行える |
![]() |
シミュレータはベテランになってから使うツール 正しくシミュレーションするためには,デバイス・モデルやPWMパターンの精度や発熱や冷却条件を含めた熱モデルが必要.使いこなすには十分な経験と知識が必要 |
![]() |
パワエレの故障原因探しは破壊と作り直しの連続 インバータの故障原因の特定には,結局のところ,電圧・電流波形,操作手順,モータ挙動などの記録作業と実験の積み重ねが近道 |
![]() |
想定外のVIAホール焼損 VIAホールの焼損防止には,電流密度計算と熱設計が必要.許容電流は単純な断面積比ではなく,メッキ厚や熱拡散条件を考慮して算出する |
![]() |
大電流対応に安易な層数増しは危険 大電流基板の放熱対策は,層数増しではなく,熱伝導経路の最適化が重要.内層配線活用時には,ビアの電流容量と層間銅箔厚の整合性を厳密に検証すべき |
![]() |
ゲート駆動の高速化による発熱とサージのトレードオフ ゲート駆動の高速化は,サージ電圧やEMIを増大させる.発熱とノイズのトレードオフを考慮した最適な速度がある |
![]() |
壊れない!壊さない!失敗だらけの電源・インバータ設計 インダクタンスは回路の高速性と安全性を左右する重要なパラメータ.小さな配線であっても無視できない影響をもち,高速スイッチング・デバイスでは重大なサージ源となる |
![]() |
モータ制御器の定量設計 目標値達成のための3変数 P制御とD制御を適切に組み合わせることで,応答速度と安定性のバランスの取れたモータ制御が可能.さらにI制御を加えれば,定常偏差を補正できる |
![]() |
エンコーダの2相パルスを読取る Pythonプログラム エンコーダの2つのパルス信号(A相とB相)の位相ずれを検出すれば回転方向を判定できる.A相,B相の両方の立ち上がりと立ち下がりをカウントすれば,計測分解能が4倍に上がる |
![]() |
モータ制御器の定量設計 手もちモータを式で表す 伝達関数モデルや状態空間モデルを活用して,慣性や粘性摩擦を考慮することで,より精密なモータのモデリングが可能 |
![]() |
状態フィードバックの安定化 極配置法と最適レギュレータ法 極配置法を用いることで,指定した固有値に応じた応答が得られる.最適レギュレータ法では,評価関数を最小化することで最適な制御ゲインを決定する |
![]() |
Ackermann関数による極配置と帰還ゲインの設定 モータ制御器の安定性や応答特性の両立には,制御対象の行列$A$と入力行列$B$を用いて特定の極を設定し,状態フィードバック・ゲイン$F$を求める極配置法が有効 |
![]() |
制定速度とオーバシュートのパラメータ設定 バターワース標準形や極配置を適切に設定することで,モータ制御器のオーバシュートを抑え,応答速度を最適化できる.I-PD制御では$K_p$/$K_d$/$K_i$が重要 |
![]() |
Pythonで一緒に ロボットのモデルベース設計 比例制御(P制御)の欠点「定常偏差が0にならない」「振動の発生」「ノイズの影響を受ける」は,積分制御(I制御)と微分制御(D制御)を加えることで解決できる |
![]() |
MATLAB/Simulink入門 ADCを読んでLED制御 Simulinkは,図形ブロックを操作することで,複雑な制御器や信号処理システムを直感的に作成できる.ラズパイに外付けしたA-Dコンバータを動かしてLEDの輝度を制御してみた |
![]() |
MATLAB/Simulink入門 なぜ,MATLABなのか MATLABは米MathWorks社が開発した数値解析ソフトウェア.複雑な行列演算を数行のコードで記述できる.ロボティクスからソフトウェア無線まで,制御や信号処理アルゴリズム開発に欠かせない |
![]() |
ライン・トレース・ロボットの目を作る 赤外線を放ち反射光の強度を測定するライン・センサを使うと白黒のパターンを識別できる.計測値に環境光やノイズが含まれる場合は,移動平均を用いた信号処理が有効 |
![]() |
誤差の多いBang Bang制御の誤差を改善 ライン・トレーサの直進性は,左右モータの個体差や床面摩擦,ギアの組立て精度など,多くの誤差要因によって損なわれる.Bang-Bang制御とPID制御の補償性能を比べてみた |
![]() |
ドローン制御工学入門 M5Stamp Flyの傾き角推定 角度推定は,ノイズが多い加速度センサとドリフトが蓄積しやすい角速度センサの2つから取得した情報を組み合わせて行う.鍵はカルマン・フィルタの軽量版「マドウイック・フィルタ」 |
![]() |
安全性goodな制御工学教材!M5Stamp Flyドローン誕生 M5Stamp Flyは,教育現場での利用を考慮し,プロペラに指を入れても安全な構造を採用している.Wi-FiやBluetooth通信にも対応し,ESPNowプロトコルを用いたリモート・コントロールが可能 |
![]() |
M5Stamp Flyドローンの姿勢ブレを軽減する2つのセンサ ドローンの垂直のブレは近距離での高精度な測距が可能なToFが,水平のブレは物体の動きによって生じる画像の「流れ」を計測するオプティカル・フロー・センサが有効 |
![]() |
$50ドローン・キット“M5Stamp Fly”の制御プログラミング M5Stamp Flyは,C/C++言語でプログラミング可能な50ドルのドローン・キット.APIがオープンソースとして提供されており飛行制御プログラムの作成や学習が可能 |
![]() |
高校生から始めるArduinoマイコン プログラミング実験室 DigiKeyチャネルにて「高校生から始めるArduinoマイコンプログラミング実験室」という新しい動画連載 全8回スタート!ルネサス製最新Arduinoで学ぶ |
![]() |
多関節アームの操作に!状態フィードバック制御入門 状態フィードバック制御は,外乱やモデルの不確かさに対するロバスト性が重視されるロボット・アームの位置制御や車両の速度制御に応用されています |
![]() |
ロボティクス入門 現実にモデルを近付ける ロバストな制御システムは,実際の制御対象と理想との差分「不確かさ」に対応したモデルを用意して,モデルベース開発を行うことで設計できます |
![]() |
ロボティクス入門 エンコーダで回転を測る エンコーダは,回転運動の位置,角度,速度を正確に計測するために不可欠なセンサです.「光学式エンコーダ」を例に,その構造と測定メカニズムを解説します |
![]() |
ロバスト制御のモデリング 実物との差分の表現 システムの不確かさに対して頑健な制御系の設計を目指すのがロバスト制御です.不確かさは,パラメータの変動や外乱など,制御対象が完全に予測できない要素を含みます |
VOD教材[視聴無制限]
![]() |
[VOD/KIT/data]M5Stamp Flyで学ぶ ドローン制御プログラミング入門 ジャイロ・センサ活用からループ整形によるPID設計・チューニング,安定飛行まで |
![]() |
[VOD/Pi4 KIT/Book]Pythonで一緒に!ロボット制御のモデルベース設計【実習編】 PIDも状態フィードバックも!キットで学ぶ現代的モータ制御プログラミング |
![]() |
[VOD]Pythonで一緒に!ロボット制御のモデルベース設計【ロバスト制御編】 現実の制御対象とモデルの間のギャップを考慮した制御を学ぶ |
![]() |
[VOD/Book]Pythonで一緒に!ロボット制御のモデルベース設計【PID制御編】 PID制御則の基本から動的システムの表現/特性,ゲイン調整法,2自由度化まで |
![]() |
[VOD/Pi KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門 Python入門からPID制御,モデルベース設計まで |
![]() |
[VOD/Book]Pythonで一緒に!ロボット制御のモデルベース設計【状態フィードバック制御編】 位置/故障/姿勢まで,センサで測れない物理量も正しく推定&制御 |
![]() |
[VOD/Pi2W KIT]ラズパイ×Pythonで動かして学ぶモータ制御入門【改訂版】 センサ計測,アクチュエータのPID制御,制御器のモデルべース設計まで |


























































