2019 Hamon ng AgBot
Paaralang East High
Sa panahon ko sa Paaralang East High sa Denver, Colorado (2014-2018), aktibo ako sa mga gawain pagkatapos ng klase, at ang pinaka-maimpluwensiya ay ang robotics club na AngelBotics. Hindi ako sumali hanggang ako ay nasa sophomore year dahil sa una akong pagtutok sa soccer. Pangunahing lumalahok ang club sa FIRST Robotics Competition (FRC), na nagbigay-daan sa akin upang tuklasin ang mechanical at electrical engineering, pati na rin ang programming. Sa pamamagitan ng AngelBotics, natutunan kong gumamit ng mga CAD tool, 3D printer, at iba pang kagamitan sa engineering, na nagbigay sa akin ng exposure sa mga konsepto ng STEM na karaniwang inilalaan para sa mga estudyante sa kolehiyo. Noong una, nangarap akong maging Quantum Physicist, ngunit ipinakita sa akin ng aking karanasan sa AP Physics at robotics na hindi ako ganoon kagaling sa pisika at sa gayon ay inilipat ako mula sa landas ng mechanical engineering.
Sa halip, natagpuan ko ang aking lugar sa programming, na nagsimula sa pagsusulat ko ng Python code para sa aking unang Raspberry Pi at pinagtibay sa pamamagitan ng mga proyekto sa Java sa AP Computer Science. Kahit na nahihirapan ako sa mga pagsusulit, hinimok ako ng aking guro, si Mr. Nagel, na ituloy ang software development, na binigyang-diin ang halaga ng mga proyekto kaysa sa marka sa pagsusulit. Ito ang nagtulak sa akin na ituon ang computer science bilang aking kurso sa kolehiyo na may pangarap na maging software engineer at kalaunan ay founder sa aking karera.
Bagaman hindi ako ganoon ka-involved sa AngelBotics dahil sa mabigat kong coursework at sa matarik na learning curve, nagpasiklab pa rin ito ng panghabang-buhay na hilig para sa robotics. Kaya nang magsimula ako sa kolehiyo, determinado akong sumali sa isang college robotics club at balang-araw magtayo ng kumpanya na lutasin ang mga totoong problema gamit ang robotics.
Paaralan ng Mines
Matapos kong makatapos sa East High School, sinimulan ko ang aking Bachelors sa Computer Science sa Colorado School of Mines (2018-2022). Sa aking unang semester, tiningnan ko ang Mines robotics clubs at natuklasan ang isang bagong robotics group na tinawag na AgBot.
Ang AgBot ay isang bagong robotics club na nabuo na may layuning gumawa ng robot upang makipagkumpetensya sa 2019 agBots Weed and Feed Competition. Ang kumpetisyong ito ay may dalawang pangunahing hamon:
- Pagkilala at Pag-aalis ng Pest at Weed
- Paglikha ng Mga Bagong Paraan ng Pag-aani gamit ang Robotics
Pinili ng aming koponan na magtuon sa unang hamon. Ito ang unang pagkakataon ng Mines na sumali sa agBot competition, at ito rin ang unang pagkakataon na ang isang robotics club sa Mines ay nagtrabaho sa anumang kaugnay ng agrikultura. Iyon ang nagbigay ng bago at sariwang pakiramdam sa buong bagay.
Agad akong naakit sa proyekto. Ang aking pamilya ay mga magsasaka sa Turkey sa maraming henerasyon, hanggang sa henerasyon ng aking ama. Kaya ang AgBot ay nagpakiramdam na malapit sa bahay dahil nag-uugnay ito ng aking hilig sa robotics at programming. Ang ideya na gumawa ng robot na maaaring makatulong sa mga magsasaka tulad ng aking mga lolo at lola ay talaga namang nakaka-excite.
Pag-unlad
Ang pagiging bahagi ng AgBot team ay isa sa mga pinaka-matatandaan kong karanasan sa kolehiyo. Isa rin ito sa pinakamahirap na bagay na pinagtrabahuhan ko hanggang noon. Ang proyektong ito ang unang pagkakataon na talagang sumisid ako sa Python, Ubuntu, at ROS. Sa FRC, lahat ay nasa Java, kaya bago ito sa akin. Nagamit ko na ang Python at Ubuntu noon, ngunit hindi ko pa nalalapitan ang ROS. Ang pag-aaral kung paano gumagana ang ROS ay isang matarik na pag-akyat. Hindi ko pa nga alam noon kung ano ang isang Python environment.
Ginugol ko ang karamihan ng aking oras sa pagsisikap na mapakuha ang Lidar upang magpadala ng magagamit na data sa isang ROS node na sinusulat ko. Ang tungkulin ko ay i-implementa ang isang ROS Node na tinawag na end_detector na makakakita kung kailan naabot ng robot ang dulo ng isang hanay ng pananim gamit ang data mula sa Lidar. Tunog na simple ngayon, pero noon napakalaki ng pakiramdam.
Tumatagal ng halos dalawang linggo ng pag-debug bago ko mapagana ang Lidar na makipag-usap sa aking code. Ang buong code ay isinulat alinman sa C++ o Python, karamihan sa Python. Kaya ang aking code ay puro Python para sa trabahong ito. Nang gumana iyon, sinimulan kong subukan ang lohika gamit ang mga random na patch ng mga halaman na nakita ko sa campus. Iu-roll ko ang isang stand na may Lidar kaharap sa mga ito at titingnan kung masasabi ng code kung kailan nakarating kami sa dulo. Pagkatapos ng maraming oras at pag-debug, sa huli ay nagana ang lahat kahit sa aking test environment. Magkaiba ang kuwento nang sinubukan naming pagsamahin ang lahat.
Karamihan ng aking oras ay ginugol sa pagpapagana ng hardware at software na mag-usap. Ang aktwal na lohika para sa pagtukoy ng dulo ng hanay ang nasa pangalawang yara. Pero mahusay itong karanasan sa pagkatuto. Mula sa kakaunting pag-unawa sa ROS, napunta ako sa pagsusulat at pag-debug ng mga node sa isang Jetson board na may live na Lidar data. Nitong mga panahong iyon, lumipat ako mula sa pangunahing pag-depend sa Java bilang aking wika ng programming tungo sa defaulting sa Python. At, hanggang 2025, hindi ko pa talaga nagamit ang Java para sa alinman sa aking mga proyekto o work-related code bases.
Koponan at Stack ng Teknolohiya
Nagpatakbo kami ng Ubuntu 16.04 na may ROS Kinetic at Python 2.7 sa isang Nvidia Jetson TX2 na naka-interface sa isang Hokuyo URG 04LX UG01 Lidar. Mayroon kaming Arduino(s) para sa mga sensor input tulad ng ultrasonic range finders. Ang aming code ay humawak ng perception, navigation, control, at spraying. Makikita mo ang repositoryo dito: GitHub Repo. Ang partikular na code na sinulat ko ay makikita sa end_detector.py. Narito ang listahan ng karamihan sa mga komponent na bumubuo sa robot:
- Ubuntu 16.04 Xenial
- ROS Kinetic Kame
- Python 2.7
- Nvidia Jetson TX2
- Hokuyo URG-04LX-UG01 Lidar
- Arduino Uno & Mega
- DC Motors, Encoders, Motor Controllers, Battery, atbp.
Hindi kami malaking koponan, pero ilang pangalan ang tumatak:
Si Tyler ang lider at tagapagtatag ng club. Marami akong paggalang sa kanya noon at hanggang ngayon. Si Zachary naman ang nanguna sa software development para sa club at tinuruan niya ako nang marami tungkol sa software development at ROS na labis kong pinasasalamatan hanggang ngayon.
Mayroon ding ibang mga miyembro, tulad nina Kevin Barnard at Amit Rotem. Ngunit sa kasamaang palad, hindi ko na maalala ang mga pangalan at mga kontak ng lahat ng orihinal na miyembro dahil mahigit na 5 taon na mula nang matapos ang club.
Karamihan sa pag-develop ng robot ay nangyari tuwing weekend at hanggang late na gabi pagkatapos matapos ang karamihan sa aming mga klase. Nakakapagod ang pag-aaral ng engineering degree at pagtrabaho sa AgBot, pero pinilit namin itong tapusin.
Ang Paglalakbay at ang Kaguluhan
Isa sa bahagi ng buong karanasang ito na hindi ko malilimutan ay ang mismong paglalakbay. Ang kompetisyon ay ginanap sa West Lafayette Indiana, malapit sa kampus ng Purdue University. At ang buong kompetisyon ay naganap kaagad pagkatapos ng finals week sa Mines, kaya wala kaming oras para makabawi mula sa linggo ng kabalaghan na iyon.
Nag-drive kami mula Golden Colorado papuntang Indiana gamit ang trak ni Tyler upang din dalhin ang robot at lahat ng aming mga tools. Nakakatawa na nagsimula kami ng biyahe literal isang araw bago ang linggo ng kompetisyon. Pinakete namin ang lahat ng mayroon kami, ang robot, ang mga tools, ang mga baterya, ang mga computers, lahat, at nagmaneho mula Golden Colorado papuntang West Lafayette Indiana. Iyan ay 18 oras na biyahe sa papel. Umabot ito sa mga 20 o 22 oras kasama ang pag-para para sa gas at palikuran.
Si Tyler ang nag-drive sa buong oras, nabubuhay sa mga inuming Coffee Monster. Isang kasama sa koponan, pasensya na nakalimutan ko ang kanyang pangalan pero nasa mga larawan siya, minsan siyang pumapalit sa kanya. Habang nasa daan, bumuhos ang malakas na ulan. Kailangan naming huminto sa isang nagsarang gasolinahan at kumuha ng tarp upang protektahan ang robot. Magulo iyon, nakakagulo, iyon ang college robotics. Sa kabutihang-palad, nakarating kami.
Pagdating namin, itinayo namin ang canopy sa field at inayos ang lahat ng aming mga tools. Nakatuon ako sa pagtatapos ng code at pagpapagana nito. Sa karamihan ng kompetisyon, pangunahing nag-debug kami ng aming robot at pinapaganda ito habang tumitingin din sa mga cool na robot builds ng ibang mga koponan.
Kaya Nanalo Ba Kami?
Hindi
Kung babalikan, kami ay mga kabataang nagsisikap na gumawa ng isang bagay na lampas sa aming antas ng karanasan. Ang ibang mga koponan ay nasa ibang antas. Ang ilan ay mula sa mga startup. Ang ilan ay mula sa mga research labs. Ang ilan ay may buong akademikong suporta. Kami ay maliit na grupo ng mga undergrads na nagpupuyat, umaasang ang Python ay gagawing kapaki-pakinabang ang Lidar data.
May kapintasan ang aming robot. Magulo ito. At sa totoo lang, halos hindi ito gumana nang dumating kami sa kompetisyon. Maraming tao sa koponan ang nagsimulang umatras nang mapagtanto nilang baka hindi namin matapos sa oras. Ang ilan ay hindi pa nga nagpakita. Tapos na ang finals, hindi handa ang robot, at mababa ang morale.
Ngunit iilan sa amin ang nagtiyaga
Hindi ako sumuko… Hindi sumuko si Tyler… At ang mga tao sa larawan, hindi rin sila sumuko!
Kahit na hindi kami nanalo o kahit na walang ganap na gumaganang robot, hindi ko ipagpapalit ang karanasang iyon sa kahit ano. Natutunan ko ang tungkol sa ROS, hardware debugging, pagbuo ng mga sistema sa ilalim ng pressure, at natutunan ko ang tungkol sa katapatan. Napagtanto ko kung gaano kahalaga ang tapusin ang mga bagay.
Pagmumuni-muni, Noong 2025
Pagkatapos ng 2019 season, nagsara ang AgBot. Ito ay pangunahing dahil sa pagpasok ng COVID halos isang taon pagkatapos, na nagdulot ng pagsara ng lahat ng mga club sa Mines para sa 1-2 taon at nang nagsimulang bumalik ang mundo sa “normal” ako ay nakapagtapos na.
Ngayon ay 2025 na, at kapag tinitingnan ko pabalik ang AgBot, nakikita ko ito bilang simula ng lahat para sa akin. Binigyan ako nito ng aking unang tunay na karanasan sa robotics at itinuro sa akin kung paano makipagtulungan sa isang teknikal na koponan. Inilatag nito ako sa isang landas na nagdala sa akin sa kamangha-manghang mga oportunidad.
Mula noon, nagtrabaho ako bilang backend engineer sa eBay, nag-deploy ng mga serbisyo na kumukuha ng milyun-milyong mga metric sa mga data center. Itinatag ko ang aking unang startup na nakatuon sa pagbuo ng AI automated cybersecurity penetration testing. Inilunsad ang Notify Cyber, na umabot sa sampu-sampung libong mga bisita. Sumulat ako ng software para sa Docker, Kubernetes, Postgres, at advanced na AI infrastructure.
Ngunit ang AgBot ay nananatiling isa sa mga pinakamahusay na karanasan sa aking buhay. Ito ay magulo, nakaka-stress, at minsan ay tila imposible, ngunit itinuro nito sa akin nang higit pa kaysa sa anumang klase o tutorial. Natutunan ko na kahit wala kang perpektong plano o sapat na pondo o ang pinakamahusay na hardware, maaari ka pa ring bumuo ng isang bagay, matuto nang marami, at makakilala ng mga kamangha-manghang tao sa daan.
Sa lahat mula sa 2019 AgBot team, salamat. Sa road trip noong 2019 na iyon, ang tarp na kinuha namin sa isang saradong gasolinahan, at ang mga gabing walang tulog, salamat. Binigyan ninyo ako ng tibay upang ituloy ang malalaking proyekto nang may kumpiyansa, gaano man ito kahirap.
Mga Mapagkukunan at Mga Link
- Pangunahing Website ng Colorado School of Mines Robotics Clubs
- Code Base ng AgBot 2019
- Artikulo ng Purdue AgBot
- Biswal na Pagbubuod ng Purdue
- Artikulo ng DTN Progressive Farmer
- Account sa Twitter/X ng AgBot
- Opisyal na Website ng AgBot
- GitHub ni Zach
- GitHub ni Kevin
- GitHub ni Tyler
Galeriya ng Larawan
Koponan ng AgBot ng Mines, Kami
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Aming Robot na AgBot
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Mga Video/GIFs
![]() |
![]() |
![]() |
![]() |
![]() |
Mga Patlang ng Kumpetisyon
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ibang Mga Koponan sa Mga Kumpetisyon
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
FRC 1339 (2014-2017)
![]() |
![]() |
Iba Pang Mga Random na Larawan
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |




































































