回転角の小さいPOTを探さないとなのですが、抵抗膜式のPOTで精度のよさそうなものはなく、比較的買える値段で見つけたのが、これ。これが何物かというとPOTといえばPOTですが、ホールセンサを使った回転角センサーで検出角度が60度。ここのメーカー、より狭いタイプも作れるようですが、標準でそれほど高くない値段で出ているのが60度タイプだったので、これを購入しました。一般的なゲームコントローラーのセンサー入力というかPOT入力は電圧なので5Vで動作するホールセンサー式は最適です。このセンサーでも角度は60度なので、サイクリック・スティックを作る際には角度が大問題となります。そこでまたゴーストが囁きます。「お前はもともとラジコン・ビルダーではないか」と。ラジコンの場合、サーボモーターの動作角度に対して各部の作動角度を変更することはよくあります。これは『リンケージ』と呼ばれるもので、アームの長さによって作動量を変化させるものです。リンケージの機構をうまく作れば1:6作動させることは可能です。180度とかのPOTでもいいじゃない?と思うでしょ。180度はまず無理です。作ってみればわかりますが。リンケージではなくプーリーを使えば可能なのですが、10:180、つまり1:18の角度変換をしようと思うと1cmと18cmのプーリーが必要になります。いうわけでラジコンのスティック部分の流用はなし。ジンバル部分から自作してリンケージ式にすることを方針として決定しました。いや海外のフォーラムでコントローラーのビット数を気にする人がやたらいたのですが、これも考えてみれば当然でA/D変換の精度が10bitか12bitかは、かなりの違いになります。ヘリのように小さい舵角のスティックで精度よく制御するとなればそりゃあビット数気にするわけです。同様にコレクティブ、アンチトルクも同じセンサーを使い、作動量を60度に変換する機構を付けることを決定しました。あとは何をやるかというとモノタロウあたりのサイトをじーっと眺めて使えそうな機構部品を漁りまくります。近所のホームセンターにも通います。この話も長いのですが、退屈なので省略します。つくるまあ何となく色々なものが決まったら作ります。当初、サイクリックのジンバル部分はアルミを削り出しでとかカッコイイことを考えてたのですが、そもそも加工機がうちにはありません。あるものといえば電動のドリルドライバーとインパクトとジグソーとレシプロソー位です。こんなもんで精度よくアルミ加工なんてできるわけもありません。精度が悪くとも何とか収まるようにつくります。メカメカしいものになりました。これでもちゃんと物理的に動作します。この上に付くのがサイクリックバー。左側(コーパイ側)のスティックは外してあります。いい感じでしょ?と言いたいところですがロビンソンのT-barを見たことがない人はこちらをどうぞ。このスティック、イレクターパイプとオートバイ用のアルミハンドルで作ってあります。実はこれ「ちゃんとするべき」ところだけちゃんと作ってあります。ジンバルの軸の部分はスラストメタルを入れて軸を受けてあります。リンケージ部分はラジコン用のロッドとスプリングで構成してあります。サイクリックバーの受け部分もベアリングを入れたりしてスムーズに動くようになっています。舵角が10度ほどしかないので大きなガタは禁物で、ガタつかずスムーズに作動しないとコントロールできないからです。出来上がったサイクリックスティック。要するにジョイスティックなのですが巨大&高級ジョイスティックです。同じようにしてアンチトルクペダルも作ります。アンチトルクペダルの場合には片方を踏んだら、もう片方が持ち上がるというメカニズムを作らないといけないので、ちょっと工夫が必要ですが、ロッドエンドや寸切りボルトを駆使して作ります。いい感じでしょ?作動量は60度位になるので、センサーを軸にしてしまえばよさそうですが、わざわざリンケージしているのには理由があります。アンチトルクの場合、足で踏むので両足を突っ張った場合、その力はすべて差動機構(写真の黒い平たい板)のところに加わります。ここでセンサーを直に付けてしまうとセンサーの軸に思いっきり力が、かかってしまい壊してしまうので一旦、しっかりした機構で受けておく必要があるんです。コレクティブは現在、製作中です。完成したら公開しますが、どうしようか少しお悩み中です。メカニズム的には一見、簡単に見えるのですが、コレクティブの役目は2つあって、引き上げるとメインローターのピッチを変化させるのですが、ひねるとエンジンの回転数を変えます。要するにバイクと同じツイスト・スロットルなのです。このスロットルは必ずしも必要ではなく、ロビンソンの場合にはガバナー(調速機)がついており、ピッチに応じてエンジンの速度を自動で調整してくれるので、ツイスト・スロットルはなくてもかまいません。オートローテーションを行う場合にはスロットルが必要なので、どうしたもんかなとお悩み中です。ちなみに私、普通のジョイスティックで5回に1回くらいならオートローテーションに入れます。いう物を作る際に細かなスペーサー等が結構必要になります。なんでじゃー、と言われると困るのですが、やってみればわかります。ネジの長さが長すぎるとかで強度的に金属を使わなくとも何かかませないといけない箇所が出てきます。そんな場合、以前ならば適合しそうなスペーサーを探しまくるという面倒な作業があったのですが、今ではスペーサーを3Dソフトで設計し、3Dプリントして作っています。3Dプリンタはこんな時にとても便利です。これなら特殊な形状のスペーサやちょっとした小物はすぐに作れてしまいますから。市場に無い、あるいは金属を加工してネジ止めして作るのも困難な部品も3Dプリントで作ってしまいます。下の写真はサイクリックスティックのグリップ部分ですが、見ての通りスイッチを入れつつ、グリップを付けたいので3Dプリントで作ってしまいます。強度的に「そこそこ」あれば十分なので、これで使えます。まとめる各コントローラーは出来上がりつつあり、これをどうまとめるかも問題ですが、実は意外と簡単な方法があります。自宅に十分な広さがあり、シミュレータ室を作れるお金に余裕のある人なら専用コックピットを設置してしまえばいいのですが、そりゃあ無理です。加えて運んで展示するとなると分解・組み立て式にする必要があるのですが、それにはイレクター・パイプを使います。パイプフレームに各コントローラーを固定すれば使えるようにしてしまえば分解・再組立てが可能です。まあ何でこんなに大変なことになるのかというと、考えてみたら当たり前の話でした。世の中で普通の人が触れる機会のある、操縦の必要な機械とえいば自動車です。自動車もそのうち操縦は必要なくなるかもしれませんが。それはさておき、自動車を操縦する場合のインタフェースというのは車種が変わったところで大きく変わるものではありません。ハンドルとペダルが2つか3つ。セレクターレバーかシフトレバー。シミュレーション上で使用する車種が何であれ、商用の大型車でない限りはインタフェースはあまり変わらないのです。プリウスのシミュレーションをやれと言われると専用のセレクターレバーが必要そうですが。ところが飛行機やヘリコプターは機種によってインタフェースが異なることが多く、操作方法も違います。汎用のコントローラーというのがあまりなく、小型の固定翼機ならばフライトヨーク(ハンドルみたいなの)とスロットルレバーを揃えてというケースが多いのですが、大型機やヘリとなると話が違ってきます。海外でも自分の持っている実機を家の中でも練習するために、専用コックピットを自力ビルドするようなケースが多いようです。そりゃまあヘリの特定機種用のコントローラーなんてお安い値段では売ってないわなというお話です。作ってはみたものの困る点がひとつ。ヘリのスティックはセンターがないというのはすでに書いた通りですが、じゃあどうやって真っすぐ上昇するのかという問題が発生します。飛ばせる人には問題がない話でして、もし傾いて上昇しようとしたら一旦、離陸を止めて少し補正してから再度上昇しようとすることを繰り返せば問題ありません。ところがこれ、展示等では大問題でして、初めて飛ばす人にはちょっと無理です。ラジコンでも同様で傾いて上昇する場合には補正ししつ離陸して上に上がってからトリムを調整するということをするのですが、ここが最大の難関でラジコンヘリを練習しようとする場合に、ここで挫折するケースが多いのです。いうわけでスティックのセンターが無いのは展示&実演する場合にはとても困ることに気付きました。離陸もできないんじゃ触っても面白くないのではないかというわけです。そこではたと気付きます。今回、シミュレータソフトにはX-Planeを使用していますが、このX-Plane、APIがありデータの入出力ができます。X-Planeはちゃんとしたフライト・シミュレータなので、データ入出力を使って各種の計器を動かしたり操作パネルからの入力を受け付けることもできます。このデータ入出力はIPネットワーク上のUDPでやり取りすることができるため、PC上で動作させているX-Planeに対してネットワーク経由で機器を拡張することができるわけです。極端な例かもしれませんがムービング・プラットフォーム(シミュレータの台座ごと可動するやつ)を制御することすらできます。ムービング・プラットフォームまで作る気は起きませんが。いうことはどういうことかというと、X-Planeからスティックの位置情報をネットワーク経由でUDPで投げます。Piで受けて処理すればスティックがセンターにあるかどうかを表示するインジケータを作ることができます。X-Planeからのデータは次のような構造をしています。data[8];};indexはどのパラメータであるかを識別するもので、例えばジョイスティックのデータなら"8"という風に決まっています。UDPの受信プログラムは簡単で、受信ループは次のように書けます。",xp_data.data[i]);}これを利用してスティックのセンター・インジケータを作ることにしました。スティックのデータは端から端で±1の範囲のfloatで得られます。そんなこんなで何やらまあ完成したのはよいのですが、何分にも大きいので家の中で撮影できないつうね。Piで作ったら調子に乗ってコーションランプ系も実装するなどしまして結構なもんになってしまいました。2018当日こんな感じで展示/実演していました。コパイ席を付けたのは大正解。人は離陸もできませんでした。reserved.ログイン。