josiasalexandre / carmen_hybrid_astar

The Hybrid A* Path Planner - Adapted to CARMEN Framework
10 stars 10 forks source link

how to run the peoject? #1

Open Forrest-Z opened 6 years ago

Forrest-Z commented 6 years ago

hi,do you have wiki to this project ? thank you

josiasalexandre commented 6 years ago

Hi, It's an old project and it was meant to run in the outdated CARMEN framework.

Let me know what is your project and how I can help you.

Josias

Forrest-Z commented 6 years ago

Hi, I building the project without CARMEN successful,.When i put the map data to the project ,the Voronoi Diagram feel like wrong,I save the Voronoi Diagram image,the color is blue,do you have any idea with it ?

josiasalexandre commented 6 years ago

The voronoy diagram uses a RDDF message in order to build the obstacle distance map and the voronoy diagram around the desired path. See this video: https://www.youtube.com/watch?v=EcyTxEO0qKI

Let me know please what is your project.

Forrest-Z commented 6 years ago

I want to implement hybrid astar path planner for car-like robot , I saw the hybrid astar path planner implement by standford , it's amazin work . When I saw you project , I want to do some work base you project. Do you know any path planner for car-like robot ? thank you.

josiasalexandre commented 6 years ago

Hi,

This project is still in progress and I need to rewrite a lot of stuff. Currently, there is some bugs in the conjugate gradient optimizer (I started from scratch, just for fun). You can replace the optimizer or help me solve those bugs. I also would like to remove my custom (and not so good) templated vector and matrices classes and bring the Eigen library to the project. Certaintly I would refactor the entire code with better code practices.

In this project I also added another heuristic based on the STHES path planner.

About your last question, I was very involved in path and motion planner subjects in the last years and I see that there's a lot of different planners around. The Hybrid Astar is meant to be used in semi-structured environments.

Forrest-Z commented 6 years ago

Thanks

xilinnancheng commented 4 years ago

I have a question whther the gradient of curvature term is right. Maybe we can sync with it.

josiasalexandre commented 4 years ago

Hi!

Let me know please your consideration. Feel free to contribute.

What do you think about creating a new project together and replace the optimizer and the vector library?

xilinnancheng commented 4 years ago

The derivative of k in the paper has same wrong sign. And p1 and p2 are relative to delta_xi and delta_xi+1 rather than xi and xi+1.
Maybe you can try to calculate it by yourself.

xilinnancheng commented 4 years ago

I don't know how to run your project. Can you make your project base on ROS?

josiasalexandre commented 4 years ago

Hi! It would be great to port this project to ROS! Can we make this effort joinlty?

I would take another look at the derivatives and I'll get back to you.

xilinnancheng commented 4 years ago

Yes,let us work it together!

josiasalexandre commented 4 years ago

Great!

Are you using ROS2?

Let me know please your context and your project! I would be very glad to help you.

josiasalexandre commented 4 years ago

My email is josiasalexandre@gmail.com and we can use another channel if you like.

xilinnancheng commented 4 years ago

I work on my corp's environment so i can't share the project online. Maybe I can create my own simple project on ROS1 to test it.

josiasalexandre commented 4 years ago

I see. I'm a curious person. Just describe your project, what are you doing, if possible.

I'll start a ROS1 project, let me know the version and I'll setup my environment. I'm using ROS2 in my projects. I'm finishing my masters and I'm currently starting my startup. We are focused in robotics related stuff.

xilinnancheng commented 4 years ago

OK, I'm a self-driving engineer and work on freespace planning which we want to use it to handle complex scenes. I'm also finishing my masters.

josiasalexandre commented 4 years ago

That's great!

So let's start! Let me know wich ROS version and I'll share a new project with you.

josiasalexandre commented 4 years ago

I want to move to Eigen library and use another Conjugate Gradient Optimizer. What do you think?

xilinnancheng commented 4 years ago

Kinetic is OK. Thanks!

xilinnancheng commented 4 years ago

No problem

josiasalexandre commented 4 years ago

This project makes usage of an online Voronoy diagram wich is very expensive in my implementation (http://www2.informatik.uni-freiburg.de/~lau/paper/lau10iros.pdf). Are you going to pre-compute the voronoy diagram and serve it through the map server? I build this project long time ago, for a given undergraduate course and at that time we had to care of moving objects so an offline voronoy diagram was not appropriate. This Voronoy diagram also have a convenient way to retrieve the nearest obstacle given a grid map cell.

Maybe it's possible to update the Voronoy Diagram to GPU in a different approach or use another ready to go implementation. Do you know another options?

josiasalexandre commented 4 years ago

Which license is appropriate to your company?

xilinnancheng commented 4 years ago

How much time does the voronoi-diagram consumes? I also use the same method in my own project. Maybe the method in https://github.com/ethz-asl/mav_voxblox_planning will give you some ideas. This method is applied in 3D environment.

xilinnancheng commented 4 years ago

MIT license is OK. I just want to verify this cg-optimizer method can work well.

josiasalexandre commented 4 years ago

At that time, a 150 x 150m map with 0.2m grid cell took around 1s in an i5 2400GHz notebook, but our autonomous vehicle design required at least 10Hz. Do you use voxblox in your current work? It looks great and it would be very nice to integrate in this project. Send me your impressions or review, if you have experienced voxblox before.

xilinnancheng commented 4 years ago

No, I don't use voxblox currently. I think the voxblox has same idea with (http://www2.informatik.uni-freiburg.de/~lau/paper/lau10iros.pdf). I just investigated the method which the voxblox use it to compare different obstacle.

xilinnancheng commented 4 years ago

First setup voronoi-diagram takes 1s. But I think the time when replan process take may decrease. Because only partial part of environment updates.

josiasalexandre commented 4 years ago

I have invited you to a new repo. I'll update the code there and you can already start a new ros project inside the repo and push your starting project. I'll keep inserting the code and including the updates.

We probably have very different timezones, so I'll take a brake now and return later. It's midnight over here.

If you want we can make a call thursday and I'll show you this old project already running in a Carmen environment.

Thanks!

josiasalexandre commented 4 years ago

I think I had a worse time in the first setup and 1s in the next updates. It was probably due to the low power pc and the unoptimized code.

xilinnancheng commented 4 years ago

OK,thanks!

xilinnancheng commented 4 years ago

Hi, i can't find your new repro. please ask me if you create it. Btw, I have found the paper with correct equation. https://sci-hub.se/10.1109/access.2018.2845448

josiasalexandre commented 4 years ago

https://github.com/josiasalexandre/ros_hybrid_astar/invitations

xilinnancheng commented 4 years ago

OK, Thanks.

josiasalexandre commented 4 years ago

Can you start your ROS1 project and push it to the new repo?

josiasalexandre commented 4 years ago

?

josiasalexandre commented 4 years ago

I have found a lot of issues in the smoother but I finally got the correct solution. It works now. As you mentioned, there was some error in the derivatives, including other issues indicated elsewere.

Currently, I have an working version running in ROS Dashing. I'll create another repo in the near future.