Full spraying functionality with ardupilot

Hi All,
We are trying to use our hybrid drone HYBRiX20 as a spraying platform. We have done some tests and it provides advantages over electric drones but although there are some spraying features in ardupilot, in practice it is not a fully functional.

Spraying is a pretty popular application right now and I think a lot of people may be interested.

I think some manufacturers are using Ardupilot, but I imagine they have developed their tools. Right now I think there is no good solution with ardupilot and standard GCS (QGC or MissionPlanner)

For the moment I have identified these needs:

  • Resume the mission from the exact point where the liquid ran out
  • Terrain following (probably a radio radar needed)
  • RTK (It doesn’t seem like a big problem)

My main problem is the resume mission, QGC and mission planner support Resume mission but they do the last complete line again from the last WP, this is not functional in Spraying, because the liquid last only 4 minutes to spread and the speed is slow so WP to WP can be more then 4 minutes.

Other features needed (in principle supported by Ardupilot) are terrain following based on distance sensor and RTK.

We have a LW20/C, we tested it quickly and it seems very violent and probably it have problems with liquid. I think Agras are using radio based radar, Is it? i have search and i see there are a radar suported, but $600, https://sensing.ai/collections/radar-altimeters.

Do you think LW20/C will work?

Finally the RTK, we have tried the Emlid, but I am thinking about trying the Ardusimple.

If I’m missing something, please tell me!

@WickedShell couldn’t this use case be sorted by some Lua scripting ? I believe that now all the required pieces are in place.

I’m using a Mission Planner plugin for spray planning and controlling the return point when pesticide tank empty. You can check the code here : https://github.com/EosBandi/SprayPlanner.plugin It’s a quick hack and needs polishing, but works. (Although it needs a stable telemetry link, like the rfd868x). When pesticide runs out, it rewrite the mission plan in Mission Planner, and you have to reupload it for continue. The tank level is measured through the analog RSSI input.

And do not use laser based altimeter, the spray will influence it, you have to use radar based altimeter.


Hi Eosbandi,

Thanks for your plugin, I’m going to take a look at it.
We are doing similar thing on QGC: https://youtu.be/ugT1GcuJVf4
I think is the same function, it store the position when you stop the mission and re-upload a new flight plan with this position as first WP, so it resume mission from same exact position you was when mission was stopped.

About altimeter, i forgot to use lidar. Is it the only Radar Altimeter supported?

I have found another radar called “TopXGun TXG T1-A Millimeter Wave Radar module for Agricultural” at 275€, i am writing them to get some technical information.

To use this plugin, simply put the files in the Mission Planner plugin folder ?
Thank you

Topgun (sic) radar is a Nanoradar NRA24 with a custom firmware. And there is no support for it in AC code yet. (http://en.nanoradar.cn/Article/detail/id/372.html)

You have to compile it and put to the plugins folder, indeed.

Ok, I have found this article, it seems it is supported!

Nanoradar Yes, but not the TopXGun one, that has a custom firmware and protocol

Hello EosBandi, I am doing the same research you has done before!!!, Yes, I forgot TopXGun as you said, it is only compatible with their autopilot.

I have also the answer of NanoRadar.
it seems they use a special firmware in order to make it compatible with current ardupilot radar support, nanoradar recommend me to develop support for standard version and no use the “ardupilot version” because standard version give you “angles”, I don’t know that this angles means. I think this radar track the nearest object and give position of this object, is it?

It could be useful for obstacle avoidance, but not for terrain following.
I am trying to understand what is the advantage of have this “angles”

I am thinking to order both “Ardupilot version” and “standard version”

I have flight experience only with the uLanding (US-D1). I have a TopXgun radar where I removed the serial->CAN converter board from it’s inside and got some readings via serial, but it was not consistent, and the device is firmware locked and I was not able update a firmware to a standard one, so it was abandoned.

Yes, although the pending PR for reading/editing full mission items might be needed depending on what you wanted to do. But conceptually there is nothing that stops you from running the spraying mission in guided for example, with the script generating the appropriate guided points for you and turning the sprayer on/off, which would work with master right now.

@WickedShell Do you know if there are this script written to take a look?

Me and Eosbandi have taken a different path, instead of using the guided mode, what we do is upload a new flight plan with a WP where the liquid ran out. It seems to work at least on simulator.

About the Radar,
NRA24/NRA15 can’t output angles info. There is another obstacle avoidance radar MR72
The main difference for NRA24 and NRA15 is distance and accurancy.
NRA15 - ±0.02m 0.1-30m
NRA24 - ±0.04m 0.1-50m

There is a standard firmware and a special firmware for Ardupilot.

for some reason she insists that it is better for me to buy the standard firmware and to develop the integration myself instead of using the Ardupilot version

I am going to order two radars, one standard and one ardupilot.

Note on radar if she insist then you can tell that if she donate a radar to you then you will develop and test the driver. Don’t let her exploit you :slight_smile:

So which Radar so far is the best in your opinion?

This is a very interesting thread…

By the way anyone knows a good 2 Axis Gimbal I can use for my Skywalker X8?

RTK is almost working, we have bought the Ardusimple SimpleRTK2b kit kit, It is a good deal for a multi-frequency GPS.

we want to remove the comms module included (XBEE) and send the RTCM3 corrections via Mavlink with our telemetry system RFD900+ (like emlid do)

Someone have pass-through working with Ardu-simple?

With those of nanoradar it goes a little slower,

I answer myself, pass-through works directly with ardusimple and QGC. Just tested and working, very easy.

We are testing the drone with the RTK and the radar The RTK seems to work great, the radar also work perfectly as sensor, but the behavior of the drone with the radar is very aggressive, it detects the tops of the trees and when the radar see the ground then it sinks dangerously.

I see this parameters

but i suppose it will not work because the vertical speed for the flight controller is always zero despite the drone going up and down following the terrain.

Are there any way to filter or limit the vertical speed of the drone when following terrain with the radar?

Hi jlcortex,

Have you solved your problem of aggressive behavior and if so, how do I do it ?
Thank you .

1 Like


We have developed a full crop spraying system with Cube Black. We included all functions (break point, pump control, etc) at our own dedicated crop spraying ground station. Take a look here: https://skydrones.com.br/pelicano2020/ and here: https://youtu.be/pSBvYLzlt1o

Please contact me.

1 Like