Ateşleme Robotları projesi

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

Proje özeti

Açık kaynak kuruluşu:
Ateşleme Robotları
Teknik yazar:
Tayland Lesi
Proje 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 bağlanan fizik motorlarının esnek kullanımına olanak tanır. Birçok harici fizik motoru, çardak simülasyonunu güçlendirmek için kitaplığa, becerilerine ve uygulama bağlamlarına göre farklı özellik gruplarından oluşan eklentiler olarak uyarlanabilir. Ancak kitaplığın mevcut aşaması şunları sağlamaz:

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

Bu teklif, projenin devamlılığını iyileştirmek için bu sorunları çözmeyi ve katkıda bulunan yeni kullanıcılara ve kullanıcılara daha ilkeli bir şekilde rehberlik etmeyi amaçlıyor. Belgeleme sürecinin ayrıntıları bir sonraki bölümde ele alınacak, ardından projeyi tamamlamak için gereken zaman aralığını planlamak üzere ara hedef bölümü yer alacak. Son olarak, mevcut belgelerle ilgili bazı notlardan bahsedeceğiz.

Açıklama

Bu projenin iki ana hedefi vardır:

  • Mevcut kitaplık API'sı ile özel fizik eklentisi arayüzü oluşturma hakkında ayrıntılı eğiticiler hazırla
  • Bakım ve ortak çalışma amacıyla mevcut kitaplık API dokümanlarını geliştirin.

Şu anda DART, bu kitaplığın desteklediği tek fizik motorudur. Bu nedenle, eğiticiler DART ile ilgilidir. Şu başlangıçtaki eğitimler şu şekilde değerlendirilir:

  1. Giriş: Ignition Physics kitaplığının üst düzey mimarisini, desteklenen fizik motorlarını ve hedefleri açıklar.
  2. Yükleme: Kullanıcıyı, uygulama bağlamına göre gerekli fizik motorlarını isteğe bağlı olarak kurulumuna yönlendirir. Bu eğiticide, belirli bir simülasyonu uyarlamak için her bir fizik motoru eklentisine ait örnek yapılandırmalar da gösterilmektedir.
  3. DART eklentisinin kullanımı: DART fizik motorunun Gazebo simülasyonunda örnek kullanımını açıklar. Bu eğitim, belirli bir örnek ortamda Gazebo simülasyonu için arka uç olarak bu kitaplığı 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ı) üzerinden özel fizik motoruna dayalı özel bir eklenti oluşturması ve Fizik motoru API'sı ile bu kitaplık API'sı arasında bir arayüz geliştirmesi konusunda rehberlik eder. Bazı sağlık kontrolleri eğitimin sonunda belirtilebilir.
  5. Simülasyonda birden fazla eklenti kullanma (açıklama gerekli): Örnek bir simülasyon için çalışma zamanında birden fazla eklentinin aynı anda nasıl kullanılacağını açıklar.

Eğitim yapıları, açıklamaları ve içerikleri konusunda daha ayrıntılı planlamalar, toplulukla bağ kurma döneminde tartışılacaktır. Gerçekten de bu eğiticilerin yazarının, depoyla birleştirmeden önce eğitim adımlarının geçerliliğini sağlaması gerekir.

API dokümanlarında bu kitaplık için Google C++ dokümantasyon stiline uyum sağlamak 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öndürme değerleri ve istisnalarıyla belgelenmelidir. Yukarıdan aşağıya doğru bir yaklaşım olarak öncelikle en önemli sınıfların (ör.dartsim::RetrieveWorld, Feature vb.) belgelenmesi yararlıdır. Daha fazla belgeleme tarzı ve toplulukla bağ kurma döneminde önemli sınıf tanımlaması konuları ele alınır.

Milestones

Bu bölümde, projede bahsedilen hedeflere ulaşmak için kullanılacak ilk zaman dilimi planlanır. Zaman planlaması aşağıdaki gibidir:

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

    1. Proje kapsamlarını, eğitim planlamalarını ve hem yazar hem de mentorlardan beklentileri belirlemek için toplantılar düzenler.
    2. Ignition Physics kaynak kodunu genel olarak inceleyin.
  • 14 Eylül - 31 Ekim: Toplantılar aracılığıyla mentorlar ve yazar arasında yapılan yinelemeli iyileştirmelerle bahsi geçen eğiticilerin taslağını çıkarı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 Aralık - 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 kullanılan ikili yükleme Ubuntu 18.04'te çalışmadığından Ignition Physics'in ön sayfasındaki mevcut README.md dosyasını gözden geçirmeniz önemlidir. Hatalı biçimlendirme nedeniyle kaynak yükleme bölümünün de düzeltilmesi gerekiyor.