Semantic Areas for Path Planning

To give the zones of a map semantic meaning with respect to paths planned through them, three new planner-affecting zones have been introduced:

  • No-replanning zones: When passing through this polygonal zone, a robot is not allowed to change the navigation trajectory that led it into the zone until it leaves the zone. Should an obstacle obstruct its path, it must wait until the obstacle disappears or it receives a new goal.

    An example of how to integrate this functionality can be found in the app //packages/flatsim/apps/demo_5.json. To run the example app, use the following:

    # Build the pose graph
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_5 --build_graph
    # Run the app
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_5
    

    In Isaac Sight, you can now add the no_replanning layer to the 2D Map View widget to see the gray area in which re-planning is not allowed.

../../../_images/canvas_no_replanning1.png
  • Limited speed zones: When passing through this polygonal zone, a robot must reduce its speed to the maximum speed defined for the zone. Slightly before entering the zone, the robot’s LQR planner will smoothly transition to the maximum speed. Once the robot leaves the zone, it will accelerate again.

    An example of how to integrate this functionality can be found in the app //packages/flatsim/apps/demo_5.json. To run the example app, use the following:

    # Build the pose graph
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_5 --build_graph
    # Run the app
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_5
    

    In Isaac Sight, you can now add the speed_limit layer to the 2D Map View widget to see the gray area in which re-planning is not allowed.

../../../_images/canvas_limited_speed_zones1.png
  • Directed areas: Like the polyline “highways” already present in Isaac SDK, these areas encourage a certain travel direction when passing through them. The areas consist of a polygonal shape and a target angle in which a robot should travel when it is passing through.

    An example of how to integrate this functionality can be found in the app //packages/flatsim/apps/demo_6.json. To run the example app, use the following:

    # Build the pose graph
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_6 --build_graph
    # Run the app
    bazel run //packages/flatsim/apps:flatsim -- --demo demo_6
    

    In Isaac Sight, you can now add the directed_area_* layers to the 2D Map View widget to see the multicolored areas in which a given travel direction is encouraged (shown by the directional arrows inside of these areas).

../../../_images/canvas_directed_areas1.png