This week was mainly focused on writing the dissertation. At this stage of the work, only some minor adjustments are needed to code. Since the Velociy Obstacles principle used in this work only focuses on linear trajectories, the calculations are now only made when the ATLASCAR2 is not turning. To do so, the code now subscribes to the Short Term Path node to receive the direction message published by it.
Previously, the direction was set to display left or right when the steering wheel angle was at value greater than 0 degrees. However, since most drivers don't drive that straight forward, the message now informs the direction when the angular velocity of the ATLASCAR is greater than 0.01 rad/s.
By subscribing to the direction data the VO node now only calculates and displays the Velocity Cones when the ATLASCAR is not making a sharp turn. This eliminates the errors when the car is turning and the instant relative velocity vector informs an imminent collision. However, when another vehicle is turning the same error accurs. As of now there is not way to determine if an obstacle is turning, meaning that this erros cannot be tackled.
The collision indication when the ATLASCAR2, or the moving obstacle, is turning does not pose a serious threat to the driver (at best it is considered defensive driving), however if this program would to be applied in a maneuver decision algorithm these false positives would cause instability.
To better perceive the collision cone decions making, the relative velocity vector of each colliding target is now displayed in the car's base_link frame. This allows to see if the relative velocity vector lies indeed within the VO collision cone.
Due to the prior lack of knowledge of the ATLASCAR2 odometry, the predicted collision zones were not displayed. To display this collision zones the ATLASCAR2's own velocity must be subtracted from the relative velocity vector. The GNN velocity data is known to be somewhat incorrect (as the previous studies point out), nevertheless since the Short Term Path (which also publishes the ATLASCAR2 current velocity vector) is already subscribed to, this information was used to shift the current collision circles by the obstacle's real velocity vector (relative velocity vector-ATLASCAR2 velocity vector).
The rosbag merge done in the previous weeks shows now even more delay, due to the computation demand of all the nodes, so all this changes are almost impossible to visualize. To account for this, next week all the code developed will be tested live on the ATLASCAR2.