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 = (
|
||||
pulverizador_automatico and
|
||||
info_ervas["atualizado"] and
|
||||
info_ervas["ervas_no_radar"] and
|
||||
info_ervas["percentual_ervas"] >= ervas_min_percent
|
||||
info_ervas["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,
|
||||
)
|
||||
|
||||
# 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(
|
||||
_clamp(velocidade_filtrada, 0.0, vel_sem_ervas),
|
||||
2
|
||||
|
|
|
|||
Loading…
Reference in New Issue