Confusing implementation of op planner

Hi Autoware team, I was trying to understand the implementation of op planner. I think some implementation is confusing and I am wondering whether I can get some help here.

I was trying to understand how autoware will update the velocity at the FOLLOW state. The code is located at (common/op_planner/src/DecisionMaker.cpp, line 379 (Autoware.AI 1.14)). In my understanding, we should pick a desired velocity that can avoid the collision.

I am confused about the variable inv_time here. What is the semantic meaning of inv_time and why it is calculated from the difference between a distance variable and a speed variable? Here is the detailed code:

double inv_time = 2.0*((beh.followDistance- (critical_long_front_distance+m_params.additionalBrakingDistance))-CurrStatus.speed);


Software: Autoware.AI (common repo)

Version: 1.14

Thanks a lot!

edit retag close merge delete

Sort by ยป oldest newest most voted

inv_time, is the time to collision if the distance to the obstacle is (beh.followDistance- (critical_long_front_distance+m_params.additionalBrakingDistance) and current vehicle speed is CurrStatus.speed.

This part actually wasn't working as well as intended for real vehicle, only in perfect simulation.

In OpenPlanner 2.0 this part was improved a lot.

Regards,

more

Thanks for the answer! I have a few follow-up questions.

• The collision time should be calculated by the division between the distance and the speed. Why the result here is the difference between the distance and the speed? Is this an implementation bug?

• I am not sure about the semantic meaning of constant 2.0. I guess you assume that the car will decelerate until the speed is zero in front of the blocking obstacle and here 2.0 is used to calculate the average speed during the deceleration. Please let me know if my understanding is wrong.

• Whether open planner 2.0 has been publicly released now? I am really looking forward to that.

Thanks a lot!

( 2021-03-11 11:28:06 -0500 )edit

Maybe it was a bus ! but kindly revise the different shapes of the equations of motions. OpenPlanner 2.0 implementation is in branch openplanner.1.13 , 1- Clone Autoware.AI release 1.13.0 2- change the remote origin url to the repository https://github.com/hatem-darweesh, for projects (common, core_planning, core_perception) 3- check out branch openplanner.1.13 for all three projects . Regards,

( 2021-03-12 00:13:07 -0500 )edit

Thanks for the reply! I checked the project you mentioned and seems that open planner 2.0 uses a different shape of equations. After comparing the two different versions, I am pretty sure that this is an implementation bug. The inv_time should be calculated from the division. Is there any possibility that you could verify that?

Thanks a lot!

( 2021-03-12 01:15:40 -0500 )edit

Sorry, I can't say for sure.

But if it doesn't work with your test, then you should change it to whatever you think it works.

Sometimes what work in my simulation environment doesn't necessarily work with others.

( 2021-03-13 02:23:38 -0500 )edit

Thanks for the answer! I will test it with the simulation.

( 2021-03-15 14:08:31 -0500 )edit