Lição 3: Virar a uma distância maior
Navegando para o local de viragem
-
Adicione os seguintes comandos ao seu projeto, após o último comando turn_for . Certifique-se de que o recuo dos ciclos while corresponde aos do projeto. Você pode copiar e colar no seu projeto existente ou digitá-lo no espaço de trabalho.
enquanto front_distance.get_distance(MM) > 50: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES)
- Podemos estimar que a distância da próxima parede até o local de giro desejado no labirinto é de aproximadamente 300 milímetros (mm).
Para sua informação
Você pode usar os dados do Sensor de Distância conforme relatado no Painel para estimar a distância que o Robô VR está de um objeto. Interrompa o seu projeto quando o Robô de RV chegar ao local desejado. Uma vez parado, os valores no Painel exibirão os valores do sensor para o Robô VR onde ele está posicionado no momento. Isso pode ser usado para observar os valores do sensor, bem como visualizar a distância entre o robô VR e um objeto em um determinado ponto no tempo.
-
Ajuste o valor no operador de comparação de malha while final para 300 milímetros (mm), como mostrado abaixo. Isso permitirá que o robô VR avance enquanto a distância até a parede for maior que 300 milímetros. Quando for inferior a 300 milímetros, o Robô VR vira à esquerda, no local de viragem desejado no Labirinto de Parede.
enquanto front_distance.get_distance(MM) > 300: drivetrain.drive(FORWARD) wait(5, MSEC) drivetrain.turn_for(LEFT, 90, DEGREES)
- Inicie o Wall Maze Playground, se ainda não estiver aberto, e execute o projeto. Observe como o robô VR vira à esquerda no local de giro desejado, para que esteja pronto para continuar pelo labirinto até a letra 'B'.
- De seguida, adicione os seguintes comandos ao seu projeto, após o comando final turn_for , para que o VR Robot continue o seu caminho até à letra ‘B’. Certifique-se de que os ciclos while estão corretamente recuados.
-
while front_distance.get_distance(MM) > 50: drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (RIGHT, 90, DEGREES) while front_distance.get_distance (MM) > 50: drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.turn_for (RIGHT, 90, DEGREES) while front_distance.get_distance (MM) > 50: drivetrain.drive (FORWARD) wait(5, MSEC) drivetrain.stop()
-
Inicie o Wall Maze Playground, se ainda não estiver aberto, e execute o projeto novamente.
- O robô VR agora dirige desde o início do Wall Maze Playground e para na letra ‘B.’
- Observe que a alteração do operando direito para 300 milímetros permitiu que o Robô VR girasse a uma distância mais distante da parede, o que era necessário para girar no local correto.
- O valor da distância relatado no Painel pode ser usado para observar a que distância o Robô VR estava de uma parede quando precisava girar para chegar à letra ‘B'.
Selecione o botão Seguinte para continuar com o resto desta lição.