Closed garethellis0 closed 5 years ago
After some thought (pictured below):
d = sqrt(d_x^2 + d_y^2)
is below some d_max
error_max
After doing some searching/thinking about lines, (assuming the line segments are a vector of (x,y) points) we could determine if two line segments are the "same" by seeing if two conditions are both true: Condition 1: take dot product of the lines, that gives cosine of angle between them, if the value is above some threshold (close to 1) then we can declare them as "same" in terms of slope. Condition 2: compare how close is new line's start point to the old line's end point or if the line segments intersect, then we can determine if the lines are close enough to be merged.
Just to be clear here, we're actually dealing with n-ary polynomial lines, rather then just straight lines.
Splines may be a good way of storing a longer line made up of several polynomials: https://en.wikipedia.org/wiki/Spline_(mathematics)
Note to self: Investigate and expand this.
After some consideration, here are my thoughts on how to use splines to represent lines (and merge other lines in) a possible additional step (4) might be to recompute the spline such that we only keep points that are in areas of significant change (ie. corners, etc)
Resolved last year.
This will act like a global map for us, general structure would be:
igvc_obstacle_list
message (note that this message type does not yet exist, see #228 )nav_msgs/OccupancyGrid
message with all the obstacles on it inflated by some given radiusNote There is a lot of complexity in the above structure that likely needs to be hashed out some more before we implement this. For example: