Solução de problemas
Este capítulo resume problemas comuns e soluções, ajudando o usuário a diagnosticar e resolver rapidamente os diversos problemas encontrados durante o uso.
Problemas de hardware
Servos não respondem
Possíveis causas:
- Alimentação dos servos não conectada
- Conexão defeituosa entre os servos e a placa de driver
- Falha na conexão da porta serial
- Servos não habilitados Soluções:
- Verifique se a alimentação dos servos está corretamente conectada e energizada
- Verifique se os cabos de conexão entre os servos e a placa de driver estão firmes
- Execute
examples/diagnostic.pypara ver as informações de diagnóstico - Certifique-se de que o gimbal foi conectado com
Ce que os servos estão habilitados
Servos giram na direção oposta
Possíveis causas:
- A direção de montagem dos servos ou os parâmetros de controle do programa precisam de ajuste Soluções: Modifique o método
calculate_moveemsrc/trackers/tracking_controller.pye inverta o sinal dos parâmetros correspondentes:
Se esquerda/direita estiver invertido
delta_pan = -int(self.kp_pan * err_x)Se cima/baixo estiver invertido
delta_tilt = -int(self.kp_tilt * err_y)Servos tremem
Possíveis causas:
- Parâmetros de rastreamento sensíveis demais
- Zona morta muito pequena
- Carga excessiva nos servos ou alimentação insuficiente Soluções:
- Aumente o parâmetro
dead_zone - Aumente
min_move_interval - Reduza
kp_panekp_tilt - Verifique se a tensão da fonte de alimentação está normal
Falha na conexão da porta serial
Possíveis causas:
- Driver não instalado
- Número da porta serial incorreto
- Porta serial ocupada por outro programa
- Defeito no cabo de conexão Soluções:
- No Windows, verifique o Gerenciador de Dispositivos e confirme se o driver está instalado corretamente
- Execute
examples/list_ports.pypara encontrar a porta serial correta - Feche outros programas que possam estar ocupando a porta serial
- Tente trocar a porta USB ou o cabo de dados
Problemas de software
A câmera não abre
Possíveis causas:
- Índice da câmera incorreto
- Câmera ocupada por outro programa
- Problema na conexão física da câmera
- Problema no driver da câmera Soluções:
- Execute
examples/list_cameras.pypara ver os índices das câmeras disponíveis - Feche outros programas que possam estar usando a câmera
- Verifique se a conexão da câmera está normal
- Tente trocar a porta USB
Erro no OpenCV
Possíveis causas:
- Problema na versão do OpenCV
- Instalação incompleta das bibliotecas de dependência
- Anomalia no hardware da câmera Soluções:
- Tente reinstalar as bibliotecas de dependência:
pip install --upgrade opencv-python numpy- Verifique se a versão do Python atende aos requisitos (>=3.8)
- Analise as informações de pilha de erros (stack trace) para localizar o código com problema
Falha na instalação das dependências
Possíveis causas:
- Versão do pip muito antiga
- Problema de conexão de rede
- Problema de permissão Soluções:
- Primeiro, atualize o pip:
pip install --upgrade pip- Use um mirror doméstico para acelerar:
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple- Verifique se a conexão de rede está normal
O programa inicia lentamente
Possíveis causas:
- DSHOW não utilizado no Windows
- A inicialização do hardware da câmera leva tempo Soluções:
- Confirme se o código usa
cv2.CAP_DSHOWcomo backend da câmera - Verifique se há outros programas usando a câmera
- Aguarde alguns segundos; a inicialização da câmera geralmente leva um tempo
Problemas de rastreamento
Reconhecimento impreciso do alvo
No rastreamento de cor:
- Verifique se o contraste entre a cor do alvo e o fundo é nítido
- Ajuste os parâmetros de cor (em
src/detectors/color_detector.py) - Garanta que a iluminação seja suficiente e uniforme No rastreamento de rosto:
- A iluminação deve ser suficiente; evite contraluz
- O rosto deve estar de frente para a câmera
- Mantenha uma distância adequada
O gimbal não se move durante o rastreamento
Possíveis causas:
- Gimbal não conectado
- Alvo não bloqueado
- Alvo dentro da zona morta
- Erro no programa Soluções:
- Confirme que o gimbal foi conectado com
C - Confirme que o alvo foi bloqueado com
T - Verifique a saída do console em busca de mensagens de erro
- Verifique se o alvo está dentro da faixa de
dead_zone
Direção do rastreamento invertida
Soluções: Consulte a solução de "Servos giram na direção oposta".
Tremores no rastreamento
Soluções: Consulte a solução de "Servos tremem".
Falha no bloqueio do alvo
Possíveis causas:
- No momento do bloqueio, o alvo não estava no centro da imagem
- Alvo muito pequeno ou cor pouco nítida
- Alvo não detectado Soluções:
- Garanta que o alvo esteja no centro da imagem no momento do bloqueio
- O tamanho do alvo deve ser adequado para ser detectado corretamente
- Verifique a saída do console para confirmar se o alvo foi detectado
- Ajuste novamente a posição do alvo e bloqueie de novo
Uso da ferramenta de diagnóstico
Usar o programa de diagnóstico
O sistema oferece uma ferramenta de diagnóstico completa, capaz de testar todo o hardware do sistema:
python examples/diagnostic.py --camera 0 --port COM3O programa de diagnóstico testará sucessivamente:
- Se a câmera funciona corretamente
- Se a porta serial consegue conectar normalmente
- Se os servos respondem normalmente Ao final do diagnóstico, os resultados dos testes serão exibidos, ajudando a localizar o problema.
Ver a saída de depuração
Durante a execução do programa, o console exibirá informações de depuração relevantes, incluindo:
- Informações dos alvos detectados
- Coordenadas do alvo
- Valores de erro
- Comandos de movimento do gimbal
- Quaisquer mensagens de erro Observar atentamente essas saídas ajuda a localizar o problema rapidamente.
Métodos de recuperação
Restaurar o gimbal para uma posição segura
- Pressione
Rpara centralizar o gimbal - Ou chame
gimbal.return_to_center()
Redefinir todas as configurações
- Pressione
Spara parar o rastreamento - Pressione
Rpara centralizar - Bloqueie o alvo novamente
Recalibração
Se o efeito do rastreamento estiver bastante insatisfatório, você pode:
- Ajustar os parâmetros de rastreamento
- Bloquear o alvo novamente
- Reiniciar o programa, se necessário
- Verificar as conexões de hardware
Obtendo ajuda
Se os métodos acima não resolverem o problema, registre as seguintes informações:
- Informações do sistema operacional
- Versão do Python
- Mensagens de erro detalhadas
- Passos para reproduzir o problema
- Resultado da execução do diagnostic

