DIY Autonomous Intelligent drone sprayer - Parts List, Schematics, Build Details
HTML-код
- Опубликовано: 2 мар 2023
- I created an autonomous intelligent ag sprayer drone that identifies and sprays only the wild blackberries (weeds) in my prairie grass. It worked surprisingly well and could be copied for other applications. This video will show you how it's built.
Note - This is version 1 - it works but the system to identify weeds is a bit of a clooge. Version 2 is forthcoming and will use a raspberry pi zero 2 to do onboard image processing and will work much better - I recommend going that route, raspberry pi zero 2's should be back in stock in the summer of 2023.
Landing Pad and Battery Swap Station Video: • DIY automated drone ba...
Electrical schematic: drive.google.c...
Tensor Flow code:
webcamCapture.py - drive.google.c...
sprayerLoop_captureOnly.py - drive.google.c...
BuildModel.py - drive.google.c...
PredictImage.py - drive.google.c...
listener_mpScriptsTab.py - drive.google.c...
sprayerLoop.py - drive.google.c...
Bill of Materials - Drone ($1035 USD as of 2/23, version 2 camera system)
Drone
1 s500 frame - $48 (www.amazon.com...)
4 30A ESC - $40 (www.amazon.com...)
4 920kV drone motors - $40 (www.amazon.com...)
1 2 pair drone props - $14
1 cube orange, 1 here 3+ GPS, 1 900MHz radio - $679 (irlock.com/col...)
This is a huge portion of the total cost, and cheaper pixhawk autopilots and radios exist, but I tried them without much success
1 tf-mini (lidar) - $50 (irlock.com/col...)
1 4s 5200 mAH lipo - $49 (www.amazon.com...
adhesive velcro - $5
Sprayer:
1 L298N Motor Controller - $7 (www.amazon.com...)
1 12V and 5V DC buck converter (adjustable) - $12 (www.amazon.com...)
1 Sprayer Pump - $10 (www.amazon.com...)
1 Nozzle - $8 (www.amazon.com...)
1 Nozzle tubing - $8 (www.amazon.com...)
5' section of 1/2" PVC, 6 90 degree connectors, 4 T connectors, silicon, 1/4" inside diameter tubing - $25 (tank/landing gear)
Version 1 Camera System -
*NOTE I don't recommend buying version 1. Version 2 will be WAY better and cheaper. Just wait for raspberri pi to be back in stock*
1 Runcam swift 2 FPV Camera - $28 (usa.banggood.c...)
1 eachine 5.8GHz Video Transmitter TX805S - $35 (usa.banggood.c...)
1 eachine ROTG02 5.8GHz receiver w/ USB - $31 (www.banggood.c...)
Version 2 Camera System -
1 Raspberri Pi Zero 2 - $15 - (www.raspberryp...)
1 Raspberri Pi Camera 2 - $25 - (www.raspberryp...) Хобби
Seriously impressive builds man. This channel feels like it's gonna grow quick
Thanks! I've got a fun one in progress, but they take so long to develop and debug that it's a long interval between posts
this is my capstone project thank you sir, God bless
Hi Nathan, I can only imagine how hard this would have been - very impressive! Let me know if you're keen to collaborate on commercial applications in Australia and New Zealand.
Hi Simon, thanks! I found you on linkedin - I'll message you there.
Hope you gents make something happen 👌🏿
Thank you so much for this video. It explained a lot of things I have been trying to learn about drones/ardupilot/mp. My goal is to create a drone that will fly a cemetery and map all of the grave stones capturing text data and gps coordinates of each.
That sounds like an excellent project, and I bet you can do it. I'd recommend using an on boards pc/camera like the raspberry pi zero ($15) so you're not transmitting video over wireless to your base station as I did here. You'll get far superior image quality that way.
There is ton of creativity in your projects. Hope you get commercial success soon!
Thanks!
You got my sub, you have such nice skills in applying advanced techniques. I think, I can learn a lot of you!!
Thanks for the sub! I've got some cool projects with image processing rattling around as soon as I can get some raspberry pi zero 2's in hand, I hope you enjoy them.
Best DIY I have found thus far... ty and bravo!
Thanks for sharing this really brilliant project (And code !) You have a real talent for creative solutions. Great work Nathan, cheers.
This is exactly the video I needed one month ago. And I'm only seeing it after it's useless to me. I wanna scream.
Anyways, props on the brilliant idea of making your reservoir your landing gear.
Great job man. I have been wanting to get into image recognition on one of my drones.
Go for it, I was surprised how simple it was. I think it's getting simpler - my updated videos when raspberry pi's become available will show how the new vision suite in tensorflow works with tflite models and it looks to me a bit simpler to use.
Really looking forward to your version 2! Keep it up!
Amazing work, thank you for sharing so clearly!
Thanks! I'm going to set this up with the accompanying landing pad/battery swap soon and make a video about that setup
Thanks a lot, mate. I really need the programming part there!
Great, thanks for sharing your knowledge. Happy 2024
Thank You! Excellent Video. From Frisco, TX
Thanks! Keep watching, I'll have more good devices coming
Cool stuff. Also could be used to look for lost pets, children, adults, treasure hunting. The code is clean and workable. I already simulated it. Get a printer to make your battery housing, much lighter, than wood, print a rain cover out of super light buterate for the drone. Thanks man, you Rock.
You nailed it, next revision I'll have all 3d printed parts for this. will save weight, make it easier to reproduce and should be more reliable.
Awesome VIdeo! 14:30
Man, it's awesome, thank you for your videos!
Thanks for watching!
Bravo. Thanks for the awesome tutorial.
Thanks for an amazing video, loved it! How many acres can this drone cover with one battery before swapping it out for a charged one? Also how big is your spray tank? Would it be able to handle a bigger spray tank?
Yes - it'll certainly take a bigger spray tank, next revision of this I'm going to 3d print the tank to save weight and hold a bit more liquid. It holds around 8 oz currently, I want to push it to 16oz.
Since it only sprays when it has to I can cover about .5 acres per flight with that (my weeds are fairly dense in places) and I can get about a 12 minute flight to cover that .5 acres. I want to make everything bigger in the next revision as well. I saw an ag drone in my neighbors field (he had hired a company) that was around 8 feet square! It had a huge battery pack, and was fully human operated, no automation, but they covered something like 60 acres in an afternoon. They could swap batteries every 20 minutes or so and had a bunch charging in their trailer at all times.
This is amazing you're a legend
Great setup, impressive built!! Also, it is a very comprehensive video, explaining everything in detail. Out of curiosity , how long did it take you to build and develop everything (from hardware to code-software)?
It's hard to say since it was all pieced together in very sporadic free time over months, but I'd guess it was 30 hours of reading/prototyping/failing and maybe 15 hours on the computer vision and 15 hours to work out all the issues
Thanks 4sharing.... well explained, sir.
hey Nathan, I'm a farmer here in Grundy County Iowa. I am wanting to build some things that would allow me to change my cultural practices. I was hoping you might be able to find some time for me to run some things by you to see if they might pique your interest and if not whether you can still steer me in the right direction with autonomy. Regardless, I owe you a thank you for being selfless with your knowledge. You've brought me quite a few steps forward in being able to set a plan into motion.
Hi! Sorry for the slow reply, been busy with the garden and orchard. We're neighbors! I'd love to chat with you, contact me at doublegdevelopments@gmail.com. Talk to you soon.
Awsome video 👏🏻
I’m looking at undertaking a project like this to build a drone sprayer for a strawberry patch that will be a little under an acre. You mentioned you are gonna have an updated drone? Any progress on that
Did you do PID tuning?
video is really helpful . thanks for making . can you provide codes that you have used in this drone
. and please make more such videos
This is a great overview and project, I have been researching this topic a little bit and this is the exact inspiration I needed to begin working on a similar project. In terms of open source autonomous drone flight, would you recommend starting with ardupilot, I want to explore the idea of mini auto swarm drones that are loaded with lightweight recognition models on board. So a software that can control multiple drones would be ideal.
ardupilot has a pretty big user base and active forum. I know it has some swarm capabilities though I haven't tried it myself. I think skybrush is an alternative as well, but again, I haven't tried it. Let me know what you find!
Thank you
Welcome!
I love you. Tyvm!
You're welcome!
First, I would like to thank you for this wonderful project. At the same time, I would like to ask about the method of connecting the water motor, which you did not discuss. How did you connect the electrical part of the water motor, and how can you operate it through the remote control.
Ah, I didn't put that in this video. It ended up here:
ruclips.net/video/X9XkCe1RPQY/видео.html
Does it have RTK
Hi Nathan,
great idea and how solved your challenges.
It is possible that you explain how you analyse the pictures with tensorflow
i am looking for a solution for an automower
Thanks in advance
Hi Ralf, are asking about how I train a new model to use in tensorflow or how I use the created model to identify new plants?
@@nathanbuildsdiy to be honest on both parts, i have basic understanding about AI and how it works but to use it in a real world problem i have difficulties.
Hi Ralf, totally understand. It took me a few days of hard learning during the winter when I had no other projects to get my head around it. The "official" best places to start are things like this:
www.tensorflow.org/tutorials/images/classification -> this is a "get started" to actually classify images on a pre-trained model
www.tensorflow.org/tutorials/images/transfer_learning -> this is training a new model from a pre-trained one, basically feeding in new images to train the model as I did here
If you've got a raspberry pi with a camera module, you can jump right in very quickly with this:
github.com/tensorflow/examples/blob/master/lite/examples/image_classification/raspberry_pi/README.md
I'm actually playing with that last one now.
That said, check out minute 30 onwards of this video for how I "distilled" down these tutorials into something usable. First I took a pre-trained image (mobilenet) and hand-sorted images into "weed" and "not weed" folders on my computer, then retrained that mobilenet model on my folders. Then I took the resulting model and actually put it to use on future flights - I snapped images as the drone was flying and used my laptop running that model to classify them.
Hope this helps!
@@nathanbuildsdiy Thank you for your answer. I will try it and if a achieve something than i will show my results
Hi Nathan, we want to build a basic drone which can spray some test sample of pesticide autonomously using path planning and GPS way point calibration, the drone should take the pictures which are to be stored in cloud . Can you list the best parts that are needed for this?
Interesting build! I wonder if some sort of a two pass, batch approach would be interesting? first pass does relatively high speed scan/ video of the field. Drone returns to base and the video is downloaded and processed, and then the drone heads out with a new battery and the herbicide and does a high-speed spray run using the just calculated target data. Of course this depends on the system having sufficient locational accuracy and repeatability. I assume that for the most part the limit is air time so if the drone can move faster more of the field is covered at once.
Thanks for the video
Interesting idea - flying higher and faster would let you get an overview of the field. I also think a raspberry pi + camera would get a much better resolution picture to enable that.
Then the trouble would be that rpi+camera doesn't talk to the mission planner on the base station so it wouldn't know where it actually is in the field when it gets a photo. Perhaps comparing time stamps between the systems coudl sync up.
I actually came up with a different solution - I built a lander/automated battery swap station that takes the hassle out of flying new missions. I don't have to be around, the drone lands, swaps batteries, gets loaded with a new mission and takes off for that mission
can we use this without GPS sensor..?
That is too much expensive...
or is there any alternate of this setup..?
Love this but it started spraying my neighborhood kids
Awesome work the automation of it is impressive. Can you set up a discord channel or a github with discussions? .
I thanks a lot for the video.
Actually i needed some guidance for my Major project.
So can u help me out?
Nice build man, one question
What problem did you encounter using the pixhawk 2.4.8?
Thanks! pixhawk should work, but the here3 gps pinout/connector matches the cube orange. If you're ok cutting/soldering wires to swap the connector it should be fine. I think it'll even work with one of the knockoff pixhawks you can find on amazon
@@nathanbuildsdiy I am using M8N GPS, Would that work fine or do i need to get a better gps?
It would be cool if you filled the sprayer with gasoline instead and also attached a second motor controller to activate a lighter right beside the nozzle. Autonomous flamethrower drone
one esc and motor took fire on the exact same config : what wrong with me ?
at first it ryed 2s 4500 lipo and it barely hovered at 10cm
so i switched to 4s 3500 and it burned in smoke
Awesome project. I want to adopt your project to also pickup golf balls in addition to killing weeds. I have my own private driving range next to my hops yard. Any suggestions
I love the idea! Picking up balls is probably way easier ground based though. Like a rover like the mower I built
Hi, Nathan. Veeeery impressive work to bring all that together! Congrats! I’m a long-time drone builder/pilot. I’m also an experienced (self-taught coder. What I’m trying to decide now is whether to use nodejs (very little experience, although I’m experienced with JavaScript/jQuery) or Python. Never used python. There are so many options/ approaches to take to build something like you’ve built, my head is starting to spin.
What do you think is the optimal approach for your next build? Python? Nodejs? Raspberry Pi Zero? Mini PC?
If you could provide some overview of options, I’d appreciate it very much. I see a lot of pros/cons concerning the choices, but not directly related to a project such as yours.
During your next build, make a step-by-step course available and you’ll have many buy it! I would!
One last thing, promise. 😊 I have a DJI Naza V2 that’s been sitting in a box for years brand new. Can that be used in place of the Orange cube that coats so much?
Good questions.
- For flying drones (including your DJI) with ardupilot/Mission planner I think you have to add a flight controller (an autopilot). In my case I chose cube orange, but a pixhawk could be used too. There is a cheaper knockoff pixhawk to save some $ which I tried but the GPS I used (here3) doesn't ship with a compatible connector to that one. There are videos about how to modify/solder the wires on the GPS to work with that cheaper pixhawk though. NET: pixhawk/cube orange are needed for use with ardupilot/mission planner.
More info see here; discuss.ardupilot.org/t/control-a-dji-drone-through-pixhawk-and-ardupilot/39386
- I love python and raspberry pi and I'm using it for my next build (a robot, not a drone). It's inexpensive and easy to learn BUT you don't get ardupilot/gps out of the box there. Just a "robot" sort of control but importantly python is great for crunching numbers and working with tensorflow (machine learning from google - I use it for image classification). I think it's possible to add ardupilot/gps though as I've read a few headlines about that sort of thing, and if you could get that working it'd save money. That said, nodejs is also a fine language though it doesn't work out of the box with the open source machine learning. Go with what you're comfortable with and if you hit a wall where it can't do what you want switch languages or platforms
@@nathanbuildsdiy Thanks for the feedback and info, Nathan. Good luck with your robot!
@nathanbuildsdiy I have a similar drone that's collecting dust how much would you charge to fix it ?
Dude flying spaghetti monster!
I know, right? Pretty fun project
@NathanBuildsDIY what is the capacity of the tank? What is the weight of the drone and how much water can it carry?
I haven't actually weighed it, but it's HEAVY (for a drone anyway). I'd bet 4-5 lbs. I'm working on a v2.0 now and I plan to 3d print the drone frame, and make it basically a big tube all through. I can print it lighter than the current one, with no seams and it'll carry more liquid.
if you had to identify why the orange cube produced success, what about it enabled success? Because there are many Pixhawk, particularly the 6, that are very powerful.
It's the here3+ GPS that's the important thing. That gets GPS RTK which is far more precise and what I needed to be more exact with the passes in the field and to get the landings on the pad.
The cube orange had the proper GPS port and the here3+ GPS documentation showed it worked with it. I actually started with a pixhawk and when I realized the here3 didn't have the same GPS port I got nervous and switched. I'm pretty sure I could have cut the wires and soldered them to use the pixhawk port but I wasn't sure if I'd introduce to much R/C and make the here3 unusable.
Nathan! Hey. I am located in Va and I am currently trying to design something similar to this. I also have an idea for your drone as well. Can I please collaborate with you for advice n such??
Thank you so much for your effort and sharing ... if i want to build a 5 or 8 liters spraying capacity drone to spray whole field ,with auto pilot without camera , i dont mine if it take few more rounds to finish the spray , what is your recommendation of motor power and battery list of material , i am a small farmer so this will do the job for me .... as agriculture drones are so expensive ... your drone impressive build great....
Very good question. I just saw a company out of Illinois that a few farmers in my area hired to spray their entire field (no machine learning to only spray weeds), so it's cost competitive with crop dusters. Their drone was 8ftx8ft and could carry 10 gallons. The battery was enormous and they had a whole bunch of them charging and after flight they would manually swap battery/refill the tank. It was very cool (though not automated, had a crew of people running it).
I've also seen the DJI Agras drone (2 gallons) which is also around 6 feet on a side.
So, long answer to say I haven't built a drone that can carry a gallon (yet), but I'm guessing it'd be 3 feet or so on a side. I'm not sure how big the motors would be, perhaps start by researching what other ag drones (not automated, not Machine learning ready) are put together to get an idea of the motors and batteries used, then you could take that info and add in the machine learning/weed recognition. Let me know how it goes!
I'm trying to build a mapping Drone with rtk and a mechanical shutter. I am planning on trying to add a machine learning model on it in the future also. All the other parts are more basic. I need help finding the right parts and getting the Drone to work. Do you know of any people and/or resources that can help me?
i did not find a demo of the working finished product... did you ever get it to work?
Yup! Right here - ruclips.net/video/X9XkCe1RPQY/видео.html
I want to do more of this! Do you have a discord group?
I don't have a discord yet, but I'm working on version 2 of this and I'm planning to create a group to keep moving it forward when I get that posted!
@nathanbuildsdiy nice! Any other way to keep in touch? I'm about to build a graffiti drone and another build to solve a sailing issue.
Hello, I want to build a more simpler Drone, it's my first one, Something that can use some liquids and some ''grains/powder'', it's for my father that works on crops in Brazil, some of the stuff is kinda impossible to find here, just a drone that can be ''kinda auto'' after config or can operate at home/notebook or radio can work out with a FPV kit and after trying to make it work with the pump? Plz help! ty for the content
I'm sure you can build that. You'll save quite a bit of money over my build because you don't need the cube orange and expensive Here3+ GPS if you're not relying on full automation.
I used these with success for FPV camera/video from the drone back to my laptop (I see the video feed from the drone on my laptop) - I grabbed this from the description in this video (ruclips.net/video/Fflbc_y2IGQ/видео.html)
Version 1 Camera System -
*NOTE I don't recommend buying version 1. Version 2 will be WAY better and cheaper. Just wait for raspberri pi to be back in stock*
1 Runcam swift 2 FPV Camera - $28 (usa.banggood.com/RunCam-Swift...)
1 eachine 5.8GHz Video Transmitter TX805S - $35 (usa.banggood.com/Eachine-TX80...)
1 eachine ROTG02 5.8GHz receiver w/ USB - $31 (www.banggood.com/Eachine-ROTG...)
You could keep the sprayer design I used or change it so it can deploy grain/powder, probably just change the pump in my design for a small motor that can deploy grains/powder when you activate it. You'll still need some way to control the drone. You could probably get a much cheaper pixhawk (instead of the cube orange) and a cheaper GPS, and still use ardupilot. These often come bundled together, something like this:
www.amazon.com/Controller-Wireless-Telemetry-Quadcopter-Multirotor/dp/B07NRMFTXL/
I started by using a kit like that. In the end I decided the 900mhz radio didn't have enough range and the GPS wasn't accurate enough for my needs, nor did it have lidar, so I ended at the design in the video instead which is more expensive, but these kits certainly work with the limitations listed.
There's probably even cheaper FPV enabled drones from DJI that are fully human controlled - no laptop used at all, and you could just add the grain/power distribution system onto that and figure out a way to turn it on when you want to. I've not got any experience with that, but I bet it's the least expensive option of them all.
Is your tensor flow code up there? I do not see it. I am in the process of ordering parts now. I am a robotics teacher in Nebraska and can see how huge this is. These drones are on their way from big AG, but why not have some students ahead of the curve.
It is, BUT I recommend you go to this video:
ruclips.net/video/X9XkCe1RPQY/видео.html
It's updated to show how a raspberry pi (onboard computer for $15) can be used to the same image processing better. The tensorflow code is linked in the description of that video and there's an overview of creating and using the model in that video. I recommend you go there.
wil the drone work in the rain? and water issues?
Best not to fly in the rain. In a future version I'd like to have a weather sensor and pull a roof over the setup in case of rain
hey I was wondering about potentially using a PWM brushless water pump instead? Would that work and do you know of any 12v PWM brushless water pump for the pixhawk fc?
I don't know of brushless water pumps, but it should be do able - you just need to change the pump and the ESC (electronic speed controller) to brushless. The PWM signal going into the ESC will be the same, just the output will change to power the brushless motor.
I have the Pixhawk 4 on my homemade tricopter. What problems did you encounter with it that made you go to the Cube?
I think pixhawk 4 would work but I also think you'll need to clip off the wiring connection that comes with the here3+ GPS to fit. The size/shape of the connections for GPS changed (I think).
Are you using 1045 propellers?
yup!
Where is the wire to the pump coming from??
An ESC. The raspberry pi turns on the ESC which actually provides the power to the pump. Should be in the wiring diagram.
Oh man, it ended up in this video instead:
ruclips.net/video/X9XkCe1RPQY/видео.html
Sorry for the confusion
Great job with creating this project and thank you for sharing! I am currently working on a project similar to this, but I am using a Raspberry Pi model 3 B+. I was curious on seeing how your code works and when I got to the point of using the sprayerloop code, it kept printing that it was only seeing weeds after I made a model with crops and weeds by using two different plants. By any chance do you have an idea why this issue may be occurring? I tried creating folder directories similar to yours and I am not sure this this is the issue. Also, when creating this code did you use a certain tutorial or did you already have prior experience?
Glad you're finding it useful! Let me know how your project goes.
I switched to a pi for this project as well and had trouble with the models. Eventually I went to a tflite, quantized model with class labels added. I had to use new code for that and I'm going to post it with an updated video in a week or 2. But you can get similar code from my robot weeder video: ruclips.net/video/uVJXskpkuEE/видео.html
I realized I posted and pointed you to an old script! Here's the correct one:
drive.google.com/file/d/1qyksC5TaVZLewNzG1gDQfEPXi20eE6L-/view?usp=sharing
It's updated in the description of the weeder video too.
That's got to be run on linux (I put up a vbox ubuntu) I think because I couldn't get the tflite_support package for windows.
@@nathanbuildsdiy Thank you very much! I greatly appreciate your help and I look forward to seeing your updated video. I will keep you updated on my project as well.
@nathanbuildsdiy i have a similar drone collecting dust . how much would you charge to fix it ?
That's kind of you to think of me! I'm not really in the business of drone repairs though. Perhaps start with a refresh of battery, then move to motors or ESC. I had the most trouble with motors/esc failing.
@@nathanbuildsdiy I'm unfamiliar with the technology. I bought it online . I could ship it and pay you 1000 to fix it
Асалаумагадейкум!
Tabs pls?
Hi are you located in the US and what state if so?
yup, Iowa
mavlink part isn't clear
Why dont we like blackberries?
LOL, good question! The land is in CRP (conservation reserve program) and is supposed to be native grasses. The blackberries got flagged for removal at the last check in. They're quite tough... so I came up with this.
But more broadly, drone + image classification to only spray where necessary is a big win for agriculture. Less chemicals used while maintaining yields = cheaper cleaner food.
oh boy so thats the reasen why this kind of drones cost 100,000 of dollars😅
Excellent work a great example of engineering and determination. i can see you've put a whole lot into this. thanks for sharing.
Many years ago i imagined a fleet of purpose-built drones designed to speedup the recovery of habitats after environmental catastrophes.
A drone lands, gracefully drills and plants seed in holes and can alternatively carpet bomb large areas efficiently with tree seed-balls/seed-bombs.
It's equipped with similar technology: GPS coordinates guide it to target fields, where it autonomously maps the area, considering environmental factors like soil type, slope, and climate. Based on these data, it plans an optimal grid layout for planting and its base-station prepares seed ball magazines.
ruclips.net/video/dWyduWsoy8o/видео.html&ab_channel=catfishbones
ruclips.net/video/OqYTz6-zGcg/видео.html&ab_channel=BareMtnFarm
A reforestation game-changer in areas that are difficult to access. By autonomously selecting suitable vegetation and preloading seed magazines tailored for each pass, it ensures that every planting mission is tailored to its unique environment. To restore and heal exploited, damaged, burned, or abandoned lands!