Civil Engineer's Forum-FORUM8
このページをスタートページに設定する QR

Facebook - FORUM8

Twitter - FORUM8

YouTube - FORUM8

 サイトマップ | ご利用条件 | お問い合わせ | 英語翻訳サイト | Japanese | English | Korean | CHS/CHT | Vietnam | Francais | Europe

Support Topics
サポートトピックス / UC-win/Road 保守・サポートサービス関連情報
UC-win/Road SDK(開発キット)
FAQ よくあるご質問

 はじめに
UC-win/Road SDK とは、UC-win/Road 上で動作するプラグインを開発するためのライブラリやAPI を提供するためのソフトウェア開発キットで、大学や自動車関連企業、様々なユーザの皆様により、研究開発や機能のカスタマイズ等にご利用いただいています。今回は、弊社に寄せられた様々なご質問の中から、よくある質問やSDK を活用するための機能をピックアップし、Q&A 形式でご紹介いたします。

 バージョンの相違
SDKでプラグインを開発し実行したところ、下記のようなエラーが発生しプラグインを認識してくれません。これはなぜですか?

■図1 実行時のエラーメッセージ

上記のエラーが発生するのは、UC-win/Road本体とUC-win/Road SDKのバージョンが異なるためです。両製品のバージョンは完全に一致させる必要があり、少しでも異なると正常に動作しません。例えばUC-win/Road本体がVer.7.1.0でSDKがVer.7.1.1だとエラーが発生します。本エラーが発生した場合、両製品のバージョンをご確認ください。

 Delphiのバージョンについて
現在のUC-win/Road SDKはDelphi2010にしか対応していないのですか?

UC-win/Road SDKはEmbarcadero社のDelphiを用いて開発していますが、バージョンによって必要なDelphiが異なります。具体的には、Ver.8はDelphi XE2専用、Ver.7以前はDelphi2010専用となっています。Delphiのバージョンが異なる場合、プラグインのビルド,実行ができませんので、必ず上記をご用意ください。なお、Delphi XE2、XE3をお持ちの場合、旧版のDelphiを利用することも可能です。詳しくはEmbarcadero社へお問い合わせください。

 ヘルプについて
UC-win/Road SDKの日本語ヘルプはないのですか?

UC-win/Road SDKをインストールすると、インストールしたフォルダに「UC-winRoad_SDK_x.xx.xx.chm」の名称でヘルプが保存されますが、現行では英語ヘルプのみです。申し訳ございませんが、日本語ヘルプはございません。

 ログ機能の使い方
運転シミュレーション時に車両の挙動の詳細を保存することはできますか?

可能です。UC-win/Road SDKにはLogServerと呼ばれるログ出力機能があります。LogServerにアクセスすると、自車だけでなく、交通流やシナリオで生成した車両など全ての車両、及びキャラクタの情報を取得することができます。
LogServerを用いてログ出力を行う場合の考え方を以下に示します(図2)。まず、プラグインに作成した関数(コールバック関数)を予めUC-win/Roadに登録します。この状態でシミュレーションを実行すると、環境や交通流、キャラクタの計算や3次元空間の描画を行った後、対象となる全てのモデルに対しコールバック関数が呼ばれます。コールバック関数の中では、対象モデルごとに表1に示す様々なデータにアクセスできますので、これらをCSV形式でファイル出力したり、他のアプリケーションへのデータ伝送が可能になります。

■図2 LogServerの考え方
LogServerで参照可能なデータの例
基本データ シミュレーション時間、モデル名、モデルID、モデル種別
座標、姿勢 X座標、Y座標、Z座標、ピッチ角、ヨー角、ロール角、ベクトル
動力、速度 エンジン回転数、ギヤ番号、車速(km/h, m/s)、速度制限
入力 ハンドル角、アクセル開度、ブレーキ量、自動運転の有無
距離 走行距離、道路始端からの距離、道路端部からの離れ
■表1 参照可能なデータの例

なお、UC-win/Road SDKのサンプルプラグインのうち、下記がLogServerの機能を用いています。ご参考いただき、開発してください。
  • ControlVehicleInFrontPlugin
  • InteractionSample
  • LogExportPlugin

 自車のステアリングやアクセル、ブレーキをコントロールする方法
外部コントローラのステアリングやアクセル、ブレーキの検出値を用いてUC-win/Roadの車両をコントロールすることができますか?

可能です。SDKでは、運転シミュレーション時の自車をコントロールするためのインターフェースとして、IF8MainDriverを用意しています。IF8MainDriverは、現在走行中の道路のインターフェースや車線の番号など、様々な情報を取得することができます。また、ステアリングやアクセル、ブレーキの値を任意の値で書き替える機能も提供しています(表2)。サンプルコードを下記に記載しますのでご参考ください。なお、これらの制御は、_plgTransientWorldMoveにてTransientWorldMoveProc()型のコールバック関数を登録して行うか、またはDelphi標準機能であるタイマー機能(TTimer)を用いて行います。

車両制御機能
SetSteering ステアリングの舵角を指定する。0.0が直進。-1.0が左最大舵角、1.0が右最大舵角を示す
SetThrottle アクセル開度を0.0〜1.0の範囲で指定する。1.0が全開
SetBrake ブレーキ量を0.0〜1.0の範囲で指定する。1.0が最大踏力
■表2 IF8MainDriverの車両制御機能
var
   appService : IF8ApplicationService;
   driver : IF8MainDriver;
