Bu sayfada, Google Dokümanlar Sezonu için kabul edilen bir teknik yazım projesinin ayrıntıları yer almaktadır.
Proje özeti
- Açık kaynak kuruluşu:
- RoboComp
- Teknik yazar:
- Le Thai An
- Projenin adı:
- RoboComp'in temel bileşenleri
- Proje uzunluğu:
- Standart uzunluk (3 ay)
Proje açıklaması
Motivasyon
RoboComp, araştırma ve pratik uygulamalar için bilinen robotik çerçevelerden biridir. Robocomp deposu, motor kontrolü, konumlandırma ve harita oluşturma, gezinme, tanıma gibi farklı robotik uygulamalar için çok çeşitli bileşenler (robocomp-robolab adlı daha küçük bir depoda yönetilir) içerir. Ancak bileşenlerin deposunda her bileşenin derlenmesi veya kullanımıyla ilgili ayrıntılı dokümanlar bulunmadığından yeni geliştiriciler tarafından sınırlı kullanılabilir. Bu teklif, RoboComp'in önemli bileşenlerini belgeleyerek ve belirli bir robotik görevi çözmek için farklı bileşenleri birleştirmeye yönelik örnek bir kullanım dokümanı derleyerek bu sorunu çözmeyi amaçlamaktadır. Belgeleme sürecinin ayrıntıları bir sonraki bölümde ele alınacak ve ardından projenin tamamlanması için gereken zaman aralığını planlamak amacıyla ara hedefler bölümü geliyor. Son olarak belgeleme süreciyle ilgili bazı notlara değindik.
Açıklama
Belirtildiği gibi, bu projenin iki ana hedefi vardır:
- RoboComp'teki her bileşenle ilgili ayrıntılı açıklama, derleme ve yükleme, yapılandırma, kullanımlar ve bilinen sorunlar
- Yerelleştirme gibi belirli bir robotik görevini çözmek için RoboComp ortamındaki farklı bileşenlerden yararlanan bir örnek kılavuz yazın.
robocomp-robolab deposundaki temel bileşenlerin çoğunda, nasıl derlenecekleri ve farklı parametre yapılandırmalarında nasıl kullanılacaklarına dair ayrıntılı talimatlar bulunmamaktadır. Bu durum, projelerinde bileşenleri kullanmak veya çerçeveye katkıda bulunmak isteyen yeni geliştiriciler için büyük bir engel oluşturuyor. Bunun nedeni birçok bileşenin, harici sürücülerin veya çok sayıda bağımlılığı olan kitaplıkların sarmalayıcısıdır. Bu durum, görevin derlenmesini ve yüklenmesini zorlaştırır. Ayrıca birçok bileşen, RoboComp'te mesaj arayüzü sağlamak için karmaşık cihaz sürücüsünü (ör.genel hokuyoComp) sarmalayarak parametreleri ayarlamak için cihaza özgü bilgi gerektirir.
Bu nedenle, açık kaynak katkısı için cihaz açıklamalarını, bağımlılık çözümlerini ve kullanımlarını içeren ayrıntılı dokümanlara ihtiyaç vardır. Çalışmam olan hokuyoComp bileşen belgesinin örneğini şu bağlantıda bulabilirsiniz:
https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp
Yukarıdan aşağıya yaklaşımı kullanarak somut ve ayrıntılı bir bileşen dokümanı yazmak için en azından söz konusu dokümanda yazılan içeriği deneyimleyebilmeniz gerekir. Çünkü dokümanların nihai amacı, çalışan bilgilerini devralan geliştiricilere aktarmaktır. Her bileşen dokümanı için önerilen yapı aşağıdaki gibidir:
- Açıklama
- Derleme ve Yükleme
- Yapılandırma parametreleri
- Bileşeni başlatma (kullanımlar)
- Bilinen sorunlar
Bu örnekte ilk olarak Hokuyo sensör spesifikasyonu hakkında bilgi toplanıyor ve bileşen açıklamalarını yazmak için bileşen işlevlerinin resmini anlamak amacıyla bileşen kodu okunuyor. Ardından, RoboComp ortamını anlamanın yanı sıra cihaza özgü parametreler ve kitaplık bağımlılıkları hakkında bilgi sahibi olmak, bileşenin derleme, yükleme ve yapılandırma sürecini belgelemenize yardımcı olur. Örneğin, hokuyoComp'i derlemek için Ubuntu 14.04'teki eski liburg0-dev deb paketi gerekir ancak deb paketi, sonraki sürümlerde Ubuntu PPA'dan kaldırılmıştır. Bu nedenle, dokümanda belirtildiği gibi derleme için geçici çözümü uygulamamız gerekir. Bu süreçte, yeni geliştiricilerin hata ayıklama işlemini hızlandırmak için bilinen sorunları da kaydedebiliriz. Son olarak, bileşenin farklı robotik görevlerinde RoboComp ortamına kolayca entegre edilmesi için farklı kullanım senaryolarında bileşen kullanımları belgelenmiştir.
Hedefler
Bu bölümde, projenin belirtilen hedeflerine ulaşmak için ilk zaman aralığı planlanır. Yazılacak bileşen dokümanlarını kategorilere (ör.kamera bileşenleri, lazer bileşenleri) göre seçeceğiz. Bileşenler belgesinin tamamlanması için geçerli tahmini süre, örnek hokuyoComp belgelerinin tamamlanmasına bağlıdır. Zaman tablosu aşağıdaki gibidir:
1 Ağustos - 1 Eylül: Toplulukla bağ kurma:
- Proje kapsamlarını ve hem yazardan hem de mentorlardan beklentileri belirlemek için haftalık toplantılar düzenleme
- RoboComp çerçevesini anlama.
2 Eylül - 2 Kasım: Robocomp-robolab deposundaki her bileşen için doküman yazma. Bu süreçte, danışmanlar ve yazar arasında toplantılar aracılığıyla iteratif olarak iyileştirmeler yapılır (Belgelendirilmemiş dokümanların çoğunun tamamlanması beklenir)
2-26 Kasım: Robotik görevini çözmek için farklı bileşenlerden örnek olarak genel bir doküman yazma.
27-29 Kasım: Proje raporlarının sonu.
GSoD 2019'dan sonra: Çalışmalarımı daha da iyileştirmek ve sürdürmek için RoboComp ile bağlantıda kalmak istiyorum.
Son notlar
Kullanıcıların RoboComp işlevlerinin genel hatlarını anlayabilmesi için RoboComp ortamına farklı bileşenlerin nasıl entegre edileceğine dair genel bir örnek yazılması önemlidir. RoboComp'un mevcut uygulamasına bağlı olarak hangi robot görevinin uygun olduğuna karar vermek için bu örnek doküman mentorlarla daha ayrıntılı bir şekilde tartışılacaktır.