## 3 Results and Discussion
### Experimental Results and Discussion  
The real configuration of the mentioned greenhouse is essentially an enrichment of the graph in Figure 5, in which seven PoIs are present together with a climatic station by Evija srl ([[https://www.evia.eu](https://www.evia.eu)]([https://www.evia.eu](https://www.evia.eu)) accessed on 28 June 2025) placed in the center. Figure 7 provides a simplified notation for this environment graph. In particular, to not clutter the graph, we use the following convention: each edge \((p,q)\) reports only the time required to reach PoI \(q\) from PoI \(p\) (\(m_{pq}\)); the required energy is assumed to be measured in consumption minutes and is considered numerically equal to the travel time. A small battery icon identifies the nodes containing a charging station, namely \(p_{3}\), \(p_{5}\), and \(p_{7}\) in Figure 7; both measurement time (\(t_{p}\)) and charging time (\(c_{p}\)) are set to 15 min for each PoI \(p\). Considering this configuration and the historical data containing the context in which the measurement trajectories have to be performed, we compute the best trajectory by using the proposed PPO approach described in Section 2.2. Figure 8 illustrates an example of its functioning, where for each step, the start and end PoI are identified by a green box  
Figure 6: Description of the application setup in Italy. Figure 7: Greenhouse environment considered for experiments. indicating the timestamp of the starting time, the remaining battery level, and the reward associated with this movement action. The robot starts in \(p_{5}\) with a full battery level of 300; in this situation, the algorithm identifies the best action to perform the movement towards \(p_{4}\) (Step 1), where the robot arrives after 45 min and stays for 15 min, consuming a total of 60 units of energy and obtaining a reward of 19.28. Similarly, in Step 2, the robot has enough battery to reach each PoI without any problem, and the algorithm identifies the movement towards \(p_{1}\) as the best action. In the following Step 3, \(p_{6}\) is the best PoI to visit, but since there is no direct path from \(p_{1}\) to \(p_{6}\), the robot also needs to traverse \(p_{7}\), but without stopping in it for measuring or for charging. Indeed, the end time reported in \(p_{6}\) is 45 min after the departure from \(p_{1}\): 30 min for traveling and 15 min in \(p_{6}\) for measuring and other farming tasks. Conversely, in Step 4, the algorithm decides that the robot needs to be recharged (its battery level is below a threshold limit of 140). Therefore, the next PoI to visit should be identified among \(p_{3}\), \(p_{5}\), and \(p_{7}\), because they all contain a charging station. In particular, the algorithm chooses \(p_{3}\) since its reward is greater than that of the other two: even if it is further away than \(p_{7}\), it is more interesting for the estimated temperature difference component. It is worth noting that, in this case, the reward associated with the action is much greater than the other, as the robot can stop in the same PoI to perform two operations, i.e., measuring and charging. In other words, in this trajectory, \(p_{3}\) will become part of both the measuring and the charging sub-trajectories. Figure 8: A sample of suggested trajectories produced using the proposed method: (**a**) Step 1. (**b**) Step 2. (**c**) Step 3. (**d**) Step 4. The proposed approach could be applied to various environments with different configurations, thus leading to different trajectories. Figure 9 compares the results produced starting from the same situation (i.e., initial PoI, timestamp and battery level) but in a slightly different environment regarding the available connections between PoIs. In the original environment, the suggested trajectory was \(p_{1}\), \(p_{6}\) (through \(p_{7}\)), then \(p_{3}\). Conversely, when removing the edge from \(p_{7}\) to \(p_{6}\), it determines that the best PoI to visit after \(p_{1}\) becomes \(p_{3}\), followed by \(p_{6}\).