Category Archives: FlightSimulator

フライトシムのモーションシミュレータ化~9~

モーション フライトシミュレーターのArduiono側ソースコードを見たいという書き込みを頂いたのでアップします。

FlightMotion6.zip

中身が行き当たりばったりで恥ずかしいので載せていませんでした。
※温かい目で見てください。
(PC側のプログラムはもっとかっこ悪いのでまだ載せていませんが、もしこちらも見たい方がおられたらコメントください)

で、この中身は自分でも殆ど忘れていますが思い出しながら簡単に説明させていただきます。

  • ジャイロ/加速度センサーのMPU6050へのアクセスライブラリは、たしか下記から貰ってきたと思います。→https://github.com/jrowberg/i2cdevlib/tree/master/Arduino/MPU6050
  • PCからは”ピッチ,バンク<改行>”がテキストで送られてきます。
    ピッチとバンクは角度の少数以下一桁までを10倍した値です(浮動小数点をさける為)。
  • PCから送られるピッチとバンク角から目標とするリニアアクチュエータの目標長を算出します。
  • MPU6050が示す加速度センサーの値でも同様にリニアアクチュエーターの現在長を算出します(加速度だけ使ってジャイロの値は使っていません)。
  • ソース中の”//各ジオメトリ”に続く数行はモーションシミュレータの各寸法で、角度からリニアアクチュエーターの長さを算出するための情報です(これら値の詳しい説明は今できませんが当時は下の様な寸法図を書いていました。ソース中の値とは変わっているところもあると思います)。
  • リニアアクチュエータの目標長と現在長から動かす方向と速度を決めてPWMの関数に送ります(速度の加減は試行錯誤で決めました)。
モーション計算用寸法図

モーターを動きをもっとスムーズにするため、この次のバージョンでPID制御にしてみようと取り掛かりましたが放置状態です。


Microsoft Flight Simulator 2020 + モーション機構

先日マイクロソフトからFlight Simulator 2020が発売されました。
前作のFlight Simulator Xで開発は終了との事でしたが14年振りに復活したのです。
フライトシミュレーターといえば黙って見過ごす訳にはいきません。早速ダウンロード(一晩かかった!)して実行するとこんなのが毎回出ます。

i3-7100じゃ不足なんですかねー。
Microsoftの製品紹介ページではi5-4660以上となってます。
まあOKを押せば先に進むのでいいんですが、こんな毎回出さなくても・・・。

ソフトはまだ日々更新されているらしく、立ち上げる毎にしばらく何かのダウンロードが始まり時間がかかります。

この画面でダウンロードを待たされるのです。

その後このメイン画面が立ち上がります。
以前のXや2004とはだいぶ操作方法が変わっていますね。

メイン画面。まだ全体を見渡せていません。

コックピットの風景はこんな感じ。リアルにはなってるけどちょっと計器が見づらいなー。前作では計器類を固定表示できけど、これもできるのかな?

熊本空港 RUNWAY07

モーション機構を接続

Flight Simulator Xの時に作ったモーション機構を接続したいのですが、それにはSimconnectを使う必要があります。Simconnectは過去のバージョンからある機能で、シミュレータとは別に動かしたプログラムからシミュレーターの情報(速度とか姿勢とか)を取ってきたり設定したりできる機能なのです。これはCのライブラリとしてSDKに含まれています。

これが今回のバージョンでも使えるかですが、いろいろググってみると今回もSimconnectがついていて、デベロッパーズモードというのをONにするとダウンロードでそうなのでやってみました。

そしてコンパイルして実行したら確かにデータが取れています。
でもその後Flight Simulator Xの時にコンパイルしたプログラムをそのままで動かしてみたらこれでも問題なく動作しました。新たにコンパイルする必要なかったんですね。

とにかくここまでくれば動作したも同然。実行するところを動画にしてみましょう。
ところでいつもこのブログに動画を載せるときはYoutubeにアップロードしてリンクを貼っています。Youtube側には殆ど説明を書いていなかったのですが、今回はBGMやキャプションを入れてYoutuberの動画っぽくしてみました・・・