begin
Supports(ApplicationService, IF8ApplicationService, appSerice);
driver := appService.MainForm.driver;
if Assigned(driver) then
   begin
   driver.SetSteering(SteeringValue);
   driver.SetThrottle(Accelvalue);
   driver.SetBrake(Brakevalue);
   end;
end;

 メイン画面上に文字列を描画する方法
UC-win/Roadのメイン画面上に任意のテキストを表示したいのですが、これは可能ですか?

可能です。UC-win/Road SDKでは、UC-win/Road SDK では、メイン画面のディスプレイ上にOpenGLで様々な描画を行うためのPaintHUD と呼ばれる関数を用意しています。この中で、SDK のテキスト表示ライブラリの機能を呼び出すことにより、テキストを表示することができます。下記にそのコードを記載します。なお、PaintHUDの取扱いについては、SDKのサンプルプラグインのSpeedMeterPluginをご参考ください。

procedure ????.PaintHUD;
   var
       sp : TPoint3D;
       wp : TPoint3D;
       cw : Integer;
   ch : Integer;
begin
cw := winRoadApplication.mainForm.openGL.Width;
ch := winRoadApplication.mainForm.openGL.Height;

F8TextResetSettings;
F8TextSetFontName( 'MSPゴシック' );
F8TextSetFontSize( 40 );          // ピクセル単位
F8TextSetFontColor( clRed );

F8Text2DModeBegin( cw, ch );       // 画面サイズ指定
F8TextSetAlignment( _alignCenter );    // 文字列の基準位置
F8TextStartFrom( 0.5 * cw, 5 );       // 書き出し位置

glDisable( GL_LIGHTING );
glEnable( GL_BLEND );
glBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA );
glColor4d( 0.0, 0.5, 1.0, 0.5 );

glBegin( GL_QUADS );
glVertex3f( 0.0, 0.0, -1.0 );
glVertex3f( 0.0, 2 * 40 + 10, -1.0 );
glVertex3f( cw, 2 * 40 + 10, -1.0 );
glVertex3f( cw, 0.0, -1.0 );
glEnd;

F8TextOut( 'Message Test' );     // 描画

F8Text2DModeEnd;          // 終了化
glEnable( GL_LIGHTING );
glDisable( GL_COLOR_MATERIAL );
end;

 最後に
今回のサポートトピックスでは、よくある質問やSDKを活用するための様々な機能を紹介いたしました。今後においても、様々な形で情報提供していけるよう取り組んでまいりたいと考えております。
なお、紙面の都合上、詳細な説明は省略させていただきましたが、製品付属のサンプルコードが多彩な機能を実現しており必ずや参考となると思いますので、これらのサンプルをご活用ください。また、弊社より発刊しております下記の書籍には、SDKを用いて開発するための様々な例題が記載されておりますので、是非ご活用くださいますようお願いいたします。


     
前ページ    インデックス    次ページ
(Up&Coming '12 秋の号掲載)
戻る
Up&Coming

FORUM8


お問合せ窓口




[ ユーザー紹介 ]
若鈴コンサルタンツ株式会社 計画事業部
名古屋大学 情報学研究科 心理・認知科学専攻 認知科学講座 川合研究室
合同会社 KUSAMA DIGITAL WORKS
[ イベントプレビュー ]
ミラノサローネ2024出展






>> 製品総合カタログ


>> プレミアム会員サービス
>> ファイナンシャルサポート

最近リリースした製品
3次元鋼管矢板基礎の設計計算(部分係数法・H29道示対応) Ver.4
UC-1・UC-1 Cloud 統合版 BOXカルバート
電子納品支援ツール Ver.17
柔構造樋門の設計・3D配筋 Ver.17
建築杭基礎の設計計算 Ver.10

キャンペーン実施中
ライセンス同時購入キャンペーン
F8NFTSリリースキャンペーン
レジリエンスアワード特別賞受賞記念キャンペーン

セミナー・イベントカレンダー
開催間近のセミナー
4/2  ブロックUIプログラ
  ミングツールで学ぶ
  ジュニア・プログラミング
4/3  動的解析
4/4  下水道耐震設計体験
4/5  Shade3D-F8VPS
  メタバース入門

ソフトウェア/支援サービス
VRソフト(バーチャルリアリティ)
《UC-winシリーズ》
・道路・シミュレータ
・ドライブ・シミュレータ
・マイクロ・シミュレーション
・避難解析・シミュレーション
>>その他VRソフト
FEM解析ソフト
・3次元プレート動的非線形解析
・2次元動的非線形解析
・総合有限要素法解析システム
>>その他FEM解析ソフト
土木・建築・設計ソフト
《UC-1シリーズ》
・構造解析/断面
・橋梁上部工
・橋梁下部工
・基礎工
・仮設工
・道路土工
・港湾
・水工
・地盤解析
・CAD/CIM、建設会計
・維持管理・地震リスク
・建築
・船舶/避難
>>その他土木・建築・設計ソフト
クラウド
《スパコンクラウド®》
・スパコンクラウドサービス
《VR-Cloud®》
・リアルタイムVRシステム
解析支援サービス/サポート
・UC-win/Roadサポートシステム
・設計成果チェック支援サービス
・Engineer's Studio®解析支援
・地盤解析支援サービス
・EXODUS/SMARTFIRE解析支援
・xpswmm解析支援サービス
・建物エネルギーシミュレーション
・3Dレーザスキャン・モデリング
・3D模型サービス
・3D報告書・図面サービス
>>その他支援サービス
各種ソリューション
・耐震診断/解析
・鋼橋設計
・橋梁新工法
・建築設計
・自治体
・医療系VRシステム
・パーキングソリューション
・ECOソリューション
>>その他ソリューション