본문 바로가기
Quadrotor Gazebo Simulation

Gazebo Simulation 1. PX4-Autopilot 준비

by 항공학도 2024. 3. 21.

참고 px4 developer guide

Gazebo와 ROS를 이용해 드론 시뮬레이션을 진행하는 방법을 알아본다. 이 과정에서 추가적인 센서를 통합하고, 사용자가 원하는 sensor set과 환경에서 시뮬레이션을 수행할 수 있도록 주변 환경도 구축해본다. Ubuntu 18.04/20.04 ROS melodic/noetic 환경에서 테스트 되었다

1. 아래의 명령어로 PX4 오토파일럿의 최신 코드를 복제

git clone https://github.com/PX4/PX4-Autopilot.git


2.  requirements 설치

pip3 install kconfiglib


3. geographiclib_dataset 설치
https://github.com/mavlink/mavros/blob/ros2/mavros/scripts/install_geographiclib_datasets.sh

위링크의 script를 다운 받고 아래 명령어를 실행하여 설치

chmod +x install_geographiclib_dataset.sh
sudo ./install_geographiclib_dataset.sh


4. 아래의 명령어로 px4 build

cd <PX4-Autopilot clone>
DONT_RUN=1 make px4_sitl_default gazebo-classic

이 명령어는 PX4 소프트웨어 스택을 sitl (Software In The Loop) 모드로 빌드하고, gazebo 시뮬레이터와의 통합을 위해 필요한 설정을 포함한다. px4_sitl_default는 PX4 소프트웨어 스택의 기본 SITL 구성을 지정한다. 이 과정을 통해 가상 환경에서 드론의 비행 로직과 센서 데이터 처리를 시뮬레이션 할 수 있게 해준다.


5. 아래의 명령어들을 사용자의 ~/.bashrc 파일에 추가

이 명령어를 통해 시뮬레이션 환경 설정을 위한 경로를 구성한다. gazebo-classic 시뮬레이션을 위한 환경 변수 설정과, ROS 패키지 경로를 PX4-Autopilot 디렉토리 기반으로 확장한다.

export PX4_PATH=~/PX4-Autopilot
source $PX4_PATH/Tools/simulation/gazebo-classic/setup_gazebo.bash $PX4_PATH $PX4_PATH/build/px4_sitl_default
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$PX4_PATH
export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:$PX4_PATH/Tools/simulation/gazebo-classic/sitl_gazebo-classic


6. 환경설정 적용

source ~/.bashrc

사용자 홈 디렉토리에 위치한 .bashrc 파일을 실행하여, 파일 내에 정의된 환경 설정을 현재 셸 세션에 적용한다. 이는 터미널을 새로 열 때 자동으로 실행되어 사용자 정의 환경이 구성되도록 한다. 개발자들은 이 파일을 통해 개발 환경을 맞춤 설정할 수 있다. 예를 들어 특정 소프트웨어의 실행 경로를 환경 변수에 추가하거나 자주 사용하는 명령어에 대한 별칭을 설정할 수 있다.


7. 다음 코드를 실행하면 Gazebo 시뮬레이터, ROS (Robot Operating System), 그리고 드론 시뮬레이션 환경이 기본적으로 구성되고 작동한다

roslaunch px4 mavros_posix_sitl.launch

댓글