marinaKollmitz / human_aware_navigation

The human_aware_navigation repository includes ROS packages to enable the planning of navigation paths that take human comfort into account
BSD 2-Clause "Simplified" License
122 stars 59 forks source link

lattice planner problems #8

Open zkxwy1996 opened 3 years ago

zkxwy1996 commented 3 years ago

Hello,When reproducing the code, I don't know how to get some in state_discretizer.cpp Formulas used in,such as Line 83 in state_discretizer: int max_angle = (int) ((4 M_PI) / (acc_w time_delta) + 1); These may involve the knowledge of lattice planner. Do you have any relevant paper recommendations for the formulas used in this?

marinaKollmitz commented 3 years ago

The state_discretizer code converts planning states between continuous and discrete representations. The discrete representation is mostly for checking if a state has already been expanded during search (have a look at standard A* algorithms). The line you are referring to is for calculating how many discrete angles the planner can achieve. The planner plans with a constant time step of time_delta, so there are only a limited number of angles for planning when the angular acceleration is assumed to be constant.

zkxwy1996 commented 3 years ago

Thank you for your answer! I have another question, when calculate value of 2D Gaussian function, the function "calcGaussian(double pos_x, double pos_y, double origin_x, double origin_y,double amplitude, double variance_x, double variance_y, double skew)" ,I don't understand what “skew” stands for。you explain it as "skew to zero angle" ,but i can't understand it ,Can you explain it in detail,and I look forward to your reply。