ROS 기초 개별 미션
목표
ROS 작업 공간 생성
ROS 패키지 구성
Python 및 C++을 사용한 publisher/subscriber 구현
Python 및 C++을 사용한 service/client 구현
과제 설명
작업 공간 생성
자신만의 새로운 작업 공간을 생성하고 초기화합니다.
패키지 생성
자신만의 패키지를 생성합니다.
Publisher/Subscriber 구현
Python: 간단한 publisher와 subscriber를 Python으로 구현합니다.
C++: 동일한 publisher와 subscriber를 C++로 구현합니다.
Service and Client 구현
Python: 서비스와 클라이언트를 Python으로 구현하여 요청/응답 기반의 통신을 실습합니다.
C++: 서비스와 클라이언트를 C++로 구현합니다.
PPT 형식
학생들은 자신의 작업 공간 설정, 패키지 생성, Publisher/Subscriber 및 Service/Client 구현 과정과 결과를 포함하는 PowerPoint(PPT) 프레젠테이션을 준비해야 합니다.
아래는 분배 예시입니다.
총 페이지 수: 최소 15페이지
프로젝트 소개 (2페이지)
제목, 팀 이름, 날짜
과제의 목표 및 개요
작업 공간 및 패키지 설정 (3페이지)
작업 공간 생성 과정
패키지 구성 및 메타데이터 설정
필요한 의존성 및 구성요소 설명
구현 과정 (6페이지)
Python으로 구현한 Publisher/Subscriber 설명 및 코드 스니펫
Python으로 구현한 Service/Client 설명 및 코드 스니펫
C++로 구현한 Publisher/Subscriber 설명 및 코드 스니펫
C++로 구현한 Service/Client 설명 및 코드 스니펫
실행 결과 (3페이지)
Python 구현의 실행 결과 및 분석
C++ 구현의 실행 결과 및 분석
결론 및 피드백 (1페이지)
프로젝트를 통해 배운 점, 겪었던 어려움, 향후 개선 방향
평가 기준
평가는 프레젠테이션 내용의 완성도, 이해도, 발표 능력을 기준으로 이루어집니다:
내용의 완성도 (40점)
요구 사항 충족 (20점): 프레젠테이션은 프로젝트의 모든 요구 사항을 명확하게 충족해야 합니다. 이는 작업 공간과 패키지 설정, Publisher/Subscriber 및 Service/Client의 구현과정을 포함합니다.
문서화 및 설명의 명확성 (20점): 구현 과정과 결과는 상세하게 문서화되어 있어야 하며, 사용된 기술과 메커니즘에 대한 설명이 명확해야 합니다. 코드 스니펫과 실행 결과의 스크린샷을 포함하는 것이 좋습니다.
이해도 및 분석 (30점)
작동 원리의 이해 (15점): 발표자는 구현한 프로그램의 작동 원리를 정확하게 이해하고 있어야 하며, 이를 청중에게 명확히 설명할 수 있어야 합니다.
로봇 시스템에 미치는 영향 분석 (15점): 구현한 프로그램이 로봇 시스템의 전반적인 기능과 행동에 어떻게 기여하는지에 대한 분석을 제시해야 합니다. 이는 특정 구성 요소의 역할과 중요성을 강조할 수 있는 좋은 기회입니다.
발표 능력 및 시각적 표현 (30점)
프레젠테이션 구성의 논리성 (10점): 프레젠테이션의 전반적인 구성이 논리적이고 일관되어야 하며, 각 섹션이 체계적으로 연결되어야 합니다.
효과적인 정보 전달 (10점): 발표자는 자신의 프로젝트를 효과적으로 전달할 수 있어야 하며, 복잡한 개념을 명확하게 설명할 수 있어야 합니다.
시각적 자료의 활용 (10점): 프레젠테이션에 포함된 시각적 자료(그래프, 다이어그램, 코드 스니펫, 실행 결과 스크린샷 등)가 정보 전달을 효과적으로 지원해야 합니다. 시각적 자료는 전달하고자 하는 메시지를 강화하고, 이해를 돕기 위해 명확하고 전문적으로 제작되어야 합니다.
총점: 100점
발표 시간은 각 개인별로 10분으로 제한합니다. 발표 후에는 질의응답 시간을 가질 예정입니다.
결론
이 과제를 통해 학생들은 ROS의 기본적인 개발 과정을 실습하고, 다양한 통신 메커니즘을 구현하는 데 필요한 기술적 능력을 개발할 수 있습니다.