<div dir="ltr"><div>Sean, I have also been toying with the idea of using a PID loop not for all my maneuvering but just for depth station keeping.  I may give this a try as an experiment.  My PLC has PID loops built in so it would be easy to try this with minimal ladder logic programming.  Initially I was thinking about establishing the depth set point via a user input through my HMI but I kind of like your idea of using joystick to drive to desired depth then taking this depth as the setpoint when the pilot lets the joystick reach its neutral position via spring return. With my two MK101s vertical thrusters, PID controller would pretty easily be able to automatically zero out difference between setpoint depth and measured depth.  One other point, if would be very in the PLC code to switch between depth stations keeping and altitude station keeping if bottom was not flat.  Two issues come to mind, first is it would not be easy to tune the PID controller and the second is if my ambient pressure gage is accurate enough.  I have a 0.25% gage now.   I might need a more accurate gage.  For altitude PID control, the transmitter I have should work nicely.</div><div><br></div><div>Cliff</div><div><br></div><div><br></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Sat, Apr 23, 2016 at 8:00 AM, Sean T. Stevenson via Personal_Submersibles <span dir="ltr"><<a href="mailto:personal_submersibles@psubs.org" target="_blank">personal_submersibles@psubs.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><p dir="ltr">Part safety, part allowing for future upgrades. In my mind, if you let go of the controls, the vessel should stop, period. If you have an alarm, leak, fire or something else that demands your immediate attention, you don't want to waste precious time having to null the thruster output before dealing with the other problem. Having the stick(s) spring return to zero output when you let go is just prudent, so you (hopefully) don't crash into anything when you have to let go in an emergency, or when you drop your pencil on the floor and throw your back out when you bend over to retrieve it.  I would employ self nulling controls regardless of whether I was using direct or indirect control.</p>
<p dir="ltr">With the indirect scheme I proposed, there is an additional advantage to be gained in the presence of sensing mechanisms for vessel motion (surge, sway, heave, yaw, roll and pitch) such as the ubiquitous pressure transducer for depth, gyro/fluxgate compass for heading, or e.g. Doppler velocity log for over bottom motion. In these cases, a control loop provides the ability to null vessel motion, as opposed to simply nulling thruster output, so that if you let go of the controls, the system can automatically apply reverse thrust to cancel headway or compensate for slight currents etc. to keep the vessel where it was when you let go.</p>
<p dir="ltr">This is particularly useful in the case of vertical motion. I intend to implement such a depth controller so that I drive up / down with the stick, with full range on the stick corresponding to 100% thruster output, but when I let go, the current depth becomes the setpoint and the controller takes over, commanding the vertical thrusters as appropriate to maintain that depth. Furthermore, in the event that maintaining that depth then requires a sustained thruster output in either direction, the variable ballast system will automatically adjust in order to bring that necessary thruster output down to zero and thus conserve power.</p>
<p dir="ltr">Sean</p>
<br><br><div class="gmail_quote">On April 22, 2016 11:13:19 PM MDT, Alan James via Personal_Submersibles <<a href="mailto:personal_submersibles@psubs.org" target="_blank">personal_submersibles@psubs.org</a>> wrote:<blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;padding-left:1ex;border-left-color:rgb(204,204,204);border-left-width:1px;border-left-style:solid">
<div style="color:rgb(0,0,0);font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px;background-color:rgb(255,255,255)"><div><span>Not quite following that Sean,</span></div><div dir="ltr"><span>why not have a joystick without return to center function &</span></div><div dir="ltr"><span>leave it on that setting? I can see the sense in running the joystick through</span></div><div dir="ltr"><span>the PLC with an over-ride on the vertical thrusters when on the depth limit,</span></div><div dir="ltr"><span>I have seen commercial psubs with this feature.</span></div><div dir="ltr"><span>Alan</span></div><div dir="ltr"><span></span><br></div><div><br><br></div><div style="display:block">  <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div style="font-family:HelveticaNeue,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;font-size:16px"> <div dir="ltr"> <font face="Arial" size="2"> </font><hr size="1"><font face="Arial" size="2"> <b><span style="font-weight:bold">From:</span></b> Sean T. St!
 evenson
via Personal_Submersibles <<a href="mailto:personal_submersibles@psubs.org" target="_blank">personal_submersibles@psubs.org</a>><br> <b><span style="font-weight:bold">To:</span></b> Personal Submersibles General Discussion <<a href="mailto:personal_submersibles@psubs.org" target="_blank">personal_submersibles@psubs.org</a>> <br> <b><span style="font-weight:bold">Sent:</span></b> Saturday, April 23, 2016 4:31 PM<br> <b><span style="font-weight:bold">Subject:</span></b> Re: [PSUBS-MAILIST] Speed controllers<br> </font> </div> <div><br><div><div dir="ltr">Late to this thread, but I'll throw in my $0.02:</div>
<div dir="ltr">I had envisioned a control scheme whereby the joystick inputs are decoupled from direct thruster / ballast control output. Instead, the PAC runs the thruster outputs on the basis of PID control loops, where the setpoints are adjusted by the pilot controls. Thus, the ramp rate of the target setpoint is dependent on how far e.g. the joystick is pushed or rotated, but on letting go, the stick springs back to center, and at that point the setpoint is overwritten with the current depth, heading or what have you, and the system automatically maintains that setting until you touch the controls again.  Manually commanded fully automatic.</div>
<div dir="ltr">Sean<br>
</div>
</div><br>_______________________________________________<br>Personal_Submersibles mailing list<br><a href="mailto:Personal_Submersibles@psubs.org" target="_blank">Personal_Submersibles@psubs.org</a><br><a href="http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles" target="_blank">http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles</a><br><br><br></div> </div> </div>  </div></div><p style="margin-top:2.5em;margin-bottom:1em;border-bottom-color:rgb(0,0,0);border-bottom-width:1px;border-bottom-style:solid"></p><pre><hr><br>Personal_Submersibles mailing list<br><a href="mailto:Personal_Submersibles@psubs.org" target="_blank">Personal_Submersibles@psubs.org</a><br><a href="http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles" target="_blank">http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles</a><br></pre></blockquote></div></div><br>_______________________________________________<br>
Personal_Submersibles mailing list<br>
<a href="mailto:Personal_Submersibles@psubs.org">Personal_Submersibles@psubs.org</a><br>
<a href="http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles" target="_blank" rel="noreferrer">http://www.psubs.org/mailman/listinfo.cgi/personal_submersibles</a><br>
<br></blockquote></div><br></div>