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 Phần Google 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:
Lê Thái Lan
Tên dự án:
Hướng dẫn về vật lý bố trí và tài liệu về API
Thời lượng dự án:
Thời gian tiêu chuẩn (3 tháng)

Mô tả dự án

Động lực

Thư viện Vật lý đánh lửa cho phép sử dụng linh hoạt các công cụ vật lý chuyển sang phần phụ trợ của quá trình 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 trình bổ trợ bao gồm nhiều nhóm tính năng tuỳ theo khả năng và bối cảnh ứng dụng của công cụ đó, nhằm hỗ trợ việc mô phỏng chòi nghỉ. 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ô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 người dùng và cộng tác viên mới theo cách có nguyên tắc hơn. Nội dung chi tiết của 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 thành dự án. Cuối cùng, chúng tôi xin đề cập đến một số lưu ý 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 để tương tác 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 để 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à mục tiêu.
  2. Cài đặt: hướng dẫn người dùng cài đặt các công cụ vật lý cần thiết (không bắt buộc) tuỳ thuộc vào bối cảnh của ứng dụng. Hướng dẫn này cũng trình bày các cấu hình mẫu cho mỗi trình bổ trợ công cụ thực tế để điều chỉnh một hoạt động mô phỏng cụ thể.
  3. Cách sử dụng trình bổ trợ của IAB: mô tả ví dụ về cách sử dụng công cụ vật lý của DART trong quá trình mô phỏng Gazebo. Phần hướng dẫn này bao gồm một chuỗi các quá trình 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 việc mô phỏng Gazebo trên một môi trường mẫu 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ủa 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. 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 để mô phỏng mẫu.

Việc lên kế hoạch chi tiết hơn về cấu trúc, phần mô tả và nội dung hướng dẫn sẽ được thảo luận trong giai đoạn gắn kết cộng đồng. Thực sự là tác giả của các 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ới 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 phải được ghi lại bằng nội dung mô tả, tất cả đối số của chúng, cũng như giá trị trả về và ngoại lệ. Lợi ích của việc này là các lớp quan trọng nhất (ví dụ: dartsim::RetrieveWorld, Feature, v.v.) sẽ được ghi lại trước tiên dưới dạng phương pháp từ trên xuống dễ dàng hơn. Cách tài liệu khác, cách 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ập 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. Cách 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 kỳ vọng của cả người viết và người cố vấn.
    2. Nắm bắt bức ảnh lớn về mã nguồn Ignition Physics.
  • 14/9 – 31/10: Soạn thảo những nội dung hướng dẫn đã đề cập với các điều chỉnh lặp lại giữa người cố vấn và người viết thông qua các cuộc họp.

  • 1/11 – 30/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 để cải thiện và duy trì công việc của mình hơn nữa.

Ghi chú cuối cùng

Bạn cần phải sửa đổi README.md hiện tại trên trang chủ của Ignition Physics, vì cài đặt nhị phân sử dụng apt-get không hoạt động trên Ubuntu 18.04. Phần cài đặt nguồn cũng cần được sửa đổi do định dạng không chính xác.