Ateşleme Robotları projesi

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:
Ignition Robotics
Teknik yazar:
An Thai Le
Projenin adı:
Ignition Physics eğiticileri ve API dokümanları
Proje uzunluğu:
Standart uzunluk (3 ay)

Proje açıklaması

Motivasyon

Tutuşturma Fiziği kitaplığı, Ateşleme Çardağı simülasyonunun arka ucuna bağlantı veren fizik motorlarının esnek kullanımını sağlar. Gazebo simülasyonunu desteklemek için birçok harici fizik motoru, 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ında aşağıdakiler sağlanmamaktadır:

  • Simülasyonu desteklemek için özel fizik motorları kullanan özel fizik eklentileri oluşturmayla ilgili kapsamlı eğitici içerikler
  • tutarlı API dokümanları

Bu öneri, projenin daha iyi sürdürülebilmesi ve yeni katkıda bulunanlara ve kullanıcılara daha temel bir şekilde rehberlik edilmesi için bu sorunları çözmeyi amaçlamaktadır. Belgelendirme sürecinin ayrıntıları bir sonraki bölümde ele alınacak ve ardından projenin tamamlanma zaman aralığını planlamak için aşama bölümü gelecektir. Son olarak da mevcut belgelerle ilgili bazı notlara değinilmiş.

Açıklama

Bu projenin iki ana hedefi vardır:

  • Mevcut kitaplık API'si ile arayüz oluşturan özel fizik eklentisi oluşturma hakkında ayrıntılı eğiticiler oluşturun.
  • Bakım ve ortak çalışma amacıyla mevcut kitaplık API'si belgelerini geliştirin.

Şu anda bu kitaplığın desteklediği tek fizik motoru DART'tır. Bu nedenle, eğitimler DART'ı temel alacaktır. Aşağıdaki ilk eğitimler dikkate alınacaktır:

  1. Giriş: Tutuşturma Fiziği kitaplığının üst düzey mimarisi, desteklenen fizik motorları ve hedefler açıklanmaktadır.
  2. Yükleme: Kullanıcıyı, uygulama bağlamlarına bağlı olarak gerekli fizik motorlarını isteğe bağlı olarak yüklemeye yönlendirir. Bu öğretici, belirli bir simülasyonu uyarlamak için kullanılan her bir fizik motoru eklentisine ilişkin örnek yapılandırmalar da gösterir.
  3. DART eklentisi kullanımı: Gazebo simülasyonunda DART fizik motorunun örnek kullanımını açıklar. Eğitim, bu kitaplığı belirli bir örnek ortamda Gazebo simülasyonunun arka ucu olarak başlatmak için bir dizi yürütme ve yapılandırmadan oluşur.
  4. Özel eklenti oluşturma: Yeni kullanıcıyı veya geliştiriciyi, bazı yapılandırma dosyası biçimleri (muhtemelen sınıf şablonları) aracılığıyla özel fizik motoruna dayalı özel bir eklenti oluşturmaya ve fizik motoru API'si ile bu kitaplık API'si arasında bir arayüz geliştirmeye yönlendirir. Bazı doğrulama kontrolleri eğitim sonunda not edilebilir.
  5. Simülasyonda birden çok eklenti kullanma (ihtiyaç tartışması): Örnek bir simülasyon için çalışma zamanında birden çok eklentinin nasıl kullanılacağını açıklar.

Eğitim yapıları, açıklamaları ve içerikleriyle ilgili daha fazla planlama, topluluk bağ kurma döneminde ele alınacaktır. Aslında bu eğiticilerin yazarının, depoyla birleştirmeden önce eğitim adımlarının geçerliliğinden emin olması gerekir.

API dokümanları için bu kitaplığın Google C++ doküman stilini uyarlayabilirsiniz. Örneğin, tüm sınıfların sınıf düzeyinde bir açıklaması olmalıdır. Ayrıca, herkese açık tüm işlevler bir açıklama, tüm bağımsız değişkenleri, olası dönüş değerleri ve istisnalarla birlikte belgelenmelidir. Yukarıdan aşağıya daha kolay bir yaklaşım için öncelikle en önemli sınıfların (ör.dartsim::RetrieveWorld, Feature vb.) belgelenmesi faydalıdır. Doküman stili ve önemli sınıf tanımlamaları, topluluk bağları kurma döneminde ele alınacaktır.

Milestones

Bu bölümde, projenin belirtilen hedeflerine ulaşmak için ilk zaman aralığı planlanır. Zaman planlaması şöyle yapılır:

  • 17 Ağustos - 13 Eylül: Toplulukla bağ kurma:

    1. Proje kapsamlarını ve eğitim planlarını belirlemek, ayrıca hem yazardan hem de mentorlardan beklentileri belirlemek için toplantılar düzenleyin.
    2. Ignition Physics kaynak kodunun genel hatlarını kavrayabilirsiniz.
  • 14 Eylül - 31 Ekim: Söz konusu eğitici içeriklerin taslağını, mentorlar ile yazar arasında toplantılar aracılığıyla iteratif iyileştirmelerle hazırlayın.

  • 1 Kasım - 30 Kasım: En önemli sınıflar için API dokümanı yazın ve dokümanı Doxygen'i kullanarak 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 kullanan ikili kurulum Ubuntu 18.04'te çalışmadığından, Ignition Physics sayfasının ön sayfasındaki mevcut README.md dosyasını gözden geçirmek çok önemlidir. Kaynak yükleme bölümü de yanlış biçimlendirme nedeniyle düzeltilmelidir.