Owning Palette: Obstacle Avoidance VIs
Requires: Robotics Module
Identifies obstacles and gaps, or open areas, in the robot environment and returns an open direction for travel that best leads to a goal position.
|Note This VI accepts and returns angle values in radians. You can use any unit of measurement to specify distance values. However, always use a consistent unit when you specify these values.|
|obstacle clearance distance specifies the minimum distance by which the center of the vehicle can approach an obstacle. The default is 0. Use this input to account for the space required for the vehicle body that extends out from the position of the sensor.|
|heading is a cluster that contains the following elements.
|distances specifies the distances between the robot sensor and objects in the robot environment.|
|direction angles (rad) specifies the angles at which objects are located with respect to the center of the sensor. Elements in direction angles (rad) correspond to elements in distances.|
|thresholds specifies the range at which this VI identifies an obstacle as too close to clear. |
This VI measures threshold distances from the outside edge of the obstacle clearance distance around the vehicle to obstacles.
|error in describes error conditions that occur before this node runs. This input provides standard error in functionality.|
|# bins determines the number of headings this VI considers for travel. For higher performance, specify a smaller # bins than is possible. The default is 399.|
|maximum heading change (rad) specifies the greatest angle by which the vehicle can change direction when an obstacle blocks the current heading of the vehicle. You should limit maximum heading change (rad) to the range of headings for which the vehicle has sensor data. The default is 1.5708.|
|chosen heading (rad) contains the direction of travel this VI calculates in response to the goal position and obstacles in the vehicle environment.|
|histogram returns the histogram data that represents the distances to objects in range of the sensor, arranged by angle and direction.|
|mask contains Boolean values that specify whether a direction in the robot environment is blocked. A value of FALSE indicates an obstacle blocks the heading.
# bins determines the number of elements in mask.
|error out contains error information. This output provides standard error out functionality.|
Use this VI to perform target tracking because when a robot vehicle encounters an obstacle within the inner threshold distance, this VI calculates a new heading, but the vehicle remains near the target. This VI considers a heading blocked when an obstacle is within an inner threshold distance. Then, to account for sensor noise, this VI finds that heading free only when sensors show the obstacle outside the outer threshold distance.
Use the Simple Vector Field Histogram to implement reactionary motion without a goal.
The following front panel represents a robot vehicle that encounters an obstacle within the inner threshold distance of the robot and shows the open and blocked headings that result. The histogram data represents the position at which the object becomes an obstacle given the obstacle clearance distance of the robot, and the LIDAR sensor data represents the obstacle itself.
Refer to the Simulated Mecanum Robot.lvproj in the labview\examples\robotics\Simulated Mecanum Robot directory for an example of using the Advanced VFH VI.