ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
0

Autoware Openplanner Following behaviour

asked 2020-05-21 07:30:09 -0500

Mackou gravatar image

updated 2020-05-21 07:49:54 -0500

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 :

As you can see its not very good :

  • The speed is not smooth.
    • I could reduce maxAcceleration and maxDeceleration but would it stop in time if there is an obstacle or if the leading car emergency brake ?
  • 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

edit retag flag offensive close merge delete

1 Answer

Sort by ยป oldest newest most voted
1

answered 2020-05-21 17:00:25 -0500

Hatem gravatar image

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:

  1. Make sure the controller frequency >= local planning frequency
  2. Make sure that the delay between the simulator and the planner is less than 50 ms
  3. Change the speed profilter in the decision maker to work as open loop and ignore feedback from the vehicle state.

Hope this is helpful.

edit flag offensive delete link more

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 ...

(more)
Mackou gravatar image Mackou  ( 2020-05-21 18:04:35 -0500 )edit

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.

Hatem gravatar image Hatem  ( 2020-05-21 23:33:51 -0500 )edit

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

Mackou gravatar image Mackou  ( 2020-05-25 01:36:53 -0500 )edit

are you using velocity set or lane planner nodes with OpenPlanner nodes ?

Hatem gravatar image Hatem  ( 2020-05-25 01:59:51 -0500 )edit

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 ?

Hatem gravatar image Hatem  ( 2020-05-25 02:05:41 -0500 )edit

@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

Mackou gravatar image Mackou  ( 2020-05-25 02:26:20 -0500 )edit

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.

Hatem gravatar image Hatem  ( 2020-05-25 05:55:20 -0500 )edit

@Hatem, just sent you a message there

Mackou gravatar image Mackou  ( 2020-05-25 06:57:48 -0500 )edit

Question Tools

1 follower

Stats

Asked: 2020-05-21 07:30:09 -0500

Seen: 884 times

Last updated: May 21 '20