Se você não tiver a possibilidade de detectar o obstáculo a priori (por exemplo, com câmeras, sensores de vizinhança ...) Se você já encontrar um obstáculo e seu erro de posição aumentar, você poderá detectar o problema apenas pelo aumento do erro de posição ou indiretamente pelo aumento do motor atual.
A maioria dos controladores de movimento, vi, possui vários parâmetros de configuração, incluindo um limite de erro. Este parâmetro limite informa ao controlador para desativar o motor caso esse limite seja excedido. Isso é feito para proteger o próprio hardware do robô e também o meio ambiente (por exemplo, uma parede, uma caixa ou mesmo um ser humano).
No procedimento de configuração do robô, esse parâmetro geralmente é ajustado, para evitar danos em caso de erro, mas também para evitar alarmes falsos positivos em caso de um limiar pequeno a.
Como deve ficar claro, minha resposta é baseada em um sistema com uma configuração de circuito fechado