본문으로 건너뛰기

선수 지식과 준비물

모바일 시뮬레이션은 M09.02 구동·브리지와 M09.04 프레임·시뮬레이션 시간으로 확장한다. 이 장의 Isaac 브리지 설정을 Gazebo에 그대로 복사하지 말고 메시지 형식·단위·명령/측정 방향·clock 소유자를 다시 확인한다. M18.04 Action·작업 상태에서는 통신 요청 수락과 실제 도착·작업 완료를 구분한다.

E4에서는 M19.02 계획 장면·궤적 실행과 M22.02 구조화 출력·ROS Action으로 이어진다. 브리지로 메시지를 보냈다는 사실과 계획 유효성·실행 결과·작업 성공은 각각 확인한다.

M10.01 Stage·레이어·참조와 M10.02 URDF/USD 자산에서 장면 표현·저장·자산 재사용을 먼저 확인하고, M10.06 ROS 브리지와 아래 연결 예제를 이어 읽는다. 시각 장면이 만들어졌다는 사실과 물리·센서·통신이 실행됐다는 사실을 구분한다.

통신 예제를 실행하기 전 M05.01 작업공간·Executor, M05.02 인터페이스, M05.03 QoS·발견, M05.06 시간과 장애를 이어 읽는다. 이 장은 Isaac Sim 브리지 응용이며, 기본 ROS 실행·진단 개념은 E2에서 가상 로그로 먼저 익힌다.

  • Python 3의 클래스, 예외, NumPy 배열
  • C++17의 클래스, 람다, 스마트 포인터
  • 선형대수의 벡터·행렬 기초
  • 프로세스와 스레드, TCP/UDP의 기본 개념
  • Ubuntu 24.04 LTS, ROS 2 Jazzy Jalisco
  • NVIDIA Isaac Sim은 선택 사항이다. OpenUSD 예제는 usd-core 또는 Isaac Sim Python 환경에서 실행할 수 있다.

통합 커리큘럼의 기초에서 이 장으로 넘어오기. 처음 등장하는 개발 용어가 낯설면 M01 개발 기반에서 셸·가상환경·C++ 수명·빌드를 먼저 확인한다. 수식의 벡터/행렬과 단위는 M02 수학 브리지, 관절·센서·구동·전원은 M03 구성요소에서 보충한다. 장비 없이 시작하는 학습자는 M00.06의 계산·로그 재생 경로를 선택할 수 있다. 이 여섯 장은 확장 과정 안의 로봇팔·시뮬레이션 응용 경로이며, 모바일·차량 전체를 이 장만으로 다루지는 않는다.

버전 주의: 이 책의 ROS 예제는 Jazzy를 기준으로 한다. Isaac Sim Python API와 확장 이름은 제품 릴리스에 따라 이동할 수 있다. 특정 API 이름보다 Stage, Simulation Context, ROS graph, clock ownership이라는 설계 개념을 우선해서 익힌다.

이 장의 예제 코드·설정 파일 (12)

이 장의 자가 점검·가상실습