PX4 SITL - IvanCS-Chenfu/Gazebo GitHub Wiki

Utilizar PX4 SITL (Software-In-The-Loop) es una excelente elección para simular drones de manera realista.

Instalación

Instalar PX4 Autopilot

Clona el repositorio de PX4 y ejecuta el script de instalación:

git clone https://github.com/PX4/PX4-Autopilot.git --recursive
cd PX4-Autopilot
bash ./Tools/setup/ubuntu.sh

Este script instalará todas las dependencias necesarias, incluyendo Gazebo.

Instalar ROS2 Humble

Configurar XRCE-DDS Agent

PX4 utiliza XRCE-DDS para comunicarse con ROS 2. Instala el agente de la siguiente manera:

git clone https://github.com/eProsima/Micro-XRCE-DDS-Agent.git
cd Micro-XRCE-DDS-Agent
mkdir build && cd build
cmake ..
make
sudo make install
sudo ldconfig /usr/local/lib/

Crear y Compilar el espacio de trabajo ROS2

Crea un espacio de trabajo para ROS 2 y clona los paquetes necesarios:

mkdir -p ~/ros2_ws/src
cd ~/ros2_ws/src
git clone https://github.com/PX4/px4_msgs.git
cd ..
source /opt/ros/humble/setup.bash
colcon build

Ejecutar PX4 SITL con Gazebo

Desde el directorio de PX4-Autopilot, ejecuta:

make px4_sitl gazebo

Esto iniciará la simulación con el modelo predeterminado (por ejemplo, Iris) en Gazebo.

Ejecutar el agente XRCE-DDS

En otra terminal, inicia el agente XRCE-DDS:

MicroXRCEAgent udp4 -p 8888

Verificar la comunicación entre PX4 y ROS2

Después de compilar el espacio de trabajo de ROS2, verifica que los tópicos estén disponibles:

source ~/ros2_ws/install/setup.bash
ros2 topic list

Deberías ver una lista de tópicos relacionados con PX4.