さ、いろんなところを飛んでみよっと。。。


MakerFaireKyoto2019 行ってきました。

前回の投稿に書いた通り、5月4日、5日に開催されたMakerFaire kyoto 2019に行ってきました。ゴールデンウィーク後半の開催なので実家の神戸に車で帰省してそのまま参加し、東京会場だとちょっと持って行けなかったモーション・フライトシミュレーターを運んで展示する事が出来ました。

話はちょっと遡って熊本出発前日、最終状態で組み立てて確認中の図。

そして神戸まで走って二日ほど過ごしたのですが、この間にもうちょっと安全性を高めた方が良いかなと思って急遽ホームセンターで2×4材を購入。こういう補強材を作成しました。

これを会場で写真の様に取付けるとかなり安心感が出て、安全のため横にエアーマットを敷いてはいたのですが必要性は感じませんでした。

また今回試乗頂く方には身長と体重の制限を設けさせていただきました。
身長はラダーペダルに足が届くかどうかを考慮しています。ペダルを操作せずにエルロンだけで曲がると横Gが多く加わり座席が傾き過ぎるのを心配しての事
(まあ危険な程でもないのですが念の為)。

また体重制限は構造がどれくらい持つか分からないのでまずは自分がピーク時にのって大丈夫だった65Kgを実績として採用しました。その後会場で人柱 体重オーバーの方に念のためにヘルメットを着用頂きながら最大80Kgの方まで実績が出来たのですこしずつ制限を緩めていきました。

体重オーバの方用ヘルメット

なお身長を制限してはいたものの、乗れなくて残念そうな子供もいたので結局は息子にペダルだけ操作させ、もっと小さい子供はモーションもOFFにして乗ってもらいました。

お子様向けペダルかさ上げ冶具。
(発泡スチロール製。でも5cmm程度しか高くならない・・)

今回はやはりモーション機構に興味を持たれた方が多かったと思います。
リニアアクチュエータの値段をよく聞かれました。
その際、Aliexpressで約1800円+送料と答えていましたが、今確認すると勘違いで実際は約3000円+送料でした。申し訳ありません。 お詫びして訂正いたします。
>>会場で御質問頂いた方々。

やはり座席が動くと「おおっ」と言ってもらえます。
なお高校生の息子が説明もしてくれるので助かる様になってきました。

そんなこんなであっという間に二日間が過ぎ、若干のフライングで撤収して六甲アイランドまで走り、フェリーで新門司に渡って戻ってきました。
(なおフライングの撤収は交通の事情など仕方ない場合は認められますが極力は最後まで展示してくださいとの事でした。)

今回近畿地方では初のMakerFaireで、場所的には「京都」となっていますがどちらかというと奈良に近く、京都、奈良、大阪の県境付近の会場でした。正式な出展者数は分かりませんが200組ぐらいではないかと思います。東京だと自分で出展しながらすべてを見るのは無理がありますが、200組だと丁度いい感じで見て回れました(今回は昼休みに1時間の休憩を入れた事もありますが)。またゴールデンウィークの中に組みこまれているので色々な面で行きやすく、来年も開催されれば嬉しいなと思いました。

この後は会場で撮影した写真をいくつか、順不同で掲載させていただきます。

生きた鶏と着物
骸骨はPETを真空成型されたそうです。
R2D2
おなじみヒゲキタさんのドームですが、なんだか巨大です。
だいぶ後ろにさがって撮影したつもなのにこんな感じでした。
細かいところまで全部手作りで作り込まれているそうです。
垂直にホバーリングできるとの事。
クワッドコプターのフライトコントローラ(恐らくTiny用?)が載っている様でした。
デモがあったのですが時間が合わず見損ねました。
IOT系ボードobniz
巨大な絵本にプロジェクターで投影し、本の範囲もはみ出して動きまくっています。

MakerFaire Kyoto 準備

ゴールデンウィークに入りMFK2019の準備も大詰めです。
今回、モーション・フライトシミュレータに絞って展示しますが、家の外に持ち出すのは初めてですし、どこが壊れても展示が出来なくなってしいます。
不安なところは強化しましたが・・・。

