Have an amazing solution built in RAD Studio? Let us know. Looking for discounts? Visit our Special Offers page!
Delphi事例

ミニチュアワンダーランドの365日稼働を可能にするDelphi

pit exit

雨が降っても晴れの日でも、年中無休で営業し、ミリ秒単位のタイミングで計測され、最小0.7mmの間隔で制御される精緻なシステムに、Delphiの堅牢さを実感することでしょう。猛スピードで疾走するレーシングカーのエンジンの轟音、興奮した観客の歓声、混雑した空港の喧騒に囲まれた職場に毎日出勤するDaniel Wolf氏が直面するのは、これら非常に複雑なエンジニアリングの課題です。独ハンブルクの「ミニチュア ワンダーランド」は、チケット、レーシングカー、ビデオフィード、電車、飛行機に至るまで、目に見えるもの、雰囲気、聞こえてくるもの、触れられるものも触れられないものも含め、ほとんどすべてのものが、何らかのDelphiプログラムコードと精緻なエンジニアリングによって駆動しているのです。

速くて小さいという事実、そして小さいことがすべてを難しくする

Daniel Wolf氏は、次のように語っています。「まず事実を申し上げますと、私たちは24メートルのF1トラックを持っています。そこでFormula 1とFormula Eのレースを開催しています。両方のレースシリーズには、それぞれ20台の車両が含まれ、各レースでは最大 14台が同時にトラック上を走行します。スタートフィールドが減ってしまったのは、私たちの都市レイアウトによるものです。私たちはモナコ市のオリジナルレイアウトに、できる限り近づけたのです。街全体をこの施設に統合できるように、街の一部を少し「圧縮」する必要がありました。そのため、このスタート/フィニッシュ ストレートには最大14台の車が駐車できるスペースがあります。」

ミニチュアワンダーランドのスカイカムビュー

実際のモナコサーキットのスタート/フィニッシュ ストレートでは、オリジナル (フルサイズ) の車は時速300km近くまでスピードを上げます。ミニチュアワンダーランドのスケールに分解すると (すべてが細部まで正確にスケール通りです)、これは毎秒約1メートルに相当します。コース修正を可能にして衝突を回避するには、コンピューティングスレッドが次の10秒間に何が起こるかを事前に計算しておく必要があります。衝突が起きたときや追い越し計画が機能していないと車が独自に判断したとき、あるいは車がレースコントロールから後続車を通過させる指示 (「ブルーフラッグ」) を受け取ったときには、これらの計算の一部を破棄する必要があります。そうです。車はインテリジェントであり、独自の決定を下すのです。

ミニチュアワンダーランドはDelphiによって制御!すべてがライブでリアルタイム

ここで最も重要なのは、Delphiで書かれた自動車システムソフトウェアです。すべてのスレッドがここに集結しています。基本的に、すべてのレースはリアルタイムで計算されるため、2つとして同じレースは存在しません。各車は独自のレース戦略に従い、追い越しや追走者のブロックのオプションを確認します。各車は、独自の自律計算スレッドによって表されます。レース全体がスムーズに実行され、毎年ミニチュアワンダーランドを訪れる100万人以上の観客を魅了します。競合を適時に解決し、たとえば、前の弱い競争車が一時的にアクセルから足を離したときに、より速い車が追い越せるようにする「マスター」スレッドがあります。その体験は、実際のレースに可能な限り近いものです。

ドライバーは全員、レースを制御するさまざまなパラメータの影響を受けます。基本構成は、F1チームの現在の世界ランキングに対応しています。つまり、ミニチュア界のフェルスタッペンは、ミニチュアワンダーランドでも頻繁に勝利しているのです。でも心配しないでください。Delphiコードはランダムな値を生成するため、優秀なドライバーでも調子が悪かったり、レースのスタートが遅れたりすることもあるのです。

モナコレーストラックの完全なミニチュアスケールモデルだけでなく、稼働する空港や都市も再現

Daniel Wolf氏は、システムを表示して説明します。「これは、F1車両制御のメインウィンドウです。これは、例えば空港を制御するのと同じソフトウェアですが、基本的な構成はまったく異なります。バックグラウンドに、車両を含む完全なトラックレイアウトが表示されています。アクティブウィンドウには、車両に関する最も重要な各パラメーターが表示されています。この例では、マックス フェルスタッペンのレッドブルのパラメーターです。その後ろの左側の非アクティブウィンドウにはレースコントロールがあり、レースを制御するのに使用します。ただし、通常は、手動操作なしで終日実行され、Formula 1とFormula Eのレースシリーズが自動的に切り替わります。右下に多くの車両が駐車しているのが分かると思います。これは、カンファレンスセンターの下のトンネルがあるトラックセクションで、 (実際に存在するトンネルで) お客様の視界から隠されている5車線が追加されています。現在使っていないレースシリーズ用の車両をそこに駐車できます。」

