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 EXP:
- Compreendendo os dados do sensor inercial do cérebro VEX EXP
- Usando o interruptor bumper com VEX EXP
- Usando Sensor de Distância com VEX EXP
- Usando Sensor Óptico com VEX EXP
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 Óptico 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 na tela de dispositivos no VEX EXP Brain. Isso pode ajudá-lo a validar se o sensor está conectado e funcionando.
Para acessar a tela de dispositivos, as etapas deste artigo. Assim que a tela Dispositivos estiver aberta, veja se o sensor está reportando dados.
Se o sensor não estiver reportando dados, certifique-se de que seus sensores estejam conectados corretamente. Ao conectar sensores a uma porta inteligente, você deverá ouvir um estalo quando a guia de travamento do sensor estiver totalmente encaixada em uma porta.
Ao conectar sensores em uma porta de 3 fios, o cabo deve ser totalmente inserido na orientação correta, com o fio branco mais próximo da tela do Brain.
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 EXP 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 EXP, 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 EXP 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 EXP.
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 blocos EXP, consulte este artigo.
Para obter mais informações sobre projetos e modelos de exemplo EXP Python, consulte este artigo.
Para obter mais informações sobre projetos e modelos de exemplo EXP 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 o Bumper Switch está sendo usado para detectar quando o interruptor é pressionado para que o robô possa parar de dirigir ao entrar em contato com um objeto.
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ê pode tentar criar seu próprio projeto simplificado para aplicar o que aprendeu no projeto de exemplo à sua tarefa.
Use outras ferramentas VEXcode EXP
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 EXP. 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.
Consulte este artigo para saber mais sobre como acessar a Ajuda em blocos EXP VEXcode.
Consulte este artigo para saber mais sobre como acessar a Ajuda no VEXcode EXP Python.
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 EXP VEXcode
VEXcódigo EXP Python
Código VEX EXP C++
Selecione cada imagem acima para ampliar.
Imprimir no EXP Brain é útil quando você deseja ver os valores mudando conforme um projeto VEXcode EXP 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 EXP 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 Inercial no EXP Brain. Os comentários em cada projeto explicam o fluxo do projeto e o uso de cada comando.
Blocos EXP VEXcode
VEXcódigo EXP Python
Código VEX EXP C++
Selecione cada imagem acima para ampliar.
Imprimir no Print Console no VEXcode EXP é recomendado para quando você estiver executando um projeto VEXcode EXP onde o robô NÃO se move. O EXP Brain deve permanecer conectado durante a execução do projeto para poder imprimir no Print Console. Isso é benéfico porque você pode ler os valores da janela VEXcode EXP em vez de tentar ler os dados da tela Brain.
Estes exemplos mostram um projeto imprimindo dados do Sensor de Distância para o Console no VEXcode EXP.
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 ou usar uma faixa de valores de matiz para ver se isso ajuda.
- 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. Consulte este artigo para saber mais sobre blocos de espera versus blocos sem espera no VEXcode EXP.
- 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 EXP.