이 페이지에는 Google Season of Docs에 선정된 기술 문서 프로젝트의 세부정보가 포함되어 있습니다.
프로젝트 요약
- 오픈소스 조직:
- RoboComp
- 기술 문서 작성자:
- 레 타이 안
- 프로젝트 이름:
- RoboComp의 기본 구성요소
- 프로젝트 기간:
- 표준 기간 (3개월)
Project description
동기
RoboComp는 연구 및 실제 애플리케이션에 사용되는 잘 알려진 로봇공학 프레임워크 중 하나입니다. robocomp 리포지토리는 모터 제어, 현지화 및 매핑, 내비게이션, 인식 등 다양한 로봇 애플리케이션을 위한 광범위한 컴포넌트 (robocomp-robolab이라는 작은 리포지토리에서 유지됨)를 포함합니다. 그러나 컴포넌트 리포지토리에는 각 컴포넌트의 컴파일 또는 사용에 대한 세부 문서가 없기 때문에 신규 개발자에게는 사용성이 제한되어 있습니다. 이 제안서에서는 RoboComp의 핵심 구성요소를 문서화하고 다양한 구성요소를 결합하여 특정 로봇 공학 작업을 해결하기 위한 사용 예시 문서를 컴파일하여 이 문제를 해결하는 것을 목표로 합니다. 문서화 프로세스의 세부정보는 다음 섹션에서 설명하고 프로젝트 완료 기간을 계획하는 마일스톤 섹션이 이어집니다. 마지막으로 문서화 프로세스에 관한 몇 가지 참고사항이 언급됩니다.
설명
앞서 언급한 바와 같이 이 프로젝트에는 두 가지 주요 목표가 있습니다.
- RoboComp의 각 구성요소와 관련된 세부 설명, 컴파일 및 설치, 구성, 사용 및 알려진 문제를 문서화합니다.
- RoboComp 환경의 다양한 구성요소를 활용하여 특정 로봇 공학 작업(예: 위치 지정)을 해결하는 예시 가이드를 작성합니다.
robocomp-robolab 저장소의 대부분의 기본 구성요소에는 현재 컴파일하는 방법과 다양한 매개변수 구성에서 사용하는 방법에 관한 자세한 안내가 없습니다. 이는 프로젝트에서 구성요소를 사용하거나 프레임워크에 기여하려는 신규 개발자에게 큰 장애가 됩니다. 그 이유는 많은 구성 요소가 종속성이 많은 외부 드라이버 또는 라이브러리의 래퍼가 되어 작업의 컴파일과 설치를 어렵게 만들기 때문입니다. 또한 많은 구성요소가 복잡한 기기 드라이버 (예: 일반 hokuyoComp)를 래핑하여 RoboComp에서 메시지 인터페이스를 제공합니다.이 인터페이스에서는 매개변수를 조정하기 위해 기기별 지식이 필요합니다.
따라서 기기 설명, 종속 항목 확인, 사용을 포함하는 세부 문서는 오픈소스 참여에 필수적입니다. 제 작업 hokuyoComp 구성요소 문서의 예는 다음 링크에서 찾을 수 있습니다.
https://github.com/anindex/robocomp-robolab/tree/master/components/hokuyoComp
문서의 최종 목적은 상속받은 개발자에게 실무 지식을 전달하는 것이므로, 위에서 아래로 접근 방식을 사용하여 구체적이고 상세한 구성요소 문서를 작성하려면 적어도 해당 문서에 작성된 콘텐츠를 경험할 수 있어야 합니다. 각 구성요소 문서에 대해 제안된 구조는 다음과 같습니다.
- 설명
- 컴파일 및 설치
- 구성 매개변수
- 구성요소 시작 (사용)
- 알려진 문제
이 예에서는 먼저 Hokuyo 센서 사양에 관한 정보를 수집하고 구성요소 코드를 통해 구성요소 기능의 그림을 이해하여 구성요소 설명을 작성합니다. 다음으로, RoboComp 환경을 이해하고 기기별 매개변수와 라이브러리 종속 항목에 대한 지식을 갖추면 구성요소의 컴파일, 설치, 구성 프로세스를 문서화하는 데 도움이 됩니다. 예를 들어 hokuyoComp를 컴파일하려면 Ubuntu 14.04의 이전 liburg0-dev deb 패키지가 필요하지만 이후 버전에서는 deb 패키지가 Ubuntu PPA에서 삭제되므로 문서에 설명된 대로 컴파일 관련 해결 방법을 실행해야 합니다. 이 과정에서 알려진 문제를 기록하여 신규 개발자의 디버깅 속도를 높일 수도 있습니다. 마지막으로 다양한 로봇 작업을 위해 구성요소를 RoboComp 환경에 쉽게 통합할 수 있도록 다양한 사용 시나리오의 구성요소 사용이 문서화되어 있습니다.
목표
이 섹션에서는 프로젝트의 언급된 목표를 달성하기 위한 초기 기간을 계획합니다. 카테고리 (예: 카메라 구성요소, 레이저 구성요소)에 따라 작성할 구성요소 문서를 선택합니다. 구성요소 문서를 완료하는 데 걸리는 현재 예상 시간은 hokuyoComp 문서 예시를 완료하는 데 걸린 시간을 기준으로 합니다. 시간표는 다음과 같습니다.
8월 1일~9월 1일: 커뮤니티 결속:
- 프로젝트 범위와 작가 및 멘토의 기대치를 설정하기 위한 주간 회의를 설정합니다.
- RoboComp 프레임워크에 대해 자세히 알아봅니다.
9월 2일~11월 2일: 회의를 통해 멘토와 작성자를 반복적으로 개선하고 robocomp-robolab 저장소에서 각 구성요소에 대한 문서 작성 (문서화되지 않은 대부분의 문서 작성 예상)
11월 2일~11월 26일: 로봇 작업을 해결하기 위해 다양한 구성요소를 활용하는 예를 들어 일반 문서 작성
11월 27일~11월 29일: 프로젝트 종료 보고서
GSoD 2019 이후: 작업을 더욱 개선하고 유지하기 위해 RoboComp와 계속 소통하고 싶습니다.
최종 메모
사용자가 RoboComp 기능의 전체적인 개요를 파악할 수 있도록 RoboComp 환경에서 다양한 구성요소를 통합하는 방법에 관한 일반적인 예시를 작성하는 것이 중요합니다. 이 예시 문서는 RoboComp의 현재 구현에 따라 적합한 로봇 공학 작업을 결정하기 위해 멘토와 함께 추가로 논의됩니다.