The hard parts would be to get a way of measuring the thing you want to control, and then an actuator that can effect it. Fundamentally, what you're trying to do is no harder than trying to stabilise a helicopter and a gyro-based feedback system should be fine.
Do you actually need an electronic control system, though? Early hydrofoils just used a leading foil which flew on the surface and trimmed the lift foil. Can't you use something like that - in other words make the system inherently stable in each mode?
To measure height, the most obvious approach to me is to have something that stays in contact with the surface of the water and put it on some sort of arm; as the height changes the angle of the arm changes. Then you just need a rotary position sensor capable of tolerating your environment to measure the angle of the arm. If you reckon you are going to be able to waterproof all this OK, a rotary potentiometer would be enough to get you started. Longer term you might want to use a rotary encoder to avoid wear issues.
I'm not sure what sort of control mechanism you have in mind but I would guess the forces involved in holding lift planes at a specific angle while you're traveling at speed might be considerable. Have you figured out the sort of forces and travels you need to provide?
I'm not sure what you need to do to stabilise the roll. Presumably the pilot is going to be trying to roll the vehicle to steer it? One thing I've learned from stability control systems on vehicles is that you don't actually need to make the electronic control perfect; all you need to do is damp it down and slow it down to the point that the human pilot can control it themselves. Is it stable in roll currently?
CaptainTom:
Yes, I would very much like it to lean in turns but how with bolt upright electronics.
That's what I thought. Have a look at this simulation I did a while ago:
I was only animating the target lean angle of the bike. A PID controller took care of applying torque to a motor on the forks, steering to keep the bike at the commanded angle.
But in your case, if the 4 foils are independently controlled couldn't you think of it as a quadcopter (with rudder) with altitude and attitude hold? Except for yaw which is manually controlled. Then couple the yaw to roll through a nested PID. It would be fun (and wet) tuning it
For ride height you could have something like a forward facing tube attached to a strut so that it is just clear of the surface at your desired ride height, and connect it to a pressure switch. You'd need to do a fair amount of smoothing on this to get an average ride height given that the pickup would be being splashed by waves, but that seems doable. One front and back gives you right height and pitch inputs.
For roll, I can see two approaches. Over short timescales, you can use a gyro to detect roll acceleration and use negative feedback to resist it. This will make the vehicle slow to roll but not stop it rolling. Over longer timescales you can use an accelerometer to measure the average direction of acceleration in a lateral plane. If the vessel is in balance (so that the net thrust vector passes through the center of mass - in other words it is upright, or turning and banked over into the turn by the correct amount to balance it) then the acceleration vector will aligned with the centerline of the vessel. If the thrust vector is offset to either side then the vessel is accelerating in roll and you probably want to try to bring it back into balance. Note that these systems will only try to resist roll - they will not completely prevent it, so it will still be possible to overcome them by steering input.
Have you thought about the sort of forces/moments and speeds that your servos will need to produce? It seems to me that these might be quite high and need big servos and a correspondingly big power supply. I assume that weight is the enemy here.
I doubt that you'll end up with anywhere near enough control authority to prevent you steering. I'd expect it to more like the vessel trying to keep itself under you as you move your weight left and right, much like a bike does. Obviously, turning will require the vessel to lean into the turn - otherwise it would simply topple over on the outside of the turn. But have you decided whether your primary steering input will be via roll or yaw?
PeterH:
If the thrust vector is offset to either side then the vessel is accelerating in roll and you probably want to try to bring it back into balance.
That's why I said use PID controllers. The only problem with that is if the payload (mass) changes significantly, such as a different pilot who ways more, it would (probably) have to use different PID coefficients.
Peter, what about using differential pressure sensors to measure ride height like I mentioned? Don't you think that would work?
jabbado:
Peter, what about using differential pressure sensors to measure ride height like I mentioned? Don't you think that would work?
I would have thought it would be difficult to get them to work reliably, because the vessel is moving in a turbulent environment. My thought with the pressure switches was just to detect whether the picking was immersed (in water moving fast enough to trigger it) as a way to find whether it was above or below the surface. With waves and splashing and so on this is going to be a very dirty signal but it could be smoothed to return the proportion of time that the sensor is out of the water. If the sensor is positioned so that it is level with the surface at the required cruise height then that should work just fine, I'd have thought.