トランジスタ技術2019年7月号
特集 月着陸船アポロに学ぶ確率統計コンピュータ
[特集執筆]別府 伸耕
■50年前の組込みシステムが人工知能や自動運転の基本を教えてくれる
1969年,アメリカ航空宇宙局 NASAが開発した宇宙船「アポロ11号」は,コンピュータ誘導の力を借りて月面に着陸しました.
38万kmもの超長距離を航行するために,アポロのコンピュータは,宇宙船の位置や姿勢を正確に知る必要がありました.そして,雑音まみれのジャイロ・センサや加速度センサの出力信号から,本当の値(真値)を割り出す新しい信号処理アルゴリズムが求められました.
NASAは,現代制御の研究者 カルマン氏を招き,雑音(誤差)を最小化し,最も確からしい値を短時間で推定する確率統計フィルタ,その名も「カルマン・フィルタ」を開発しました.そのプログラムは,わずか71行のアセンブラで,現在の優れたマイコンなら軽々と処理できます.
カルマン・フィルタは,「数理モデル」と「実測値」を利用して真値を短時間で導き出すアルゴリズムであり,人工知能の原型であるとも言えます.自動運転,無人搬送,ロボットに加え,株価予想,天気予報,土木,建築など幅広く利用されています.
特集では,このカルマン・フィルタのプログラムを導くために必要な数式をすべて掲載しました.これらの数式を1つ1つたどれば,カルマン・フィルタのプログラムを作ることができます.加速度センサとジャイロ・センサ,そしてカルマン・フィルタを実装したARMマイコンを搭載した倒立振子も製作します.
[目次]
イントロダクション 自動運転の大先輩「アポロ11号」に学ぶ
プロローグ [DVD動画ダイジェスト]初めての統計的「推定」信号処理
第1章 学習キット「カルマン倒立振子」の製作
第2章 カルマン・フィルタのプログラミングⅠ 3つの数学
第3章 カルマン・フィルタのプログラミングⅡ 力学の基礎
第4章 カルマン・フィルタのプログラミングⅢ 現代制御理論の基礎
第5章 カルマン・フィルタのプログラミングⅣ 確率・統計の基礎
第6章 カルマン・フィルタのプログラミングⅤ マイコンに実装する5つの計算式
[付録DVD-ROMのコンテンツ]
・セミナ動画「カルマン・フィルタ入門」(mp4ファイル)
・セミナ動画用プレゼン資料(pdfファイル)
・カルマン・フィルタのC言語ソース・コード(cppファイル)
・倒立振子製作の付記資料(pdfファイル)
■特集の目次とサンプル記事
サンプル記事をご覧いただけます.
https://toragi.cqpub.co.jp/tabid/892/Default.aspx
■付録DVDの訂正①
1.付録DVDのシミュレータのソース・コードに誤りがありました(本誌P67で紹介).
●修正方法
付録DVD内のフォルダ「3_カルマン・フィルタのソース・コード」>ファイル「programs.zip」を展開>修正前ファイル「SolveRiccatiEquation.py」を修正後ファイル「SolveRiccatiEquation_rev1.py」に変更お願いいたします.
修正後ファイル
修正内容の詳細
※下記『2.付録DVDの傾斜計の~に該当)』の変更に伴い,「SolveRiccatiEquation_rev1.py」をお使いの方は下記の修正方法を参照の上,「SolveRiccatiEquation_rev2.py」に変更お願いいたします.(2019/7/28)
2.付録DVDの傾斜計のソース・コードに誤りがありました(本誌P51,リスト1の354行目に該当)
●修正方法
付録DVD内のフォルダ「3_カルマン・フィルタのソース・コード」>ファイル「programs.zip」を展開>修正前ファイル「Inclinometer.cpp」と「SolveRiccatiEquation_rev1.py」を修正後ファイル「Inclinometer_rev2.cpp」と「SolveRiccatiEquation_rev2.py」に変更お願いいたします.
修正後ファイル (更新日:2019/7/30)
■付録DVDの訂正②
付録DVD内の特集セミナ動画に誤りがありました.
●動画内容
フォルダ「1_特集解説動画(mp4ファイル)」内の動画「Chapter6_マイコンに実装!カルマン・フィルタのCプログラム.MP4」の内容に誤りがありました.YOUTUBEに正しい動画をアップロードしましたので,お手数をおかけしますが,下記のリンク先からChapter6をご視聴お願いいたします.
Chapter6_マイコンに実装!カルマン・フィルタのCプログラム
■本誌内容の訂正
2019年トランジスタ技術7月号の本特集(p27~p150)において,本文や図面に誤りがありました.
訂正内容を「正誤表」として公開いたします.お手数をおかけしますが,下記「正誤表」をダウンロードして頂き,訂正後の内容をご確認頂けますと幸いです.
正誤表 (最終更新日:2020/2/4)
p.133 式(9),式(13), p.134 式(21)に関する修正を追記しました(2019/7/16).
p.51 リスト1,p57 表8に関する修正を追記しました(2019/7/28).
p.51 リスト1に関する修正を追記しました(2019/7/30).
p.95 式(13),p.136 図12,p.147式(11)に関する修正を追記しました(2019/8/6).
p.96 式(1)に関する修正を追記しました(2019/12/06).
p.148 式(43)と式(44),p149 式(46)と式(47)に関する修正を追記しました(2020/2/4).
[セミナ]本質理解!理論解説実習セミナ開催
■統計処理による高精度自動制御「カルマン・フィルタ入門」
【開催日】2019年8月11日,12日(2日コース).両日とも10:00-17:00.
【会場】東京・巣鴨 CQ出版社セミナ・ルーム
【講師】別府 伸耕
https://seminar.cqpub.co.jp/ccm/ES19-0059
[オフ会]カルマン・フィルタ交流会開催!
【開催日】2019年7月27日 17:00-19:00
【会場】東京・巣鴨 CQ出版社 [定員]30名
【会費】1,000円(懇親会代)
https://atnd.org/events/106728
[キット販売]カルマン倒立キット発売!
本誌第1章(P37〜P71)で解説した「カルマン倒立振子」を試すことができるキットを発売中です.
https://shop.cqpub.co.jp/hanbai/books/I/I000321.html