事例 最小構成のモデルベース開発事例 バックナンバー A/D、D/Aだけを持った装置にPID制御を載せるという最小構成の制御ユニットをモデルベース開発に則って開発するという事例のお話。 途中からインターフェースがA/D、D/AからCANに変わるという、とんでもない仕様変更をくらう若干事実っぽいエピソードも入る。 2020.07.24 事例
事例 【上流検証】最小構成のモデルベース開発事例 その57【ドライビングシミュレータ⑦】 ついに動かす時。 そして「最小構成のモデルベース開発事例」の最終回でもある。 CARLAにPID制御を組み込めた。 自動車業界で自動運転以外でもPythonの使いどころは多い。 自動テスト環境の一部とか。 コスト構造を意識すると問題点が見えやすい。 これにより何に対して創意工夫をすれば良いかが分かる。 ご拝読ありがとうございました! 2020.07.24 事例
事例 【上流検証】最小構成のモデルベース開発事例 その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 事例
付加価値 【理想】「自動車開発×ソフトウェア」について書いてみた【現実】 自動車業界のソフトウェアエンジニアのプログラミングスキルは決して高い方ではない。 品質重視の開発プロセスであるため、自然とそうなっている。決してエンジニアがサボってるわけでは無い。 特殊な用語が多数出てくるが、頑張って慣れるしかない。 この業界に10年以上いても意味不明な用語は1週間に2、3回程度の頻度で出てくる。しかもググっても出てこない。 プログラミング言語知識も重要ではあるが、それ以上に物理/数学の知識の方の付加価値が圧倒的に大きい。 物理/数学の話をプログラミングへ落とし込めると最強。 2020.07.07 付加価値
事例 【上流検証】最小構成のモデルベース開発事例 その34【ネットワークRAPID⑦】 いろいろ準備は整ったので今回は動かす! CAPLもブレークポイント、ステップ実行などのデバッグ機能は保有している。 ただし、シミュレーションバスの時だけ可能。 送信周期はプロットで見るか、CAN回線モニタで確認できる。 2020.06.29 事例