โปรเจ็กต์ Ignition Robotics

หน้านี้มีรายละเอียดของโปรเจ็กต์การเขียนเชิงเทคนิคที่ได้รับการยอมรับสำหรับ Google Season of Docs

สรุปโปรเจ็กต์

องค์กรโอเพนซอร์ส
Ignition Robotics
นักเขียนเชิงเทคนิค
An Thai Le
ชื่อโปรเจ็กต์:
บทแนะนำเรื่องฟิสิกส์เกี่ยวกับการจุดประกายและเอกสารประกอบเกี่ยวกับ API
ระยะเวลาของโปรเจ็กต์
ระยะเวลามาตรฐาน (3 เดือน)

คำอธิบายโปรเจ็กต์

แรงจูงใจ

ไลบรารีฟิสิกส์ของ Ignition ช่วยให้ใช้เครื่องมือฟิสิกส์แบบพอร์ตไปยังแบ็กเอนด์ของการจำลอง Ignition Gazebo ได้อย่างยืดหยุ่น คุณสามารถปรับใช้เครื่องมือฟิสิกส์ภายนอกหลายรายการกับไลบรารีเป็นปลั๊กอินที่ประกอบด้วยชุดฟีเจอร์ต่างๆ ตามความสามารถและบริบทของแอปพลิเคชันเพื่อขับเคลื่อนการจําลอง Gazebo อย่างไรก็ตาม ในปัจจุบันของไลบรารีไม่ได้ให้เนื้อหาต่อไปนี้

  • บทแนะนำที่ครอบคลุมเกี่ยวกับการสร้างปลั๊กอินฟิสิกส์ที่กำหนดเองซึ่งใช้เครื่องมือฟิสิกส์ที่กำหนดเองเพื่อขับเคลื่อนการจำลอง
  • เอกสารประกอบเกี่ยวกับ API ที่สอดคล้องกัน

ข้อเสนอนี้มีจุดประสงค์เพื่อแก้ปัญหาเหล่านี้เพื่อการดูแลรักษาโปรเจ็กต์ให้ดียิ่งขึ้นและแนะนำผู้มีส่วนร่วมและผู้ใช้ใหม่อย่างมีหลักการมากขึ้น เราจะกล่าวถึงรายละเอียดของกระบวนการจัดทำเอกสารในส่วนถัดไป ตามด้วยส่วนเหตุการณ์สำคัญสำหรับการวางแผนกรอบเวลาเพื่อให้โปรเจ็กต์เสร็จสมบูรณ์ สุดท้ายนี้ จะมีการกล่าวถึงหมายเหตุบางอย่างเกี่ยวกับเอกสารประกอบปัจจุบัน

คำอธิบาย

โปรเจ็กต์นี้มีเป้าหมายหลัก 2 ประการ ได้แก่

  • สร้างบทแนะนำโดยละเอียดเกี่ยวกับการสร้างปลั๊กอินทางฟิสิกส์ที่กำหนดเองซึ่งเชื่อมต่อกับ API ไลบรารีปัจจุบัน
  • ปรับปรุงเอกสารประกอบของไลบรารี API ปัจจุบันเพื่อวัตถุประสงค์ในการบำรุงรักษาและการทำงานร่วมกัน

ปัจจุบัน DART เป็นเครื่องมือฟิสิกส์สนับสนุนเพียงอย่างเดียวของไลบรารีนี้ ดังนั้น บทแนะนําจะเกี่ยวข้องกับ DART บทแนะนำเบื้องต้นที่จะนำมาพิจารณามีดังนี้

  1. บทนำ: อธิบายสถาปัตยกรรมระดับสูงของไลบรารีฟิสิกส์การระเบิด เครื่องมือฟิสิกส์ที่สนับสนุน และเป้าหมาย
  2. การติดตั้ง: แนะนำผู้ใช้ให้ติดตั้งโปรแกรมฟิสิกส์ที่จำเป็น (ไม่บังคับ) โดยขึ้นอยู่กับบริบทของแอปพลิเคชัน บทแนะนำนี้ยังแสดงตัวอย่างการกําหนดค่าสําหรับปลั๊กอินเครื่องมือฟิสิกส์แต่ละรายการเพื่อปรับการจําลองที่เฉพาะเจาะจง
  3. การใช้ปลั๊กอิน DART: อธิบายตัวอย่างการใช้งานเครื่องมือฟิสิกส์ DART ในการจำลอง Gazebo บทแนะนำประกอบด้วยลำดับการดำเนินการและการกำหนดค่าเพื่อเริ่มไลบรารีนี้เป็นแบ็กเอนด์สำหรับการจำลอง Gazebo ในสภาพแวดล้อมตัวอย่างที่เฉพาะเจาะจง
  4. สร้างปลั๊กอินที่กำหนดเอง: แนะนำให้ผู้ใช้ใหม่หรือนักพัฒนาซอฟต์แวร์สร้างปลั๊กอินที่กำหนดเองตามเครื่องมือฟิสิกส์ที่กำหนดเองผ่านไฟล์การกำหนดค่าบางรูปแบบ (อาจเป็นเทมเพลตคลาส) และพัฒนาอินเทอร์เฟซระหว่าง physics Engine API กับ Library API นี้ คุณสามารถดูการตรวจสอบความถูกต้องบางอย่างได้ที่ส่วนท้ายของบทแนะนำ
  5. การใช้ปลั๊กอินหลายรายการในการจําลอง (ต้องหารือ): อธิบายวิธีใช้ปลั๊กอินหลายรายการพร้อมกันที่รันไทม์สําหรับการจําลองตัวอย่าง

