|
| 1 | +# Find the closest free pose to the given one, within the given linear and angular tolerances. |
| 2 | +# |
| 3 | +# A pose is considered free if the robot footprint there is entirely inside the map and neither in |
| 4 | +# collision nor unknown space. |
| 5 | +# |
| 6 | +# If no free pose can be found, but we find one partially in unknown space, or partially outside the map, |
| 7 | +# we will return it and set state to the corresponding option (unknown space takes precedence). |
| 8 | +# Otherwise state will be set to LETHAL. |
| 9 | +# |
| 10 | +# You can also instruct this service to use current robot's pose, instead of providing one. |
| 11 | + |
| 12 | +uint8 LOCAL_COSTMAP = 1 |
| 13 | +uint8 GLOBAL_COSTMAP = 2 |
| 14 | + |
| 15 | +geometry_msgs/PoseStamped pose # the starting pose from which we start the search |
| 16 | +float32 safety_dist # minimum distance allowed to the closest obstacle |
| 17 | +float32 dist_tolerance # maximum distance we can deviate from the given pose during the search |
| 18 | +float32 angle_tolerance # maximum angle we can rotate the given pose during the search |
| 19 | +uint8 costmap # costmap in which to check the pose |
| 20 | +bool current_pose # check current robot pose instead (ignores pose field) |
| 21 | +bool use_padded_fp # include footprint padding when checking cost; note that safety distance |
| 22 | + # will be measured from the padded footprint |
| 23 | +--- |
| 24 | +uint8 FREE = 0 # found pose is completely in traversable space |
| 25 | +uint8 INSCRIBED = 1 # found pose is partially in inscribed space |
| 26 | +uint8 LETHAL = 2 # found pose is partially in collision |
| 27 | +uint8 UNKNOWN = 3 # found pose is partially in unknown space |
| 28 | +uint8 OUTSIDE = 4 # found pose is partially outside the map |
| 29 | + |
| 30 | +uint8 state # found pose's state: FREE, INSCRIBED, LETHAL, UNKNOWN or OUTSIDE |
| 31 | +uint32 cost # found pose's cost (sum of costs over all cells covered by the footprint) |
| 32 | +geometry_msgs/PoseStamped pose # the pose found (filled only if state is not set to LETHAL) |
0 commit comments