ntnu-arl / gbplanner_ros

Graph-based Exploration Planner for Subterranean Environments
BSD 3-Clause "New" or "Revised" License
648 stars 147 forks source link

How to prevent collision #53

Open celikemir opened 3 weeks ago

celikemir commented 3 weeks ago

Hi,

I have a somewhat challenging map where the elevation changes. In some areas, the elevation from the ground is really small, like 5 cm or below. How can I prevent the planner from drawing paths in these kinds of places? There are pavements, and the planner draws above the pavements, which it should not do. How can I prevent this behavior? I modified col_check = 2 in the CMakeLists file, which resulted in some improvement but didn't fully solve the problem. soru

MihirDharmadhikari commented 3 weeks ago

Hello,

The pavements are tricky to tackle. Due to the size of the voxels in the voxblox map, the planner won't be able to differentiate between a slope and a pavement that is one voxel size tall. One workaround to this is to reduce the voxel size (currently, it is 0.2 you can make it 0.1m). However, keep in mind that this will increase the memory significantly as well as increase the planning time.

Best, Mihir

celikemir commented 3 weeks ago

thank you Mihir. The global area, the red sqaure, is not cover all my map so I have modify the gbplanner.yaml there is a defined number even though I changed so small or large number cant see difference dimension of the red box.

celikemir commented 3 weeks ago

yeah it brings realy huge memory consumption. maybe you can adress me reduce voxblock count I tried to reduce with some yamlhttps://github.com/ntnu-arl/gbplanner_ros/blob/77afce521a3aa7a4b94bf6a43a3c88ec08b6d544/gbplanner/config/smb/voxblox_sim_config.yaml#L4

Can you tell me some of the parameters meaning ? thank you

celikemir commented 3 weeks ago

@MihirDharmadhikari How to increase the per voxel block size to prevent collision? There is a huge difference between the planned path height and the obstacle. However, the robot is supposed to go over the obstacle, but it overturns. The robot also came closer to the obstacle, though it had been seen before. Then it tried to replan. how you can solve it.

and why did you remove PlanningParams/planning_backward: If the path is to be executed backwards.

param ?

This path is funny ? Screenshot from 2024-06-12 18-25-37

Can you please explain what causes for this problem Screenshot from 2024-06-12 18-30-16