As I experimented Stage with floor plan bitmaps with large solid black areas, I realized Stage makes collision checks according to block boundaries. This makes it possible for a robot to move inside big wall blocks if it somehow ends up there, and the effect can be seen also in occupancy grid rasterization, where cells that should be occupied end up being interpreted free.
Since most of the blocks (at least all bitmap produced) are rectangles (in xy plane), wouldn't it be computationally cheaper, for those blocks, to check whether a point lies inside the rectangle? (Even more so in map blocks, where the rectangles are not rotated.) This would remove the problem (or feature) that robots may move inside big rectangular blocks, and the occupancy grid rasterization would also work correctly (by for example trying if occupancy grid cell-sized rectangles placed in cell coordinates collide with map blocks).
Log in to post a comment.