Desafio AgBot 2019
Escola Secundária East
Durante meu tempo na Escola Secundária East em Denver, Colorado (2014-2018), estive fortemente envolvido em atividades extracurriculares, sendo a mais impactante o clube de robótica, AngelBotics. Não foi até meu segundo ano que me juntei, devido a um foco inicial no futebol. O clube participou principalmente da Competição de Robótica FIRST (FRC), permitindo-me explorar engenharia mecânica e elétrica, bem como programação. Através do AngelBotics, aprendi a usar ferramentas CAD, impressoras 3D e outros equipamentos de engenharia, ganhando exposição a conceitos de STEM geralmente reservados para estudantes universitários. Inicialmente aspirando a ser um Físico Quântico, minhas experiências em Física AP e robótica mostraram-me que eu não era tão bom em física e, por sua vez, me afastaram de um caminho de engenharia mecânica.
Em vez disso, encontrei meu nicho em programação, que começou com a escrita de código Python para meu primeiro Raspberry Pi e foi solidificado através de projetos em Java na AP Ciência da Computação. Apesar de ter dificuldades com exames, meu professor, Sr. Nagel, me incentivou a seguir o desenvolvimento de software, enfatizando o valor dos projetos em vez das notas de teste. Isso me levou a focar em ciência da computação como meu curso na faculdade, com o sonho de me tornar um engenheiro de software e eventualmente um fundador em minha carreira.
Embora eu não estivesse tão envolvido no AngelBotics devido à minha carga de trabalho exigente e à curva de aprendizado acentuada, isso ainda despertou uma paixão duradoura por robótica. Então, quando comecei a faculdade, estava determinado a me juntar a um clube de robótica universitário e um dia construir uma empresa que resolvesse problemas do mundo real com robótica.
Escola de Minas
Após me formar na Escola Secundária East, comecei meu Bacharelado em Ciência da Computação na Escola de Minas do Colorado (2018-2022). Durante meu primeiro semestre, conheci os clubes de robótica da Mines e descobri um novo grupo de robótica chamado AgBot.
AgBot era um novo clube de robótica formado com o objetivo de construir um robô para competir na Competição de Weed and Feed agBots 2019. Esta competição tinha dois desafios principais:
- Identificação e Erradicação de Pragas e Plantas Daninhas
- Criação de Novos Métodos de Colheita Através da Robótica
Nossa equipe escolheu focar no primeiro desafio. Era a primeira vez que a Mines participava da competição agBot, e era a primeira vez que um clube de robótica da Mines trabalhava em algo relacionado à agricultura. Isso fez com que tudo parecesse novo.
Fui imediatamente atraído pelo projeto. Minha família foi agricultora na Turquia por gerações, até a geração do meu pai. Então, o AgBot parecia próximo de casa, unindo minha paixão por robótica e programação. A ideia de construir um robô que pudesse ajudar agricultores como meus avós era realmente empolgante.
Desenvolvimento
Fazer parte da equipe AgBot é uma das minhas experiências universitárias mais memoráveis. Também foi uma das coisas mais difíceis que trabalhei até aquele ponto. Este projeto foi a primeira vez que realmente mergulhei em Python, Ubuntu e ROS. No FRC, tudo era em Java, então este era um território totalmente novo para mim. Eu já tinha usado Python e Ubuntu no passado, mas nunca tinha mexido com ROS. Aprender como o ROS funcionava foi uma batalha difícil. Eu nem sabia o que era um ambiente Python naquela época.
Passei a maior parte do meu tempo tentando fazer um Lidar enviar dados utilizáveis para um nó ROS que eu estava escrevendo. Minha tarefa era implementar um Nó ROS chamado end_detector que pudesse detectar quando o robô chegasse ao final de uma fileira de culturas usando dados do Lidar. Parece simples agora, mas na época parecia enorme.
Levei cerca de duas semanas de depuração para fazer o Lidar se comunicar com meu código. Todo o código foi escrito em C++ ou Python, principalmente Python. Então, meu código era apenas Python para esse trabalho. Uma vez que isso funcionou, comecei a testar a lógica usando patches aleatórios de plantas que encontrei no campus. Eu rolava um suporte segurando o Lidar por eles e via se o código conseguia dizer quando chegávamos ao final. Depois de muitas horas e depurações, eventualmente consegui fazer tudo funcionar pelo menos em meu ambiente de teste. Era uma história diferente quando tentamos combinar tudo.
Meu tempo foi gasto principalmente fazendo o hardware e o software se comunicarem. A lógica real para detectar os finais das fileiras veio em segundo lugar. Mas foi uma ótima experiência de aprendizado. Eu passei de mal entender o ROS a escrever e depurar nós em uma placa Jetson com dados Lidar ao vivo. Também foi durante esse tempo que mudei de usar principalmente Java como minha linguagem de programação para, em vez disso, usar Python como padrão. E, até 2025, ainda não usei realmente Java para nenhum dos meus projetos ou bases de código relacionadas ao trabalho.
Equipe e Stack Tecnológico
Rodamos Ubuntu 16.04 com ROS Kinetic e Python 2.7 em um Nvidia Jetson TX2 que se conectava a um Hokuyo URG 04LX UG01 Lidar. Tínhamos Arduino(s) para entradas de sensores como medidores de distância ultrassônicos. Nosso código lidava com percepção, navegação, controle e pulverização. Você pode ver o repositório aqui: Repositório GitHub. O código específico que escrevi pode ser encontrado em end_detector.py. Aqui está a lista da maioria dos componentes que compunham o robô:
- Ubuntu 16.04 Xenial
- ROS Kinetic Kame
- Python 2.7
- Nvidia Jetson TX2
- Hokuyo URG-04LX-UG01 Lidar
- Arduino Uno & Mega
- Motores DC, Encoders, Controladores de Motor, Bateria, etc.
Não tínhamos uma equipe grande, mas alguns nomes se destacam:
Tyler era o líder e fundador do clube. Eu o respeitava muito naquela época e ainda o respeito hoje. Zachary era o líder do desenvolvimento de software do clube e me ajudou a aprender muito sobre desenvolvimento de software e ROS, pelo que sou grato até hoje.
Havia outros membros também, como Kevin Barnard e Amit Rotem. Mas, infelizmente, não me lembro dos nomes e contatos de todos os membros originais, já que se passaram mais de 5 anos desde que o clube foi encerrado.
A maior parte do desenvolvimento do robô aconteceu durante os finais de semana e até tarde da noite, depois que a maioria de nossas aulas terminava. Trabalhar em um curso de engenharia e no AgBot foi muito cansativo, mas conseguimos.
A Viagem e o Caos
Uma parte de toda essa experiência que nunca esquecerei foi a própria viagem. A competição foi realizada em West Lafayette, Indiana, perto do campus da Universidade Purdue. E toda a competição ocorreu logo após a semana de provas na Mines, então não tivemos tempo para nos recuperar daquela semana infernal.
Dirigimos de Golden, Colorado, até Indiana usando a caminhonete do Tyler para também transportar o robô e todas as nossas ferramentas. A parte engraçada é que começamos a viagem literalmente um dia antes da semana da competição. Empacotamos tudo o que tínhamos, o robô, as ferramentas, as baterias, os computadores, tudo, e dirigimos de Golden, Colorado, até West Lafayette, Indiana. Isso é uma viagem de 18 horas no papel. Levou-nos mais perto de 20 ou 22 horas com paradas para gasolina e banheiro.
Tyler dirigiu o tempo todo, vivendo de bebidas Coffee Monster. Outro colega de equipe, desculpe, esqueci o nome dela, mas ela está nas fotos, assumiu o volante às vezes. Ao longo do caminho, começou a chover muito. Tivemos que parar em um posto de gasolina fechado aleatório e pegar uma lona para proteger o robô. Foi improvisado, foi caótico, foi robótica universitária. De alguma forma, conseguimos chegar.
Quando chegamos, montamos nosso toldo no campo e organizamos todas as nossas ferramentas. Eu me concentrei em terminar o código e fazê-lo funcionar. Durante a maior parte da competição, trabalhamos principalmente na depuração do nosso robô e em fazê-lo funcionar bem, além de conferir as construções legais de robôs de outras equipes.
Então, Nós Vencemos?
Não
Olhando para trás, éramos apenas um grupo de crianças tentando construir algo que estava muito além do nosso nível de experiência. As outras equipes estavam em um nível totalmente diferente. Algumas eram de startups. Algumas eram de laboratórios de pesquisa. Algumas tinham apoio acadêmico completo. Éramos um pequeno grupo de graduandos fazendo noites em claro, esperando que o Python transformasse dados do Lidar em algo útil.
Nosso robô era falho. Era improvisado. E, honestamente, mal funcionou quando chegamos à competição. Muitas pessoas da equipe começaram a desistir quando perceberam que poderíamos não terminar a tempo. Alguns nem apareceram. As provas tinham terminado, o robô não estava pronto e a moral estava bem baixa.
Mas alguns de nós persistiram
Eu não desisti… Tyler não desistiu… E as pessoas na foto, elas também não desistiram!
Mesmo que não tenhamos vencido ou mesmo tido um robô totalmente funcional, eu não trocaria essa experiência por nada. Aprendi sobre ROS, depuração de hardware, construção de sistemas sob pressão e aprendi sobre lealdade. Percebi como é importante levar as coisas até o fim.
Reflexão, Em 2025
Após a temporada de 2019, o AgBot fechou as portas. Isso se deveu principalmente ao COVID que começou quase um ano depois, fazendo com que todos os clubes na Mines fechassem por 1-2 anos e, quando o mundo começou a voltar ao “normal”, eu me formei.
Agora é 2025, e olhando para trás no AgBot, vejo isso como o começo de tudo para mim. Ele me deu minha primeira experiência real com robótica e me ensinou como colaborar com uma equipe técnica. Ele me colocou em um caminho que me levou a oportunidades incríveis.
Desde então, trabalhei como engenheiro de backend no eBay, implantando serviços que processam milhões de métricas em data centers. Fundou minha primeira startup que se concentrou em construir testes de penetração em cibersegurança automatizados por IA. Lançou Notify Cyber, que alcançou dezenas de milhares de visitantes. Eu escrevi software para Docker, Kubernetes, Postgres e infraestrutura avançada de IA.
Mas o AgBot ainda se destaca como uma das melhores experiências da minha vida. Foi caótico, estressante e às vezes parecia impossível, mas me ensinou mais do que qualquer aula ou tutorial poderia. Aprendi que mesmo que você não tenha o plano perfeito ou financiamento suficiente ou o melhor hardware, ainda pode construir algo, aprender muito e conhecer pessoas incríveis ao longo do caminho.
A todos do time do AgBot de 2019, obrigado. Para aquela viagem de carro de 2019, a lona que pegamos em um posto de gasolina fechado e as noites sem dormir, obrigado. Você me deu a determinação para perseguir grandes projetos com confiança, não importa quão impossíveis pareçam.
Recursos e Links
- Site Principal dos Clubes de Robótica da Colorado School of Mines
- Base de Código do AgBot 2019
- Artigo do AgBot da Purdue
- Artigo de Recapitulação Visual da Purdue
- Artigo do DTN Progressive Farmer
- Conta do Twitter/X do AgBot
- Site Oficial do AgBot
- GitHub do Zach
- GitHub do Kevin
- GitHub do Tyler
Galeria de Fotos
Equipe do AgBot da Mines, Nós
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Nosso Robô AgBot
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Vídeos/GIFs
![]() |
![]() |
![]() |
![]() |
![]() |
Campos da Competição
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Outras Equipes Nas Competições
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
FRC 1339 (2014-2017)
![]() |
![]() |
Outras Imagens Aleatórias
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |




































































