-
Notifications
You must be signed in to change notification settings - Fork 34
Description
When using costmaps to resolve a location designator, and this designator is a reachability one, then the robot-pose-gaussian-costmap::reachable-location-validator function is used.
This function performs a simple check that the distance between the candidate solution pose and the target pose in the designator is between a min and a max threshold. However, these thresholds are the same as the ones used to create the costmap from which the solution is sampled; we are pretty much guaranteed this distance will never be outside the threshholds because the costmap itself is hard cut off at them.
Suggestion: perform a call to ik to actually check reachability (I have code for this in the Bolzano branch of my fork). A couple of notes about the suggestion:
- service calls tend to spam the console with debug messages, especially when the IK fails for several candidates; they're written that way in roslisp, presumably, but maybe some messages might be silenced when required
- this makes designator validation dependent on some sort of tf. For example, if one wants to quickly check that designators in the projection world are solvable, and wants to do this in the REPL command line, it's better to use a (pr2-proj:with-projected-robot (desig:reference ...)) than a simple (desig:reference ...)