ワンダーランドでは、いわゆる「イースターエッグ」と呼ばれる隠しアイテムを見つけることができます。乗り物リストの一番上には、21番と22番の2つの空きスペースがあり、そのうちの1つには「Dixie Klo」とマークされています。これは、イギリス人には「Portoo」、アメリカ人には「Portapotty」という呼び名で知られています。つまり、建設現場や音楽フェスティバルで見かけるような仮設の移動式トイレです。Daniel Wolf氏は、説明します。「これはこの4年間で、私たちが気に入っているテストオブジェクトの1つです。最高速度が時速300kmに相当するため、このシステム開発で最も困難で苦しんだ時期でさえも、常に私たちを笑顔にしてくれました。」

モナコを時速300kmで移動式トイレが疾走するのです。😂

車のユニークな動力源はどのように機能するのか

車両の大きさは約5cmなので、ギアボックスもモーターもバッテリーもありません。車両は、路面によって生成される磁場、「ハルバッハ配列」によって駆動されます。この磁場の内部解像度は0.7mmで、車両が移動できる座標系を定義します。また、路面の下にはセンサーが装備された第2層があります。これらのセンサーは、車両によって生成される磁場を検出し、ソフトウェアが車両の位置を特定できるようにします。これにより、マスターコントローラーソフトウェアは、予定された位置と実際の位置の比較が可能になります。トラック上の車両の1つを指で押さえると、追跡システムがこれを認識し、最初にこのセクターのイエローフラッグ表示をアクティブにします。その後、他のすべての車両は、ルートを確認し、必要に応じて再計算して、この障害物を迂回するルートを取得します。

ミニチュアワンダーランドを支える素晴らしいDelphiプロジェクトの数々

Daniel Wolf氏とその同僚たちは、完璧な半自動運転のミニチュアレーシングカーのソフトウェアエンジニアリングというまったく驚異的な偉業に飽き足らず、他にもさまざまなことに取り組んでいます。その1つがTVソフトウェアです。彼らは、ミニチュアトラックに沿って設置されたテレビスクリーンで、グランドスタンドの「観客」に、現実世界と同じようにレースを放送したいと考えていました。ミニチュア ワンダーランドのスケールでは、これらのテレビ画面は、実際にはわずか2インチ (対角線が5cm) のディスプレイになります。彼らはまた、レースをシームレスに追跡できるように、トラックに29台のRaspberry Piカメラを設置しました。Delphiソフトウェアは、これらの29台のビデオストリームからマスター映像を生成し、ディスプレイで再生します。

マスターDelphiスレッドは、アクションがどこにあるかを「認識」し、対応するカメラを自動的に起動します。画像品質は極めて高く、多くの細かい情報と珍しい視点が提供されるため、その後、ワンダーランドの観客にこの視点からレースを見てもらえるように、フルサイズの32インチディスプレイを天吊りすることが決まったほどです。しかしこれにより、別のソフトウェアエンジニアリングの問題が生じたのです。「これによって、2インチディスプレイと32インチディスプレイの両方を操作できる、テレビ信号のソリューションを見つける必要が生じたのです。」(Daniel Wolf氏)

開発中に大いに役立ったもう一つのプロジェクトは、エラー分析です。ここでの課題は、ラップトップを介してFormula 1のシステムに接続し、動作パラメータを呼び出して評価できるようにすることでした。ここでも、Daniel Wolf氏は Delphiの強みを活用し、大量のデータのパフォーマンス表示を、比較的簡単に行いました。データ分析画面には 2つの短い曲線があります。青い曲線は、車を駆動する磁場、つまり制御システムによって作成され、赤で示された磁場は車自体によって生成されます。これらの曲線の大きな上向きの偏向とそれに続く小さな下向きの偏向は、車の1台の特性を示します。Daniel Wolf氏と彼のチームは、いつどのセンサーがこの特徴を検出したかという情報を使用して、ほんの一瞬で、ミリメートル単位の精度で車の位置を正確に特定します。

ミニチュアワンダーランドは、多くの才能がDelphiを用いて何ができるかを示す素晴らしい事例

ミニチュアワンダーランドは、実に素晴らしいプロジェクトです。物理上とソフトウェア上の双方で素晴らしいエンジニアリングが行われており、何百万人もの人々に大きな喜びをもたらしています。Daniel Wolf氏には感謝したいと思います。

最新のDelphiを試してみよう

Delphi 12.2 Athensは、新たにAIコード支援機能を搭載。マルチデバイス開発環境へと進化したDelphiの最新バージョンをぜひお試しください。

Marco Cantúから寄せられた追加の写真

See What's New in 12.2 Athens See What's New in 12.3 Athens Dev Days of Summer 2-24

Reduce development time and get to market faster with RAD Studio, Delphi, or C++Builder.
Design. Code. Compile. Deploy.
Start Free Trial   Upgrade Today

   Free Delphi Community Edition   Free C++Builder Community Edition

This site uses Akismet to reduce spam. Learn how your comment data is processed.

IN THE ARTICLES