2017-05-14 1 views
1

移動ロボットの入力車輪速度を位置条件に従って変更しようとしていますか?私は常に、[存在しないフィールド(WL)への参照]エラーが発生しますが条件に応じて微分方程式のパラメータを変更しますか?

if d > 0 & d < 0.4 
     p.WR = 0.51; 
     p.WL = 0.5; 
    elseif d > 0.4 & d < 0.8 
     p.WR = 0.5; 
     p.WL = 0.51; 
    elseif d == 0.4 
     p.WR = 0.5; 
     p.WL = 0.5; 
    end 
function dt = mydglw9(t,c,p) 
    x = c(1);y = c(2);th = c(3); 
     dx = (((p.r*p.WL)+(p.r*p.WR))/2) * cos(th); 
     dy = (((p.r*p.WL)+(p.r*p.WR))/2) * sin(th); 
     dth= ((p.r*p.WL)-(p.r*p.WR))/p.L; 
     dt = [dx;dy;dth]; 
     pose = [x y th]; 
    end 

、ソルバーは、微分方程式を解く前の状態をチェックする方法はありますか?

+1

コードが完成していません!どのラインにこのエラーが出ますか? - – Reflection

答えて

0

あなたはp構造からではないO WLフィールドがisfieldに存在するかどうかを確認することができます。

isfield(p,'WL') 

戻っtrueフィールドが存在するかどうか。

関連する問題