ajuste para reduzir o carro para pulverizar
This commit is contained in:
parent
bb546da70f
commit
a1d2ec01c8
|
|
@ -174,8 +174,7 @@ def definir_comando(filtro_vel: FiltroVelocidade, erro_orientacao: float = None)
|
||||||
ervas_no_radar = (
|
ervas_no_radar = (
|
||||||
pulverizador_automatico and
|
pulverizador_automatico and
|
||||||
info_ervas["atualizado"] and
|
info_ervas["atualizado"] and
|
||||||
info_ervas["ervas_no_radar"] and
|
info_ervas["ervas_no_radar"]
|
||||||
info_ervas["percentual_ervas"] >= ervas_min_percent
|
|
||||||
)
|
)
|
||||||
|
|
||||||
reduzir_para_pulverizar = bool(ervas_no_radar)
|
reduzir_para_pulverizar = bool(ervas_no_radar)
|
||||||
|
|
@ -352,6 +351,25 @@ def definir_comando(filtro_vel: FiltroVelocidade, erro_orientacao: float = None)
|
||||||
debug=debug,
|
debug=debug,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Correção crítica:
|
||||||
|
# havendo erva no radar, a saída nunca pode superar a mínima definida.
|
||||||
|
if reduzir_para_pulverizar:
|
||||||
|
velocidade_filtrada = min(
|
||||||
|
velocidade_filtrada,
|
||||||
|
vel_com_ervas
|
||||||
|
)
|
||||||
|
|
||||||
|
# Sincroniza o estado da rampa com a saída realmente aplicada.
|
||||||
|
try:
|
||||||
|
filtro_vel._ultimo_sp_campo = velocidade_filtrada
|
||||||
|
filtro_vel._ultimo_ts_campo = time.monotonic()
|
||||||
|
except Exception:
|
||||||
|
pass
|
||||||
|
|
||||||
|
debug["limitadores"].append(
|
||||||
|
f"ervas no radar: teto rígido em {vel_com_ervas:.1f}%"
|
||||||
|
)
|
||||||
|
|
||||||
velocidade_filtrada = round(
|
velocidade_filtrada = round(
|
||||||
_clamp(velocidade_filtrada, 0.0, vel_sem_ervas),
|
_clamp(velocidade_filtrada, 0.0, vel_sem_ervas),
|
||||||
2
|
2
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue