Embeded/TOPST
TOPST-D3-G 보드 사용기 - OpenPilot 포팅하기(3)
GariGreen
2025. 7. 21. 09:00
TOPST-D3-G 보드에 오픈파일럿 포팅하기 (3) - FlowPilot 설치 및 빌드
이전 글에서는 TOPST-D3-G 보드에 Ubuntu OS를 설치하는 방법에 대해 다루었습니다. 이번 글에서는 본격적으로 FlowPilot을 설치하고, 실행하기 위한 환경을 구축하는 과정을 안내합니다.
1. Micro SD 카드에 사용자 환경 설정
FlowPilot은 빌드 및 실행을 위해 8GB 이상의 저장 공간이 필요합니다. 따라서 Micro SD 카드를 삽입하여 해당 공간에 사용자를 생성하고 작업 환경을 구성합니다.
- Micro SD 카드를 삽입하고
ext4형식으로 포맷합니다. - 포맷한 SD 카드를
/home/flowpilot경로에 마운트합니다. UUID를 이용하여 자동 마운트를 설정합니다./etc/fstab파일에 다음과 같이 추가합니다:UUID=YOUR_SD_UUID /home/flowpilot ext4 defaults 0 2- 새로운 사용자
flowpilot을 생성합니다.sudo adduser flowpilot video,render,sudo그룹 권한을 부여합니다:sudo usermod -aG video flowpilot sudo usermod -aG render flowpilot sudo usermod -aG sudo flowpilot
2. OpenCV 4.5.1 빌드
FlowPilot은 OpenCV와 OpenCL 기능을 사용하는데, 시스템에 맞는 OpenCV를 직접 빌드해야 합니다.
- OpenCV 소스를 클론하고 4.5.1 버전으로 체크아웃합니다:
git clone https://github.com/opencv/opencv.git cd opencv git checkout 4.5.1 mkdir build cd build - FFmpeg 지원을 위한 패키지를 설치합니다:
sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev - 자바 지원을 위한 ant 패키지를 설치합니다:
sudo apt install ant - 다음과 같이 CMake를 사용해 빌드 설정을 구성합니다:
cmake -DBUILD_SHARED_LIBS=ON \ -DBUILD_opencv_java=ON \ -DWITH_OPENCL=ON \ -DWITH_OPENCL_SVM=ON \ -DCMAKE_INSTALL_PREFIX=/usr \ -DBUILD_opencv_python3=ON \ -DWITH_FFMPEG=ON \ .. - 설정이 완료되면 설치를 진행합니다:
sudo make install
3. FlowPilot 설치 스크립트 실행
FlowPilot 설치를 위한 자동 스크립트를 실행합니다.
- 스크립트를 다운로드하고 실행 권한을 부여합니다:
cd ~ wget https://github.com/cwal1220/flowpilot/blob/master/scripts/install-flowpilot-desktop chmod +x install-flowpilot-desktop - 스크립트를 실행합니다:
./install-flowpilot-desktop
4. Prebuilt 라이브러리 설치
FlowPilot에서 사용하는 사전 컴파일된 OpenCL 및 TNN 라이브러리를 시스템에 복사합니다.
- 라이브러리 경로로 이동:
cd ~/flowpilot/libs/topst-lib - 아래의 압축 파일들을 해제하고 루트(/) 디렉토리에 복사합니다 (sudo 필요):
image_opencl.tarimage_tnn.tar
tar -xvf image_opencl.tar tar -xvf image_tnn.tar # 이후 폴더 내의 library를 / (root) 경로로 복사
5. SCons를 이용한 FlowPilot 빌드
환경이 모두 준비되었으면 FlowPilot을 빌드합니다.
- 가상 환경에 진입하고
scons로 빌드합니다:cd ~/flowpilot pipenv shell scons -j4
이제 모든 준비가 완료되었습니다. 다음 글에서는 FlowPilot 실행 및 테스트 방법에 대해 알아보겠습니다.