Non-gps navigation need help!

I am working on a project where we have a big drone that will have gps and will fly autonomously…
the big drone will do some image processing and if it finds a target it will send one of the 5 smaller drones it carries to the detected position…
the problem i have is that i don’t want to put a gps on the smaller drone for budget reasons…
i dont need the small drone to be really really accurate it need to be good enough…
so i was thinking of using the imu navigation of the onboard flight controller sensors…
first : is that possible ??
second : i tried doing some stuff on sitl and simulation using mavproxy i used param set SIM_GPS_DISABLE 1 to disable gps is that enough ? if so then am i only supposed to use guided_nongps mode ? i tried to do so and it arms but when give it takeoff 10 it immediately disarms and doesn’t do anything please help me i am a beginner :frowning:
any help will be appreciated!!

Are you looking for the same answer and here?

1 Like

GNSS denied navigation is useful in civilian applications too, for example for indoor or underground navigation.

why is that ?
as i said i am a beginner so tell me why ?

yes!! do you have any tips or a starting point for me to start working from there ?

I think dronekit is useful and I’m doing same thing to work in indoor non-gps flight but no luck yet.

thank you for you response!!
though i am not entirely sure that that would help since i will be flying at altitudes around 100 m…
also i want the smaller drone not to have anything other than essential parts (no gps,no camera…)
i the answers you linked contain some helpful things that i wasn’t able to catch please help me because i am still trying to figure this out…
any help would be much appreciated !!

thanks!! the thing though i was reading the other day about a comparison between dronekit and pymavlink and the likes and people were saying that dronekit is outdated and that the better of the two might be pymavlink…

anyway if you make any progress i would be thrilled to know!!
thank any way!

Besides outdated, it only work with python 2.x and can’t have more than one telem running at the same time. You may face issue integrating with python 3.x solutions.

Try this, MAVSDK-python.

1 Like

Claims 80mm up to infinity, Hereflow and Ark Flow. I have try 6-8m it is working, due to no-fly zone testing space.

the thing is though that as i said i am trying to avoid gps for budget reasons so using any of these options probably will be pricier than just using a gps…
thats why i was asking if it was possible to only use the onboard imu to navigate with a good enough accuracy…
also do you know why when i give it takeoff 10 it immediately disarms ??

Their weight and space requirements are huge different.

In guided mode, no healthy gps signal (I am very sure), in non-gps, no navigation system to fall on (my guess).

Imagine you are blindfolded (no GPS), without a white cane, are you still able to navigate. You still have the rest of sensors on you, are they sufficient?


Well, what do you mean by “not that accurate but just good enough…”

Well, it depends.

Currently, lack of info about accuracy; how to detach from the host; how to land; etc.

And I have noticed that you mentioned that there is no gps,no camera… etc.

Based on you description, it’s something like a gliding bom, maybe with a little power on it to change the course. Maybe I’m totally wrong.

Or the project is something like a gliding bom + safe landing mechanism(parachute when low altitude close to the target), which will suite you.

Navigation grade IMU will cost you more than most people earn in a year or few.

There were experiments with fixed wing dead reckoning described on this forum but you will pay more for required sensors than for M10Q GPS with compass.

Unless you are dealing with GNSS denied environment GNSS receiver is the cheapest way to get a good or excellent (with RTK) position information.

i mean within a 5 meter distance from the target would be good enough

yes that is sort of the same but i wanted to make the smaller drone a quadcopter as well

yes exactly only the onboard imu sensors

the thing is i will be flying the big drone at around 100m of altitude so the small drone will mostly be landing and a little bit of movement so i thought that maybe for this particulat scenario it might be sufficient to use the lower grade imu in the flight controller what do you think?

Could you please provide me with the version of DroneKit and Python that you are currently using?

I’m not sure which dronekit version but I managed to make dronekit work with python 3.9.18 (mac os). I’m having no issues just some pymavlink issues.

I’ve been trying to implement something similar for a while now, but without success. It would be great to revisit and update this topic for the new firmware, as many tips for previous firmware versions no longer work. The point where I got stuck is implementing the whole project through pymavlink’s rc_channels_override_send.

Even there, it’s not straightforward, telemetry comes with a delay, and increasing or decreasing thrust is too gentle to effectively control altitude. At this stage, I just want to achieve at least that.

AltHold is my main hope for now, but there are problems with that too. I’m figuring it out.

The solution might lie in SET_ATTITUDE_TARGET, but I haven’t tried it yet.

The starting point for any vehicle is a proper configuration and tuning. Without that it is hopeless doing any kind of automated navigation. It would be like having a drunken monkey in the drivers seat. Not good.

So start by tuning it properly, and only after that start playing with pymavlink, or native ROS2.
dronekit python and MAVROS are outdated. I developed a bit of both, and I know that for a fact.


Hi @s.alexson,

In general it’s best to use the set-attitude-target as you’ve suggested instead of rc-channels-override. Overriding the pilot’s input is really not necessary and can be dangerous because can remove the ability for a safety pilot to retake control.

We’ve slowly expanding our mavlink interface page here on the developer wiki.

I also agree with comments above that pymavlink is the way to go instead of using dronekit. MAVSDK may work but I’m not sure AP is completely compatible. If it isn’t compatible we can probably fix up any issues reported.

I also agree with @amilcarlucas that it’s important to have a vehicle that flies well under pilot control before attempting to move onto autonomous control. To ease the burden on building a vehicle, we have a list of Ready-to-fly and reference frames on the wiki.