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:

  1. Pagkilala at Pag-aalis ng Pest at Weed
  2. 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.

Galeriya ng Larawan

Koponan ng AgBot ng Mines, Kami

GetStoredImage-1.jpeg GetStoredImage.jpeg IMG_9005.jpeg IMG_9006.jpeg
IMG_9663.jpeg IMG_9684.jpeg IMG_9685.jpeg IMG_9686.jpeg
IMG_9687.jpeg IMG_9688.jpeg IMG_9691.jpeg

Aming Robot na AgBot

IMG_8854.jpeg IMG_8855.jpeg IMG_8856.jpeg IMG_8867.jpeg
IMG_8976.jpeg IMG_8977.jpeg IMG_9007.jpeg IMG_9008.jpeg
IMG_9037.jpeg IMG_9038.jpeg IMG_9039.jpeg IMG_9040.jpeg
IMG_9695.jpeg r1.jpeg r3.jpeg r5.jpeg
r6.jpeg r7.jpeg r9.jpeg

Mga Video/GIFs

IMG_6724.gif NEHE1091.gif demo.gif random_demo.gif
rogo_hardware.gif

Mga Patlang ng Kumpetisyon

IMG_8848.jpeg IMG_8849.jpeg IMG_8850.jpeg IMG_8851.jpeg
IMG_9042.jpeg IMG_9666.jpeg IMG_9668.png land.jpeg

Ibang Mga Koponan sa Mga Kumpetisyon

IMG_8827.jpeg IMG_8828.jpeg IMG_8857.jpeg IMG_8858.jpeg
IMG_8880.jpeg IMG_9651.jpeg IMG_9669.jpeg IMG_9671.jpeg
IMG_9672.jpeg IMG_9673.jpeg IMG_9674.jpeg IMG_9675.jpeg
IMG_9677.jpeg IMG_9678.jpeg IMG_9679.jpeg IMG_9696.jpeg
IMG_9697.jpeg gpage_2019.jpeg robot.jpeg

FRC 1339 (2014-2017)

IMG_9629.jpeg IMG_9630.jpeg

Iba Pang Mga Random na Larawan

IMG_8825.jpeg IMG_8826.jpeg IMG_8852.jpeg IMG_8853.jpeg
IMG_8980.jpeg IMG_8981.jpeg IMG_9002.jpeg IMG_9003.jpeg
IMG_9043.jpeg mines_logo.png