2019 AgBot Meydan Okuması

East Lisesi

Denver, Colorado’da (2014-2018) East Lisesi dönemimde, okul sonrası etkinliklerde yoğun bir şekilde yer aldım; en etkili olanı ise robotik kulübü AngelBotics‘du. Futbola odaklandığım için ikinci sınıfta katıldım. Kulüp, FIRST Robotik Yarışması (FRC) içinde yer alıyordu ve bu sayede mekanik ve elektrik mühendisliği ile programlamayı keşfetme fırsatı buldum. AngelBotics sayesinde CAD araçlarını, 3D yazıcıları ve diğer mühendislik ekipmanlarını kullanmayı öğrendim; genellikle üniversite öğrencilerine ayrılmış STEM kavramlarına maruz kaldım. Başlangıçta Kuantum Fizikçisi olmayı hayal ediyordum; ancak AP Fizik ve robotik deneyimlerim fizik konusunda pek iyi olmadığımı gösterdi ve beni mekanik mühendislik yolundan uzaklaştırdı.

Bunun yerine programlamada bir tutku buldum; bu, ilk Raspberry Pi için Python kodu yazmamla başladı ve AP Bilgisayar Bilimi’nde Java projeleriyle pekişti. Sınavlarda zorlanmama rağmen öğretmenim Bay Nagel, proje değerini test puanlarından daha çok vurgulayarak yazılım geliştirmeye yönlendirdi. Bu, üniversitede bilgisayar bilimi okumam ve bir yazılım mühendisi olma ve sonunda bir kurucu olma hayalimle sonuçlandı.

AngelBotics’e ders yüküm ve öğrenme eğrisi nedeniyle çok fazla dahil olamasam da, robotik için ömür boyu sürecek bir tutku yarattı. Üniversiteye başladığımda bir üniversite robotik kulübüne katılmaya ve bir gün robotik ile gerçek dünya problemlerini çözen bir şirket kurmaya kararlıydım.

Maden Okulu

East Lisesi’nden mezun olduktan sonra, Colorado Maden Okulu (2018-2022) bilgisayar bilimleri lisansına başladım. İlk dönemimde Mines robotik kulüplerini inceledim ve AgBot adlı yeni bir robotik grup keşfettim.

AgBot, 2019 agBots Weed and Feed Competition yarışmasına katılmak için bir robot inşa etmeyi amaçlayan yeni bir robotik kulüptü. Bu yarışmanın iki ana zorluğu vardı:

  1. Zararlı ve Yabani Ot Tanımlama ve Yok Etme
  2. Robotik ile Yeni Hasat Yöntemleri Oluşturma

Ekibimiz ilk zorluğa odaklanmayı seçti. Bu, Mines’ın agBot yarışmasına ilk kez katılması ve bir Mines robotik kulübunun tarımla ilgili bir şey üzerinde çalışmasıydı. Bu da her şeyi taze hissettirdi.

Projeye hemen çekildim. Ailem, babamın nesline kadar Türkiye’de nesiller boyu çiftçilik yapmıştı. Bu yüzden AgBot, robotik ve programlama tutkumla evime yakın bir şeydi. Büyüklerim gibi çiftçilere yardımcı olabilecek bir robot inşa etme fikri gerçekten heyecan vericiydi.

Geliştirme

AgBot ekibinin bir parçası olmak, üniversite hayatımın en unutulmaz deneyimlerinden biriydi. Aynı zamanda o zamana kadar çalıştığım en zor şeydi. Bu proje, Python, Ubuntu ve ROS‘a ilk kez derinlemesine dalmamı sağladı. FRC’de her şey Java’daydı, bu yüzden benim için tamamen yeni bir alan oldu. Daha önce Python ve Ubuntu kullanmıştım ama ROS’a hiç dokunmamıştım. ROS’un nasıl çalıştığını öğrenmek zorlu bir mücadeleydi. O zamanlar bir Python ortamının ne olduğunu bile bilmiyordum.

