rayvburn / tiago_social_robot

Package that runs TiAGO robot system's common components to execute custom scenarios
0 stars 0 forks source link

costmap_converter vs obstacle_detector #4

Closed rayvburn closed 1 year ago

rayvburn commented 3 years ago

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.

rayvburn commented 3 years 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.

image

Parameters:

<param name="converter_plugin"      type="string"   value="costmap_converter::CostmapToLinesDBSRANSAC" />
<param name="occupied_min_value"    type="int"      value="100" />
rayvburn commented 3 years ago

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.

rayvburn commented 3 years ago

segmentation_layer for costmap (requires image data)

package

application

rayvburn commented 3 years ago

unfortunetely, there isn't any ros packages at Github, which could be used to merge obstacle polygons/lines into geometric scene of segmented obstacles

rayvburn commented 3 years ago

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))

rayvburn commented 3 years ago

TODO: create an additional plugin for costmap converter instead of costmap_2d_segmentation

rayvburn commented 3 years ago

costmap_converter forks:

rayvburn commented 1 year ago

A 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.