Ateşleme Robotları projesi

Bu sayfa, Google Dokümanlar Sezonu için kabul edilen bir teknik yazı projesinin ayrıntılarını içerir.

Proje özeti

Açık kaynak kuruluşu:
Ateşleme Robotları
Teknik yazar:
Tayland Lesi
Projenin adı:
Ignition Physics eğiticileri ve API belgeleri
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

Motivasyon

Ignition Physics kitaplığı, Ignition Gazebo simülasyonunun arka ucuna taşınan fizik motorlarının esnek kullanımına olanak tanır. Birçok harici fizik motoru, çardak simülasyonunu güçlendirmek için yeteneklerine ve uygulama bağlamlarına göre farklı özellik gruplarından oluşan eklentiler olarak kitaplığa uyarlanabilir. Ancak, kitaplığın mevcut aşaması şunları sağlamaz:

  • simülasyonu güçlendirmek için özel fizik motorlarını kullanan özel fizik eklentileri oluşturmaya ilişkin kapsamlı eğiticiler
  • tutarlı API dokümanları

Bu teklif, projenin daha iyi yürütülebilmesi için bu sorunların çözülmesini ve yeni katkıda bulunanlara ve kullanıcılara daha ilke bir şekilde rehberlik etmeyi amaçlamaktadır. Belgeleme sürecinin detayları bir sonraki bölümde ele alınacak ve ardından projeyi tamamlamak için zaman çerçevesinin planlandığı ara hedef bölümü açıklanacak. Son olarak, mevcut belgelerle ilgili bazı notlara değinildi.

Açıklama

Bu projenin iki ana hedefi vardır:

  • Mevcut kitaplık API'si ile arayüz oluşturan özel fizik eklentisi oluşturmayla ilgili ayrıntılı eğiticiler oluşturun.
  • Bakım ve ortak çalışma amacıyla mevcut Library API dokümanlarını iyileştirin.

Şu anda bu kütüphanenin tek destek fizik motoru DART'tır. Bu nedenle, eğiticiler DART ile ilgili olacaktır. Aşağıdaki ilk eğitimler göz önünde bulundurulur:

  1. Giriş: Ignition Physics kitaplığının üst düzey mimarisi, desteklenen fizik motorları ve hedefleri açıklar.
  2. Yükleme: Kullanıcıyı, uygulama bağlamlarına bağlı olarak gerekli fizik motorlarını isteğe bağlı olarak yüklemesi için yönlendirir. Bu eğitimde, belirli bir simülasyonun uyarlanması amacıyla her fizik motoru eklentisi için örnek yapılandırmalar da gösterilmektedir.
  3. DART eklentisi kullanımı: DART fizik motorunun Gazebo simülasyonunda örnek kullanımını açıklar. Eğitim, bu kitaplığı belirli bir örnek ortamda Gazebo simülasyonu için arka uç olarak başlatmak üzere bir dizi yürütme ve yapılandırmadan oluşur.
  4. Özel eklenti oluştur: Yeni kullanıcıya veya geliştiriciye, bazı yapılandırma dosyası biçimleri (muhtemelen sınıf şablonları) aracılığıyla özel fizik motoruna dayalı özel bir eklenti oluşturması ve fizik motoru API'si ile bu kitaplık API'si arasında bir arayüz geliştirmesi konusunda rehberlik eder. Bazı sağlık kontrolleri eğitimin sonunda belirtilebilir.
  5. Simülasyonda birden çok eklenti kullanma (tartışma gerekli): Örnek bir simülasyon için çalışma zamanında birden fazla eklentinin aynı anda nasıl kullanılacağını açıklar.

Toplulukla bağ kurma döneminde eğitim yapıları, açıklamalar ve içerikler için daha ayrıntılı plan yapılacak. Gerçekten de bu eğiticileri hazırlayan kişinin, depoyla birleştirmeden önce eğitim adımlarının geçerliliğini sağlaması gerekir.

API dokümanlarında bu kitaplığın Google C++ doküman stiline uyarlanması mümkündür. Örneğin, tüm sınıfların sınıf düzeyinde bir açıklaması olmalıdır. Ayrıca tüm genel işlevler, açıklama ve tüm bağımsız değişkenlerinin yanı sıra olası dönüş değerleri ve istisnalarla belgelenmelidir. Yukarıdan aşağıya doğru daha kolay bir yaklaşım olarak öncelikle en önemli sınıfların (ör.dartsim::RetrieveWorld, Feature vb.) belgelenmesi yararlıdır. Daha fazla belgeleme tarzı, toplulukla bağ kurma döneminde önemli sınıf özdeşliği tartışılacak.

Milestones

Bu bölümde projenin belirtilen hedeflerinin tamamlanması için ilk zaman dilimi planlanır. Zaman planlaması aşağıdaki gibidir:

  • 17 Ağustos-13 Eylül: Topluluk bağları:

    1. Hem yazar hem de mentorlardan beklentilerin yanı sıra proje kapsamlarını ve eğitim planlarını belirlemek için toplantılar düzenleme.
    2. Ignition Physics kaynak kodunun büyük resmini kavrayın.
  • 14 Eylül - 31 Ekim: Toplantılar aracılığıyla mentorlar ve yazar arasında yapılan yinelemeli iyileştirmelerle bahsedilen eğiticilerin taslağını hazırlayın.

  • 1 Kasım - 30 Kasım: En önemli sınıflar için API belgeleri yazın ve Doxygen'i kullanarak dokümanları derleyin.

  • 1 Ara - 5 Aralık: Proje raporunu yazın.

  • GSoD 2020'den sonra: Çalışmalarımı daha da iyileştirmek ve sürdürmek için Ignition Robotics ile bağlantıda kalmak istiyorum.

Son notlar

apt-get kullanan ikili yükleme Ubuntu 18.04 sürümünde çalışmadığından Ignition Physics ön sayfasındaki mevcut README.md dosyasının düzeltilmesi önemlidir. Hatalı biçimlendirme nedeniyle kaynak yükleme bölümünün de düzeltilmesi gerekiyor.