交通工学モデルを現在行っており,交差点に車を走らせるモデルを作っています.
車を走らせる際に,前方車の登録をある範囲内の車を捉え,自分が走行している方向が同じかつ,自分の位置より前にいてもっとも自分に近いエージェントを前方車として登録するようにしています.(1枚目参照)
1枚目の写真のあとの記述では,走行時に,前方車を感知している場合,前方車との距離が十分にあれば,自由な加減速を行い,現在の速度のまま走行を行うと,前方車と衝突してしまうと判断すれば,前方車に追従する加減速度を速度に加え走行するといった記述を加えています.
ここで,本題ですが,前方車登録の際に,前方車はfrontCarというエージェント変数を定義しています.
ここで,2枚目の写真の追従走行のときの下の行のfrontCarの部分で,初期化しないで使用しているとエラーが出ます.
このエラーを起こさないためにはどうすればよいのでしょうか?
説明に至らない部分はあったかと思いますが,ぜひお分かりのかたがいらっしゃいましたらご指導お願いします.
エラーメッセージの通り、初期化しないで値を参照しているのでエラーになっているものと思います。
このような場合は、初期値として自分自身のエージェント値を代入し、
frontCar = My.UniqueID
前方車がいる場合は、frontCarを上書きしておく、
追従走行の判定時に、frontCarが自分自身のエージェント値と同じであれば、追従走行していないと判定すればよいと思います。