---
title: "a* fastest route w/heavy lifting · RUAL Documentation"
description: "Calculates the fastest route over multiple stops using heavy lifting parameters."
canonical: https://docs.rual.nl/block-types/a%2A%20path%20finding/function_calculate_path_multi_point_astar
language: en
---

[Cluster](https://docs.rual.nl/cluster)

[Blocks](https://docs.rual.nl/block-types)

[Interfaces](https://docs.rual.nl/interfaces)

[Blueprints](https://docs.rual.nl/blueprints)

[Tutorials](https://docs.rual.nl/tutorials)

[Home automation](https://docs.rual.nl/home-automation)

[Examples](https://docs.rual.nl/examples)

[Reference](https://docs.rual.nl/reference)

[Architecture](https://docs.rual.nl/architecture)

[Troubleshooting](https://docs.rual.nl/troubleshooting)

Other

# a* fastest route w/heavy lifting

This block is part of the [`a* path finding`](https://docs.rual.nl/block-types/a%2A%20path%20finding) group and was last modified in core [`v12.0.7`](https://docs.rual.nl/core-versions/120007).

Calculates the fastest route over multiple stops using heavy lifting parameters.

- flow `flow`

- stops required `array` Array [Array [x (Number), y (Number)]] or array with objects using `stops_key`.

- end at required `array` Array [x (Number), y (Number)]

- Key `value` The key to read from the stops array, in case the array contains objects. It contains the tiles to walk.

- Percentage key `value` The percentage key to read from the stops array, in case the array contains objects. It may contain a percentage of heavy lifting required.

- Required percentage `number` The minimum percentage heavy lifting required before splitting up routes. This allows for optimalization.

- Lifting percentage `number` The maximum percentage heavy lifting allowed, until the user has to end the route before they can continue.

- grid width required `number` Width of 2D matrix

- grid height required `number` Height of 2D matrix

- tiles required `array` Could be an array of 2D matrix or x, y, state. We support the following states: `heavy`, `heavy_x2` and `heavy_x4`.

- allow diagonal `condition` Default: false

- cross corners `condition` Default: false

- flow `flow`

- path Matrix `array` Path matrix `[x_y, ..]`

- path Readable `array` Human readable path.

- cost `number` Calculated cost to walk this path to the end.

- return cost `number` Calculated cost to return from last point back to first.

- return index `number` If percentage given, we return from this index.

A typical wiring for [a* fastest route w/heavy lifting](https://docs.rual.nl/block-types/a*%2520path%2520finding/function_calculate_path_multi_point_astar): a [function trigger](https://docs.rual.nl/block-types/globals/trigger_custom_function) starts the flow; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `stops` pin; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `end` pin; [number](https://docs.rual.nl/block-types/number/number_default) feeds the `width` pin; [number](https://docs.rual.nl/block-types/number/number_default) feeds the `height` pin; [with values](https://docs.rual.nl/block-types/array/array_of_values) feeds the `tiles` pin; the `flow` out pin feeds [debug](https://docs.rual.nl/block-types/state%2520ui/state_debug).

[![Studio canvas example for the a* fastest route w/heavy lifting block: typical wiring for a* fastest route w/heavy lifting.](https://docs.rual.nl/canvas-examples/function_calculate_path_multi_point_astar.png)](https://docs.rual.nl/canvas-examples/function_calculate_path_multi_point_astar.png?v=3)

## Version history

Introduced in [`v12.0.7`](https://docs.rual.nl/core-versions/120007).

- [v10.1.2](https://docs.rual.nl/core-versions/100102): This block or one of its pins was updated in `v10.1.2`, click here to see the release notes.

- [Back to `a* path finding`](https://docs.rual.nl/block-types/a%2A%20path%20finding): Return to the main group to view all sub-groups

- [Back to `pathfinding`](https://docs.rual.nl/block-types/a%2A%20path%20finding?group=pathfinding): Return to the group to view all blocks within this group

Was this page helpful? [Tell us what to improve](https://docs.rual.nl/support) · RUAL Docs is an integral component of the [RUAL ecosystem](https://rual.nl)