色々なところを強化した本体。
でも展示は初ですし期間中に壊れなければ良いのですが・・・
MotionSim1-1
Aliexpressで買ったリニアアクチュエータも予備はありません。
どちらかが壊れたら動作不能です。
大丈夫だとは思いますが念のため、来客の方々に試乗して頂く際は
キャンプ用のエアーマットを横に敷いておこうと思います。安全第一
諸々の資料。
身長制限は娘を乗せてみたところラダーペダルにギリギリ足が届くのがこのあたりかなと。
体重制限は私がピークの時に乗った実績から。もっといけると思うのでそれ以上の方は要相談で・・(人柱ともいう)
という事で制限の数値は期間中に変更するかもしれません。
動かすのはかなり古いノートPC。
色々あって使えるのはこれだけなのです。(コイツも心配)
ACアダプターとかも忘れたらおしまいなので気を付けます。
持っていくものをシートに広げて整理します。

他に忘れ物はないかな・・・

MakerFaire Kyotoに来られる場合は是非、ほいほい堂本舗のブースにお立ち寄りください。
ブースの場所は1階のE2-4です。公式プログラムに配置が掲載されています。

モーションフライトシミュレータ強化~2~

またまた前回の続きで、モーション・フライトシミュレータのリンク機構を強化していきます。

2×4材の両面を鉄板で補強するので、その分の厚みを減らすため両面をCNCで削りました。片側1mm、反対側1.5mmで合計2.5mm減らしています。
鉄板は3mm厚×2枚なので6mm分の厚みが増えており、差し引きすると3.5mm厚くなっています、元々キャスターとの隙間が大きすぎてワッシャーを挟み込んでいたのでこれくらいがちょうどよいのです。

厚さ調整のため切削中。4Φのエンドミルで。

そしてベアリングを嵌め込む溝を掘ります。

こっちは2Φのエンドミルで。

削り終わりました。

両面から同じ切削をします。そして中心はドリルで貫通させます。

これで2×4材の加工は完成です。ベアリングを嵌め込んだ写真は撮り忘れました。

前回作成した鉄板で挟み込んで座版に取付けます。

穴あけをミスった側。

本体に取付けて補強は完成。

ベアリングを入れた効果があるのかイマイチ不明ですが、鉄板のお陰で安心感が上がり、少なくとも崩壊してバラける事は無いはず(と思いたい)。


モーションフライトシミュレータ強化

このところ風邪をひいたり色々あって作業の進みが遅くなっていますが、前回に続きMakerFaireKyotoに向け、モーション・フライトシミュレータのリンク機構を強化していきます。

まず鉄板工作の部分を溶接しました。

相変わらず綺麗に溶接できません。

出っ張りがあっては困る部分をグラインダで削って平らにします。

削ってしまえば溶接の汚さが少しは隠せる・・・

そして穴あけですが、一か所間違って空けなおしたので二つながった穴になりました。不要な部分を溶接で埋めようかとも思いますが・・・まずはこのまま様子を見ます。

教訓:”布を切る前に七回測れ”

この2×4材の出っ張り部分にはベアリングを埋め込む予定なので、穴位置を鉄板とぴったり合わせるため作り直します。

また鉄板の厚みが3mm×2枚とかなり厚くなるので、2×4材の方を削って薄くします。カンナでやろうとも考えましたが、厚みを一定に保つためCNCで切削しました。

この続きはまた後日・・・。


Maker Faire Kyotoにモーションシミュレータを持っていきたい

今年のゴールデンウィークには京都でMakerFaireがあります。
MakerFaireは東京では毎年開催され、少し規模が小さいMini MakerFaireは山口や大垣で不定期に(大体1年おきぐらい?)開かれていますが近畿では初めてです。どんな感じになるのでしょう。
会場はけいはんなイノベーションセンターという所ですが行った事はありません。地図を見ると京都といってもむしろ奈良に近く、大阪にも近い様ですね。

今回はゴールデンウィークでもあるので実家の神戸に帰省してそのまま参加したいと思います。 という事で出展を申し込んで承認メールが先日届きました。
また、この距離だと車で行けるのでモーションシミュレータを持っていくつもりです。そのために広めのスペースも申請済なのです。