Zamanımın çoğunu bir Lidar‘ı ROS düğümüne veri gönderecek şekilde ayarlamaya harcadım. Görevim, Lidar verilerini kullanarak robotun bir ekin satırının sonuna ulaştığını tespit edebilen bir ROS Node olan end_detector‘ı ( end_detector ) uygulamaktı. Şimdi basit görünüyor ama o zamanlar büyük bir şey gibi hissetti.

Lidar’ı koduma bağlamak iki hafta süren hata ayıklama gerektirdi. Tüm kod C++ veya Python’da yazılmıştı, çoğunlukla Python. Bu iş için sadece Python kullandım. Çalıştığında, kampüste bulduğum rastgele bitki parçalarıyla mantığı test etmeye başladım. Lidar’ı tutan bir standı onlara doğru sürüp kodun sonunu tespit edip etmediğini gördüm. Saatlerce hata ayıkladıktan sonra en azından test ortamımda her şey çalıştı. Her şeyi birleştirmeye çalıştığımızda farklı bir hikayeydi.

Zamanımın çoğu donanım ve yazılımı birbirine bağlamaya harcandı. Satır sonlarını tespit eden mantık ikinci sıradaydı. Ancak harika bir öğrenme deneyimiydi. ROS’u zar zor anlayan birinden Jetson kartında canlı Lidar verileriyle düğüm yazıp hata ayıklamaya kadar ilerledim. Bu süreçte, programlama dili olarak Java’dan Python’a geçiş yaptım. 2025 itibarıyla projelerimde ya da iş kod tabanlarımda Java kullanmadım.

Takım ve Teknoloji Yığını

Ubuntu 16.04, ROS Kinetic ve Python 2.7’yi Nvidia Jetson TX2 üzerinde çalıştırdık ve Hokuyo URG 04LX UG01 Lidar ile bağladık. Ultrasonik mesafe ölçer gibi sensör girişleri için Arduino’lar kullandık. Kodumuz algı, navigasyon, kontrol ve püskürtme işlevlerini yönetti. Depoyu burada görebilirsiniz: GitHub Repo. Yazdığım spesifik kodu end_detector.py içinde bulabilirsiniz. İşte robotu oluşturan bileşenlerin listesi:

  • Ubuntu 16.04 Xenial
  • ROS Kinetic Kame
  • Python 2.7
  • Nvidia Jetson TX2
  • Hokuyo URG-04LX-UG01 Lidar
  • Arduino Uno & Mega
  • DC Motorlar, Encoder’lar, Motor Kontrolörleri, Batarya, vb.

Büyük bir ekibimiz yoktu, ama birkaç isim öne çıkıyor:

Tyler kulübün lideri ve kurucusuydu. O zamanlar ve bugün ona çok saygı duyuyorum. Zachary kulübün yazılım geliştirme lideriydi ve bana ROS ve yazılım geliştirme konusunda çok şey öğretti, bu da bugün minnettar olduğum bir şey.

Diğer üyeler de vardı, örneğin Kevin Barnard ve Amit Rotem. Ancak orijinal üyelerin isimlerini ve iletişimlerini hatırlamıyorum, çünkü kulüp 5 yıldan fazla bir süredir kapalı.

Robotun geliştirilmesi çoğunlukla hafta sonları ve sınıflarımız bittiğinde gece geç saatlerde gerçekleşti. Mühendislik derecesi ve AgBot çok zorlayıcıydı, ama başardık.

Yolculuk ve Kaos

Bu deneyimin bir kısmı, asla unutmayacağım bir yolculuktu. Yarışma, Purdue Üniversitesi’nin kampüsüne yakın West Lafayette, Indiana’da yapıldı. Ve yarışma, Mines’te final haftasından hemen sonra gerçekleşti, bu yüzden o cehennem haftasından kurtulacak zamanımız yoktu.

Golden, Colorado’dan Indiana’ya Tyler’ın kamyonuyla robotu ve tüm araçlarımızı taşıyarak gittik. Komik olan, yarışma haftasından bir gün önce yola çıktık. Her şeyi, robotu, araçları, bataryaları, bilgisayarları paketleyip Golden, Colorado’dan West Lafayette, Indiana’ya gittik. Kağıt üzerinde 18 saat sürer. Gerçekte benzin ve tuvalet molalarıyla 20-22 saat sürdü.

