趣味工房 HIRO-G
< カルマン 2輪倒立振子の製作 その4 >
2輪倒立振子の本体が完成したので、取りあえず動かしてみることにしました。
1.準備
先ずは付録DVDの収録ファイル(写真1)一式を専用フォルダーを作成して保存します。 次いで、「3.カルマン・フィルターのソース・コード 」ファイルに収録されている、2輪倒立振子本体を制御するための制御プログラムのソース・コード(C言語)をコンパイルするための準備をします。 ソース・コード名(写真2)は次の通りです。
・ Inverted_Pendulum_Kalman.cpp
コンパイルは、PCと「NUCLEO−F401RE」をUSBで接続した状態で、mbedのWebサイトへアクセスしますと写真3のような画面が表示されますので、画面上の「コンパイル」をクリックしますと、ダイレクトに開発環境ページへ移動できます。 尚、2輪倒立振子本体の電池は抜いておき、電源スイッチはレバーを押し下げた「OFF」の状態にしておきます。
2.バイナリ・ファイルの作成
開発環境画面で「新規」をクリックしますと写真4のように「新しいプログラムの作成」のダイアログが表示されますので、プログラム名を決めて打込みます。 当方はソース・コード名と同じとしました。 ただしドット等は使えませんから、拡張子「.cpp」の部分は省略します。
「OK」を押して再度、開発画面がアクティブになったところで、開発環境の画面を縮小画面とし、一方、エクスプローラでソース・コード一覧を表示させて縮小画面として、「Inverted_Pendulum_Kalman.cpp」を編集画面へドラッグ&ドロップすれば、写真5のようにソース・コードが表示されます。
次に、「コンパイル」をクリックするとコンパイルが実行され、特に問題がなければ写真6のように「success!」と表示され、バイナリ・ファイルが作成されます。 保存用のフォルダーを作成して、写真7のようにバイナリ・ファイルの確認をして、コピー&ペーストで保存します。
3.制御プログラムによる機能テスト
バイナリ・ファイルを表示させた縮小画面とNUCLEO-F401REボードを表示させた縮小画面を用意して、写真8のようにバイナリ・ファイルをドラッグ&ドロップしてNUCLEO-F401REボードへ書込みます。 書込みが終了すれば、写真9のように、ボードに増設した黄、緑、赤のLEDがそれぞれ点灯します。 LEDの点灯を確認した後、USBケーブルを切り離します。
電源スイッチを「OFF」の状態で、単3アルカリ乾電池を4本をケースに収め、写真10のように手で2輪倒立振子本体を垂直に保持し、電源スイッチを「ON」にします。 「初期設定中」の黄色のLEDが点灯しますが、点灯している間はなるべく本体を動かさないようにします。
黄色のLEDが消灯すれば、ゆっくり本体から手を放しますと、写真11〜写真15のように、前後に細かく動きながらバランスを取り、転倒することなく立ち続けました。
表面の正規の位置ではスペース的に苦しかったので、電池BOXを裏面に取付けましたが、今のところあまり問題は無いようです。
以上で2輪倒立振子本体のテストが終了しましたので、次回はデータ通信、傾斜計、ジャイロ等のテストを実施して完了とします。
写真1 付録DVDの収録内容
写真2 倒立振子のソース・コード
写真3 mbed Home
写真4 新しいプログラム作成のダイアログ
写真5 「ソース・コード」のドラッグ&ドロップ
写真6 コンパイルの結果
写真7 「バイナリ・ファイル」の保存
< TREX450 SPORT >
SDXに続き墜落。
以下同文。
2019年12月11日 |
写真8 「NUCLEO−F401RE」への書き込み
写真9 書込み完了
写真10 初期設定中
写真11 初期設定終了直後
写真12 自立状況その1
写真13 自立状況その2
写真14 自立状況その3
写真15 自立状況その4
|