そして出展の際には来客の方々にも試していただこうと思うので、耐久性アップの為に補強をしておこうと思います。
一番不安なところはこのリンク部分で、現状ではキャスターを横向きに固定し、そこに2x4材に穴をあけて軸を通しています。

座席下のリンク機構

この2x4材が割れるとどうしようもなくなるので鉄板で補強し、ついでにベアリングも入れる予定。
こんな感じで・・・

現状の2×4材はそのまま残し、鉄板でサンドイッチにして補強します。

鉄板を直角に曲げるのは中々大変そうです。また直角に溶接するのも私の腕では不安です。そこで折り曲げ部分だけアングルを使う3分割構造にします。という事で3mmの 鉄板とアングルを写真の様に切り出しました。3mmの鉄板を切るのも中々大変なのでジグソーに金鋸の刃を付けて切り出しましたが、何年か前のハンズマンガラクタ市にプラズマカッターが激安で出いていたのを買っとけば良かったと、こういう時いつも後悔します。

何とか切り出しました。

あとは溶接ですが土日が雨だったので今回はここまで。今度の休みに晴れたら続きを実施します(いつも溶接したい時に限って雨が降る気がする。)


MFT2018準備

MakerFaire東京2018まで3週間を切りました。
昨年は色々あって出展も見学もできませんでしたが今回は2年振りに出展を予定しています。なので色々な事がやりかけですが、MFTの準備も進めねばなりません。

と言っても今回特に目新しい出展物は無いのです。本当はモーションフライトシミュレータを持っていきたいところですが、これを熊本から東京に運ぶにはかなりの費用がかかりそうです。そこで1/5スケールのミニチュア版を作成してみました。

このなの・・・

MotionSimMiniture1

モーションシミュレータの1/5模型

ちなみに実物はこれ・・・

RudderPedal2nd_4

モーションシミュレータ実物。
(場所を取るので殆ど稼働していません)

リニアアクチュエータは3個100円で買ったRE140サイズのモーターを、ギヤで減速して3mmの全ネジ棒を回転させてアルミパイプ内に仕込んだ長ナットを上下に動かす仕組みです。
モータードライバは使い慣れたTA7291Pを使います。TA7291PのデーターシートにはPWMで速度制御可能とは書かれておらず、本来はVref端子の電圧で速度制御をすべきですが、そうするとモーションシミュレータ用のスケッチがそのまま使えないのでVrefは固定にして無理やりロジック入力からPWM信号を入れて速度制御しています。

角度の検出は元のモーションシミュレータの方式そのままに6軸ジャイロモジュール(GY-521)の加速度データだけを使って傾きを検出します。

ところが動作させてみると、モーター動作中にArduinoがダンマリ状態になります。どこで固まるのかを調べていくと、どうやらI2Cでセンサーの角度を取りに行った時に固まる模様。
これ、心当たりがあります。モーションシミュレータ製作の時にも書きましたが5VのArduinoUNOと3.3Vの6軸ジャイロモジュールをそのまま接続したのが怪しいです。マージンが無いながらも規定の電圧レベルには入るのでモーションシミュレータでは問題なく使っていましたが、模型用モーターが近くで回ると誤動作する様です。

3.3Vセンサーを直結できないのが何か悔しいのでモーター配線の根本に付けるコンデンサを大きくしたり、I2C信号をシールド線に替えたり、色々と試しましたが改善しません。結局、秋月電子から出ているI2C用レベル変換モジュール(AE-FXMA2102)を間に挟むと一発で収まりました(ちょっと負けた気分)。

レベル変換ICを取付けた図・・・

MotionSimMiniture2

GY-521センサー+I2Cレベル変換モジュール

 

その他、今年のMFT出展予定物で今までと微妙に違うところ・・・

フライトヨークのレバーが1本→3本になったとか、

YOKEの3本レバー

3本レバー化

 

