Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Trigger Motion Planners in Apollo 6.0 - Usage Path Planning Tutorial ? #13763

Closed
marcusvinicius178 opened this issue May 9, 2021 · 1 comment
Assignees
Labels
Apollo 6.0 Module: Planning Indicates planning module related issue

Comments

@marcusvinicius178
Copy link

marcusvinicius178 commented May 9, 2021

Hi I am new user of Apollo and need some quick support to toward me to a Path Planner usage tutorial.
I still have not it found in google, but I am aware Apollo offers these planners from the repo I have forked:
https://github.com/marcusvinicius178/apollo/tree/master/modules/planning/planner

But related to tutorials, I have just found a conceptual course in Udacity:
https://www.udacity.com/course/self-driving-car-fundamentals-featuring-apollo--ud0419.

It is not explained here how to manage the Apollo Framework, unfortunately.

Regarding my Project:
I am using Ubuntu 20.04, Apollo 6.0 alongside SVL simulator with Docker Image. The goal of my project is trigger different motion planners for an evasive maneuver, record a rosbag and plot the data in order to compare/benchmark the planners.

I followed this great Apollo tutorial from Steve Lemke:
https://www.youtube.com/watch?v=Ucr0aM334_k

Then I have Customized my Scenario with an NPC Agent. Afterwards launched the required modules to move the car autonomously. With excpetion of Perception module (due not so powerful notebook, I am using the modular perception, with ground Truth to track the obstacles).

My issue is that I do not locate where the Path Planners modules (specifically the motion planners-obstacle avoiders) can be triggered to allow the Ego Vehicle an evasive maneuver. In this way my vehicle got stuck when tracked the static vehicle. As you can check below:

https://youtu.be/sQI9B8kVkW8
https://www.youtube.com/watch?v=9keDL75MS8M

I am already very skilled with ROS and Autoware.AI and Autoware.Auto AD stacks. Autoware.AI specifically has a very good interface (Runtime Manager) to Launch the desired motion planners:

planners_AutowareAI

Autoware.Auto is not so flexible to switch motion planners. And the planner they use for the AVP ODD is triggered through the cmd line: ROS2 launch...

Despite I have learned a lot from Autoware, I got stuck with their Perception module that fails to generate the Costmap properly and does not recognize the Agents:lgsvl/simulator#1401

For this reason I stopped using it, and migrated to Apollo to finish my master's simulation.

Could you please share me Path Planning tutorials? Where is this motion planners interface ? or if there is not interface (on dreamview) how to launch these motion planners with the cyber/ros code?

I have found these issues #3462 and #2429
from @lesun90 , @hzdsdhr but I am still not comprehending how to use and switch the planners.
@jmtao could you send me some hint? I checked you answered a lot of questions regarding path planning module. I am a beginner in Apollo.

Thanks very much in advance

@marcusvinicius178
Copy link
Author

marcusvinicius178 commented May 9, 2021

I tried to change the motion planners from Apollo, changing the code in planning_config.proto file, as suggested here #2429 .

However when changing the code (numbers related to planners) on lines 328-347:

planners_switch_code

I get bunch of errors in terminal. I have changed at first time the 3 blocks of code above:

message RtkPlanningConfig:
from planner_type =1 to planner_type = 2

message StandardPlanningConfig:
from planner_type =1 to planner_type = 2

message NavigationPlanningConfig:
from planner_type =1 to planner_type = 2

Also tried with the other ones (planner_type = 0 and planner_type =3). But anyone worked.
Finally I tried changing JUST the last block of code:

-message NavigationPlanningConfig
from planner_type =1 to planner_type = 2

Then the built was done and the planning module was compiled with success. However an "apparent success", because the car has not moved anymore, as you can check in video below:

https://youtu.be/u8StWaFlmsc

On cyber_monitor I also checked the Apollo Planning and control module was in red therefore not working... They worked at first time (without any modification, with the standard docker image code). However even now after restore the standard planner in the code, the planning module does not work anymore. Must I clean the Workspace? Which command is necessary to run ir order to clean it? I didn't know that the workspace had residual builts after restore the original code...

Please let me know how to properly switch the path-planners with Apollo 6.0. A step-by-step procedure/tutorial/usage is very very welcome.

Thanks in advance.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Apollo 6.0 Module: Planning Indicates planning module related issue
Projects
None yet
Development

No branches or pull requests

5 participants