เราจะวางแผนเพิ่มเติมเกี่ยวกับโครงสร้าง คำอธิบาย และเนื้อหาของบทแนะนำในระยะเวลาผูกพันของชุมชน แน่นอนว่าผู้เขียนบทแนะนำเหล่านี้ต้องตรวจสอบความถูกต้องของขั้นตอนบทแนะนำก่อนที่จะผสานรวมเข้ากับที่เก็บ

สำหรับเอกสารประกอบของ API คุณสามารถปรับให้เข้ากับรูปแบบเอกสารประกอบของ Google C++ สำหรับไลบรารีนี้ได้ เช่น ชั้นเรียนทั้งหมดต้องมีคำอธิบายระดับชั้นเรียน นอกจากนี้ ฟังก์ชันสาธารณะทั้งหมดต้องมีการบันทึกพร้อมคำอธิบาย อาร์กิวเมนต์ทั้งหมด รวมถึงค่าที่เป็นไปได้และข้อยกเว้น การเขียนเอกสารสำหรับคลาสที่สำคัญที่สุด (เช่น dartsim::RetrieveWorld, Feature ฯลฯ) ก่อนเป็นแนวทางจากบนลงล่างที่ง่ายขึ้นจะเป็นประโยชน์ จะมีการกล่าวถึงรูปแบบการจัดทำเอกสารเพิ่มเติม การระบุชั้นเรียนที่สำคัญในช่วงการสานสัมพันธ์ของชุมชน

เป้าหมาย

ส่วนนี้จะวางแผนกรอบเวลาเริ่มต้นเพื่อให้บรรลุเป้าหมายที่กล่าวถึงของโปรเจ็กต์ การวางแผนเวลามีดังนี้

  • 17 ส.ค. - 13 ก.ย.: กิจกรรมสานสัมพันธ์ในชุมชน

    1. จัดการประชุมเพื่อกำหนดขอบเขตของโปรเจ็กต์และวางแผนบทแนะนำ รวมถึงความคาดหวังจากทั้งผู้เขียนและที่ปรึกษา
    2. ทําความเข้าใจภาพรวมของซอร์สโค้ด Ignition Physics
  • 14 ก.ย. - 31 ต.ค.: ร่างบทแนะนำที่กล่าวถึงโดยมีการปรับปรุงซ้ำๆ ระหว่างที่ปรึกษากับผู้เขียนผ่านการประชุม

  • 1-30 พ.ย.: เขียนเอกสารประกอบเกี่ยวกับ API สำหรับชั้นเรียนที่สำคัญที่สุดและรวบรวมเอกสารโดยใช้ Doxygen

  • 1-5 ธ.ค.: เขียนรายงานโปรเจ็กต์

  • หลังจาก GSoD 2020: ฉันต้องการติดต่อกับ Ignition Robotics ต่อไปเพื่อปรับปรุงและดูแลผลงานของฉัน

หมายเหตุสุดท้าย

คุณต้องแก้ไข README.md ปัจจุบันในหน้าแรกของ Ignition Physics เนื่องจากการติดตั้งแบบไบนารีโดยใช้ apt-get ไม่ทำงานใน Ubuntu 18.04 ส่วนการติดตั้งแหล่งที่มาต้องได้รับการแก้ไขด้วยเนื่องจากมีการจัดรูปแบบไม่ถูกต้อง