Hi all. I have a large area of freshly harvested tree stumps which I plan on removing. In the meantime, they have started coppicing (sprouting) and I will have to spray the foliage. to kill the stump.
This will be done by driving between 2 rows and spraying the regrowth on both sides. There are gaps between to stumps of 3 - 5 meters so the sprayer will need to turn itself on and off as it passes each regrowth foliage.
Can someone direct me to a conversation that may suit my requirements. I am hoping to build my own, but have zero experience.
Thanks in advance
Phil
1 Like
Hi Phil,
Thanks for joining!
A spot spraying setup with the OWL/something similar could work but may need some tweaking. Would the area between the stumps have green weeds/growth in it? If so your best bet would be to train a stump/regrowth detection algorithm on some images and then use that. If it is brown in between then you could use the OWL as is. What speed/how many nozzles would you use?
If you need to train an algorithm, the approach with that is to:
- Collect the image data with the camera you intend to use - in this case it would be a Raspberry Pi Global Shutter - so you could build an OWL, then use it for image data collection.
- Annotate the dataset using a platform like Roboflow.
- Train the model
- Download it and use it on the OWL.
It’s a similar process to doing in crop weed detection, but is hopefully more straightforward in this instance.
You’ll just need to make sure you mount the camera at the right height/angle for the data collection. I’ve heard of some people using it for under tree spraying by mounting it on a tractoe and putting it at an angle to see under the trees.
It’s quite doable, but would require a bit more time on the algorithm front.
Thank you for the reply.
To be able to effectively kill the stump, the regrowth needs to be approx 1.5 mtrs tall to allow enough chemical absorption into the stump.
Initially, the ground wont have any green grass or weeds. I assume this will make the process a little easier.
The tree harvest had taken almost a year to complete which means that the spraying will also take a similar time while waiting for the foliage to reach a sprayable height.
Could the system be calibrated to only react to the height of the regrowth, which will be just under the camera while any green grass will be approx 2 meters below?
Proposed travel speed will be somewhere between 5 and 10KPH.
Im thinking that there will be 4 nozzles on each spray head to hit front, back and both sides as the head passes.
There will be 2 heads - one on each side if the tow vehicle. The stumps are in rows, 4 mtrs apart. Each head will have its own solonoid. Volume and pressure wont be an issue.
I reckon based on the height difference, an ultrasonic or height-based approach might be better. It should be quite compatible with the OWL - you’d just need to create some code that mimics the existing GreenOnBrown approach but set your relay number to just two.
class HeightDetection:
def __init__(self, sensor_ports=['/dev/ttyUSB0', ...],
baseline_height_mm=1000, weed_threshold_mm=500):
self.sensors = [A02YYUWSensor(port) for port in sensor_ports]
...
def inference(self, **kwargs):
"""Where the detection happens based on a 'height above the baseline'"""
readings = self.read_all_sensors()
for reading in readings:
height_above_canopy = self.baseline_height_mm - reading.distance_mm
if height_above_canopy >= self.weed_threshold_mm:
# Weed detected - add to boxes/centres
...
return detections
I found a couple of sensors that look quite useful you could mount on each head. The alternative that is more consistent with the OWL system is using the OWL but then training on the stumps/regrowth for model-based detection. To do that you’d need to collect images, annotate and train a model, then run a camera on each side. You could run a classification algorithm and just do presence/absence of a stump which is much faster for training/inference.
Happy to chat sometime about it though.