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 tài liệu của Google.
Tóm tắt dự án
- Tổ chức nguồn mở:
- RoboComp
- Người viết nội dung kỹ thuật:
- Lê Thái An
- Tên dự án:
- Các thành phần cơ bản của RoboComp
- Thời lượng dự án:
- Thời gian tiêu chuẩn (3 tháng)
Mô tả dự án
Động lực
RoboComp là một trong những khung robot nổi tiếng dùng cho nghiên cứu và ứng dụng thực tế. Kho lưu trữ robocomp bao gồm nhiều thành phần (được duy trì trong kho lưu trữ nhỏ hơn có tên robocomp-robolab) cho nhiều ứng dụng robot khác nhau, chẳng hạn như điều khiển động cơ, bản địa hoá và lập bản đồ, điều hướng, nhận dạng, v.v. Tuy nhiên, kho lưu trữ của các thành phần này thiếu tài liệu chi tiết để biên dịch hoặc sử dụng từng thành phần, do đó, khả năng hữu dụng bị hạn chế đối với các nhà phát triển mới. Đề xuất này nhằm giải quyết vấn đề này bằng cách ghi lại các thành phần quan trọng của RoboComp cũng như biên dịch tài liệu sử dụng mẫu để kết hợp các thành phần khác nhau nhằm giải quyết một nhiệm vụ cụ thể về robot. Thông tin chi tiết về quy trình lập tài liệu sẽ được thảo luận trong phần tiếp theo, sau đó là phần mốc quan trọng để lập kế hoạch khung thời gian hoàn thành dự án. Cuối cùng, một số lưu ý về quy trình lập tài liệu được đề cập.
Mô tả
Như đã đề cập, dự án này có hai mục tiêu chính:
- Mô tả chi tiết tài liệu, biên dịch và cài đặt, cấu hình, cách sử dụng và các vấn đề đã biết liên quan đến từng thành phần trong RoboComp
- Viết hướng dẫn mẫu sử dụng các thành phần khác nhau trong môi trường RoboComp để giải quyết một nhiệm vụ cụ thể về robot, tức là bản địa hoá.
Hầu hết các thành phần cơ bản trong kho lưu trữ robocomp-robolab hiện thiếu hướng dẫn chi tiết về cách biên dịch và cách sử dụng trong các cấu hình thông số khác nhau. Điều này gây trở ngại lớn cho các nhà phát triển mới, những người muốn sử dụng các thành phần trong dự án hoặc đóng góp vào khung này. Lý do là nhiều thành phần là trình bao bọc của trình điều khiển hoặc thư viện bên ngoài có nhiều phần phụ thuộc, khiến việc biên dịch và cài đặt trở nên khó khăn. Hơn nữa, nhiều thành phần gói trình điều khiển thiết bị phức tạp (tức là hokuyoComp chung) để cung cấp giao diện thông báo trong RoboComp, đòi hỏi kiến thức cụ thể về thiết bị để điều chỉnh các thông số.
Do đó, bạn cần có tài liệu chi tiết, bao gồm nội dung mô tả thiết bị, cách giải quyết phần phụ thuộc và cách sử dụng, để đóng góp cho dự án nguồn mở. Bạn có thể tìm thấy ví dụ về tài liệu thành phần hokuyoComp của công việc trong đường liên kết sau:
https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp
Để viết tài liệu thành phần cụ thể và chi tiết bằng phương pháp từ trên xuống, ít nhất bạn phải có thể trải nghiệm nội dung được viết trong tài liệu đó, vì mục đích cuối cùng của tài liệu là chuyển giao kiến thức hoạt động cho các nhà phát triển kế thừa. Cấu trúc đề xuất cho mỗi tài liệu thành phần được trình bày như sau:
- Mô tả
- Biên dịch và cài đặt
- Tham số cấu hình
- Bắt đầu thành phần (sử dụng)
- Vấn đề đã biết
Trong ví dụ này, trước tiên, một quy trình thu thập thông tin về thông số kỹ thuật của cảm biến Hokuyo, sau đó đọc mã thành phần để hiểu thông tin tổng quan về các chức năng của thành phần rồi viết nội dung mô tả thành phần. Tiếp theo, việc hiểu rõ môi trường RoboComp và kiến thức về các tham số cụ thể của thiết bị cũng như các phần phụ thuộc của thư viện sẽ giúp ghi lại quá trình biên dịch, cài đặt và định cấu hình thành phần. Ví dụ: để biên dịch hokuyoComp, bạn cần có gói deb cũ của phiên bản Ubuntu 14.04, nhưng gói deb này đã bị xoá khỏi Ubuntu PPA trong phiên bản mới hơn. Do đó, chúng ta phải thực hiện giải pháp để biên dịch như đã nêu trong tài liệu. Trong quá trình này, chúng ta cũng có thể ghi lại các vấn đề đã biết để đẩy nhanh quá trình gỡ lỗi cho các nhà phát triển mới. Cuối cùng, cách sử dụng thành phần cho các tình huống sử dụng khác nhau được ghi lại để dễ dàng tích hợp thành phần vào cảnh quan RoboComp cho các nhiệm vụ robot khác nhau.
Cột mốc
Phần này dự định khung thời gian ban đầu để hoàn thành các mục tiêu đã đề cập của dự án. Chúng ta sẽ chọn tài liệu thành phần để viết dựa trên các danh mục (ví dụ: thành phần của máy ảnh, thành phần laser). Thời gian ước tính hiện tại để hoàn thành tài liệu về thành phần dựa trên thời gian hoàn thành tài liệu ví dụ về hokuyoComp. Lịch trình như sau:
1/8 — 1/9: Gắn kết cộng đồng:
- Tổ chức cuộc họp hằng tuần để xác lập phạm vi dự án cũng như kỳ vọng của cả biên kịch và cố vấn.
- Tìm hiểu sâu về khung RoboComp.
Từ ngày 2 tháng 9 đến ngày 2 tháng 11: Viết tài liệu cho từng thành phần trong kho lưu trữ robocomp-robolab với các lần tinh 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 (dự kiến sẽ hoàn tất hầu hết các tài liệu chưa được ghi nhận)
Ngày 2 tháng 11 – Ngày 26 tháng 11: Viết tài liệu chung làm ví dụ về việc sử dụng các thành phần khác nhau để giải quyết một nhiệm vụ về robot.
Từ ngày 27 tháng 11 đến ngày 29 tháng 11: Báo cáo kết thúc dự án.
Sau sự kiện GSoD 2019: Tôi muốn tiếp tục kết nối với RoboComp để tiếp tục cải thiện và duy trì các công trình của mình.
Ghi chú cuối cùng
Bạn cần phải viết một ví dụ chung về cách tích hợp các thành phần khác nhau trong môi trường RoboComp để người dùng hiểu được thông tin tổng quan về các chức năng của RoboComp. Chúng ta sẽ thảo luận thêm về tài liệu ví dụ này với các cố vấn để quyết định xem nhiệm vụ nào phù hợp với robot, tuỳ thuộc vào cách triển khai RoboComp hiện tại.