Capítulo 4: Preparando-se para competir
Lição 2: Usando o Modelo de Competição de Blocos
Olá e bem-vindo(a) à sala de aula VEX. O meu nome é Lauren, e nesta aula vamos aprender a utilizar o Modelo de Competição de Blocos. Na lição anterior, falámos um pouco mais sobre o Modelo de Competição e porque é que precisa de o utilizar durante um jogo da Competição de Robótica VEX. Existem diferentes versões do Modelo de Competição, dependendo da linguagem de programação que está a utilizar, seja em blocos ou em texto. Neste vídeo em particular, como neste curso estamos a focar-nos nos blocos, vou abordar o modelo de competição de blocos no VEXcode V5.
Antes de entrarmos em detalhes, vamos primeiro falar dos materiais. Vou utilizar aqui o Advanced TrainingBot apenas para demonstrar algumas das funcionalidades do braço e da garra. Utilizarei também um comando, um objeto de jogo e o VEXcode V5 para demonstrar este modelo de competição. Não precisa de nenhum material para este vídeo. Vou fazer-vos algumas demonstrações. Portanto, mais uma vez, não precisa de absolutamente nada para esta lição em particular.
Vamos falar sobre o objetivo desta lição. Vamos analisar as diferentes partes do modelo da Competição Blocks, mais especificamente, três partes: a parte "Quando iniciado", que é a nossa fase pré-autónoma, a parte autónoma e a parte de controlo do condutor. Vou falar sobre estes exemplos de código que tenho aqui, e depois vamos testá-los e ver a funcionalidade no nosso robô usando o nosso controlador para ver como o Modelo de Competição funciona na prática.
Posto isto, vamos avançar e analisar o exemplo do nosso projeto.
[Música de fundo]
Certo, para visualizar o Modelo de Competição, vou a Ficheiro, Abrir Exemplos, Modelos e, de seguida, Modelo de Competição. Algumas coisas a considerar. Número um, mais uma vez, estas três secções. Antes de analisarmos isto com o meu exemplo específico, é importante destacar que o primeiro passo para preencher estes campos é adicionar a configuração do nosso dispositivo. Portanto, mais uma vez, se estiver a utilizar um sistema de transmissão com 2 motores, ou se tiver motores de braço ou de garra, ou algo do género, primeiro precisa de se certificar de que os adiciona para que os blocos apareçam no lado esquerdo. Isso permitirá que preencha essas secções novamente.
Assim que abrir o Modelo de Competição, preciso de garantir que adicionei a configuração do meu dispositivo. De seguida, algo que quero referir é que, nesta secção de Controlo do Driver, pode ver que o bloco `forever` está presente. A razão de isto estar ali é que, na maior parte do tempo, na parte do Controlo do Condutor, quando estamos a utilizar o comando, queremos verificar continuamente se os botões estão a ser pressionados ou se os joysticks estão a ser movidos. É por isso que o bloco `forever` está lá por defeito. Se quisesse remover por algum motivo específico, poderia fazê-lo, ou, se não estivesse a utilizar esta pilha e estivesse a utilizar apenas a configuração do dispositivo, poderia simplesmente deixá-la como está.
Tudo bem. Vamos analisar cada uma destas três secções e o que realmente significam, com um exemplo que preparei.
[Música de fundo]
Para começar, gostaria de referir que o nosso Modelo de Competição tem três partes principais. O primeiro é o "Quando iniciado" ou o pré-autónomo. A segunda é a parte autónoma, ou "Quando autónomo", e a terceira é a parte de "Quando o condutor está no controlo". Todos estes três blocos de evento ou chapéu executam diferentes partes deste Modelo de Competição.
Vamos falar de cada secção. A parte pré-autónoma, ou seja, a parte que inicia quando o projeto é executado, será executada assim que o projeto Competition Template for iniciado. Esta opção é ideal para configurar qualquer arranque.
Obrigado por participar nesta aula. Espero que o tenha achado útil e informativo. Se tiver alguma dúvida, não hesite em contactar. Boa programação e boa sorte com os seus projetos de robótica VEX!
Assim, se precisar de imprimir algo no ecrã do cérebro antes de começar a minha parte autónoma, se precisar de calibrar um giroscópio, se quiser imprimir dados neste exemplo específico, uma vez que estou a utilizar o braço e a garra, vou configurar os seus motores para manter a posição. Isto significa que, se eu levantar o braço ou abrir a garra, os motores permanecerão nessa posição específica e não descerão por ação da gravidade, por exemplo. Então, estou basicamente a definir estas noções pré-autónomas para os meus motores. Neste exemplo em concreto, vamos analisar como este se apresenta quando visualizamos a demonstração.
Sinal musical
Agora que tenho isto, esta é a parte "Quando iniciado", a nossa porção pré-Autónoma. A seguir, temos a nossa parte autónoma. A parte autónoma da partida terá a duração de 15 segundos, e este trecho específico de código será executado durante essa parte autónoma. Assim que o modelo de competição for executado, a parte pré-Autónoma "Quando iniciada" será iniciada independentemente de qualquer coisa. Em seguida, será executado o modo autónomo de 15 segundos. Falámos sobre o sistema de controlo de campo e como vai regular quando todos os robôs começam e param, quando é que esta parte específica da partida vai ser executada, quando é que esta linha de código vai correr.
Bem, no exemplo específico que tenho aqui, o nosso robô começará com um objeto de jogo na garra. De seguida, o mecanismo irá fechar-se em torno do objeto, subir no ar, avançar 200 milímetros, baixar o braço e largar o objeto de jogo. Isto poderia simular a marcação de um ponto no início da partida, por exemplo. Portanto, é isso que vai acontecer durante o meu período de autonomia. Mais uma vez, a parte autónoma significa que não tenho controlo do condutor sobre o efeito do controlador no meu robô. Durante esta fase, tudo é autónomo. Tudo é feito através de código.
Analisando aqui esta terceira parte, tenho o meu Controlo do Condutor. Agora, uma coisa que quero destacar é que, na configuração do nosso dispositivo, posso configurar tanto a transmissão como o controlador, o que significa que posso atribuir diferentes definições de transmissão aos meus joysticks e também posso atribuir diferentes botões para controlar diferentes motores. No entanto, digamos que esgotei os botões do meu comando ou que quero manipular outras coisas. Posso adicionar a este bloco de eventos "Quando o Driver Controla" certas coisas que quero fazer e às quais talvez não tenha acesso na configuração do dispositivo, ou talvez queira definir a velocidade da minha transmissão, ou coisas do género.
Assim, o meu exemplo de código específico aqui, para a parte do Controlo do Driver, vai permitir-me controlar a minha garra com um único botão no meu comando. Vamos ver como vai ser. Assim, mais uma vez, quando estou a utilizar a parte de Controlo do controlador, posso utilizar tanto a configuração do dispositivo com o controlador como a parte de controlo do controlador ao mesmo tempo. Ou posso usar um ou outro. Se não estiver a utilizar nenhuma destas três opções — a pré-autónoma "ao arrancar", a autónoma ou o comando do condutor —, pode deixá-las em branco.
Sinal musical
Tudo bem. Agora que tudo isto foi dito, vamos dar uma vista de olhos a como isto ficará quando eu realmente executar no meu robô. Tudo bem. Vamos dar uma vista de olhos a isto no meu comando, na verdade. Consigo navegar até aos programas e lá encontro o meu projeto de Modelo de Competição que já descarreguei e guardei na memória. E se passar o cursor sobre uma delas, aparece uma opção para a corrida cronometrada. Isto vai simular o sistema de controlo de campo que referi anteriormente, e como tudo é controlado por este sistema. Assim, quando o projeto de competição começa realmente, quando a parte autónoma da partida é controlada por isso, e quando a parte de Controlo do Piloto é controlada por isso, posso simular isso usando esta execução cronometrada no controlador.
Nota de Agradecimento
Agradeço-lhe por ter dedicado o seu tempo para explorar este processo comigo. Espero que esta demonstração tenha sido útil.
Mensagem final
Sinta-se à vontade para entrar em contacto caso tenha alguma dúvida ou necessite de mais esclarecimentos. Boa programação e boa sorte com os seus projetos de robótica!
Assim, se selecionar esta opção, ela dir-me-á aqui: 15 segundos para a parte autónoma, um minuto e 45 segundos para o Controlo do Condutor. E quando voltar a carregar nesse botão, ele vai ligar de verdade. Quando o iniciar, vai fazer uma contagem decrescente de 3-2-1, exatamente como numa partida. E então vamos começar.
Assim que clicar em iniciar, a parte autónoma será executada, ou a parte pré-autónoma será iniciada primeiro, independentemente de qualquer coisa. Então, a parte autónoma será iniciada imediatamente. Assim, mostrarei assim que começar a executar a parte autónoma. Mesmo que eu mova o comando para que o robô se mova, ele não se moverá porque, mais uma vez, durante a parte autónoma, não consigo controlar o meu robô usando o comando.
[Música de fundo]
Vamos então ver essa parte específica acontecer. Muito bem, vamos lá. Tudo bem. Agora, ainda me restam alguns segundos na parte autónoma. Como pode ver, mesmo quando movo o comando, nada acontece porque não consigo controlar o meu robô usando o comando durante a fase autónoma. Mas assim que o ecrã muda para o comando do condutor, aí sim consigo controlar o meu robô.
Assim, vou avançar porque, lembrem-se de quando viemos para o projeto para a nossa parte de Controlo do Driver, consigo controlar estas diferentes partes. Assim, resta-me um minuto e 25 segundos. Vou conduzir agora com base na configuração do condutor; isto controla a transmissão, isto controla o braço, este botão controla a garra. Com um simples toque de botão, poderei pegar em objetos. Posso acionar aqui dois botões para levantar e baixar o braço. Um botão para controlar a Garra. Fechado, Aberto.
Como esta não é uma opção na configuração do dispositivo, precisei de criar este código de raiz, e foi exatamente por isso que utilizei o bloco de eventos de controlo do controlador que pode ver nesta pilha específica. A contagem decrescente continuará durante o resto da minha parte de Controlo do Condutor. Mas como pode ver, vou interromper isso. Assim que a fase de Controlo do Piloto terminar, tudo será desligado e a partida estará terminada.
Pode ver as três partes diferentes do modelo. Mais uma vez, passamos pela secção "quando iniciado" do pré-autónomo, que será executado independentemente da secção, seja no modo autónomo ou no controlo do condutor, e depois entramos na parte autónoma. Não consigo usar o meu comando quando isso acontece. Assim que esta etapa estiver concluída, passaremos para a parte do Controlo do Condutor, onde poderei controlar o meu robô usando o controlo remoto. Esta etapa terá a duração de um minuto e 45 segundos, até terminar. Assim, como já referi anteriormente, utilizando o sistema de controlo de campo, todos os robôs irão arrancar e parar ao mesmo tempo.
[Música de fundo]
Tudo bem. Vamos fazer um breve resumo do que abordamos neste vídeo. Analisámos o modelo da Competição de Blocos. Existem três porções diferentes. O processo "When started", pré-autónomo, irá ser executado independentemente de tudo. Isto serve para inicializar variáveis, talvez configurar e calibrar um giroscópio, imprimir graças ao ecrã do processador, definir posições de motores como segurar ou até mesmo levantar o braço para uma posição específica. Tudo isto é feito antes da parte autónoma da partida.
De seguida, entrámos na parte autónoma, a pilha autónoma que vimos ali, onde, durante 15 segundos, o robô se move completamente por código, sem interações com o controlador ou o condutor. Assim que esta secção estiver concluída, passamos para a parte do Controlo do Driver, que pode ser controlada tanto pela configuração do dispositivo que vimos anteriormente, atribuindo determinados motores e outros componentes aos botões do joystick e coisas do género no controlador, como através daquela pilha específica onde posso inserir um código um pouco mais personalizado para o meu robô. Pode usar um ou outro, ou ambos.
E como já referi anteriormente, se não estiver a utilizar nenhuma destas três secções em todo o seu programa, também pode deixar as pilhas nos blocos de eventos em branco.
Obrigado por assistir e espero que isto o ajude a compreender melhor o modelo da competição.
Mais uma vez, a razão para utilizar este modelo é garantir que, durante uma partida, todos os robôs arrancam e param ao mesmo tempo. Isto porque haverá quatro robôs em campo, e queremos garantir, mais uma vez, que todos os robôs arrancam e param ao mesmo tempo.
Espero que todas estas informações tenham sido úteis para aprender sobre o Modelo de Competição e se preparar para competir numa partida da Competição de Robótica VEX. Estou muito entusiasmada.
Parabéns, concluiu o Capítulo Quatro, e vemo-nos noutro vídeo.
Antes de entrarmos em detalhes, vamos primeiro falar dos materiais. Vou utilizar aqui o Advanced TrainingBot apenas para demonstrar algumas das funcionalidades do braço e da garra. Utilizarei também um comando, um objeto de jogo e o VEXcode V5 para demonstrar este modelo de competição. Não precisa de nenhum material para este vídeo. Vou fazer-vos algumas demonstrações. Portanto, mais uma vez, não precisa de absolutamente nada para esta lição em particular.
Vamos falar sobre o objetivo desta lição. Vamos analisar as diferentes partes do modelo da Competição Blocks, mais especificamente, três partes: a parte "Quando iniciado", que é a nossa fase pré-autónoma, a parte autónoma e a parte de controlo do condutor. Vou falar sobre estes exemplos de código que tenho aqui, e depois vamos testá-los e ver a funcionalidade no nosso robô usando o nosso controlador para ver como o Modelo de Competição funciona na prática.
Posto isto, vamos avançar e analisar o exemplo do nosso projeto.
[Música de fundo]
Certo, para visualizar o Modelo de Competição, vou a Ficheiro, Abrir Exemplos, Modelos e, de seguida, Modelo de Competição. Algumas coisas a considerar. Número um, mais uma vez, estas três secções. Antes de analisarmos isto com o meu exemplo específico, é importante destacar que o primeiro passo para preencher estes campos é adicionar a configuração do nosso dispositivo. Portanto, mais uma vez, se estiver a utilizar um sistema de transmissão com 2 motores, ou se tiver motores de braço ou de garra, ou algo do género, primeiro precisa de se certificar de que os adiciona para que os blocos apareçam no lado esquerdo. Isso permitirá que preencha essas secções novamente.
Assim que abrir o Modelo de Competição, preciso de garantir que adicionei a configuração do meu dispositivo. De seguida, algo que quero referir é que, nesta secção de Controlo do Driver, pode ver que o bloco `forever` está presente. A razão de isto estar ali é que, na maior parte do tempo, na parte do Controlo do Condutor, quando estamos a utilizar o comando, queremos verificar continuamente se os botões estão a ser pressionados ou se os joysticks estão a ser movidos. É por isso que o bloco `forever` está lá por defeito. Se quisesse remover por algum motivo específico, poderia fazê-lo, ou, se não estivesse a utilizar esta pilha e estivesse a utilizar apenas a configuração do dispositivo, poderia simplesmente deixá-la como está.
Tudo bem. Vamos analisar cada uma destas três secções e o que realmente significam, com um exemplo que preparei.
[Música de fundo]
Para começar, gostaria de referir que o nosso Modelo de Competição tem três partes principais. O primeiro é o "Quando iniciado" ou o pré-autónomo. A segunda é a parte autónoma, ou "Quando autónomo", e a terceira é a parte de "Quando o condutor está no controlo". Todos estes três blocos de evento ou chapéu executam diferentes partes deste Modelo de Competição.
Vamos falar de cada secção. A parte pré-autónoma, ou seja, a parte que inicia quando o projeto é executado, será executada assim que o projeto Competition Template for iniciado. Esta opção é ideal para configurar qualquer arranque.
Obrigado por participar nesta aula. Espero que o tenha achado útil e informativo. Se tiver alguma dúvida, não hesite em contactar. Boa programação e boa sorte com os seus projetos de robótica VEX!
Assim, se precisar de imprimir algo no ecrã do cérebro antes de começar a minha parte autónoma, se precisar de calibrar um giroscópio, se quiser imprimir dados neste exemplo específico, uma vez que estou a utilizar o braço e a garra, vou configurar os seus motores para manter a posição. Isto significa que, se eu levantar o braço ou abrir a garra, os motores permanecerão nessa posição específica e não descerão por ação da gravidade, por exemplo. Então, estou basicamente a definir estas noções pré-autónomas para os meus motores. Neste exemplo em concreto, vamos analisar como este se apresenta quando visualizamos a demonstração.
Sinal musical
Agora que tenho isto, esta é a parte "Quando iniciado", a nossa porção pré-Autónoma. A seguir, temos a nossa parte autónoma. A parte autónoma da partida terá a duração de 15 segundos, e este trecho específico de código será executado durante essa parte autónoma. Assim que o modelo de competição for executado, a parte pré-Autónoma "Quando iniciada" será iniciada independentemente de qualquer coisa. Em seguida, será executado o modo autónomo de 15 segundos. Falámos sobre o sistema de controlo de campo e como vai regular quando todos os robôs começam e param, quando é que esta parte específica da partida vai ser executada, quando é que esta linha de código vai correr.
Bem, no exemplo específico que tenho aqui, o nosso robô começará com um objeto de jogo na garra. De seguida, o mecanismo irá fechar-se em torno do objeto, subir no ar, avançar 200 milímetros, baixar o braço e largar o objeto de jogo. Isto poderia simular a marcação de um ponto no início da partida, por exemplo. Portanto, é isso que vai acontecer durante o meu período de autonomia. Mais uma vez, a parte autónoma significa que não tenho controlo do condutor sobre o efeito do controlador no meu robô. Durante esta fase, tudo é autónomo. Tudo é feito através de código.
Analisando aqui esta terceira parte, tenho o meu Controlo do Condutor. Agora, uma coisa que quero destacar é que, na configuração do nosso dispositivo, posso configurar tanto a transmissão como o controlador, o que significa que posso atribuir diferentes definições de transmissão aos meus joysticks e também posso atribuir diferentes botões para controlar diferentes motores. No entanto, digamos que esgotei os botões do meu comando ou que quero manipular outras coisas. Posso adicionar a este bloco de eventos "Quando o Driver Controla" certas coisas que quero fazer e às quais talvez não tenha acesso na configuração do dispositivo, ou talvez queira definir a velocidade da minha transmissão, ou coisas do género.
Assim, o meu exemplo de código específico aqui, para a parte do Controlo do Driver, vai permitir-me controlar a minha garra com um único botão no meu comando. Vamos ver como vai ser. Assim, mais uma vez, quando estou a utilizar a parte de Controlo do controlador, posso utilizar tanto a configuração do dispositivo com o controlador como a parte de controlo do controlador ao mesmo tempo. Ou posso usar um ou outro. Se não estiver a utilizar nenhuma destas três opções — a pré-autónoma "ao arrancar", a autónoma ou o comando do condutor —, pode deixá-las em branco.
Sinal musical
Tudo bem. Agora que tudo isto foi dito, vamos dar uma vista de olhos a como isto ficará quando eu realmente executar no meu robô. Tudo bem. Vamos dar uma vista de olhos a isto no meu comando, na verdade. Consigo navegar até aos programas e lá encontro o meu projeto de Modelo de Competição que já descarreguei e guardei na memória. E se passar o cursor sobre uma delas, aparece uma opção para a corrida cronometrada. Isto vai simular o sistema de controlo de campo que referi anteriormente, e como tudo é controlado por este sistema. Assim, quando o projeto de competição começa realmente, quando a parte autónoma da partida é controlada por isso, e quando a parte de Controlo do Piloto é controlada por isso, posso simular isso usando esta execução cronometrada no controlador.
Nota de Agradecimento
Agradeço-lhe por ter dedicado o seu tempo para explorar este processo comigo. Espero que esta demonstração tenha sido útil.
Mensagem final
Sinta-se à vontade para entrar em contacto caso tenha alguma dúvida ou necessite de mais esclarecimentos. Boa programação e boa sorte com os seus projetos de robótica!
Assim, se selecionar esta opção, ela dir-me-á aqui: 15 segundos para a parte autónoma, um minuto e 45 segundos para o Controlo do Condutor. E quando voltar a carregar nesse botão, ele vai ligar de verdade. Quando o iniciar, vai fazer uma contagem decrescente de 3-2-1, exatamente como numa partida. E então vamos começar.
Assim que clicar em iniciar, a parte autónoma será executada, ou a parte pré-autónoma será iniciada primeiro, independentemente de qualquer coisa. Então, a parte autónoma será iniciada imediatamente. Assim, mostrarei assim que começar a executar a parte autónoma. Mesmo que eu mova o comando para que o robô se mova, ele não se moverá porque, mais uma vez, durante a parte autónoma, não consigo controlar o meu robô usando o comando.
[Música de fundo]
Vamos então ver essa parte específica acontecer. Muito bem, vamos lá. Tudo bem. Agora, ainda me restam alguns segundos na parte autónoma. Como pode ver, mesmo quando movo o comando, nada acontece porque não consigo controlar o meu robô usando o comando durante a fase autónoma. Mas assim que o ecrã muda para o comando do condutor, aí sim consigo controlar o meu robô.
Assim, vou avançar porque, lembrem-se de quando viemos para o projeto para a nossa parte de Controlo do Driver, consigo controlar estas diferentes partes. Assim, resta-me um minuto e 25 segundos. Vou conduzir agora com base na configuração do condutor; isto controla a transmissão, isto controla o braço, este botão controla a garra. Com um simples toque de botão, poderei pegar em objetos. Posso acionar aqui dois botões para levantar e baixar o braço. Um botão para controlar a Garra. Fechado, Aberto.
Como esta não é uma opção na configuração do dispositivo, precisei de criar este código de raiz, e foi exatamente por isso que utilizei o bloco de eventos de controlo do controlador que pode ver nesta pilha específica. A contagem decrescente continuará durante o resto da minha parte de Controlo do Condutor. Mas como pode ver, vou interromper isso. Assim que a fase de Controlo do Piloto terminar, tudo será desligado e a partida estará terminada.
Pode ver as três partes diferentes do modelo. Mais uma vez, passamos pela secção "quando iniciado" do pré-autónomo, que será executado independentemente da secção, seja no modo autónomo ou no controlo do condutor, e depois entramos na parte autónoma. Não consigo usar o meu comando quando isso acontece. Assim que esta etapa estiver concluída, passaremos para a parte do Controlo do Condutor, onde poderei controlar o meu robô usando o controlo remoto. Esta etapa terá a duração de um minuto e 45 segundos, até terminar. Assim, como já referi anteriormente, utilizando o sistema de controlo de campo, todos os robôs irão arrancar e parar ao mesmo tempo.
[Música de fundo]
Tudo bem. Vamos fazer um breve resumo do que abordamos neste vídeo. Analisámos o modelo da Competição de Blocos. Existem três porções diferentes. O processo "When started", pré-autónomo, irá ser executado independentemente de tudo. Isto serve para inicializar variáveis, talvez configurar e calibrar um giroscópio, imprimir graças ao ecrã do processador, definir posições de motores como segurar ou até mesmo levantar o braço para uma posição específica. Tudo isto é feito antes da parte autónoma da partida.
De seguida, entrámos na parte autónoma, a pilha autónoma que vimos ali, onde, durante 15 segundos, o robô se move completamente por código, sem interações com o controlador ou o condutor. Assim que esta secção estiver concluída, passamos para a parte do Controlo do Driver, que pode ser controlada tanto pela configuração do dispositivo que vimos anteriormente, atribuindo determinados motores e outros componentes aos botões do joystick e coisas do género no controlador, como através daquela pilha específica onde posso inserir um código um pouco mais personalizado para o meu robô. Pode usar um ou outro, ou ambos.
E como já referi anteriormente, se não estiver a utilizar nenhuma destas três secções em todo o seu programa, também pode deixar as pilhas nos blocos de eventos em branco.
Obrigado por assistir e espero que isto o ajude a compreender melhor o modelo da competição.
Mais uma vez, a razão para utilizar este modelo é garantir que, durante uma partida, todos os robôs arrancam e param ao mesmo tempo. Isto porque haverá quatro robôs em campo, e queremos garantir, mais uma vez, que todos os robôs arrancam e param ao mesmo tempo.
Espero que todas estas informações tenham sido úteis para aprender sobre o Modelo de Competição e se preparar para competir numa partida da Competição de Robótica VEX. Estou muito entusiasmada.
Parabéns, concluiu o Capítulo Quatro, e vemo-nos noutro vídeo.
Objectivos de aprendizagem
Learning Objectives Section
- Defina os principais elementos do Modelo de Competição de Blocos no VEXcode V5, incluindo as seções quando iniciado, autônomo e controle do motorista.
Resumo
Summary Section
Este é o segundo vídeo do Capítulo 4 do Curso de Introdução ao VEX V5. Se você ainda não assistiu ao primeiro vídeo, volte e assista à Lição 1: Mecânica de uma Partida de Competição de Robótica VEX.
Na Lição 2, você aprenderá sobre cada um dos três elementos principais do Modelo de Competição de Blocos no VEXcode V5, visualizando um exemplo em ação.
Parabéns, concluiu o Curso de Introdução ao VEX V5!