事例 【上流検証】最小構成のモデルベース開発事例 その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 事例