zauberzeug / field_friend

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

Tornado x-offset #127

Closed pascalzauberzeug closed 1 month ago

pascalzauberzeug commented 1 month ago

We saw that F13 often drove too far when targeting a plant which lead to the plant being destroyed. We currently have three ideas what could cause this behaviour.

  1. GPS error of x-centimeter leads to this x-offset since the robot drives in global coordinates when advancing towards a target
  2. Unwanted forward driving when the target is reached. Maybe a timing or logic error.
  3. The projection error of the monocular camera leads to a wrong plant position

Here are two logs for this:

rosys_1       | 2024-07-17 17:11:25.104 [INFO] field_friend/automations/implements/tornado.py:74: Crops in drill range
rosys_1       | 2024-07-17 17:11:25.262 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 1519535d-f30f-43c5-9210-21a75cba5d48 which is 0.08282907847076589 away at world: Point(0.045, -0.534), local: Point(0.095, -0.044)
rosys_1       | 2024-07-17 17:11:25.435 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 1519535d-f30f-43c5-9210-21a75cba5d48 which is 0.06094517554051862 away at world: Point(0.045, -0.534), local: Point(0.073, -0.042)
rosys_1       | 2024-07-17 17:11:25.613 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 1519535d-f30f-43c5-9210-21a75cba5d48 which is 0.04056599859361912 away at world: Point(0.044, -0.537), local: Point(0.053, -0.041)
rosys_1       | 2024-07-17 17:11:31.547 [INFO] field_friend/automations/implements/weeding_implement.py:230: punching was allowedq
rosys_1       | 2024-07-17 17:11:34.100 [INFO] field_friend/automations/implements/tornado.py:26: Performing Tornado Workflow..
rosys_1       | 2024-07-17 17:11:34.101 [INFO] field_friend/automations/implements/tornado.py:32: Drilling crop at Point(0.042, -0.563) with angle 30.0°
rosys_1       | 2024-07-17 17:11:34.101 [INFO] field_friend/automations/puncher.py:67: Punching at -0.04080301927691708 with depth 0.01...
rosys_1       | 2024-07-17 17:11:34.102 [INFO] field_friend/hardware/y_axis.py:47: moving yaxis to -0.04080301927691708 with speed 500
rosys_1       | 2024-07-17 17:11:34.102 [INFO] field_friend/hardware/y_axis_canopen_hardware.py:76: moving to steps: 39551
rosys_1       | 2024-07-17 17:11:35.803 [INFO] field_friend/hardware/y_axis_canopen_hardware.py:89: yaxis moved to -0.04080301927691708
rosys_1       | 2024-07-17 17:11:35.804 [INFO] field_friend/automations/puncher.py:163: Drilling with tornado at 30.0°...
rosys_1       | 2024-07-17 17:11:35.804 [INFO] field_friend/hardware/tornado.py:220: moving z axis down
rosys_1       | 2024-07-17 17:11:36.805 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:36.906 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.007 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.108 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.209 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.310 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.430 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.532 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.633 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.734 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.835 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:37.936 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.036 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.153 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.253 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.354 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.455 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.556 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.657 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.769 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.870 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 17:11:38.970 [INFO] field_friend/hardware/tornado.py:242: Ref ground not triggered: Bottom ground reached
rosys_1       | 2024-07-17 17:11:38.971 [INFO] field_friend/hardware/tornado.py:251: finalizing moving z axis down
rosys_1       | 2024-07-17 16:15:34.994 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.14905460891181108 away at world: Point(0.169, -0.496), local: Point(0.162, 0.041)
rosys_1       | 2024-07-17 16:15:34.995 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.02 m to Point(-0.049, -1.306) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:35.164 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.1322890653473573 away at world: Point(0.170, -0.500), local: Point(0.145, 0.042)
rosys_1       | 2024-07-17 16:15:35.165 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.02 m to Point(-0.054, -1.325) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:35.375 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.11009070632969668 away at world: Point(0.170, -0.500), local: Point(0.123, 0.043)
rosys_1       | 2024-07-17 16:15:35.376 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.02 m to Point(-0.059, -1.347) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:35.569 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.08937150381194944 away at world: Point(0.171, -0.499), local: Point(0.102, 0.041)
rosys_1       | 2024-07-17 16:15:35.569 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.02 m to Point(-0.063, -1.366) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:35.703 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.06970697477263323 away at world: Point(0.171, -0.499), local: Point(0.082, 0.044)
rosys_1       | 2024-07-17 16:15:35.704 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.02 m to Point(-0.068, -1.385) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:35.903 [INFO] field_friend/automations/implements/tornado.py:83: Targeting crop 574c3f4d-f2ef-4791-a51b-8dab2f8c23d2 which is 0.04804763655718339 away at world: Point(0.171, -0.499), local: Point(0.061, 0.044)
rosys_1       | 2024-07-17 16:15:35.903 [INFO] field_friend/automations/navigation/straight_line_navigation.py:44: Driving 0.05 m to Point(-0.073, -1.407) with yaw -1.79.
rosys_1       | 2024-07-17 16:15:38.286 [INFO] field_friend/automations/implements/tornado.py:26: Performing Tornado Workflow..
rosys_1       | 2024-07-17 16:15:38.286 [INFO] field_friend/automations/implements/tornado.py:32: Drilling crop at Point(0.169, -0.516) with angle 30.0°
rosys_1       | 2024-07-17 16:15:38.287 [INFO] field_friend/automations/puncher.py:67: Punching at 0.043534949464720224 with depth 0.01...
rosys_1       | 2024-07-17 16:15:38.287 [INFO] field_friend/hardware/y_axis.py:47: moving yaxis to 0.043534949464720224 with speed 500
rosys_1       | 2024-07-17 16:15:38.287 [INFO] field_friend/hardware/y_axis_canopen_hardware.py:76: moving to steps: 164496
rosys_1       | 2024-07-17 16:15:40.006 [INFO] field_friend/hardware/y_axis_canopen_hardware.py:89: yaxis moved to 0.043534949464720224
rosys_1       | 2024-07-17 16:15:40.007 [INFO] field_friend/automations/puncher.py:163: Drilling with tornado at 30.0°...
rosys_1       | 2024-07-17 16:15:40.007 [INFO] field_friend/hardware/tornado.py:220: moving z axis down
rosys_1       | 2024-07-17 16:15:41.012 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.114 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.216 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.316 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.417 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.518 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.620 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.723 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.823 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:41.924 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.025 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.126 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.228 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.328 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.429 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.529 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.634 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.734 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.838 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:42.943 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:43.045 [INFO] field_friend/hardware/tornado.py:237: moving z axis down
rosys_1       | 2024-07-17 16:15:43.146 [INFO] field_friend/hardware/tornado.py:242: Ref ground not triggered: Bottom ground reached
rosys_1       | 2024-07-17 16:15:43.147 [INFO] field_friend/hardware/tornado.py:251: finalizing moving z axis down
rosys_1       | 2024-07-17 16:15:50.579 [INFO] field_friend/hardware/tornado.py:207: moving z axis to 0
rosys_1       | 2024-07-17 16:15:53.100 [INFO] field_friend/hardware/tornado.py:212: z axis moved to 0
rosys_1       | 2024-07-17 16:15:56.909 [INFO] field_friend/automations/puncher.py:105: punched at 0.04 with depth 0.01, now back to rest position "reference"
rosys_1       | 2024-07-17 16:15:56.909 [INFO] field_friend/automations/implements/weeding_implement.py:91: workflow completed
rodja commented 1 month ago

Hopefully https://github.com/zauberzeug/field_friend/pull/130 will fix this issue. Even if it was not an GNSS issue the PR will ensure we have a better GNSS accuracy.

rodja commented 1 month ago

Yes. This will be fixed by #130. Additional to the GNSS fluctuations, the work_x setting was wrong.