AnyLogic
Expand
Font size

Free space navigation

When moving in free space mode, transporters detect their surroundings and avoid obstacles using the most efficient route to reach the destination point.

Walls, nodes with restricted access, and transporters with the same navigation type are always recognized as obstacles. If needed, you can also specify most of the space markup shapes specific to Material Handling Library (such as conveyors, cranes, lifts, and so on), pallet racks, and storages as obstacles by selecting the Is obstacle option in their properties.

When calculating the space where the free space navigation is available, the engine includes all elements that can affect the transporter’s route within this space. Then, the engine expands the resulting free space within the certain boundaries. However, this space is restricted, and placing destination points outside the calculated boundaries may result in a runtime error. Avoid placing destination points too far from markup elements to avoid this.

You can also include transporters with path-guided navigation in the list of obstacles by selecting Recognize all transporters option in the properties of the TransporterFleet block.

Transporters can either avoid network nodes with restricted access or ignore the restrictions.

Movement in free space navigation mode

Pedestrians are ignored by transporters moving in free space mode, which means the transporters will run over these shapes during model execution.

Transporters with free space navigation mode can move between levels using level gates and lifts.

Unlike the transporters with the path-guided navigation type, you cannot specify any particular route for transporters moving in the free space mode apart from the target they must reach. You can use the recalculateRoute() function to specify a new destination for the transporter during the model run.

If you want to obtain information about the transporter’s movement from its current location to the destination, you can use the transporter’s getRouteData() function. It will return a list of movement tasks of PLAIN type. Each movement task of this type will describe the movement of the transporter inside a cell of the navigation mesh.

The navigation type, home locations, and additional rules of movement for a fleet of transporters are defined in the properties of the TransporterFleet block.

Demo model: Transporters Moving in Free Space Open the model page in AnyLogic Cloud. There you can run the model or download it (by clicking Model source files).
How can we improve this article?