This section presents the design of the global path-planning approach for assisted harvesting tasks. The path planning method aims to find an optimal route connecting harvesting points, visiting the same location only once, prioritizing the maximum harvest for each row, ensuring vehicle payload capacity, and maximizing closeness between harvesting locations. Hence, to determine a path that fulfills the former objectives, the TSP-CVRP algorithm is selected. This choice is made due to its ability to schedule coordinated points while meeting connection constraints.
The TSP-CVRP approach considers a graph
to represent potential connections between harvesting points. Such connection comprises
P as the set of ordered harvesting locations
with
denoting the initial crop depot and
as the crop end-point. Similarly,
E is the set of effective connections that pair harvesting points, and each edge
is associated with a non-negative cost
, computed as follows:
where
is the Euclidean distance to quantify closeness between two any harvesting points;
is a factor prioritizing reduced-distance connections, and
is the weight for scheduling the order of travel points according to a distance
between harvesting locations in
. For each harvesting point
, it is assigned a specific demand
and a single harvest depot denoted by
. The accumulated harvest product obtained until weight
in the arrival position in
j along the route search is limited to not overload the maximum load capacity
Q of the SSMR. Thus, as it is required to find a route connecting ordered harvesting points with minimal total distance and payload constraints, the proposed optimization problem is:
where
is a binary constraint function, taking
if there is a possible route of connection from node
i to
j and
otherwise;
denotes the product demand in weight assigned to a particular arriving node
j;
Q is the vehicle capacity for the maximum payload to haul along the overall planned route;
is the set of unfeasible connections due to inaccessible workspace from opposite sides of the same harvesting row;
n is the total number of nodes. The auxiliary variables
are introduced to prevent the route from excluding the initial and endpoint harvest position, ensuring that the linkage of two consecutive points is met and the planned points do not generate isolated route loops. The objective function minimizes the overall travel cost through the computations of individual costs
for all connections between nodes
. The constraints ensure that each node is visited exactly once, whereas the total weight on any traversed route does not exceed the maximum payload limit
Q (see Eq. 10)
In Algorithm 1, the TSP-CVRP method begins by building a map
containing coordinates
without any specified order of the harvesting points
(see line 1). Such harvest map is augmented with a separate map
, which incorporates geo-localized weights associated with each point in
(see code line 2). A list of unfeasible connections
are previously identified with the binary constraint function and incorporated to
. Before the execution of the TSP-CVRP algorithm, it is also specified the maximum payload
Q under which the robot is capable of hauling throughout the navigation route (see code line 4).
Algorithm 1 Improved TSP-CVRP |
-
Require:
- 1:
Set harvesting points to visit
- 2:
Build map of geo-localized weights for each
- 3:
Set unfeasible node connections
- 4:
Set maximum vehicle payload capacity
-
Ensure:
- 5:
Initialize
- 6:
Initialize empty route:
- 7:
whiledo
- 8:
with Eq. 6
- 9:
if with Eqs. 8-10. then
- 10:
- 11:
else
- 12:
- 13:
end if
- 14:
end while
- 15:
return
|
The TSP-CVRP algorithm calculates the distances between all pairs of harvesting points
and arbitrary points on the map
, represented as a cost matrix
(line 5). For each iteration of the
while-do loop in code lines 7-14, the next node
to visit is selected by finding the one with the minimum incremental cost detailed in Eq.
6, subject to constraints imposed by
(line 3). This process continues until all locations are visited, as determined by the
unvisited_nodes function (code line 7). The selected node
is added to the planned route
if appending it to the current route meets constraints specified by Eqs. 8-10, as verified in the
meet_constraints function of line 9. These constraints involve the vehicle payload capacity
Q and the unfeasible connections
. If these constraints are violated, the algorithm re-orders the route by removing the last node added and creating a new route with the current node
. In particular, as shown in code line 12, if all constraints are not achieved, a new possible route is generated with a selected node
, using the
create_new_route function. The route planning algorithm returns the harvest points in
(see code code line 15).