ラダーペダルがリニアガイドを使ったリッチな仕様(と言っても中華製激安リニアガイドですが)になったとか・・・
(ワイヤーリンケージ部分を踏まれると困るのでアクリルカバーを製作中)

ラダーペダル

ラダーペダルにアクリルカバーを取付ける予定。

また一昨年はOpenStick基板の販売とかやってみましたが、今年は販売予定はありません(販売する場合はコマーシャルMakerとして登録するので出展料が必要になったり色々と大変なのです)。

という事で以前来て頂いた方には変り映えしないかもしれませんが、MFT2018に来られる際はほいほい堂ブースに是非お立ち寄りくださいませ。
(今年は息子も近くのブースでの出展を予定しております。ちょっと心配ですが)

リニアガイドで2代目ラダーペダル制作~その3~

二代目ラダーペダルの続きを製作します。

まず合板に部品取り付け位置を書込みます。
鉛筆で描いてもいいのですが手っ取り早くレーザーで描画しました。
真ん中の部分はボリュームが埋まる所なのでドリルと糸鋸でくり抜いています。

RudderPedal2nd_1

合板にレーザーマーキング

 

そして部品を取付けました。

RudderPedal2nd_2

部品取付け完了。

ペダルはリニアガイドに載っていて前後に動かすとワイヤーを通じて真ん中のプーリーに接続した可変抵抗器を回します。またワイヤーにより左右のペダルは交互に動作します。
ワイヤーの部分、当初は水糸を使ってみたけど伸びるので被覆付きのワイヤーに変更しました。

RudderPedal2nd_3

反対側から見たところ。

戸車プーリーと適当なバネ。

RudderPedal2nd_3.5

戸車プーリーでワイヤーを支えます。
プーリーは適当にプリントしたパーツで固定。

 

機構的な部分は大体できたので後はUSBインターフェースを取付けます。
今回はアナログ3軸だけなのでPIC18F14K50を使ったOpenStick Liteを使用しました。
部品数が少ないので今回は基板切削はせずユニバーサル基板で配線します。

jw-cadで配線計画を立てて・・・

RudderPedal2nd_4

ユニバーサル基板での配線予定図

配線しました。

RudderPedal2nd_5

基板完成

そういえばOpenStick Liteはβ版としてブログには載せましたが正式ページを作っていません(ま、いいか)。

配線も済んだので動画を撮ってみました。

 

ではMotionSimulatorに載せてみます。我が家の工作室だと狭いので機材一式を和室に運びました。

RudderPedal2nd_4

和室に移動しました。結構重いです。
しかし変な絵面だな。

ではFlightSimulatorXを立ち上げてフライトしてみます。今までのラダーペダルはペダル位置が高くて足が宙に浮いた感じでしたが、今回は踵を床に付けたまま操作できるので微調整がしやすくなりました。しかしワイヤーを通じたリンクの抵抗が若干大きい気がします。

 

因みに一代目ラダーペダルはこれ。シーソー式でした。

一代目ラダーペダル

何度もMakerFaireに持って行った一代目ラダーペダル。
今回でお役御免です。

こちらはお役御免です。お疲れさまでした。

リニアガイドで2代目ラダーペダル制作~その2~

2代目ラダーペダルはこんな構造にしようと思います。

ラダーペダル構想

Fusion360で描いてレンダリング

リニアガイドにペダルを載せてワイヤー(糸?)で接続し、中央のプーリーで可変抵抗を回転させます。 左右のペダル内にもそれぞれ可変抵抗が仕込んであり、踏み込むとブレーキがかかります。

 

早速ペダル部分を作成してみました。本体はダイソーの6mmMDFをレーザーカットしています。歯車はABSで3Dプリントしました。バネは1.5mmのピアノ線です。
ペダルを踏みこむとギヤが可変抵抗を回す仕組みです。

ペダル1

ペダルの内側

 

そしてこんな感じでリニアガイドに乗せます(ガイドのコマが小さい感じがしてちょっと不安)。

ペダル2

リニアガイドに取付け。

 

これを二つ製作しました。こういう風に合板の上に並べる予定です。

ペダル3

こんな感じで並べます。

という感じでぼちぼちと進めます。