I’m working on an indoor drone that currently uses SLAM (VIO or LIDAR) for localization, but I’m exploring the feasibility of flying without SLAM , relying only on the Pixhawk 6X Pro’s IMU
I am currently publishing on /mavros/setpoint_position/local
to reach a goal pose, and I am receiving feedback from /mavros/local_position/pose
. How can I fly in position mode, which relies solely on the IMU? Do I need to make changes on the firmware level or modify the parameters?
I believe there is no good way to go that, and it likely would not work in any case.
The changes to enable this would involve removing many check for valid position estimate.
I am getting position estimation
from SLAM. I want to test a flight without SLAM
to check the feasibility of onboard IMU in the Flight Controller
Without any additional sensors, your position estimates will drift wildly. You can perhaps slow down this drift with an optical flow sensor. But in general, IMU only position estimate will drift widly after a while.
The word “position mode” in px4 needs GPS data for its stabilization and positioning.
If you are not using GPS , the next modes in line of your question are “attitude” which does not take GPS , but takes barometric readings for height stabilization. The next one is “stabilized” which does not take barometric readings or GPS so fully dependent on IMU readings (there are more like acro). Both attitude and stabilized can be armed and flown without GPS.
But as usual with IMU dependency , you will experience a drift which you need to overcome.
Yes. It will drift, but how I make it enable in position
Yes. It will drift. but how to enable position flights without GPS
to avoid Invalid Global-Position
and without SLAM
to avoid Invalid Local-Position
, totally depends on Pixhawk Flight controller sensors like Imu
and Barometer
. Do I need to modify the Parameters
or make changes on the firmware
level