본문으로 바로가기
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