Tyler tüm sürüşü kahve içerek yaptı. Başka bir takım arkadaşı, adını unuttum ama fotoğraflarda var, bazen onun yerini aldı. Yolda yağmur yağmaya başladı. Kapalı bir benzin istasyonunda durup robotu korumak için bir branda aldık. Jankiydi, kaostu, üniversite robotikiydi. Bir şekilde başardık.

Geldiğimizde, sahada çadırımızı kurduk ve tüm araçlarımızı kurduk. Ben kodu tamamlamaya ve çalıştırmaya odaklandım. Yarışmanın çoğu süresince robotu hata ayıklamaya ve diğer takımların robotlarını incelemeye çalıştık.

Kazandık mı?

Hayır

Geriye baktığımda, sadece deneyim seviyemizin çok ötesinde bir şey yapmaya çalışan bir grup çocuktuk. Diğer takımlar tamamen farklı bir seviyedeydi. Bazıları startup’dan, bazıları araştırma laboratuvarlarından, bazıları tam akademik destekten geliyordu. Biz, Python’un Lidar verilerini faydalı bir şeye dönüştürmesini umarak gece gündüz çalışan bir grup lisans öğrencisiydik.

Robotumuz hatalıydı. Jankiydi. Ve dürüst olmak gerekirse, yarışmaya geldiğimizde neredeyse çalışmıyordu. Takımdaki birçok kişi zamanında bitiremeyeceğimizi fark edip ayrıldı. Bazıları hiç gelmedi. Final bitti, robot hazır değildi ve moral çok düşükteydi.

Ama birkaçımız dayanıp kaldı

Ben vazgeçmedim… Tyler vazgeçmedi… Ve fotoğraftaki kişiler de vazgeçmedi!

Kazanmamış olsak da ya da tam işlevsel bir robotumuz olmasa da, bu deneyimi hiçbir şeyle takas etmem. ROS, donanım hata ayıklama, baskı altında sistem kurma ve sadakat hakkında çok şey öğrendim. Bir şeyi baştan sona görmek ne kadar önemli olduğunu fark ettim.

2025 Durumunda Yansımalar

2019 sezonundan sonra AgBot kapandı. Bu, COVID’un bir yıl sonra ortaya çıkması ve Mines’teki tüm kulüplerin 1-2 yıl kapatılması nedeniyle oldu ve dünya “normal” olmaya başladığında mezun oldum.

Şimdi 2025 ve AgBot’a bakınca, benim için her şeyin başlangıcı gibi görünüyor. İlk gerçek robotik deneyimimi verdi ve teknik bir ekiple iş birliği yapmayı öğretti. Beni harika fırsatlara yönlendiren bir yol açtı.

O zamandan beri eBay’de backend mühendisi olarak çalıştım, veri merkezlerinde milyonlarca metriği işleyen hizmetler dağıttım. AI otomatik siber güvenlik penetrasyon testine odaklanan ilk startup’ımı kurdum. Notify Cyber başlattım, on binlerce ziyaretçi çekti. Docker, Kubernetes, Postgres ve gelişmiş AI altyapısı için yazılım geliştirdim.

Ama AgBot hâlâ hayatımın en iyi deneyimlerinden biri. Kaotik, stresli ve bazen imkansız gibi hissetti, ama hiçbir sınıf ya da öğreticiden daha çok şey öğretti. Mükemmel plan, yeterli fon ya da en iyi donanım yoksa bile bir şeyler inşa edebilir, çok şey öğrenebilir ve yol boyunca inanılmaz insanlarla tanışabilirsiniz.

2019 AgBot ekibine teşekkürler. 2019 yolculuğuna, kapalı bir benzin istasyonunda aldığımız branda ve uykusuz gecelere teşekkürler. Büyük projeleri güvenle takip etmemi sağlayan azmi bana verdiniz, ne kadar imkansız görünürse görünsün.

Kaynaklar ve Bağlantılar

Fotoğraf Galerisi

Mine’s AgBot Team, Biz

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

Bizim AgBot Robotumuz

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

Videolar/GIF’ler

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

Yarışma Alanları

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

Diğer Takımlar

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

Diğer Rastgele Görseller

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