Autoware Openplanner Following behaviour
Hello,
I am trying to follow a car smoothly using Autoware 1.13 (oap5) and Openplanner. Here is my config file : https://pastebin.com/8CtzAN7b
Here are two examples of the current status of the following using LG sim :
- https://youtu.be/b82LVp7XFIU
- https://youtu.be/RCA9-B6nKVo (
enableSwerving = true
,rollOutsNumber = 0
) - https://youtu.be/E9YwDL6G9Bg (
additionalBrakingDistance = 25.0
)
As you can see its not very good :
- The speed is not smooth.
- I could reduce
maxAcceleration
andmaxDeceleration
but would it stop in time if there is an obstacle or if the leading car emergency brake ?
- I could reduce
- The car will drive until being dangerousely close, then stop, then go again.
- The following distance is not smooth
How could I improve the smoothness and the behavior of the car so it follows the leading car smoothly ?
Also I have noticed these problems when stopping before a static obstacle :
- Sometimes the car will stop at some distance
- How is this distance defined ? Which parameter ?
- Sometimes the car will stop when the obstacle reach the safety box, sometimes before.
- Why ?
Can you give your opinion here @Hatem ? Would the next version of OP help ?
Thanks a lot
Asked by Mackou on 2020-05-21 07:30:09 UTC
Answers
Hi @Mackou,
I faced the same problem with CARLA. the main reasons are:
- Signal delay Delay between the simulator and the local planner
- Controller frequency
The speed profiler in the DecisionMaker.cpp is a closed loop profiler, which utilize time delta. and it is runnin 50 hz. so when there is no velocity signal update. no change happen into the local planner side.
The workaround, in the FOLLOW case in the DecisionMaker.cpp , set the target velocity to zero. and as you did, set the additional braking distance to 15+.
If you look at my repository "openplannet.1.13" branch, I added a special flag for CARLA. whenever you find this flag, you can find simulation related workarounds.
The correct solution:
- Make sure the controller frequency >= local planning frequency
- Make sure that the delay between the simulator and the planner is less than 50 ms
- Change the speed profilter in the decision maker to work as open loop and ignore feedback from the vehicle state.
Hope this is helpful.
Asked by Hatem on 2020-05-21 17:00:25 UTC
Comments
Hello @Hatem and thanks for your answer.
I dont understand fully.
What I understand :
- closed loop profiler runs at 50 Hz
- The problem is caused by the velocity signal rate too low (<50 Hz)
- Here the velocity that is not updated often enough is the target velocity, not the current velocity, right ?
My questions :
Make sure the controller frequency >= local planning frequency
- Did you use pure pursuit ? How did you get a controller publishing a twist at 50 Hz ?
- The topic is
/twist_raw
or/twist_cmd
? ,op_behaviour_selector
subscribes to both. - Best solution would be to change pure_pursuit code and make it run at 50Hz ?
Make sure that the delay between the simulator and the planner is less than 50 ms
They are running on the same computer so it should be fine.
Change the speed profilter in the decision maker to work as open loop and ignore feedback from the vehicle state.
How bad of a solution is this ?
Asked by Mackou on 2020-05-21 18:04:35 UTC
No, I don't mean pure pursuit, I mean the controller that transfer /twist_raw & /twist_cmd to actual simulated velocity.
in CARLA was the Ackerman controller.
This controller is in the bridge or inside the simulator. I don't now exactly in LGSVL where is that controller.
Change the profiler to work as open loop, isn't that bad. Just will not be smooth.
Asked by Hatem on 2020-05-21 23:33:51 UTC
Thanks @Hatem for your answer, I have checked and opened an issue on lgsvl github.
We went for a try with a real car to try, our controller should not have any frequency issue, but we still experienced the same behavior, here's a video example : https://youtu.be/3rBsKPwI9v4
Asked by Mackou on 2020-05-25 01:36:53 UTC
are you using velocity set or lane planner nodes with OpenPlanner nodes ?
Asked by Hatem on 2020-05-25 01:59:51 UTC
So the current problem is that follow, stops and then move again ? is your problem that it crash into the object or brake so closely ?
Asked by Hatem on 2020-05-25 02:05:41 UTC
@Hatem, No we are not using lane_planner or velocity_set, only openplanner nodes.
Yes exactly, the problem seems to be that in follow mode it just drives into the car and stops when the obstacle touches the safety box. I think it's not an expected behavior. Could it be that our speedProfileFactor is too low ? (1.5)
Thanks a lot for your help
Asked by Mackou on 2020-05-25 02:26:20 UTC
No, it has nothing to do with speedProfileFactor, this one affect only the corner speeds.
@Mackou, Let's talk on Autoware Slack, I think you can help me fix this behavior for the new version. you have a collection of solid test environments. which I don't have time to use. so if we cooperate I guess this will make OpenPlanner much better.
Asked by Hatem on 2020-05-25 05:55:20 UTC
@Hatem, just sent you a message there
Asked by Mackou on 2020-05-25 06:57:48 UTC
hello @Mackou, what nodes are you running for generating the velocity profile for the paths? Thanks in advance :)
Asked by Pplan53 on 2021-02-16 04:55:32 UTC
Hello guys, I am running into similar kind of problems while testing openPlanner. @Mackou, did you find out the cause of problem?
Asked by 08beeqtufail on 2021-10-11 10:25:02 UTC
Comments