이 가이드에서 표준 LEGO EV3 키트를 엔비디아 제트슨 나노(NVIDIA Jetson Nano), 아이작 SDK(Isaac SDK), YDLIDAR-X4 라이다, Pixy2 비전 카메라로 구동되는 완전 자율 트랙 로봇으로 변환하는 방법을 보여줍니다. 카터(Carter)와 카야(Kaya) 레퍼런스 디자인의 예산 친화적 대안이면서 엔비디아 로보틱스 스택의 첨단 인식 및 계획 역량을 모두 유지합니다.
파트 8 또는 파트 10로 이동해 완전한 자율 내비게이션 데모 확인.
프로젝트 구성 요소:
엔비디아 제트슨 나노 개발 보드 – 아이작 로봇 엔진 실행
EV3 브릭 – 모터 제어 (EV3 31313 로봇 키트 포함)
트랙 베이스 – LEGO 테크닉 부품과 대형 모터 2개로 제작 (EV3 31313 로봇 키트 모두 제공)
YDLIDAR X4 라이다
Pixy2 비전 카메라
왜 ROS 대신 아이작 SDK인가?
ROS 튜토리얼은 많지만 공식 아이작 SDK 가이드는 소수.
아이작 SDK는 제트슨 하드웨어 전용으로 빌드돼 나노에서 최고 성능 발휘.
인식부터 계획까지 모든 핵심 알고리즘이 GPU 가속돼 나노가 라즈베리파이 4보다 훨씬 강력.
아이작심(IsaacSim)의 유니티 3D 렌더러가 포토리얼리스틱 시뮬레이션 제공으로 현실 격차 완화.
EV3 드라이버가 세그웨이 RMP 베이스와 동일 API 구현해 조이스틱 컨트롤러, 분산 G매핑, 전체 내비게이션 스택 같은 기존 아이작 앱 직접 재사용 가능.
파트 6: 오도메트리 캘리브레이션
정확한 오도메트리는 자율 작동에 필수. Ev3ControlServer가 두 RPC 호출 노출:
command(Control) – 선속도와 각속도 전송
state() – 현재 선속도와 각속도 반환
바퀴 반지름과 트랙 폭으로 선속도 계산:
if left == right: v = left elif left == -right: v = 0 else: v = (left + right) / 2
각속도는 휠 속도 차이를 트랙 폭으로 나누어 도출.
파트 7: 음성 제어 자율 내비게이션
음성 감지 서브그래프가 마이크 청취, 훈련된 키워드 감지 시 voice_command_id 방출. 아이작 음성 툴킷으로 "jetson", "left", "right" 세 단어 RNN 훈련. 결과 모델 프로젝트 저장소에서 다운로드 가능.
명령 수신 시 GoalGenerator가 글로벌 플래너에 목표 발행. 예: 로봇 90° 좌회전:
auto proto = rx_detected_command().getProto(); int id = proto.getCommandId(); auto goal_proto = tx_goal().initProto(); goal_proto.setStopRobot(true); goal_proto.setTolerance(0.1); goal_proto.setGoalFrame('robot'); ToProto(Pose2d::Rotation(90), goal_proto.initGoal()); tx_goal().publish();
실제 10W 전력 모드에서 신뢰성 있게 작동. 5W에선 추론 지연(약 30ms)이 매끄러운 작동엔 너무 높음.
파트 8: 분산 G매핑으로 매핑
매핑은 호스트 PC에서 수행, EV3가 라이다 데이터 제공. 제트슨에 분산 G매핑 앱 배포:
./engine/build/deploy.sh --remote_user andrei -p //apps/ev3:gmapping_distributed_ev3-pkg -d jetpack43 -h 192.168.0.218