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 카드를 삽입하여 해당 공간에 사용자를 생성하고 작업 환경을 구성합니다.

  1. Micro SD 카드를 삽입하고 ext4 형식으로 포맷합니다.
  2. 포맷한 SD 카드를 /home/flowpilot 경로에 마운트합니다.
  3. UUID를 이용하여 자동 마운트를 설정합니다. /etc/fstab 파일에 다음과 같이 추가합니다:
    UUID=YOUR_SD_UUID  /home/flowpilot  ext4  defaults  0  2
  4. 새로운 사용자 flowpilot을 생성합니다.
    sudo adduser flowpilot
  5. 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를 직접 빌드해야 합니다.

  1. OpenCV 소스를 클론하고 4.5.1 버전으로 체크아웃합니다:
    
    git clone https://github.com/opencv/opencv.git
    cd opencv
    git checkout 4.5.1
    mkdir build
    cd build
        
  2. FFmpeg 지원을 위한 패키지를 설치합니다:
    
    sudo apt install libavcodec-dev libavformat-dev libavutil-dev libswscale-dev
        
  3. 자바 지원을 위한 ant 패키지를 설치합니다:
    
    sudo apt install ant
        
  4. 다음과 같이 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 \
          ..
        
  5. 설정이 완료되면 설치를 진행합니다:
    
    sudo make install
        

3. FlowPilot 설치 스크립트 실행

FlowPilot 설치를 위한 자동 스크립트를 실행합니다.

  1. 스크립트를 다운로드하고 실행 권한을 부여합니다:
    
    cd ~
    wget https://github.com/cwal1220/flowpilot/blob/master/scripts/install-flowpilot-desktop
    chmod +x install-flowpilot-desktop
        
  2. 스크립트를 실행합니다:
    
    ./install-flowpilot-desktop
        

4. Prebuilt 라이브러리 설치

FlowPilot에서 사용하는 사전 컴파일된 OpenCL 및 TNN 라이브러리를 시스템에 복사합니다.

  1. 라이브러리 경로로 이동:
    cd ~/flowpilot/libs/topst-lib
  2. 아래의 압축 파일들을 해제하고 루트(/) 디렉토리에 복사합니다 (sudo 필요):
    • image_opencl.tar
    • image_tnn.tar
    tar -xvf image_opencl.tar
    tar -xvf image_tnn.tar
    
    # 이후 폴더 내의 library를 / (root) 경로로 복사

5. SCons를 이용한 FlowPilot 빌드

환경이 모두 준비되었으면 FlowPilot을 빌드합니다.

  1. 가상 환경에 진입하고 scons로 빌드합니다:
    
    cd ~/flowpilot
    pipenv shell
    scons -j4
        

이제 모든 준비가 완료되었습니다. 다음 글에서는 FlowPilot 실행 및 테스트 방법에 대해 알아보겠습니다.