フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
シミュレーションで実物を扱わなくても仕事ができる環境を目指す。つまり家に引きこもって外に出なくてもOKな世界。
1対1通信の物理アドレスと1対多の機能アドレスがある。物理アドレス、機能アドレスは4種類のアドレッシングフォーマットによって構成が変わるアドレッシングフォーマットはN_AI、N_TAtype、N_TA、N_SA、N_AEで構成される。ただし
サンプリングポイントを決定するには各セグメントのクウォンタム数を決定する必要がある。セグメントは4種で1bit分。Synchronization Segment。Propagation Segment。Phase Segment1。Phas
基本的には「はじめてのCAN/CAN-FD」を読んでおけばOK。CANのボーレート設定は特殊。いきなりボーレートを決めることはできず、1bitを分解したクウォンタム時間を先に決める。総クウォンタムがボーレートになるので、設定したいボーレート
必要な規格番号復習。CANは割と一般的になってきたのでネット上からそこそこ情報が得られる。DoCANでは1Mbpsが使われることはほぼ無い。法規の都合。1Mbpsだと安定性が欠ける面がある。
車両診断通信についていろいろ語っていく系のバックナンバー。
車両診断通信のレイヤはOSI参照モデルで表現できる。ただし、プレゼンテーション層は無い。車両診断通信には大きく2つの軸がある。UDSとOBD。OBDは自動車排出ガス規制から参照されているため、各種パラメータが明確。UDSは推奨値があるだけで
車両診断通信の概要情報はググればOK。代表的な規格はISO15765-2とISO14229-1。完成車メーカの方針によっては具体的な要件ではなく、規格番号が要件ということもある。
【上流検証】最小構成のモデルベース開発事例 その57【ドライビングシミュレータ⑦】
CARLAにPID制御を組み込めた。自動車業界で自動運転以外でもPythonの使いどころは多い。自動テスト環境の一部とか。コスト構造を意識すると問題点が見えやすい。これにより何に対して創意工夫をすれば良いかが分かる。ご拝読ありがとうございま
【上流検証】最小構成のモデルベース開発事例 その56【ドライビングシミュレータ⑥】
PID制御が弱い場合、PゲインかIゲインを調整するのが一般的。しかし、今回はそもそも想定周期が異なっていた。時間の刻み(タイムスタンプ)が明確であれば、前回値との差で時間差が特定できる。この時間差を積分単位時間としてPIDの演算に組み込むこ
【上流検証】最小構成のモデルベース開発事例 その55【ドライビングシミュレータ⑤】
PythonAPIを叩きすぎると重くなる。Sleep関数等を使用して処理の頻度を下げることで回避可能。
【上流検証】最小構成のモデルベース開発事例 その54【ドライビングシミュレータ④】
CARLAのサンプルのmanual_control.pyに制御を組み込む際はKeyboardControlクラスの_parse_vehicle_keysメソッドあたりに突っ込めば良い。車速はworld.player.get_velocity
【上流検証】最小構成のモデルベース開発事例 その53【ドライビングシミュレータ③】
CARLAはWindows向け環境はある程度揃っている。とりあえず、動かす場合はmanual_control.pyがお手頃。
【上流検証】最小構成のモデルベース開発事例 その52【ドライビングシミュレータ②】
CARLAはPythonAPIを使ってPythonから制御できる。PythonはDLLを呼び出すことができる。よって、C言語書かれたPID制御をPythonから利用する場合はDLLにした方が良い。
【振り返り】ブログ開設半年記念記事【技術ブログのPV数と収益】
祝 半年!まだまだそんなに儲からないよー。アウトプット超重要!ブログは職探しに再利用できる!(たぶん?)
【上流検証】最小構成のモデルベース開発事例 その50【Bypass⑯】
やっとBypass実施。いままでの内容を振り返った。一連の流れを大きく把握していれば、ツールが変っても適応できる。
【上流検証】最小構成のモデルベース開発事例 その49【Bypass⑮】
CANapeでは計測対象の変数以外にCANape内でのみ読み書き可能なグローバル変数が定義できる。関数エディタから追加編集可能。SimulinkにCANapeIOブロックを繋ぐことでCANapeと連携可能なDLLが作成可能。CANoeと異な
【上流検証】最小構成のモデルベース開発事例 その51【ドライビングシミュレータ①】
いつもの小芝居でスタート。オープンソースドライビングシミュレータのCARLA。自動運転のトレーニング用。車両だけでなく人も動かせる。
【上流検証】最小構成のモデルベース開発事例 その48【Bypass⑭】
A2Lで変数定義ができれば、CANape上の計測対象設定は比較的簡単。DAQ計測をする場合は計測設定でCyclicを指定しておく必要がある。パラメータWindowに登録した変数は書き換えが可能。STIMに対応していればSTIMで、対応してな
【上流検証】最小構成のモデルベース開発事例 その47【Bypass⑬】
ASAP2 Studioで読み書き用の変数定義ができる。本来はmapファイルから設定する。A2Lの中には使用されていないパラメータも存在する。ResolutionとAccuracy。
【上流検証】最小構成のモデルベース開発事例 その45【Bypass⑫】
XCP設定だけをもったA2Lを参照。このA2Lがあれば、XCP設定はスキップできる。このA2Lがあれば、CANapeからINCAへ移行も一応できる。100%問題無いとは言い切れないが。
【上流検証】最小構成のモデルベース開発事例 その45【Bypass⑪】
DAQリストを駆動させるイベントの定義が必要。DAQリストタイプはStaticDAQとDynamicDAQの2種類がある。今回はDynamicDAQ。トランスポート層はEthernetとしての設定。デフォルトではCTRがオフになっているので
【上流検証】最小構成のモデルベース開発事例 その44【Bypass⑩】
XCPにもversionが存在する。最も基本的な構成はversion1.1。ブロックモードを使うとCMD効率的に動作する。しかし、今回は使わない。シードキーを使うとセキュリティロックが掛けられる。しかし、今回は使わない。MODIFY_BIT
【上流検証】最小構成のモデルベース開発事例 その43【Bypass⑨】
CANapeでXCPonEthernetをする場合はデバイスタイプはXCPを選べばOK。設定を進めて行くと、トランスポート層の選択でEthernetが出てくる。A2Lはデータベースファイルという名称で記載されている。A2Lはビルド毎に自動更
【上流検証】最小構成のモデルベース開発事例 その42【Bypass⑧】
CANoeとCANapeは全く別のツール。A2LファイルがあるとXCP関連の設定を省ける場合がある。通常はA2Lファイルがあるので、XCP関連設定は気にしなくて良いことが多い。プロトタイプの段階ではA2Lが無いことがあるので、無い場合はXC
【理想】「自動車開発×ソフトウェア」について書いてみた【現実】
自動車業界のソフトウェアエンジニアのプログラミングスキルは決して高い方ではない。品質重視の開発プロセスであるため、自然とそうなっている。決してエンジニアがサボってるわけでは無い。特殊な用語が多数出てくるが、頑張って慣れるしかない。この業界に
【上流検証】最小構成のモデルベース開発事例 その41【Bypass⑦】
Bypassを実現するにはMCツールが必要。MがMeasurementで計測。CがCalibrationでキャリブレーション。MCツールの代表格にETAS社製INCAとVector製CANapeがある。どちらが良いということは無く、使用実績
【上流検証】最小構成のモデルベース開発事例 その40【Bypass⑥】
DAQ、STIMは事前にアドレス、サイズの情報をツール、ECUの間で共有する。DAQはECU内の制御周期直後のタイミングで送出されるため常に更新後の最新値を効率的に得られる。STIMの送出自体はイベントと同期している必要はないが、実際に更新
【上流検証】最小構成のモデルベース開発事例 その39【Bypass⑤】
CMDだけでメモリの読み書きはできる。その場合、MTAという概念が重要になる。メモリダンプに向いたUPLOAD、DOWNLOAD。リアルタイムモニタに向いたSHORT_UPLOAD、SHORT_DOWNLOAD。
【上流検証】最小構成のモデルベース開発事例 その38【Bypass④】
DTOパケットのパターンは4パターン。TimeStampフィールドのパターンも4パターン。使用する物理層で使用できるデータ領域に依存しておおよそ2パターンに集約される。最小構成版と最大構成版の2パターン。しかし、CAN-FDの台頭に伴い、中
【上流検証】最小構成のモデルベース開発事例 その37【Bypass③】
XCPonEthernetはヘッダ、パケット、テイルの三つ組み構成。CTOパケットはPIDとDATAだけの構成。CTOパケットはCMD、RES、ERR、EV、SERVの5種類。基本的にはCMD、RES、ERRだけ知っておけば良い。
【上流検証】最小構成のモデルベース開発事例 その36【Bypass②】
Bypassの標準的実現手段としてASAM XCPがある。XCPの物理層はCAN/CAN-FD/Ethernetなど多岐に渡る。Bypassを効率的に実現するにはSTIM、DAQの知識があった方が良い。Bypass対応ツールもXCPの知識が
「ブログリーダー」を活用して、KEIさんをフォローしませんか?
フーリエ変換には角周波数を扱うものと周波数を扱うものがある。角周波数と周波数の間には角度と1回転という差があるのみ。よって、周波数に2πをかければ角周波数となる。
動画作成関連のバックナンバー用ページ。立ち絵を作ったり、動画作ったり、アイキャッチ画像作ったりなどを掲載していく。
MATLAB,Python,Scilab,Julia比較するシリーズの第4章。第4章では分類問題で最終的にはニューラルネットワークや最適化アルゴリズムの話だった。第5章はフーリエ解析学から高速フーリエの話がメインとなる。
立ち絵の配置: PSDファイルをAviUtlに配置し、画面サイズやフレームレートを設定。のっぺらぼう化: 目と口を消して、アニメーション効果を追加。アニメーション効果: 目パチと口パクの設定を行い、リップシンクを調整。
フーリエ変換を定義。フーリエの積分公式の一部を抜き出す。逆フーリエ変換を定義。フーリエの積分公式にフーリエ変換を代入するだけ。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。区分求積法とリーマン積分について。フーリエの積分公式を導出した。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。さらにそこに加えて、AivisSpeechのアイコン画像を...
PSDToolKitプラグインの導入の仕方を説明。PSDファイルを探してGIMPで内容を確認。GIMPで瞬き用、口パク用のレイヤー編集。
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
区分求積法とリーマン積分について。離散と連続の分け目。フーリエの積分公式を導出した。演算したはずなのに変化しない。つまり変換、逆変換が成立することを示している。
Δωで刻みにしたので、極限を利用して連続系へ。数式上は連続ではあるが、一般的な表現ではない。よって、一般的な表現に書き換える必要がある。
角周波数ωの刻みであるΔωについて説明。Δωを定義することで、離散的な係数算出が連続的な角周波数算出に近づけていっている。
周期2Lの波の数を示すnを周期2πに於ける波の数である角周波数ωに変換。ω=nπ/Lを使用して変換するだけ。これにより少し数式がシンプルになった。
VOICEVOXとAivisSpeechキャラと一緒に!AviUtlを使った動画作成 バックナンバーはじめに以前、AivisSpeechのAnneliというキャラの立ち絵を作成した。ほぼ独自に作成したが、Anneliの画像自体はAivisS...
フーリエに積分公式は複素フーリエ級数と複素フーリエ係数から導出する。変換を想定した式に変換。複素指数関数との積と積分、総和を経由すると元に関数に戻るというイメージが重要。
AviUtlのセットアップと拡張編集Pluginの導入を行った。mp4ファイルの入力と出力の方法を説明。アニメーションgifの対応方法を説明。
分数は割り算の別表現として理解しやすく、逆数を掛けることで計算が簡単になる。これにより、小数の掛け算や割り算の理解が深まる。一次関数の数式をグラフにすることや、グラフから数式を導くことは、データのトレンド分析や物理現象の理解に役立つ。微分は関数の変化率を求める手法であり、数値微分を使って近似的に求めることができる。これにより、物理学や経済学など多くの分野で応用可能。
Youtube動画やブログ記事のアイキャッチ用に作成した、VOCEIVX(四国めたん、ずんだもん、春日部つむぎ)、AivisSpeech(Anneli)の画像たち。Stable Diffusionで生成&少しペン入れ&GIMPによる補正したものになります。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
各種フーリエについてまとめてみた。いままでは級数→係数の順番でやっていたため、逆フーリエ変換→フーリエ変換の順番が自然。実際には「フーリエの積分公式を求める」ことになるが、これは逆フーリエ変換そのものである。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 モーメンタムの動作イメージについて確認。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
勾配降下法の更新式を確認。 勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしていく。 最初は復習を兼ねて勾配降下法についても確認する。
モーメンタムを確認するプログラムの方針を確認。 以前の勾配降下法のプログラムをベースにする。 隠れ層のユニット数は4。 プログラムのフローを確認。 モーメンタム項とパラメータ更新が基本的な差分となる。
モーメンタムの動作イメージについて確認。 動作イメージの表現は難しい。 最初は大きく更新して、最適解が近いと小さく更新。 勾配降下法で言うところの学習率が可変と同義な動きになる。
モーメンタムの更新式について確認。 指数移動平均を利用して直近の値を重視する。 実際の指数移動平均とは異なっているので、その点は注意。
勾配降下法の動作イメージを確認。 学習率が大きい場合と小さい場合で挙動が変わる。 ちょうど良い学習率を人間の手で探す。 これにより、一般的なパラメータとは異なるハイパーパラメータというカテゴリになる。
今回改めてまじめに更新式を確認。 勾配降下法の更新式が一番シンプルなので今後の最適化アルゴリズムの更新式を見る際は比較対象になりやすい。
最適化アルゴリズムを取り扱う。 今回のネットワークだとさほど恩恵はないが知っていて損はない。 まずはモーメンタムから解説&実験をしてい 最初は復習を兼ねて勾配降下法についても確認する。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パタ やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターン やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたJuliaコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたScilabコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたPythonコードで分類を実施。 大きく2パターンの分類パターンがある。 やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を2から4に変えたMATLABコードで分類を実施。 大きく2パターンの分類パターンがある やや複雑な分類パターンが4ユニットにすることで出てきたもの。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。
多層パーセプトロンの隠れ層のユニット数を増やす。 表現力が上がるはず。 局所最適解にハマらないというより大域最適解に近い局所最適解が増えるというイメージ。 プログラム上の修正点確認。 ベクトル、行列演算ができるため修正範囲は極小。