이 레슨과 관련된 학습 키워드
인공지능(AI) — 기계가 생각하는 법 → AI 로보틱스 & Embodied AI — 몸을 가진 지능 → AI 로보틱스 & Embodied AI — 물리 세계의 지능 → 기초
ROS 2 런치 파일(Python), 인자, 조건, Include, 네임스페이스, 파라미터(YAML), 멀티 로봇 구성을 학습합니다.
실제 로봇 시스템은 수십 개의 노드가 동시에 돌아가야 해요.
그림 왼쪽을 보세요. 터미널 여섯 개를 열어서 하나씩 실행하는 모습이에요.
라이다 드라이버, 카메라 노드, 슬램, 내비게이션 플래너를 각각 띄워야 해요.
순서를 틀리면 에러가 나고, 파라미터를 빠뜨리면 오동작해요.
이 방식은 재현이 불가능해요. 어제 성공한 설정을 오늘 반복할 수 없어요.
오른쪽을 보세요. 런치 파일 하나로 전체 시스템을 한 줄에 실행해요.
파이썬 함수 안에 노드 여섯 개를 리스트로 넣으면 끝이에요.
아래 실행 명령을 보세요. 로스투 런치 한 줄이면 전부 올라가요.
첫 번째 장점은 재현 가능성이에요. 깃으로 버전 관리가 돼요.
두 번째는 환경 분리예요. 개발, 시뮬레이션, 실제 배포를 나눌 수 있어요.
세 번째는 파라미터 관리예요. 야멜 파일로 설정을 외부화해요.
코드를 수정하지 않고 야멜만 바꿔서 튜닝할 수 있어요.
로스 원에서는 엑스엠엘 방식이었는데, 로스 투는 파이썬이 표준이에요.
파이썬이니까 조건 분기, 반복문, 환경 변수 접근이 자유로워요.
이번 레슨에서 런치 파일 기초부터 고급 기법까지 단계적으로 배울 거예요.
파라미터 선언, 야멜 로드, 네임스페이스 분리를 다뤄요.
멀티 로봇 런치 패턴과 이벤트 핸들러도 배울 거예요.
마지막에는 런치 테스팅 프레임워크로 자동 검증까지 해봐요.
이 레슨을 마치면 복잡한 로봇 시스템을 런치 파일로 관리할 수 있어요.
그럼 먼저 기본 런치 파일 구조부터 살펴볼게요.
선생님: 터미널 여섯 개를 열어서 노드를 하나씩 실행하면 어떤 문제가 생기나요?
학생: 실행 순서를 잊거나 파라미터를 빠뜨릴 수 있어요. 재현도 어렵고요.
선생님: 맞아요. 그래서 런치 파일이 필요한 거예요. 런치 파일의 가장 큰 장점은 뭘까요?
학생: 한 줄 명령으로 전체 시스템을 실행하고, 깃으로 버전 관리까지 되니까 재현 가능성이요.
선생님: 정확해요! 그리고 야멜 파일로 파라미터를 분리하면 코드 수정 없이 튜닝도 가능하죠.
학생: 로스 원에서는 엑스엠엘이었는데 로스 투는 왜 파이썬을 쓰나요?
선생님: 파이썬이면 조건 분기나 반복문을 쓸 수 있어서 훨씬 유연해요. 환경별로 다른 설정을 프로그래밍적으로 처리할 수 있죠.