Quando seu robô não se comporta conforme planejado ao usar o feedback do sensor, você pode seguir um procedimento de solução de problemas passo a passo para encontrar e corrigir seus problemas. Este artigo explicará as etapas de um processo de solução de problemas e fornecerá dicas sobre como usar essas etapas.
As etapas deste processo são:
- Identifique o problema
- Verifique o hardware
- Verifique o software
- Analise e aplique dados
Identifique o problema
A primeira etapa para solucionar problemas do seu sensor é identificar qual sensor está causando o problema. Compare o comportamento observado do robô com o comportamento pretendido do robô. O comportamento problemático é causado por um sensor? Se sim, qual sensor? Se precisar de mais informações para determinar qual sensor pode ser o problema, leia os artigos abaixo relacionados aos sensores do seu robô.
Sensores VEX IQ (1ª geração):
- Usando o sensor giroscópio VEX IQ (1ª geração)
- Usando o sensor de distância VEX IQ (1ª geração)
- Usando o sensor de cores VEX IQ (1ª geração)
- Usando o interruptor de pára-choque VEX IQ
- Usando o LED VEX IQ Touch
Depois de identificar qual sensor está causando o comportamento indesejado, você poderá avançar no processo.
Verifique o hardware
A segunda etapa é verificar o hardware do robô para ter certeza de que o sensor pode funcionar conforme planejado. Cada uma das seguintes considerações de hardware pode estar afetando a funcionalidade do seu sensor.
Verifique o posicionamento do sensor
Comece observando onde o sensor está localizado em seu robô. O sensor está bloqueado por alguma coisa, como outra parte do seu robô? Certifique-se de que o sensor tenha o espaço necessário para funcionar conforme pretendido.
Conforme mostrado aqui, o Sensor de Cores tem uma linha de visão clara para o objeto que deve detectar.
Verifique a conexão do sensor
Teste a funcionalidade do sensor observando os dados relatados no menu do dispositivo no cérebro VEX IQ (1ª geração). Isso pode ajudá-lo a validar se o sensor está conectado e funcionando.
Para acessar o menu do dispositivo, as etapas deste artigo.
Assim que a tela de dispositivos estiver aberta, veja se o sensor está reportando dados.
Caso contrário, certifique-se de que seus sensores estejam conectados corretamente. Ao conectar sensores, você deverá ouvir um estalo quando a guia de travamento do sensor estiver totalmente encaixada em uma porta.
Você também pode tentar trocar o sensor que está usando por outro para ver se isso resolve o seu problema.
Se você alterou algo no posicionamento ou na conexão do sensor, teste seu projeto novamente para ver se isso resolveu o problema. Se o posicionamento e a conexão do sensor não foram alterados, passe para a próxima etapa para continuar o processo de solução de problemas.
Verifique o software
Depois de identificar que o sensor foi colocado e conectado ao robô com sucesso, você pode consultar o projeto VEXcode IQ a seguir. A iteração em um projeto pode ajudá-lo a garantir que os dados do sensor estejam sendo usados de forma eficaz em seu projeto. As estratégias a seguir podem ajudá-lo a codificar seu sensor.
Se você aplicar alguma dessas estratégias ao seu projeto VEXcode IQ, teste seu projeto novamente para ver se isso resolveu o problema.
Verifique o firmware e a configuração
Comece garantindo que o firmware do seu IQ Brain esteja atualizado.
Agora que você tem certeza de que todos os dispositivos estão conectados corretamente ao Brain, verifique a configuração do dispositivo no VEXcode IQ.
Verifique se todos os sensores estão presentes na configuração. Em seguida, verifique se cada um está conectado à porta correta.
Altere quaisquer configurações incorretas do dispositivo.
Execute um projeto de exemplo
Abra um projeto de exemplo que usa o sensor que você está solucionando. Você pode selecionar a categoria 'Sensing' para filtrar projetos de exemplo.
Para obter mais informações sobre exemplos de projetos e modelos de IQ Blocks, consulte este artigo.
Para obter mais informações sobre projetos e modelos de exemplo do IQ C++, consulte este artigo.
Depois de aberto, leia a Nota para determinar se a funcionalidade no projeto de exemplo está alinhada com o que você está tentando fazer com o sensor.
No projeto de exemplo mostrado aqui, a nota indica que este projeto fornece um exemplo de como todos os comandos disponíveis do Sensor de Distância podem ser usados com o robô.
Execute o projeto de exemplo e observe o comportamento do robô. Em seguida, observe o projeto para ver como os dados do sensor estão sendo usados para causar os comportamentos observados. Você pode querer executar o projeto de exemplo várias vezes para ajudar com isso.
Você também pode tentar criar seu próprio projeto simplificado para aplicar o que aprendeu no projeto de exemplo à sua tarefa.
Use outras ferramentas VEXcode IQ
Existem também ferramentas e estratégias que você pode usar para ajudá-lo enquanto aprende mais sobre a codificação do seu sensor no VEXcode IQ. Você pode aprender sobre os blocos ou comandos da Caixa de Ferramentas individualmente usando a Ajuda. Você também pode visualizar os dados do sensor enquanto um projeto está em execução para saber mais sobre o que o sensor está relatando.
A ajuda
Leia a Ajuda dos blocos ou comandos no projeto de exemplo ou em seu projeto para saber mais sobre os dados usados, quais valores o comando reportará e exemplos de como usar o comando em um projeto.
Veja este artigo para saber mais sobre como acessar a Ajuda em VEXcode IQ Blocks.
Consulte este artigo para saber mais sobre como acessar a Ajuda no VEXcode IQ C++.
Imprimir dados
Você também pode imprimir dados do sensor enquanto o projeto de exemplo ou seu projeto está em execução, para ajudá-lo a entender melhor o que o sensor está relatando em tempo real. Isso pode ajudá-lo a determinar quais valores relatados pelo sensor serão usados como parâmetros em seu projeto.
Observe que em um projeto Blocks, um bloco {When started} hat separado pode ser usado para manter todos os comandos de impressão organizados em sua própria pilha.
Blocos de QI VEXcode
VEXcode IQ C++
Selecione cada imagem acima para ampliar.
Imprimir no IQ Brain é útil quando você deseja ver os valores mudando conforme um projeto VEXcode IQ está em execução. Isso pode ajudá-lo a determinar quais valores relatados pelo sensor serão usados como parâmetros em seu projeto. Esses comandos de impressão podem ser integrados ao projeto VEXcode IQ que você já criou para que você possa ver os valores do sensor mudarem em momentos específicos enquanto o robô está em movimento.
Os projetos de exemplo acima mostram como imprimir valores do sensor de distância para o IQ Brain. Os comentários em cada projeto explicam o fluxo do projeto e o uso de cada comando.
Usar o menu do dispositivo no IQ Brain é útil quando você deseja visualizar os valores do sensor enquanto manipula manualmente o robô. Você pode acessar o menu do dispositivo sem executar um projeto VEXcode IQ e ver os valores detectados por um sensor.
Selecione o botão X para acessar as configurações do cérebro, role para baixo até Informações do dispositivo e pressione o botão da marca de seleção para abrir o menu do dispositivo.
Enquanto estiver no menu Dispositivo, use os botões de seta para selecionar o dispositivo sobre o qual deseja visualizar mais informações. O Sensor de Cor está selecionado nesta imagem. Para obter mais informações sobre como visualizar informações do dispositivo no Brain (1ª geração), , consulte este artigo.
Analisar e aplicar dados
A seguir, use o que você aprendeu nas etapas anteriores para ajustar seu projeto original. Você pode continuar a usar ferramentas como a Ajuda e a impressão de dados para permitir o uso eficaz do sensor para atingir seu objetivo.
Você também pode fazer perguntas sobre seu projeto para ajudá-lo a seguir em frente. Pense em coisas como:
- Você está usando mais que < ou menos que > em seu projeto? O símbolo está voltado na direção certa? Se você estiver usando igual a = tente substituí-lo por maior ou menor que, para usar um intervalo de valores.
- Seus parâmetros estão corretos? Você está usando os dados do sensor para definir seus parâmetros? Você escolheu a opção suspensa que precisa?
- Você está verificando as condições mais de uma vez? Tente adicionar um loop Forever ao seu projeto, para que a condição seja verificada repetidamente quando o projeto for executado.
- Seu projeto está travando? Suas condições estão definidas corretamente? Se você estiver usando loops aninhados, tente simplificar seu projeto para isolar comportamentos individuais.
- Suas condições ambientais estão influenciando o sensor? Está muito claro ou muito escuro? Existem objetos ou pessoas no caminho? Tente executar seu projeto em um local diferente para ver se isso ajuda.
- Você está executando a versão mais recente do seu projeto? Você baixou seu projeto atualizado para o Brain? Certifique-se de baixar novamente o projeto sempre que fizer uma alteração.
- Você está detectando a cor correta? O sensor está reportando uma cor diferente daquela que você tem em seu projeto? Tente alterar o parâmetro de cor.
- Você está detectando um objeto dentro do campo de visão do sensor? Lembre-se de que o campo de visão se move em conjunto com o movimento do robô.
- Você está usando um bloco de espera enquanto verifica uma condição? Certifique-se de usar blocos sem espera em um projeto ao verificar uma condição. Veja este artigo para saber mais sobre blocos de espera versus blocos sem espera no VEXcode IQ.
- Se você estiver codificando em blocos, toda a sua pilha está anexada ao bloco {When started} hat? Os blocos só funcionarão quando estiverem conectados. Você pode ouvir um som de clique ao arrastar blocos e conectá-los.
Ao responder a essas perguntas, certifique-se de mudar uma coisa de cada vez em seu projeto, testá-lo e avaliar se essa mudança foi eficaz. Testar seu projeto com frequência pode ajudá-lo a ver mais facilmente como seu código está conectado aos comportamentos do robô. Pode ser necessário repetir as etapas do processo de solução de problemas várias vezes para resolver o problema, e tudo bem. Cada iteração ajudará você a aprender mais sobre o sensor que está usando e como codificá-lo no VEXcode IQ.