2020-09-08から1日間の記事一覧

ベジェ曲線

clear; close all;clc; syms t; P = [[0 0];[1 2];[2 2];[3 0]]; Q = [[3 0];[4 -2];[5 -2];[6 0]]; plot(P(:,1),P(:,2),'x') hold on; plot(Q(:,1),Q(:,2),'x') f1 = P(1,:)*(1-t)^3+3*(1-t)^2*t*P(2,:)+3*(1-t)*t^2*P(3,:)+t^3*P(4,:); f2 = Q(1,:)*(1-t)^…

filtfiltコマンド(ゼロ位相フィルタ)

www.mathworks.com wform = ecg(500); x = wform' + 0.25*randn(500,1); d = designfilt('lowpassfir', ... 'PassbandFrequency',0.15,'StopbandFrequency',0.2, ... 'PassbandRipple',1,'StopbandAttenuation',60, ... 'DesignMethod','equiripple'); y = f…

離散形式の伝達関数

filtあるいはtfが使える www.mathworks.com clear; close all; clc; num = [0 0 1]; den = [1 1 1/2]; H1 = tf(num,den,0.1) H2 = filt(num,den,0.1) bode(H1); figure; bode(H2); H1 = 1 ------------- z^2 + z + 0.5 Sample time: 1 seconds Discrete-time…

現代制御のメモ

極配置法、最適レギュレータ(LQR)、折返し法→レギュレータを構成する制御器 セットポイントに対して外乱が生じた際に定常偏差をゼロにしたり、セットポイントの変化に追従させる制御をするためにはサーボ系を構成する必要がある。

インパルス応答とステップ応答

インパルス応答の積分がステップ応答になることの確認 clear; close all; clc; G = tf(1,[1 1 1]); im = impulse(G); stp = cumsum(im); %積分→累積和 plot(im); figure; plot(stp); 実際に積分になっている。

複数物体の追跡(GNNとJPDA)

www.youtube.com

IMMフィルタによるトラッキング

www.youtube.comjp.mathworks.comIMMで考慮するモデルは実用的には3から4、多くて10個 モデルの数が多すぎると計算時間が増大し、そもそも性能が落ちる。

非同期センサを用いた姿勢推定

jp.mathworks.com

H∞シンセシスとμシンセシス

www.youtube.comjp.mathworks.com clear; close all; clc; % Physical parameters mb = 300; % kg mw = 60; % kg bs = 1000; % N/m/s ks = 16000 ; % N/m kt = 190000; % N/m % State matrices A = [ 0 1 0 0; [-ks -bs ks bs]/mb ; ... 0 0 0 1; [ks bs -ks…

MatlabとMPU9250を用いた姿勢推定

jp.mathworks.com

センサフュージョン

www.youtube.com 姿勢を知る方法は大きく分けて2つ 1. 磁気センサと加速度センサを使う方法 (欠点1)磁場がSoft iron sourceとHard iron sourceによる影響を受ける (欠点2)重力加速度と物体の移動に伴う加速度を識別できないため、細かい振動を拾って…

LQR制御と極配置

www.youtube.com LQR制御器の構造は極配置と同じ 極配置に比べた利点:多次元(MIMO)システムでは極をどこに置いたほうがよいのかが直感的にわからない。LQRでは重み係数Q(システムの収束の速さに関する重み)とR(入力の節約に関わる重み)という2つにパ…

極配置

www.youtube.com clear; close all; A = [0 1;2 -1]; B = [1; 0]; C = [1 0]; D = 0; sys = ss(A,B,C,D); E = eig(A) P = [-2 -1]; K = place(A,B,P); Acl = A - B*K; Ecl = eig(Acl) syscl = ss(Acl,B,C,D); step(sys); Kdc = dcgain(syscl); Kr = 1/Kdc; s…

ロバスト制御

www.youtube.com