Closed rayvburn closed 1 year ago
Seems that costmap_converter can be tuned to detect straight lines mostly. Object segmentation can be achieved via merging lines whose polygons are very close to each other. That way, convex polygons representing single obstacles can be extracted.
Parameters:
<param name="converter_plugin" type="string" value="costmap_converter::CostmapToLinesDBSRANSAC" />
<param name="occupied_min_value" type="int" value="100" />
As a background - to run HuBeRo on a real robot, environment obstacles must be segmented, because social force model computes repulsive force from each obstacle.
unfortunetely, there isn't any ros packages at Github, which could be used to merge obstacle polygons/lines into geometric scene of segmented obstacles
TODO: costmap_2d_segmentation
TBD: later on, the main task now is to create a valid architecture to build a local planner (even if it will compute 5 separate force-generation objects instead of 1 (lack of segmentation))
TODO: create an additional plugin for costmap converter instead of costmap_2d_segmentation
costmap_converter
forks:
ByLiZhao/costmap_converter
TheKobiThirdParty/costmap_converter
rybergrobotics/costmap_converter
CostmapToDynamicObstacles
pluginA custom plugin that tries to merge the very close segments was developed (https://github.com/rayvburn/costmap_converter/pulls); however, it most likely won't be used in the final experiments.
Obstacle detector finds proper long segments, it's quite messy with smaller and more sparse readings (circles instead of 4 lines - e.g. shelfs). Nonetheless, accuracy is quite low as long line segments with corners and short line segments are detected as singnle objects.
On the other hand, costmap_converter finds a lot of polygons, many of them do not reflect the scene geometry.
Something inbetween would be ideal.