Dự án Ignition Robotics

Trang này chứa thông tin chi tiết về một dự án viết kỹ thuật được chấp nhận cho Google Phần Tài liệu.

Tóm tắt dự án

Tổ chức nguồn mở:
Rô-bốt đánh lửa
Người viết nội dung kỹ thuật:
An Thai Le
Tên dự án:
Hướng dẫn về vật lý đánh lửa và tài liệu về API
Thời lượng dự án:
Thời lượng tiêu chuẩn (3 tháng)

Mô tả dự án

Động lực

Thư viện Ignition Physics cho phép sử dụng linh hoạt các công cụ vật lý vào phần cuối của mô phỏng Ignition Gazebo. Nhiều công cụ vật lý bên ngoài có thể được điều chỉnh cho phù hợp với thư viện dưới dạng các trình bổ trợ bao gồm các loạt tính năng khác nhau theo khả năng và bối cảnh của ứng dụng để hỗ trợ hoạt động mô phỏng vọng lâu. Tuy nhiên, giai đoạn hiện tại của thư viện không cung cấp:

  • hướng dẫn toàn diện về cách tạo trình bổ trợ vật lý tuỳ chỉnh sử dụng các công cụ vật lý tuỳ chỉnh để hỗ trợ hoạt động mô phỏng
  • Tài liệu API nhất quán

Đề xuất này nhằm giải quyết những vấn đề này để duy trì dự án hiệu quả hơn, đồng thời hướng dẫn những người đóng góp và người dùng mới theo cách có nguyên tắc hơn. Chi tiết về quy trình lập hồ sơ sẽ được thảo luận trong phần tiếp theo, sau đó là phần mốc quan trọng để lên kế hoạch khung thời gian hoàn tất dự án. Cuối cùng, chúng tôi sẽ đề cập đến một số ghi chú về tài liệu hiện tại.

Mô tả

Dự án này có hai mục tiêu chính:

  • Tạo hướng dẫn chi tiết về cách tạo trình bổ trợ vật lý tuỳ chỉnh giao tiếp với API thư viện hiện tại.
  • Cải thiện tài liệu hiện có về API thư viện cho mục đích bảo trì và cộng tác.

Hiện tại, DART là công cụ vật lý hỗ trợ duy nhất của thư viện này. Do đó, các hướng dẫn sẽ xoay quanh DART. Những hướng dẫn ban đầu này sẽ được xem xét:

  1. Giới thiệu: mô tả kiến trúc cấp cao của thư viện Vật lý đánh lửa, các công cụ vật lý được hỗ trợ và các mục tiêu.
  2. Cài đặt: hướng dẫn người dùng tuỳ ý cài đặt các công cụ thực tế cần thiết, tuỳ thuộc vào ngữ cảnh của ứng dụng. Hướng dẫn này cũng minh hoạ các cấu hình mẫu cho mỗi trình bổ trợ công cụ vật lý để điều chỉnh một hoạt động mô phỏng cụ thể.
  3. Cách sử dụng trình bổ trợ DART: mô tả ví dụ về cách sử dụng công cụ vật lý của DART trong mô phỏng Gazebo. Hướng dẫn này bao gồm một chuỗi thực thi và cấu hình để khởi động thư viện này dưới dạng phần phụ trợ cho hoạt động mô phỏng Gazebo trên một môi trường ví dụ cụ thể.
  4. Tạo trình bổ trợ tuỳ chỉnh: hướng dẫn người dùng hoặc nhà phát triển mới để tạo trình bổ trợ tuỳ chỉnh dựa trên công cụ vật lý tuỳ chỉnh thông qua một số dạng tệp cấu hình (có thể là mẫu lớp) và phát triển giao diện giữa API công cụ vật lý và API thư viện này. Bạn có thể lưu ý một số cách kiểm tra tính hợp lý ở cuối hướng dẫn.
  5. Cách sử dụng nhiều trình bổ trợ trong một quá trình mô phỏng (cần thảo luận): mô tả cách sử dụng đồng thời nhiều trình bổ trợ trong thời gian chạy cho một ví dụ về hoạt động mô phỏng.

Kế hoạch chi tiết hơn về cấu trúc, phần mô tả và nội dung của video hướng dẫn sẽ được thảo luận trong buổi gắn kết cộng đồng. Thực tế là tác giả của những hướng dẫn này phải đảm bảo tính hợp lệ của các bước hướng dẫn trước khi hợp nhất vào kho lưu trữ.

Đối với tài liệu về API, bạn có thể điều chỉnh cho phù hợp với kiểu tài liệu C++ của Google cho thư viện này. Ví dụ: tất cả các lớp đều phải có nội dung mô tả cấp lớp. Hơn nữa, tất cả hàm công khai đều phải được ghi lại bằng nội dung mô tả, tất cả đối số của hàm đó, cũng như các giá trị trả về và ngoại lệ có thể có. Có lợi ích là các lớp quan trọng nhất (ví dụ: dartsim::RetrieveWorld, Feature, v.v.) sẽ được ghi lại trước dưới dạng phương pháp từ trên xuống dưới dễ dàng hơn. Ngoài ra, cách thức tài liệu, thông tin xác định lớp quan trọng sẽ được thảo luận trong giai đoạn gắn kết cộng đồng.

Mốc quan trọng

Phần này lên kế hoạch khung thời gian ban đầu để hoàn thành các mục tiêu đã đề cập của dự án. Việc lập kế hoạch thời gian như sau:

  • 17/8 — 13/9: Gắn kết cộng đồng:

    1. Tổ chức các cuộc họp để thiết lập phạm vi dự án và lập kế hoạch hướng dẫn, cũng như để đáp ứng các kỳ vọng của cả người viết và người cố vấn.
    2. Nắm bắt bức tranh lớn về mã nguồn Vật lý đánh lửa.
  • 14/9 — 31/10: Soạn thảo các hướng dẫn đã đề cập, trong các cuộc họp, hãy điều chỉnh lặp lại giữa người cố vấn và tác giả.

  • Ngày 1 tháng 11 – Ngày 30 tháng 11: Viết tài liệu API cho các lớp quan trọng nhất và biên dịch tài liệu bằng Doxygen.

  • 1/12 — 5/12: Viết báo cáo dự án.

  • Sau GSoD 2020: Tôi muốn tiếp tục kết nối với Ignition Robotics để tiếp tục cải thiện và duy trì các công việc của mình.

Ghi chú cuối cùng

Bạn cần sửa đổi tệp README.md hiện tại trên trang chủ của Vật lý đánh lửa, vì việc cài đặt tệp nhị phân bằng apt-get không hoạt động trên Ubuntu 18.04. Phần cài đặt nguồn cũng cần sửa đổi do định dạng không chính xác.