CS Alan Oturumu
Arka Plan
2020 Yazı boyunca, Colorado School of Mines’teki bilgisayar bilimi lisans programımın bir parçası olarak CSCI370 ya da “Advanced Software Engineering” dersini aldım. CSCI370, öğrencilerin bir şirket için yazılım ile ilgili çözümler tasarlamasını, uygulamasını ve belgelemesini sağlayan bir derstir. Öğrencilerin ders içeriği bilgilerini gerçek dünya bilgisayar bilimi problemlerine uygulamalarına olanak tanır. Ders hakkında daha fazla bilgiyi burada öğrenebilirsiniz.
Kurs içinde, üzerinde çalışacağınız proje/şirketi seçme şansına sahipsiniz. Kurs, her proje ve şirketi detaylandıran PDF’ler sağladı. Sonuçta, Lunar Outpost adlı bir şirketin yayınladığı Gerçek Zamanlı Tekerlek Kayması Algılama ve Geliştirilmiş Ay Navigasyonu için Hata Düzeltmeleri projesi üzerinde çalışmaya karar verdim. İsim uzun olduğu için, projeye “Wheel Slippage Detection” takma adını verelim.
Problem
Lunar Outpost, otonom ay roverları yaratmaya çalışan bir startup’tır. Ay’da, tekerlek kaymasına çok neden olan çok miktarda ay tozu vardır. Bu ideal değildir çünkü tekerlek kayması, otonom sistemlerin gerçek dünya konumlarını kaybetmesine yol açabilir. Dünya’da bu, GPS verileri kullanılarak tekerlek kaymasından kaynaklanan sapmayı düzeltmekle çözülür. Ancak GPS’in sorunu, yalnızca 30+ navigasyon uydusunun sürekli olarak Dünya etrafında yörüngede dönmesi ve bilgisayarların konumlarını hesaplamasını sağlayan benzersiz sinyaller iletmesiyle çalışmasıdır. Ay’da ise şu anda bir GPS yoktur. Bunu bilerek, tekerlek kaymasını tespit etmek için GPS dışındaki başka bir yöntem kullanılmalıdır. Projenin sorununun daha ayrıntılı bir raporu burada görülebilir.
Takım Arkadaşları
Bu proje basit bir proje değildi, bu yüzden bir ekip içinde yapılması gerekiyordu. Ekip, Colorado School of Mines’ten beş öğrenci oluşuyordu:
- Mehmet Yilmaz (ben)
- Kane Bruce
- Braedon O’Callaghan
- Liam Dempsey
- Kevin Grant
Proje, ROS, C++, Python, Linux, Raspberry Pi ve Arduino hakkında bilgi sahibi olmamızı gerektirdi. Çoğumuz bu teknolojilerden bir veya birkaçında deneyime sahipti ancak ben, Bahar 2020 döneminde Human Centered Robotics (CSC470) dersinde ROS kullandığım için ROS deneyimine sahip tek kişiydim. Bu yüzden, projenin başlarında, herkesi ROS hakkında bilgilendirmeye ve nasıl geliştirme yapılacağına yardımcı oldum.
Zorluklar
Bu projede birçok zorluk vardı. Ancak karşılaştığımız en büyük zorluk, test için gerçek bir robot erişimine sahip olmamamızdı. Bu, COVID nedeniyle her şeyin uzaktan yapılması ve Lunar Outpost’un laboratuvarı/binalarında çalışmamızı engellemesinden kaynaklandı. Bu yüzden simülasyonlar kullanmak zorunda kaldık.
Ayrıca, WVU Navigation Lab tarafından yapılan bazı akademik araştırmaları inceleyerek Wheel Slippage (tekerlek kayması) probleminin Lunar Outpost’un kullanım durumu için nasıl çözülebileceği hakkında bir fikir edindik. Bu, lisans ikinci ve üçüncü sınıf öğrencileri olarak bizim için beklediğimizden daha zordu.
Karşılaştığımız bir diğer zorluk, bu proje üzerinde çalışmak için sahip olduğumuz zaman miktarıydı. CSCI370 bir aylık bir derstir. Ancak problem, onlarca yıldır birçok şirket ve akademisyenin çözmeye/iyileştirmeye çalıştığı devasa bir sorundur. Bu yüzden bir ay, bu sorunu çözmek için yeterli bir zaman değildir. Ancak, tüm bu zorluklara rağmen ilerlemeye devam ettik ve teslimatı sağladık.
Sonuç
Bu gönderide, çözümlerimiz hakkında daha ayrıntılı bir açıklama yapmayı çok isterdim. Ayrıca, ne keşfettiğimizi ve nihai sonuçları açıklayan uygun bir sonuç sunmak isterdim. Ancak ne yazık ki, ben ve takım arkadaşlarım bir Gizlilik Sözleşmesi (NDA) imzaladık ve bu, bu proje hakkında gizli herhangi bir şeyi paylaşmamızı engelliyor. Yukarıda verdiğim tüm bilgiler kamuya açıktır ve internetten erişilebilir.
Bu proje sırasında, ROS’u nasıl kullanacağımızı ve ROS ile Gazebo kullanarak simülasyonlar oluşturmayı gerçekten öğrendik. Ayrıca tekerlek kayması tespiti araştırma alanında daha iyi bir anlayış kazandık. WVU Navigation Lab’dan bazı akademisyenlerle/araştırmacılarla tanışma onurunu da elde ettik.
Tüm bunları göz önünde bulundurarak, bu projenin bana ekip içinde liderlik pozisyonu almamı, akranlarıma ROS’u daha iyi anlamaları için eğitimci olarak hizmet etmemi ve ROS, Gazebo ve Python konusunda daha fazla deneyim kazanmamı sağladığını söylemeliyim. Ayrıca, bu projeye kadar farkında olmadığım tekerlek kayması sorununu da bana tanıttı. Genel olarak, Lunar Outpost’un özellikle COVID sırasında yoğun programlarından zaman ayırıp bu projede çalışmamıza izin vermesinden minnettarım. Ayrıca, bu projede çok sıkı çalışan harika takım arkadaşlarına da teşekkür ederim.