ユーザープログラム

DS-nano-とネットワーク通信を行い、DS-nano-の機能を拡張するためのプログラムを、ユーザーが独自に作成することができます(これをユーザープログラムと呼んでいます)。

06_dsnano_user
DS-nano-とのデータ通信仕様を公開しておりますので、それに基づいて通信を行うプログラムであれば、DS-nano-との接続が可能です。いくつかのサンプルプログラム(テンプレートとなるプログラム:C++言語)もご提供しております。

CGコマンド

ユーザープログラムから送信するCGコマンドによって、DS画面上に、ユーザーが指定する様々な情報を、所定の位置に表示することが可能となります。たとえば、インパネのデザインを変更したり、画面上の他車両・歩行者等にマーカーを表示したりといったことを行うことができます。

07_dsnano_user

userprog_ig_command

 

エージェントコマンド(シナリオコマンド)

エージェントコマンド(シナリオコマンド)は、ユーザープログラムからシナリオ・データを動的に変更したり実行させたりするためのコマンドです。ERIS3で設定するシナリオ・データだけでの実行に比べて、より柔軟で高度なシナリオを実現することができます。たとえば、

  • 車両が停止して、ドライバがブレーキペダルからアクセルペダルへと踏みかえたと同時に歩行者を横断させる
  • DS車両が右折するときに、ちょうど衝突するタイミングとなるように対向直進車の走行速度を動的に調整する
  • 交通量に応じて、信号現示をアクティブに制御する

というようなことが可能です。

送信できるコマンドの種類には、以下のようなものがあります。

  • 初期出現位置設定コマンド
  • イベント・パラメータ設定コマンド
  • イベント設定コマンド
  • イベント発生コマンド

「DS車両が右折するときに、ちょうど衝突するタイミングとなるように対向直進車の走行速度を動的に調整する」場合には、DS車の衝突予定地点までのTTCを算出して、対向直進車の衝突予定地点までの距離を算出したTTCで割り算して対向直進車に設定すべき速度を決定し、”Change Control Mode”イベントを設定するコマンドとイベントを生起させるコマンドを同時に送ります。

userprog_event_control