저번 시간에는 ROS2 Humble을 설치했습니다. 고생 많으셨습니다
이번 시간에는 PX4-Autopilot을 설치하고 세팅하는 시간을 가져보도록 하겠습니다.
먼저 PX4 Autopilot은 드론 및 자율차량을 위한 오픈소스 비행 제어 소프트웨어로, 자세 제어, 경로 추적, 센서 융합 등을 처리할 수 있습니다. PX4는 멀티콥터, 고정익, VTOL, 헬리콥터, 로버 등을 다양하게 지원하는 오픈소스 자동 조종 소프트웨어입니다. 다양한 비행 모드와 GPS, IMU 등 센서 기능과 카메라 trigger, 외부 actuator 제어 등 기능을 제공합니다. 추가로, MAVLink protocol로 QGroundControl과 같은 지상국과 통합될 수 있습니다.
설치하고 make하는 과정에서 필요한 개념을 간략히 살펴보겠습니다.
그러면 이제 PX4를 셋업하는 시간을 가져보겠습니다!
sudo apt update
sudo apt install -y git make cmake ninja-build python3-pip protobuf-compiler libeigen3-dev openjdk-11-jdk-headless
위 터미널 코드를 통해 PX4 소스 코드 compile에 필요한 build 도구들을 설치합니다. 빠른 빌드를 위해 ninja-build를 설치하고, drone math 연산을 위해 libeigen3-dev 라이브러리를 설치하고, 특정 빌드 script에서 Java가 필요하여 openjdk를 설치합니다.
pip3 install --user kconfiglib jinja2 jsonschema pyros-genmsg packaging toml numpy empy==3.3.4 pyyaml
위 터미널 코드를 통해 PX4 build에 필요한 Python 패키지들을 설치합니다. 최신 버전은 PX4랑 호환성이 떨어지기때문에, empy==3.3.4를 통해 버전을 고정합니다.
cd ~
git clone <https://github.com/PX4/PX4-Autopilot.git> --recursive
cd ~/PX4-Autopilot
git checkout v1.14.3
git submodule update --init --recursive
그 다음, 홈 디렉토리에서 PX4 source code를 전체 다운로드합니다. recursive는 PX4가 사용하는 submodule까지 포함하여 외부 라이브러리를 전부 함께 받는 option입니다.
설치가 전부 완료되면 PX4 폴더로 이동하고, 최신 stable version branch 로 전환합니다.
그런 다음, submodule을 최신 상태로 동기화합니다. 이 과정을 통해 clone할 때 미처 다 받지 못한 것들을 마저 받습니다.
bash ./Tools/setup/ubuntu.sh