시작하기
0.2준비물
권장 PC 사양
| 항목 | 최소 | 권장 | 이유 |
|---|---|---|---|
| CPU | 4코어, 하드웨어 가상화 지원 | 6코어 이상 | VM에 2~4코어를 주고도 Windows가 버텨야 합니다. 빌드(colcon)와 시뮬레이션이 CPU를 많이 씁니다 |
| 메모리(RAM) | 16 GB | 16 GB 이상 | VM에 4~8 GB를 할당하면 Windows에 남는 양이 8 GB 이상이어야 합니다. 8 GB PC에서는 Gazebo가 사실상 어렵습니다 |
| 디스크 여유 공간 | 80 GB | SSD에 100 GB 이상 | 가상 디스크 40~60 GB, ISO 약 5 GB, 스냅샷 공간이 필요합니다. HDD는 설치와 빌드가 매우 느립니다 |
| 그래픽 | 내장 그래픽 | 최신 드라이버가 설치된 GPU | VM의 3D 가속은 호스트 GPU 드라이버에 의존합니다 |
| 운영체제 | Windows 10 이상 64비트 | Windows 11 | 최신 VM 소프트웨어 지원 |
| 인터넷 | 필수 | 안정적인 유선/Wi-Fi | ROS2 패키지(수백 MB~수 GB)를 내려받습니다 |
하드웨어 가상화(VT-x / AMD-V)를 지원하고 그 기능이 켜져 있어야 합니다. 요즘 PC 대부분이 지원하지만 BIOS/UEFI에서 꺼져 있는 경우가 많습니다. 켜져 있는지는 작업 관리자(Ctrl+Shift+Esc) → 성능 → CPU 화면 오른쪽 아래의 "가상화: 사용"에서 확인합니다.
필요한 소프트웨어
| 소프트웨어 | 용도 | 비고 |
|---|---|---|
| VM 소프트웨어 | Ubuntu를 PC 안에서 실행 | VirtualBox (3.1장) |
| 사전 설치 OVA | Ubuntu 22.04, ROS2 Humble이 미리 설치된 VM 이미지 | 약 6.8 GB, 가져오면 디스크 25 GB를 씁니다 (3.1장) |
| FTDI 시리얼 드라이버 | 로봇의 USB 시리얼 포트를 Windows가 인식하게 함 | 제공 자료의 02. BSP > 02. H-TIKI-MINI > 01. 드라이버에 있는 CDM212364_Setup.exe (4.2장) |
| MobaXterm | 로봇 컴퓨터에 시리얼로 처음 접속해 Wi-Fi를 설정 | Home Edition(Installer edition) v25.0 (4.2장) |
| USB 무선랜 어댑터 | VM을 로봇과 같은 Wi-Fi 망에 브리지로 붙임 | 예시 환경은 802.11n USB 무선랜 카드를 씁니다. PC의 Wi-Fi 어댑터로도 되지만 VirtualBox 브리지에서 어댑터를 고를 수 있어야 합니다 (3.1장) |
| Ubuntu 22.04 LTS Desktop ISO | VM에 설치할 운영체제 | 약 4.4 GB (ubuntu-22.04.5-desktop-amd64.iso, 확인 시점 2026년 10월) |
ROS2 자체는 Ubuntu VM 안에서 apt로 설치하므로 Windows에 미리 받을 것은 없습니다. 브라우저 외에 별도의 다운로드 도구도 필요하지 않습니다.
Windows에서 흔한 문제
1) BIOS/UEFI에서 가상화가 꺼져 있다
VM이 시작되지 않거나 "VT-x is not available" 같은 오류가 나면 가장 먼저 의심합니다. 제조사마다 메뉴 이름이 다르며 보통 다음 이름입니다.
- Intel: Intel Virtualization Technology, VT-x
- AMD: SVM Mode, AMD-V
PC를 재부팅하며 제조사별 BIOS 진입 키(F2, Del, F10 등)를 눌러 설정을 켠 뒤 저장합니다.
2) Hyper-V, WSL2, 메모리 무결성과의 충돌
Windows의 일부 기능은 CPU 가상화를 Windows 자신이 먼저 점유합니다. 켜져 있으면 VM이 느려지거나 아예 시작되지 않기도 합니다.
| 기능 | 켜진 경우 영향 |
|---|---|
| Hyper-V, Windows 하이퍼바이저 플랫폼 | VM 소프트웨어가 가상화 기능을 직접 쓰지 못하고 Windows를 거치는 방식으로 동작해 성능이 떨어질 수 있습니다 |
| WSL2, Windows 샌드박스, Docker Desktop(WSL2 백엔드) | 위 기능을 함께 켜므로 같은 영향이 있습니다 |
| 메모리 무결성(코어 격리) | 같은 가상화 기반 보안 기능이라 충돌 원인이 되기도 합니다 |
증상이 있을 때의 대처 순서입니다.
- VM 소프트웨어를 최신 버전으로 업데이트합니다.
- 실제로 필요하지 않은 Windows 기능을 끕니다. "Windows 기능 켜기/끄기"에서 Hyper-V, Windows 하이퍼바이저 플랫폼, 가상 머신 플랫폼, Windows 샌드박스를 확인합니다.
- 그래도 안 되면 Windows 보안 → 장치 보안 → 코어 격리 세부 정보 → 메모리 무결성을 끕니다.
3) 디스크와 메모리 부족
VM 디스크를 너무 작게 만들면 나중에 늘리기 번거롭고 메모리를 너무 많이 주면 Windows가 느려집니다. 구체적인 값은 3.2장에서 제시합니다.
TIKI-MINI 준비물
제품 사양은 다음과 같습니다.
| 항목 | 사양 |
|---|---|
| 차체 크기 | 200 x 60 x 210 mm (W x H x D, 카메라 미장착 기준), 무게 2 kg, 알루미늄과 스틸 |
| 로봇 컴퓨터 | Raspberry Pi 4 Compute Module (쿼드코어 Cortex-A72 ARMv8 64-bit, RAM 4 GB) |
| 로봇 제어기 | Espressif ESP32 |
| 모터 | DC 기어드 모터, 홀센서 엔코더(13 ppr), 최대 175 rpm |
| 배터리 | 리튬이온 3S2P (10.8 V), 최대 방전 전류 5 A, 구동 시간 최대 8시간(모터를 돌리지 않으면 최대 17시간) |
| 센서 | 배터리 전압/전류 모니터링(내장), 9축 IMU, Sony 8M 픽셀 CSI 카메라 |
| 통신 | USB 시리얼(펌웨어 업그레이드, 리눅스 셸 접속), Wi-Fi 2.4 GHz/5 GHz IEEE 802.11 b/g/n/ac, Bluetooth 5.0, BLE |
| 소프트웨어 | ROS2 Humble, JupyterLab, 언어는 Python과 C++, 운영체제는 Raspbian 또는 Ubuntu |
준비 체크리스트
- 작업 관리자에서 가상화가 "사용"으로 표시된다 (아니라면 BIOS에서 켠다)
- RAM 16 GB 이상
- SSD 여유 공간 80 GB 이상 (권장 100 GB)
- 관리자 권한으로 프로그램을 설치할 수 있다
- Hyper-V/WSL2/메모리 무결성 상태를 확인했다 (문제가 있을 때만 조치)
- VM 소프트웨어를 받을 계획이 있다 (3.1장에서 결정)
- Ubuntu 22.04 Desktop ISO를 받을 수 있는 인터넷 환경이다
- (4부 전까지) TIKI-MINI 구성품 확인
한눈에 정리
- 권장 PC는 4코어 이상, RAM 16 GB, SSD 여유 100 GB 정도이며 이는 교육용 권장 기준이다.
- CPU 가상화(VT-x/AMD-V)가 지원되고 BIOS에서 켜져 있어야 한다.
- 필요한 것은 VM 소프트웨어와 Ubuntu 22.04 ISO이며 ROS2는 VM 안에서 설치한다.
- Hyper-V, WSL2, 메모리 무결성은 VM 성능이나 시작 문제의 원인이 되기도 하므로 증상이 있을 때 점검한다.
- TIKI-MINI의 하드웨어 사양은 정해졌고, 충전기와 조종기, LiDAR 포함 여부는 확인 후 채운다.
확인 문제
Q1. VM이 시작되지 않고 'VT-x is not available' 오류가 납니다. 가장 먼저 확인할 것은?
BIOS/UEFI에서 Intel VT-x 또는 AMD SVM(AMD-V) 설정이 켜져 있는지 확인합니다. 그다음 Hyper-V나 메모리 무결성 같은 Windows 기능을 점검합니다.
Q2. RAM이 16 GB인 PC에서 VM에 12 GB를 주면 왜 문제가 될 수 있나요?
호스트(Windows)에 남는 메모리가 4 GB뿐이라 전체가 느려지거나 VM이 불안정해질 수 있습니다. VM에는 4~8 GB 정도를 주고 Windows에 8 GB 이상을 남기는 것을 권장합니다.
Q3. ROS2는 Windows에 미리 설치해 두어야 하나요?
아니요. 이 교육에서 ROS2는 Ubuntu VM 안에서 apt로 설치합니다(3.3장). Windows에는 VM 소프트웨어만 있으면 됩니다.
다음 장
다음은 이 매뉴얼을 읽는 법입니다. 박스와 명령어 블록의 표기 규칙, 코드 실행기 사용법을 짧게 익힙니다.