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ı:
- Zararlı ve Yabani Ot Tanımlama ve Yok Etme
- 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
- Colorado School of Mines Robotik Kulüpleri Ana Sitesi
- AgBot 2019 Kod Tabanı
- Purdue AgBot Makalesi
- Purdue Görsel Özet Makalesi
- DTN Progressive Farmer Makalesi
- AgBot’un Twitter/X Hesabı
- AgBot Resmi Web Sitesi
- Zach’ın GitHub’ı
- Kevin’in GitHub’ı
- Tyler’ın GitHub’ı
Fotoğraf Galerisi
Mine’s AgBot Team, Biz
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Bizim AgBot Robotumuz
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Videolar/GIF’ler
![]() |
![]() |
![]() |
![]() |
![]() |
Yarışma Alanları
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Diğer Takımlar
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
FRC 1339 (2014-2017)
![]() |
![]() |
Diğer Rastgele Görseller
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |