Hello, I am a beginner with PX4, and I am attempting to set up a multi-drone simulation with PX4 and Gazebo. Currently, my problem is as follows:
After setting the origin of the default.sdf file in PX4-Autopilot/Tools/simulation/gz/worlds to the center of the desired environment, I am trying to run multiple drones simultaneously. The command I use to launch the drones is:
HEADLESS=1 PX4_SYS_AUTOSTART=4001 PX4_GZ_MODEL_POSE='{y_disp},{x_disp}' PX4_GZ_MODEL=x500 ./build/px4_sitl_default/bin/px4 -i {instance_id}
Since this is something performed on the web, I have set it to headless mode, and I calculate y_disp
and x_disp
based on the difference from the origin to the spawn location. However, I am encountering an issue where drones that are too far from the origin cannot be armed. When checking on QGroundControl, the following messages were displayed:
Arming Check Report:
Waiting for estimator to initialize
No valid attitude estimate - waiting until the estimator initialized
No valid local position estimate - the available positioning data is not sufficient to execute the selected mode.
No valid global position estimate - the available positioning data is not sufficient to execute the selected mode.
No valid altitude estimate - the available positioning data is not sufficient to execute the selected mode.
This means that drones close to the origin can automatically estimate their position, but drones that are far away cannot estimate their position no matter how much time passes. Does anyone know how to enable position estimation for drones that are farther away?