โปรเจ็กต์ Ignition Robotics

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

ข้อมูลสรุปของโปรเจ็กต์

องค์กรโอเพนซอร์ส:
หุ่นยนต์จุดระเบิด
ผู้เขียนด้านเทคนิค:
ร้านขนมไทยเล
ชื่อโปรเจ็กต์:
บทแนะนำ Ignition Physics และเอกสาร API
ระยะเวลาของโปรเจ็กต์:
ระยะเวลามาตรฐาน (3 เดือน)

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

แรงจูงใจ

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

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

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

คำอธิบาย

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

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

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

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

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

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

เป้าหมาย

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

  • 17 ส.ค. - 13 ก.ย.: การสร้างสัมพันธ์กับชุมชน:

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

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

  • 1-5 ธ.ค.: เขียนรายงานโครงการ

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

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

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