事例 【上流検証】最小構成のモデルベース開発事例 その56【ドライビングシミュレータ⑥】 PID制御が弱い場合、PゲインかIゲインを調整するのが一般的。 しかし、今回はそもそも想定周期が異なっていた。 時間の刻み(タイムスタンプ)が明確であれば、前回値との差で時間差が特定できる。 この時間差を積分単位時間としてPIDの演算に組み込むことができる。 (無事、伏線回収!) 2020.07.23 事例
事例 【上流検証】最小構成のモデルベース開発事例 その55【ドライビングシミュレータ⑤】 オープンソースドライビングシミュレータであるCARLAの話。 PID制御の組み込みと、車速の取得ができたので動かす。 PythonAPIを叩きすぎると重くなる。 Sleep関数等を使用して処理の頻度を下げることで回避可能。 2020.07.22 事例
事例 【上流検証】最小構成のモデルベース開発事例その54【ドライビングシミュレータ④】 CARLAのサンプルのmanual_control.pyに制御を組み込む際はKeyboardControlクラスの_parse_vehicle_keysメソッドあたりに突っ込めば良い。車速はworld.player.get_velocity()で取得可能。ただし、3次元ベクトルで取得されるのでノルムに変換する必要がある 2020.07.21 事例
事例 【上流検証】最小構成のモデルベース開発事例 その53【ドライビングシミュレータ③】 オープンソースドライビングシミュレータであるCARLAの話。 今回はとりあえず起動させるところまで。 CARLAはWindows向け環境はある程度揃っている。 とりあえず、動かす場合はmanual_control.pyがお手頃。 2020.07.20 事例
事例 【上流検証】最小構成のモデルベース開発事例 その52【ドライビングシミュレータ②】 オープンソースドライビングシミュレータであるCARLAの話。 今回はPythonAPIについて。 CARLAはPythonAPIを使ってPythonから制御できる。 PythonはDLLを呼び出すことができる。 よって、C言語書かれたPID制御をPythonから利用する場合はDLLにした方が良い。 2020.07.19 事例
事例 【上流検証】最小構成のモデルベース開発事例 その51【ドライビングシミュレータ①】 今回からオープンソースドライビングシミュレータであるCARLAの話。 いつもの小芝居でスタート。 オープンソースドライビングシミュレータのCARLA。 自動運転のトレーニング用。 車両だけでなく人も動かせる。 2020.07.18 事例
事例 【上流検証】最小構成のモデルベース開発事例 その34【ネットワークRAPID⑦】 いろいろ準備は整ったので今回は動かす! CAPLもブレークポイント、ステップ実行などのデバッグ機能は保有している。 ただし、シミュレーションバスの時だけ可能。 送信周期はプロットで見るか、CAN回線モニタで確認できる。 2020.06.29 事例
事例 【上流検証】最小構成のモデルベース開発事例 その33【ネットワークRAPID⑥】 今回は、CAPLを使用したシステム変数のシグナルへの分配を行う。 CAPLはValueObjectというイベントハンドラを起点に処理を走らせる。 シグナル更新とCAN送信は別物。 シグナルの更新有無に関係なく送信周期を定義できる。 2020.06.28 事例
事例 【上流検証】最小構成のモデルベース開発事例 その32【ネットワークRAPID⑤】 今回は、システム変数の定義と出力の仕方の話になる。 SimulinkモデルからCANoeのシステム変数に出力する場合はSystemVriableOutputブロックを使用する。CANoeでシステム変数を定義できる。システム変数の型は、扱うシグナルに近いものを選択しておいた方が良い。 2020.06.27 事例
事例 【上流検証】最小構成のモデルベース開発事例 その31【ネットワークRAPID④】 SimulinkDLLの出力を2つのシグナルに渡すには2つの手法がある。 Signal Outputブロックを2つ使用。 システム変数に書き込んでからCAPLで各シグナルへ分配。 複数の回線のシグナルを扱うにはゲートウェイノードを定義する必要がある。 SimulinkDLL、CAPLのどっちを使うにしても同様の対応が必要。 2020.06.26 事例