## Collision Avoidance

- The node finds nodes in the field of view ( dependent on its velocity vector ) .
- The node picks nodes, which effect on its mobility, among nodes found in 1. with
their velocity vectors. We call the picked node "target node".

- Velocity vector for avoiding target nodes is calculated with self-position, self-velocity vector,
position and velocity vector of target nodes(
*[1]* ).

- For all of target nodes 3. is run, and the vector close to the original vector of the node is
selected from both ends among nominated vectors.

If the dot product of the velocity vector calculated in 3. and the original vector of the node is minus
(the angle between two vectors is over 90 degree), the velocity scalar is decreased and 1. is run again. Even so, if
proper vector is not founded, the velocity vector is (0.0, 0.0).

[1]岡田公孝, 和田剛, 高橋幸雄, "個人行動をベースにした歩行モデルと歩行流シミュレーション",
日本オペレーションズ・リサーチ学会, 春季研究発表会, 2003. (Japanese literature)