Is it necessary to control height relative to the soil, or height relative to the crops?
Is there an implied requirement to tolerate large amounts of dust, flying dirt and so on between the boom and the ground?
Height needs to be controlled relative to both the soil and plant canopy depending on application timing.
In corn there would be up to 6" tall plants in rows 30" apart. Since I drive between the rows I would mount the sensors between the corn rows and use the soil height function.
In soybeans and wheat this canopy would be quite thick with a light interception of at least 60% (up to 92% later in the growing season). I'm not sure how doable this is. The sensors either need to fully penetrate the canopy or read only the canopy. I have heard that one commercial system has a ground/canopy function and most growers leave it on ground and adjust accordingly.
There is no requirement to tolerate large amounts of dust or flying dirt. If its windy enough for dust then its too windy to spray (spray drift) and the boom does not disturb the soil.
There are filtering methods that are designed to ignore some data points that are much different than the previous datapoints that would get around the tall weed (a simple low pass to the more advanced Kalman) and to keep the boom from going above a certain level a simple heightmax can be set in the code so the boom does not exceed heightmax.
I'm not sure if heightmax can be used on the left and right sections as they need to tilt to max for contoured terrain. Heightmax would also need feedback positioning which as far as I know commercial systems don't use. Filtering with some kind of sensitivity adjustment sounds like the way to go.
Totally doable (of course, since there are $10k systems out there). Think in the terms of an Unmaned Aerial (Or Ground) Vehicle:http://www.diydrones.com/notes/ArduPilot
$200 bucks off the rack (Atmega2560), 6 axis monitoring of your sprayer tank, $40 bucks for the (2) Ultrasonic sensors for the booms, the only question is the current requirements for the solenoids (for the motor cotrollers). High current electronic speed controllers?
Anyhow, a study on the PIDs for the Arduino will keep the sprayer from being the next mechanical bull attraction. You might have a couple weeks without dirty hands putting this together
What is the purpose of the 6 axis monitoring?
I think I would need 3 sensors, one each for the left and right section and one for the center section. The center section sticks out so far behind the wheels that the entire boom needs to move up and down when starting hills.
The solenoids are on/off. There are two pins for each axis. Pull up pin 1 for up, pull up pin 2 for down. Just need a MOSFET and diode/capacitor (back EMF) on each output pin of the microcontroller. The hardware for this entire build would be ridiculously low.
How large of an area does an ultrasonic sensor read?