Dự án RoboComp

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ở:
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 người máy nổi tiếng dành 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 là robocomp-robolab) cho các ứng dụng robot khác nhau như điều khiển động cơ, bản địa hoá và ánh xạ, đ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 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 đối với các nhà phát triển mới còn hạn chế. Đề 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 soạn một tài liệu mẫu về cách sử dụng để 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ể trong lĩnh vực robot. 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 đề cập đến một số lưu ý về quy trình lập tài liệu.

Nội dung mô tả

Như đã đề cập, dự án này có hai mục tiêu chính:

  • Tài liệu mô tả chi tiết, việc 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ể trong robot, ví dụ như 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 tham số khác nhau. Điều này tạo ra một trở ngại lớn cho các nhà phát triển mới muốn sử dụng các thành phần trong dự án hoặc đóng góp vào khung. 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 tác vụ trở nên khó khăn. Hơn nữa, nhiều thành phần bao bọc 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.Giao diện này đòi hỏi kiến thức cụ thể về thiết bị để điều chỉnh các tham số.

Do đó, nhu cầu có tài liệu chi tiết, bao gồm cả nội dung mô tả thiết bị, việc phân giải các phần phụ thuộc và cách sử dụng, là điều cần thiết đối với nội dung đóng góp nguồn mở. Tôi tìm thấy ví dụ về tài liệu thành phần hokuyoComp của tôi trong đường liên kết:

https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp

Để viết một tài liệu thành phần cụ thể và chi tiết theo phương pháp từ trên xuống, ít nhất người viết phải xem được nội dung viết trong tài liệu đó, vì mục đích cuối cùng của tài liệu là truyền tải kiến thức thực hành 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:

  • Nội dung mô tả
  • Biên dịch và cài đặt
  • Thông số cấu hình
  • Bắt đầu thành phần (lượt sử dụng)
  • Vấn đề đã biết

Trong ví dụ này, trước tiên, người dùng thu thập thông tin về thông số kỹ thuật của cảm biến Hokuyo, đọc qua mã thành phần để hiểu hình ảnh của các chức năng của thành phần rồi viết 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 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 cần gói deb liburg0-dev cũ từ Ubuntu 14.04, nhưng gói deb bị xóa khỏi Ubuntu PPA trong phiên bản sau, 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 sự cố đã biết để tăng tốc gỡ lỗi cho các nhà phát triển mới. Cuối cùng, việc 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ới bối cảnh RoboComp cho các nhiệm vụ robot khác nhau.

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. Chúng ta sẽ chọn tài liệu thành phần cần viết dựa trên danh mục (tức là các thành phần của máy ảnh, các thành phần laser). Thời gian ước tính hiện tại để hoàn thành tài liệu thành phần dựa trên thời gian hoàn thành tài liệu hokuyoComp mẫu. Bảng thời gian như sau:

  • 1/8 – 1/9: Gắn kết cộng đồng:

    1. Tổ chức cuộc họp hằng tuần để thiết lập phạm vi dự án, cũng như kỳ vọng của cả người viết và người cố vấn.
    2. Hiểu rõ về khung RoboComp.
  • 2/9 – 2/11: Viết tài liệu cho từng thành phần trong kho lưu trữ robocomp-robolab với 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 thành hầu hết các tài liệu không có tài liệu)

  • 2/11 – 26/11: Viết tài liệu tổng quát làm ví dụ cho việc sử dụng các thành phần khác nhau để giải quyết một nhiệm vụ trong lĩnh vực robot.

  • 27/11 – 29/11: Kết thúc báo cáo dự án.

  • Sau GSoD 2019: Tôi muốn tiếp tục kết nối với RoboComp để 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 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 bức tranh tổng thể về các chức năng trong RoboComp. Chúng ta sẽ thảo luận thêm về tài liệu ví dụ này với các chuyên gia cố vấn để quyết định xem nhiệm vụ robot nào là phù hợp, tuỳ vào cách triển khai RoboComp hiện tại.