How to implement obstacles avoidance in Autoware
I am running Autoware with LGSVL Simulator and I want to know how to avoid obstacles in the simulator, specially, don't crash.
I guess the following nodes are necessary:
- visionssddetect
- lidareuclideancluster_detect
- range_fusion
- immukfpda_track
- naivemotionpredict
- costmap_generator
- astar_avoid
- velocity_set
Are there any missing or incorrect nodes here? I hope to hear your advice.
Thank you
Ubuntu 16.04 Kinetic
Autoware 1.12.0
Asked by yfshe on 2019-09-23 01:07:06 UTC
Answers
I am also interested in this topic. I used open planner and dp planner and so multiple paths are generated and an alternative one has to be picked if there is an obstacle on the way. I am not sure which nodes are to be run to detect objects, position them and so the planner can reroute safely.
Asked by cassini.huygens on 2019-09-23 19:59:03 UTC
Comments
Your node list looks correct. However, I recommend using lidar_point_pillars in place of lidar_euclidean_cluster_detect, if you don't have commercial-use restrictions. It does a much better job and uses GPU acceleration.
Asked by Josh Whitley on 2019-09-27 07:49:21 UTC
Comments
Yfshe, Maximus5684, Cassshine.huygens!
Did you implement successfully in avoiding the obstacle? I am very interested in this topic.
I tried your suggestion but it's not successful. There is error when I enable avoidance in astar_avoid node and the vehicle does not move.
Invalid argument passed to lookup transform argument target_frame in tf2 frame_ids cannot be empty.
Can you tell me what reason about the error?
Thank you very much!
My environment:
Ubuntu 18.04 Kinetic
Autoware 1.12.0
YOLO algorithm!
Asked by tiensu on 2019-10-29 05:51:34 UTC
Sorry, I didn't implement. astar_avoid does have a lot of problems. But I found that velocity_set can use point cloud data to independently solve the obstacle avoidance, although it does not use any neural network technology. Since my task is only to avoid collision, and velocity_set can meet the requirements, I did not further study astar_void.
Asked by yfshe on 2019-11-19 04:54:49 UTC
Can you guide me on how to use velocity_set and point cloud data to solve the obstacle avoidance? How to vehicle knows which is an obstacle? My task is only to avoid the collision, too. I would appreciate your help!
Asked by tiensu on 2019-11-19 21:39:42 UTC
The obstacleDetection function in velocity_set is responsible for obstacle detection. There are two key points to use velocity_set, one is to set correct points_topic param, like "points_raw", the other is to set param_flag param value to 0 in the pure_pursuit. For details, check the source code.
Asked by yfshe on 2019-11-21 11:33:31 UTC
Thank yfshe! I will check the source. Can I ask you more questions? Which nodes do I need to check (enable) on Autoware to do this function? I think that some nodes in the Detection package must be checked to detect obstacles. Is that right?
Asked by tiensu on 2019-11-21 21:35:31 UTC
Hi yefshe! On Autoware Manager, I selected nodes: - astar_avoid - velocity_set - purse_pursuit - twist_filter I changed Points Topic from points_no_ground to points_raw in velocity_set, and select Waypoint in pure_pursuit, but the car does not move. Please tell me if I'm wrong. Thank you very much!
Asked by tiensu on 2019-11-22 02:04:09 UTC
I think this is two problems. You should let the car move first and then think about avoiding obstacles. The velocity_set is mainly related to the latter. Did you read the documentation of Autoware and understand the complete running process of Autoware, like mapping, localization, way_planner, etc? I suggest you refer to these ".launch" files in the autoware-data, it will give you some help.
Asked by yfshe on 2019-11-25 13:07:21 UTC
Hi yfshe! I already made the car move. I also used autoware-data as you said. I configured the detection package successfully and display detected object, velocity, distance on Rviz. Now, I want to make the car avoid obstacles. Currently, the car alway hit into other cars. Please share with me how do you do, how do you config autoware to the car avoid obstacles. I am stuck on this problem for a long time. Thank you very much!
Asked by tiensu on 2019-11-25 21:46:01 UTC
Maybe you can open another question and post your launch file of motion planning.
Asked by yfshe on 2019-11-26 04:45:52 UTC
@tiensu,excuse me,my problem is very similar to yours.I made the car move,and I also used autoware-data as you said. I configured the detection package successfully and display detected object, velocity, distance on Rviz. I hope the astar_avoid node can turn on the obstacle avoidance function.So I'd like to ask you did you succeed in the end? If it succeeds, can you share with me how to achieve it? Thanks a lot!
Asked by blacksheep0303 on 2020-10-08 10:01:44 UTC
@tiensu , Hi, tiensu! I have same problem with you. Did you resolve that? If you resolve it, could you share method about this problem?
Asked by cwhong on 2020-11-12 02:01:04 UTC