로봇 소프트웨어 부트캠프
센서 입력부터 좌표 변환·통신 계약·계획·제어·기록 재생까지 PC 시뮬레이션으로 연결합니다.
- 대상
- 국비 웹 과정 수료생과 비전공 입문자입니다. Python과 C는 첫 모듈부터 익힙니다.
- 시작 전
- 파일·폴더 조작부터 시작합니다. Python 3·gcc·bash를 준비하며 실물 장치와 ROS 2 설치는 시작 조건이 아닙니다.
- 학습 시간
- 140시간 안팎
트랙 프로젝트
시뮬레이터에서 움직이는 자율 이동 로봇
2차원 차동 구동 로봇이 장애물을 피해 목표점에 도달합니다. C HAL과 순수 Python 노드 모델을 연결하고 잡음·지연·실패 기록을 재생합니다.
수료하면 할 수 있는 일
- 기준·단위·변환 방향을 명시하고 좌표 변환을 테스트합니다.
- 센서·계획·제어를 통합하고 입력 제한과 정지 조건을 검증합니다.
- ROS 2 통신 역할을 모사 계약으로 설명하고 실제 환경에서 확인할 항목을 구분합니다.
- 실험 조건과 실패를 기록·재생해 개선 근거를 인계합니다.
모듈
- Python 센서 처리와 실행 기록
Python 함수와 오류 처리로 센서 입력 계약을 만들고 재현 가능한 실행 기반을 준비합니다.
12시간 안팎
Python 센서 처리와 실행 기록 미션
- 벡터·행렬과 좌표 변환
map·odom·base_link·sensor 기준과 이동·회전 순서를 코드로 설명합니다.
14시간 안팎
벡터·행렬과 좌표 변환 미션
- C 실행 기초와 가상 장치 HAL
C 함수·구조체·포인터를 익혀 센서와 모터를 PC 가상 장치로 분리합니다.
14시간 안팎
C 실행 기초와 가상 장치 HAL 미션
- ROS 2 노드·토픽 계약과 상태 표시
ROS 2 구성 개념을 가상 노드와 토픽 계약으로 구현하고 통신 실패를 진단합니다.
14시간 안팎
ROS 2 노드·토픽 계약과 상태 표시 미션
- 서비스·액션과 이동 작업 상태
짧은 요청과 진행·취소가 있는 작업을 구분해 이동 명령 인터페이스를 만듭니다.
12시간 안팎
서비스·액션과 이동 작업 상태 미션
- 차동 구동과 목표점 제어
바퀴 속도로 위치를 갱신하고 제어 오차·주기·제한의 영향을 비교합니다.
16시간 안팎
차동 구동과 목표점 제어 미션
- 장애물 지도와 경로 계획
로봇 크기를 반영한 격자 탐색 경로를 만들고 제어기로 추종합니다.
16시간 안팎
장애물 지도와 경로 계획 미션
- 센서 잡음·시각과 위치 추정
센서 범위·잡음·지연을 모델링하고 참값과 추정값을 구분해 평가합니다.
16시간 안팎
센서 잡음·시각과 위치 추정 미션
- 기록 재생과 실패 재현
동일한 기록과 설정으로 실패를 재현하고 조건별 도달률과 충돌을 비교합니다.
14시간 안팎
기록 재생과 실패 재현 미션
- 자율 이동 로봇 통합과 시험 인계
프로젝트를 한 명령으로 검증하고 실험 증거와 실물 시험의 경계를 인계합니다.
12시간 안팎
자율 이동 로봇 통합과 시험 인계 미션
신입 기본기 대응표
| 영역 | 완료 기준 | 모듈 |
|---|---|---|
| 프로그래밍과 실행 환경 |
| m01-sensor-runtimem03-c-halm04-topic-contract |
| 수학과 좌표계 |
| m02-frames |
| ROS 2 통신 |
| m04-topic-contractm05-service-action |
| 운동과 제어 |
| m06-motion-control |
| 계획과 시뮬레이션 |
| m07-grid-planningm09-replay-experiments |
| 센서와 통합 검증 |
| m08-sensor-timem09-replay-experimentsm10-integration-handoff |
면접 질문 대응
- 서로 다른 좌표계의 위치를 변환하는 과정을 설명해 주시면 됩니다. m02-frames
- ROS 2 토픽과 서비스, 액션의 선택 기준을 설명해 주시면 됩니다. m04-topic-contractm05-service-action
- 센서 토픽에 데이터가 보이지 않을 때 확인할 순서를 설명해 주시면 됩니다. m04-topic-contract
- 목표점에 가까워져도 로봇이 흔들리는 상황을 설명해 주시면 됩니다. m06-motion-control
- 센서 잡음을 추가한 시뮬레이션을 어떻게 평가하는지 설명해 주시면 됩니다. m08-sensor-timem09-replay-experiments
- 실험 기록을 재생할 때 함께 남겨야 할 정보를 설명해 주시면 됩니다. m09-replay-experimentsm10-integration-handoff