Ask Your Question

Confusing implementation of op planner

asked 2021-03-10 14:22:51 -0500

ZW gravatar image

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

Link to the code:

Thanks a lot!

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted

answered 2021-03-11 06:52:58 -0500

Hatem gravatar image

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.


edit flag offensive delete link 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!

ZW gravatar image ZW  ( 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, for projects (common, core_planning, core_perception) 3- check out branch openplanner.1.13 for all three projects . Regards,

Hatem gravatar image Hatem  ( 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!

ZW gravatar image ZW  ( 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.

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

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

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

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower


Asked: 2021-03-10 14:22:51 -0500

Seen: 144 times

Last updated: Mar 11 '21