728x90
728x90
PX4는 Gazebo Classic용 헥사 모델 Typhoon H480을 제공합니다. 헥사콥터를 시뮬레이션하기 위해서는 아래와 같은 명령어를 실행하여 새로운 드론 모델을 컴파일 해야 합니다. 컴파일 전에 위치 조기화를 export 하여 사용할 수 있습니다.
export PX4_HOME_LAT=37.4396727
export PX4_HOME_LON=127.1746944
export PX4_HOME_ALT=114.272330
cd ~/PX4-Autopilot
make px4_sitl gazebo-classic_typhoon_h480
위의 그림과 같이 정상적으로 실행될 경우 gazebo에 헥사콥터 드론이 출력됩니다.
다음른 헥사콥터 드론의 ROS2 제어 샘플코드를 테스트 해 보겠습니다. 아래의 압축 파일을 ~/ros2_ws/src에 복사하여 압축을 해제합니다.
simple_takeoff_land.tar.gz
0.00MB
cd Downloads/
cp simple_takeoff_land.tar.gz ~/ros2_ws/src/
cd ~/ros2_ws/src/
ls
tar zxvf simple_takeoff_land.tar.gz
ls
압축이 해제된 sample_takeoff_land 폴더에는 src, launch 폴더가 있고 컴파일 관련된 CMakeLists.txt, package.xml 파일이 있습니다. 해당 파일의 내용은 ros2 관련 강좌나 기타 자료를 참고해 주시기 바랍니다.
실행 시 필요한 launch 파일과 c++ 프로그램 소스 파일도 있습니다.
아래의 명령어를 순서대로 실행하여 sample_takeoff_land를 컴파일 합니다.
cd ~/ros2_ws
colcon build --symlink-install --packages-select simple_takeoff_land
source ~/ros2_ws/install/local_setup.bash
컴파일이 완료되었으면 simple_takeoff_land 패키지를 실행합니다.
3개의 터미널을 이용하여 실행합니다.
# 터미널 A (PX4 SITL)
cd ~/PX4-Autopilot
make px4_sitl gazebo-classic
# 터미널 B (uXRCE-DDS Agent)
source /opt/ros/foxy/setup.bash
source ~/ros2_ws/install/setup.bash
MicroXRCEAgent udp4 -p 8888
# 터미널 C (ROS 2)
source /opt/ros/foxy/setup.bash
source ~/ros2_ws/install/setup.bash
ros2 launch simple_takeoff_land simple_takeoff_land.launch.py
추가로 ROS 2용 Gazebo Classic ROS 플러그인을 설치합니다.
echo $ROS_DISTRO
sudo apt update
sudo apt install ros-$ROS_DISTRO-gazebo-ros-pkgs
정상적으로 설치되었는지 아래의 명령어를 실행하여 확인할 수 있습니다.
ls /opt/ros/$ROS_DISTRO/lib/libgazebo_ros_init.so
ls /opt/ros/$ROS_DISTRO/lib/libgazebo_ros_factory.so
728x90
728x90
'로봇개발 > 드론 주행알고리즘 개발' 카테고리의 다른 글
드론 시뮬레이션 환경 구축 #2 (0) | 2025.08.29 |
---|---|
드론 시뮬레이션 환경 구축 #1 (1) | 2025.08.29 |