zauberzeug / field_friend

A Development Platform for Mechanical Weeding.
https://feldfreund.de
MIT License
10 stars 3 forks source link

Navigation._proceed not awaited #108

Open Johannes-Thiel opened 2 weeks ago

Johannes-Thiel commented 2 weeks ago

on the main branch, when running a straight line navigation with the weeding screw the Error


rosys_1       | /app/field_friend/automations/navigation/navigation.py:44: RuntimeWarning: coroutine 'Navigation._proceed' was never awaited
rosys_1       |   await rosys.automation.parallelize(
rosys_1       | RuntimeWarning: Enable tracemalloc to get the object allocation traceback

pops up, when the robot is looking for new plants but does not find any. The Robot will not continue to drive. When the ._proceed is awaited the robot will dirve.

rodja commented 1 week ago

I have seen this warning sometimes but can not reproduce it reliable (in simulation or test).

The Robot will not continue to drive.

I don't think this is related to this warning but some other issue.

When the ._proceed is awaited the robot will drive.

The coroutines should not be awaited individually when passed into the parallelize construct. As the docu write:

This class allows to combine multiple coroutines into one that can be passed to the automator to run them in parallel.

The whole purpose is to run coroutines in parallel so awaiting one individually will make it execute alone. In this case "driving forward" without stopping for weeds.