드론, 로봇, 지상 차량 등 다양한 무인 시스템의 자율 비행 및 제어를 위한 오픈소스 자동비행장치 소프트웨어 플랫폼입니다. 쿼드콥터, 고정익기, 잠수정 등 다양한 종류의 차량을 제어할 수 있으며, 픽스호크 하드웨어와 함께 사용되어 NuttX 운영체제 위에서 동작합니다. PX4 플랫폼은 비행 모드, 안전 기능 지원이 뛰어나고, 지상 관제 소프트웨어와 연동하여 미션 계획, 비행 경로 설정, 비디오 스트리밍 등 다양한 기능을 제공합니다.
PX4-AutoPilot은 오픈소스로 매우 강력한 자동조정 창치이며 최근 드론 본체 제어에 가장 많이 사용됩니다.
PX4와 ROS2를 연결하여 제어하는 방식에 내용은 아래의 사이트를 참고하시기 발바니다.
1. VirtualBox 가상머신에서 Ubuntu 20.04.06 LTS를 Drone_Simulation이름으로 설치하였습니다.

아래의 그림은 최조 설치 결과입니다.

2. Ubuntu와 개인 PC간 파일 공유를 위해서는 VirtualBox 가상머신 설정창에서 “공유 폴더”탭을 선택하고 우측 상단의 “+” 버튼을 클릭하여 내 PC에 미리 만들어 놓은 share 폴더를 지정하고 “자동 마운트”와 “항상 사용하기”를 선택하고 “확인” 버튼을 누르고 실행하면 아래의 그림과 같이 공유 폴더를 사용할 수 있습니다.
먼저 왼쪽하단의 “Other Locations”을 선택하시면 아래의 그림과 같은 디스트 선택창이 나타납니다.

이 창에서 방금 공유한 ‘sf_share’ 를 선택합니다. 그럼 2번의 비밀번호 입력 창이 나타나는데 모두 입력하고 ‘확인’ 버튼을 누르면 아래의 그림과 같이 내용이 보입니다. 여기에 원하는 파일을 복사하면 됩니다.

그리고 PC의 해당 폴더에서 해당 파일을 사용할 수 있습니다. 새로운 파일을 복사할 때마다 비번을 입력해야 합니다.

3. VirtualBox의 클립보드 공유를 설정합니다. PC 프로그램에서 복사한 후에 가상머신(Ubuntu 20.04)에서 붙여넣기를 하고 싶을때 설정해야 합니다.
아래의 그림은 가상머신 실행창에서 ‘장치-클립보드 공유-양방향’을 선택한 화면입니다. 선택이 완료되면 Ubuntu를 재시작해야 합니다.


4. 다른 방법으로 ssh를 사용하는 것입니다. 아래의 링크를 참조하셔서 설치하시면 됩니다.
먼저 net-tools를 설치합니다.
https://makingrobot.tistory.com/114
아래 이미지는 설치를 완료한 모습니다.


다음으로 ssh의 사용환경을 설정합니다. 아래의 링크를 참조하세요.
https://makingrobot.tistory.com/115
실행결과는 아래의 그림과 같습니다.

5. 다음 단계는 소스를 다운로드 받기 위해 git을 설치해야 합니다. 아래의 링크를 참조하세요. github 사이트에 가입해서 개인 계저을 먼저 만들어야 git config에서 설정이 가능합니다.
https://makingrobot.tistory.com/34
https://makingrobot.tistory.com/33
아래의 그림은 git을 설치하고 config를 수행한 결과입니다.

6. PX4 v1.15.0 와 Gazebo Classic을 설치합니다.
cd ~
git clone --recursive https://github.com/PX4/PX4-Autopilot.git



cd PX4-Autopilot
git checkout v1.15.0


git submodule update --init --recursive


Ubuntu에 필요한 각종 툴을 설치합니다. Ubuntu 작업환경에 따라서 설치식나이 오래 걸릿 수 있습니다.
bash Tools/setup/ubuntu.sh




7. 쿼드 드론 모델인 기본 모텔을 이용하여 gazebo를 실행합니다. 그리고 환경변수로 드론의 실제 현재 위치를 GPS 데이터로 설정합니다. PX4-Autolpilot을 컴파일하기 때문에 장시간이 소요됩니다.
export PX4_HOME_LAT=37.4396727
export PX4_HOME_LON=127.1746944
export PX4_HOME_ALT=114.272330
make px4_sitl gazebo-classic





아래와 같은 실행창이 나타나면 정상적으로 설치된 것입니다.
