Resolução de problemas
Este capítulo resume problemas frequentes e respetivas soluções, para ajudar o utilizador a diagnosticar e resolver rapidamente os vários problemas encontrados durante a utilização.
Problemas de hardware
Os servos não respondem
Causas possíveis:
- A fonte de alimentação dos servos não está ligada
- Ligação deficiente entre os servos e a placa de acionamento
- Falha na conexão da porta série
- Servos não ativados Soluções:
- Verifique se a fonte de alimentação dos servos está corretamente ligada e com energia
- Verifique se os cabos de ligação entre os servos e a placa de acionamento estão bem fixos
- Execute
examples/diagnostic.pypara ver as informações de diagnóstico - Confirme que premiu
Cpara conectar o gimbal e que os servos estão ativados
Os servos movem-se na direção oposta
Causas possíveis:
- A direção de montagem dos servos ou os parâmetros de controlo do programa precisam de ajuste Solução: Altere o método
calculate_moveemsrc/trackers/tracking_controller.pye inverta o sinal do parâmetro correspondente:
Se a esquerda/direita estiver invertida
delta_pan = -int(self.kp_pan * err_x)Se cima/baixo estiver invertido
delta_tilt = -int(self.kp_tilt * err_y)Vibração dos servos
Causas possíveis:
- Os parâmetros de rastreio são demasiado sensíveis
- A zona morta é demasiado pequena
- Carga excessiva sobre os servos ou alimentação insuficiente Soluções:
- Aumente o parâmetro
dead_zone - Aumente
min_move_interval - Diminua
kp_panekp_tilt - Verifique se a tensão de alimentação está correta
Falha na conexão da porta série
Causas possíveis:
- Controlador não instalado
- Número da porta série incorreto
- Porta série ocupada por outro programa
- Avaria no cabo de ligação Soluções:
- No Windows, verifique o Gestor de Dispositivos e confirme que o controlador está instalado corretamente
- Execute
examples/list_ports.pypara encontrar a porta série correta - Feche outros programas que possam estar a ocupar a porta série
- Experimente mudar a porta USB ou o cabo de dados
Problemas de software
A câmara não abre
Causas possíveis:
- Índice da câmara incorreto
- Câmara ocupada por outro programa
- Problema na ligação física da câmara
- Problema com o controlador da câmara Soluções:
- Execute
examples/list_cameras.pypara ver os índices das câmaras disponíveis - Feche outros programas que possam estar a utilizar a câmara
- Verifique se a câmara está corretamente ligada
- Experimente mudar de porta USB
Erro no OpenCV
Causas possíveis:
- Problema de versão do OpenCV
- Dependências instaladas de forma incompleta
- Anomalia no hardware da câmara Soluções:
- Experimente reinstalar as dependências:
pip install --upgrade opencv-python numpy- Verifique se a versão do Python cumpre os requisitos (>=3.8)
- Consulte a informação da pilha de erros para localizar o código problemático
Falha na instalação das dependências
Causas possíveis:
- Versão do pip demasiado antiga
- Problemas de conexão de rede
- Problemas de permissões Soluções:
- Primeiro, atualize o pip:
pip install --upgrade pip- Utilize um espelho nacional para acelerar:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple- Verifique se a conexão de rede está normal
Arranque lento do programa
Causas possíveis:
- O DSHOW não está a ser utilizado no Windows
- A inicialização do hardware da câmara requer tempo Soluções:
- Confirme que o código utiliza
cv2.CAP_DSHOWcomo back-end da câmara - Verifique se há outros programas a ocupar a câmara
- Aguarde alguns segundos; a inicialização da câmara costuma demorar algum tempo
Problemas de rastreio
Reconhecimento impreciso do alvo
No rastreio de cores:
- Verifique se o contraste entre a cor do alvo e o fundo é suficiente
- Ajuste os parâmetros de cor (em
src/detectors/color_detector.py) - Garanta uma iluminação abundante e uniforme No rastreio de rostos:
- A iluminação deve ser abundante; evite contraluz
- O rosto deve estar de frente para a câmara
- Mantenha uma distância adequada
O gimbal não se move durante o rastreio
Causas possíveis:
- Gimbal não conectado
- Alvo não bloqueado
- Alvo dentro da zona morta
- Erro no programa Soluções:
- Confirme que premiu
Cpara conectar o gimbal - Confirme que premiu
Tpara bloquear o alvo - Consulte a saída da consola e procure mensagens de erro
- Verifique se o alvo está dentro do intervalo
dead_zone
Direção do rastreio invertida
Solução: Consulte a solução apresentada em «Os servos movem-se na direção oposta».
Vibração durante o rastreio
Solução: Consulte a solução apresentada em «Vibração dos servos».
Falha no bloqueio do alvo
Causas possíveis:
- O alvo não estava no centro da imagem no momento do bloqueio
- O alvo é demasiado pequeno ou a cor não é suficientemente distinta
- O alvo não foi detetado Soluções:
- Garanta que o alvo está no centro da imagem no momento do bloqueio
- O tamanho do alvo deve ser adequado para ser detetado corretamente
- Consulte a saída da consola para confirmar se o alvo é detetado
- Ajuste novamente a posição do alvo antes de bloquear
Utilização da ferramenta de diagnóstico
Utilizar o programa de diagnóstico
O sistema disponibiliza uma ferramenta de diagnóstico completa, que permite testar todo o hardware do sistema:
python examples/diagnostic.py --camera 0 --port COM3O programa de diagnóstico testa sequencialmente:
- Se a câmara funciona corretamente
- Se a porta série se consegue conectar corretamente
- Se os servos respondem corretamente Após a conclusão do diagnóstico, são apresentados os resultados dos testes, que ajudam a localizar a origem do problema.
Consultar a saída de depuração
Durante a execução do programa, a consola apresenta informações de depuração relevantes, incluindo:
- Informações sobre os alvos detetados
- Coordenadas do alvo
- Valores de erro
- Comandos de movimento do gimbal
- Quaisquer mensagens de erro Observe atentamente estes dados; isso ajuda a localizar rapidamente o problema.
Métodos de recuperação
Repor o gimbal numa posição segura
- Prima
Rpara recentrar o gimbal - Ou chame
gimbal.return_to_center()
Reiniciar todas as configurações
- Prima
Spara parar o rastreio - Prima
Rpara recentrar - Volte a bloquear o alvo
Recalibração
Se o desempenho do rastreio for claramente insatisfatório, pode:
- Ajustar os parâmetros de rastreio
- Voltar a bloquear o alvo
- Reiniciar o programa, se necessário
- Verificar as ligações de hardware
Obter ajuda
Se os métodos acima não resolverem o problema, registe as seguintes informações:
- Informações do sistema operativo
- Versão do Python
- Informações detalhadas sobre o erro
- Passos para reproduzir o problema
- Resultados da execução do diagnostic

