jvirdi2 / A_star_and_Hybrid_A_star

Given a graph, A* finds the optimal path, if it exists, joining the start node to the goal node. Hybrid A* takes vehicle dynamics into consideration and generates a smoother path which the vehicle can follow. Both the implementations are optimized using dictionaries & heaps
23 stars 5 forks source link

How to use bicycle kinematics model? #2

Open GuancongLuo opened 4 years ago

GuancongLuo commented 4 years ago

Hi, jvirdi2 Thank you for your share!

I have one question about the bicycle model.

Where I read 'hybrid_a_star_optimised.py', I didn't see the bicycle kinematics model on 'find path' function

neighbour_x_cts = chosen_c_node[0] + (velocity * math.cos(math.radians(chosen_c_node[2]))) neighbour_y_cts = chosen_c_node[1] + (velocity * math.sin(math.radians(chosen_c_node[2]))) neighbour_theta_cts = math.radians(chosen_c_node[2]) + (velocity * math.tan(math.radians(delta))/(float(self.vehicle_length)))

image

image

Could use tell me how to use this model?

jvirdi2 commented 4 years ago

Yes, my model uses simple xdot=Vcos(theta), Ydot=Vsin(theta), theta_dot=(v/L)tan(delta) . Your model is just an extension. So in your hybrid A*, you will have 4 states, I believe (In my case, there are 3 states X, Y theta.) You maintain continuous and discrete states and so on.

I built a tutorial of this on youtube, You can check it. A- https://www.youtube.com/watch?v=CwD9elei0Ow Hybrid A-https://www.youtube.com/watch?v=QAzyG2DB8Io

Best Jasvir.

On Tue, Jun 9, 2020 at 1:57 AM GuancongLuo notifications@github.com wrote:

Hi, jvirdi2 Thank you for your share!

I have one question about the bicycle model.

Where I read 'hybrid_a_star_optimised.py', I didn't see the bicycle kinematics model on 'find path' function

neighbour_x_cts = chosen_c_node[0] + (velocity math.cos(math.radians(chosen_c_node[2]))) neighbour_y_cts = chosen_c_node[1] + (velocity math.sin(math.radians(chosen_c_node[2]))) neighbour_theta_cts = math.radians(chosen_c_node[2]) + (velocity * math.tan(math.radians(delta))/(float(self.vehicle_length)))

[image: image] https://user-images.githubusercontent.com/41011340/84109990-92801b80-aa56-11ea-8219-dff745b1d59e.png

[image: image] https://user-images.githubusercontent.com/41011340/84111116-cf4d1200-aa58-11ea-96ef-217544d0fe60.png

Could use tell me how to use this model?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/jvirdi2/A_star_and_Hybrid_A_star/issues/2, or unsubscribe https://github.com/notifications/unsubscribe-auth/AKTTOXOBDITMJTUZGHNCSQ3RVXFNNANCNFSM4NZCHI7Q .