Bottle101 / Air-FAR

7 stars 2 forks source link

When the map became larger, and the program entered the segment error #4

Open hcws opened 3 days ago

hcws commented 3 days ago

1. This is my outdoor.yaml file

# Dynamic Planner Default Params
main_run_freq                           : 5
voxel_dim                               : 0.5   # Unit: meter
robot_dim                               : 2.4   # Unit: meter
vehicle_height                          : 1.6   # Unit: meter
sensor_range                            : 300.0  # Unit: meter
reproject_dist                          : 5.0   # Unit: meter
layer_resoltion                         : 1.2
neighbor_layer_num                      : 1
visualize_ratio                         : 0.75
is_inter_navpoint                       : true
is_simulation                           : true
is_trajectory                           : false
attempt_autoswitch                      : true
world_frame                             : map

# Graph Messager
GraphMsger/robot_id                     : 0

# Map Handler Params
MapHandler/ceil_length                  : 100.0    # Unit: meter
MapHandler/map_grid_max_length          : 2000.0 # Unit: meter
MapHandler/map_grad_max_height          : 200.0  # Unit: meter 

# Scan Handler Params
ScanHandler/inflate_scan_size           : 5

# Dynamic Planner Utility Params
Util/angle_noise                        : 12.0 # Unit: degree
Util/accept_max_align_angle             : 15.0  # Unit: degree
Util/new_intensity_thred                : 2.0
Util/nav_clear_dist                     : 0.75
Util/terrain_free_Z                     : 0.25
Util/dyosb_update_thred                 : 4
Util/new_point_counter                  : 3
Util/inflate_counter                    : 1
Util/dynamic_obs_dacay_time             : 1.0

# Dynamic Graph Params
Graph/node_near_dist                    : 1.5   # Unit: meter
Graph/move_thred                        : 0.1   # Unit: meter
Graph/connect_votes_size                : 3
Graph/trajectory_interval_ratio         : 2.5
Graph/terrain_inflate_size              : 5      
Graph/clear_dumper_thred                : 4
Graph/node_finalize_thred               : 6
Graph/RANSAC_pool_size                  : 12
Graph/vertical_angle_thred              : 40.0  # Unit: degree
Graph/connect_angle_thred               : 6.0   # Unit: degree
Graph/pos_filter_margin                 : 0.5   # Unit: meter
Graph/dirs_filter_margin                : 10.0  # Unit: degree

# Corner Detector Params
CDetector/resize_ratio                  : 2.0
CDetector/img_blur_size                 : 7.0
CDetector/filter_count_value            : 3
CDetector/approx_eps                    : 0.01 # 0.005 is pretty good, if the environment is really complex (near_node number > 1000), you can try 0.01
CDetector/is_inflate_image              : true
CDetector/is_save_img                   : false
CDetector/img_folder_path               : /home/bottle/hbt_ws/AirFar_dev/data/contour_campus/revised/

# Graph Planner Params
GPlanner/converge_distance              : 1.5
GPlanner/goal_adjust_radius             : 100.0
GPlanner/goal_z_tolerance               : 3.0
GPlanner/free_counter_thred             : 7
GPlanner/free_box_dim                   : 0.85 # Unit: meter
GPlanner/reach_goal_vote_size           : 3
GPlanner/move_momentum_dist             : 0.85
GPlanner/path_momentum_thred            : 5
GPlanner/clear_inflate_size             : 3

# Contour Graph Params
ContourGraph/around_distance            : 0.75
ContourGraph/pillar_perimeter_dist      : 3.0  # Unit: meter
ContourGraph/KDTree_num                 : 8
ContourGraph/KDTree_neighbor_size       : 2
ContourGraph/KNN_search_radius          : 2.0  # Unit: meter
ContourGraph/wall_insert_factor         : 0.6 

2. This is my simulation environment : one grid is 100m Selection_353

3. This is the gdb log :

Selection_354

4. This is the code : Selection_356 Selection_357

I am very sorry to ask you some details because I have not fully understood the whole project. I hope you can have a look at it when you are free, and I will work on the details

hcws commented 3 days ago

1. Have made progress! I change the map_grad_max_height from 200m to 2000m it won't into segmentfault.

# Map Handler Params
MapHandler/ceil_length                  : 100.0    # Unit: meter
MapHandler/map_grid_max_length          : 2000.0 # Unit: meter
MapHandler/map_grad_max_height          : 2000.0  # Unit: meter 

2. But , I found sometimes it won't plan the path : Selection_358 Selection_359

and the plan will spend more time: Selection_360

3. Can I save the obs contour graph? I hope you can take a look at it when you are free,thanks again!

Bottle101 commented 3 days ago

Hi, your v-graph looks not right, most of the polygons are not closed. Could you please visulize the visibility edges (should be blue) for me to check the graph connectivity? For the time consumption, there is a step where I heuristicly insert many additional points on top-layer contours, if your contour map has problem, there will be much more redundant calculations for inserting points, which takes more time it supposed to be. Currently we have not supported saving the graph, it will be available in official release. Thanks so much for your questions, they do guide our development.

Bottle101 commented 3 days ago

For the segmentation fault problem, I think that is because your environment has high altitude, it is smart to set the height parameter larger.

hcws commented 2 days ago

Hi, your v-graph looks not right, most of the polygons are not closed. Could you please visulize the visibility edges (should be blue) for me to check the graph connectivity? For the time consumption, there is a step where I heuristicly insert many additional points on top-layer contours, if your contour map has problem, there will be much more redundant calculations for inserting points, which takes more time it supposed to be. Currently we have not supported saving the graph, it will be available in official release. Thanks so much for your questions, they do guide our development.

Yes! It's the contour edge : Selection_361

hcws commented 2 days ago

4.When we're planning A destination that's a few hundred kilometers away, can we only use A* within 2,000 meters of the current location, and use point-to-point motion for further distances? It's just an idea.

Bottle101 commented 2 days ago

The contour looks weired, please try to set the CDetector/approx_eps as 0.005.

For Q4, I think that would be fine

hcws commented 2 days ago

The contour looks weired, please try to set the CDetector/approx_eps as 0.005.

For Q4, I think that would be fine

When I set CDetector/approx_eps : 0.005 here is the graph: Selection_363