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?
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.
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
The sensors either need to fully penetrate the canopy or read only the canopy.