RoboComp 프로젝트

이 페이지에는 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 패키지가 필요하지만 이후 버전에서 Ubuntu PPA에서 deb 패키지가 삭제되므로 문서에 설명된 대로 컴파일을 위한 해결 방법을 수행해야 합니다. 이 과정에서 알려진 문제를 기록하여 신규 개발자의 디버깅 속도를 높일 수도 있습니다. 마지막으로, 다양한 로봇 작업을 위해 구성요소를 RoboComp 환경에 쉽게 통합할 수 있도록 다양한 사용 시나리오의 구성요소 사용법을 설명합니다.

마일스톤

이 섹션에서는 언급된 프로젝트 목표를 완수하기 위한 초기 기간을 계획합니다. 카테고리 (예: 카메라 부품, 레이저 부품)를 기준으로 작성할 구성요소 문서를 선택합니다. 현재 구성요소 문서 작성에 걸리는 시간은 hokuyoComp 예시 문서 작성 시간을 기준으로 합니다. 시간표는 다음과 같습니다.

  • 8월 1일~9월 1일: 커뮤니티 유대감 형성

    1. 프로젝트 범위와 작성자 및 멘토의 기대치를 설정하기 위해 주간 회의를 정합니다.
    2. RoboComp 프레임워크 자세히 이해하기
  • 9월 2일~11월 2일: 회의를 통해 멘토와 작성자가 반복적으로 수정하는 등 robocomp-robolab 저장소의 각 구성요소에 대한 문서 작성 (대부분의 문서화되지 않은 문서 작성이 예상됨)

  • 11월 2일~11월 26일: 로봇 작업을 해결하기 위해 다양한 구성요소를 활용하는 예시로 일반 문서 작성

  • 11월 27일~11월 29일: 프로젝트 보고서 종료

  • GSoD 2019 이후: 업무를 더욱 개선하고 유지관리하기 위해 RoboComp와 계속 소통하고 싶습니다.

맺음말

사용자가 RoboComp 기능의 큰 그림을 이해할 수 있도록 RoboComp 환경에서 다양한 구성요소를 통합하는 방법에 대한 일반적인 예를 작성하는 것이 필수적입니다. 이 예시 문서에 대해서는 멘토와 함께 보다 자세히 논의하여 현재 RoboComp의 구현에 따라 적합한 로봇 작업을 결정합니다.