DSPRelated.com
Forums

Control Approaches for Tugboats

Started by Scott Hansen May 27, 2011
I am about to start working on a control problem that involves
azimuthal thrusters such as the ones on a tugboat.  The boat will have
one forward and one aft and I need to figure out how to write a
control loop (in this case I'm using Simulink) to control the boat.
This boat will be able to move exactly like a tugboat (in the surge
and sway directions ... including spinning in one spot).

I have done pretty basic control of platforms in the past and I'm
having a bit of a hard time determining how to approach this since
both motors can vary thrust and have a full 360 degree rotation.

Anyone have any ideas on how to start and/or can point me in a
direction of some useful articles?  Thanks for the help...

S
On 05/27/2011 10:00 AM, Scott Hansen wrote:
> I am about to start working on a control problem that involves > azimuthal thrusters such as the ones on a tugboat. The boat will have > one forward and one aft and I need to figure out how to write a > control loop (in this case I'm using Simulink) to control the boat. > This boat will be able to move exactly like a tugboat (in the surge > and sway directions ... including spinning in one spot). > > I have done pretty basic control of platforms in the past and I'm > having a bit of a hard time determining how to approach this since > both motors can vary thrust and have a full 360 degree rotation. > > Anyone have any ideas on how to start and/or can point me in a > direction of some useful articles? Thanks for the help...
I'm taking the liberty of cross-posting this to sci.engr.control, because that group needs the traffic and because if there was anyone there that'd be the group to post to. I'd break it down this way: for any maneuver that you you want to perform, you want to have a torque and a thrust. Solve for the lowest-cost way to attain that, and you're done. That leaves a lot hanging (just what is lowest cost?) but hopefully it provides you with some structure for your thinking. If there's no speed disadvantage to pointing in a particular way (i.e. if the thruster is one of those tilting vane types, not a rotating nozzle), then your problem is just one of figuring out what's the lowest immediate cost. One example (the one with the lowest engineering cost :), is to establish that torque = d * y thrust = x where your forward thruster is always generating a thrust equal to x * i + y * k (where i and k are the unit vectors in the forward and side directions), and your rear thruster is always generating a thrust equal to x * i - y * k. Now your math is easy, and you can proceed to getting the rest of the system working right. Once you're not crashing into barges or squishing pleasure craft up against the sides of canals, then you can think of ways to do this that use less fuel and put less wear and tear on the thrusters. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On May 27, 10:50=A0am, Tim Wescott <t...@seemywebsite.com> wrote:
> On 05/27/2011 10:00 AM, Scott Hansen wrote: > > > I am about to start working on a control problem that involves > > azimuthal thrusters such as the ones on a tugboat. =A0The boat will hav=
e
> > one forward and one aft and I need to figure out how to write a > > control loop (in this case I'm using Simulink) to control the boat. > > This boat will be able to move exactly like a tugboat (in the surge > > and sway directions ... including spinning in one spot). > > > I have done pretty basic control of platforms in the past and I'm > > having a bit of a hard time determining how to approach this since > > both motors can vary thrust and have a full 360 degree rotation. > > > Anyone have any ideas on how to start and/or can point me in a > > direction of some useful articles? =A0Thanks for the help... > > I'm taking the liberty of cross-posting this to sci.engr.control, > because that group needs the traffic and because if there was anyone > there that'd be the group to post to. > > I'd break it down this way: for any maneuver that you you want to > perform, you want to have a torque and a thrust. =A0Solve for the > lowest-cost way to attain that, and you're done. =A0That leaves a lot > hanging (just what is lowest cost?) but hopefully it provides you with > some structure for your thinking. > > If there's no speed disadvantage to pointing in a particular way (i.e. > if the thruster is one of those tilting vane types, not a rotating > nozzle), then your problem is just one of figuring out what's the lowest > immediate cost. > > One example (the one with the lowest engineering cost :), is to > establish that > > torque =3D d * y > thrust =3D x > > where your forward thruster is always generating a thrust equal to x * i > + y * k (where i and k are the unit vectors in the forward and side > directions), and your rear thruster is always generating a thrust equal > to x * i - y * k. > > Now your math is easy, and you can proceed to getting the rest of the > system working right. =A0Once you're not crashing into barges or squishin=
g
> pleasure craft up against the sides of canals, then you can think of > ways to do this that use less fuel and put less wear and tear on the > thrusters. > > -- > > Tim Wescott > Wescott Design Serviceshttp://www.wescottdesign.com > > Do you need to implement control loops in software? > "Applied Control Theory for Embedded Systems" was written for you. > See details athttp://www.wescottdesign.com/actfes/actfes.html
This system is actually a rotating nozzle ...
On 05/27/2011 11:18 AM, vbplaya wrote:
> On May 27, 10:50 am, Tim Wescott<t...@seemywebsite.com> wrote: >> On 05/27/2011 10:00 AM, Scott Hansen wrote: >> >>> I am about to start working on a control problem that involves >>> azimuthal thrusters such as the ones on a tugboat. The boat will have >>> one forward and one aft and I need to figure out how to write a >>> control loop (in this case I'm using Simulink) to control the boat. >>> This boat will be able to move exactly like a tugboat (in the surge >>> and sway directions ... including spinning in one spot). >> >>> I have done pretty basic control of platforms in the past and I'm >>> having a bit of a hard time determining how to approach this since >>> both motors can vary thrust and have a full 360 degree rotation. >> >>> Anyone have any ideas on how to start and/or can point me in a >>> direction of some useful articles? Thanks for the help... >> >> I'm taking the liberty of cross-posting this to sci.engr.control, >> because that group needs the traffic and because if there was anyone >> there that'd be the group to post to. >> >> I'd break it down this way: for any maneuver that you you want to >> perform, you want to have a torque and a thrust. Solve for the >> lowest-cost way to attain that, and you're done. That leaves a lot >> hanging (just what is lowest cost?) but hopefully it provides you with >> some structure for your thinking. >> >> If there's no speed disadvantage to pointing in a particular way (i.e. >> if the thruster is one of those tilting vane types, not a rotating >> nozzle), then your problem is just one of figuring out what's the lowest >> immediate cost. >> >> One example (the one with the lowest engineering cost :), is to >> establish that >> >> torque = d * y >> thrust = x >> >> where your forward thruster is always generating a thrust equal to x * i >> + y * k (where i and k are the unit vectors in the forward and side >> directions), and your rear thruster is always generating a thrust equal >> to x * i - y * k. >> >> Now your math is easy, and you can proceed to getting the rest of the >> system working right. Once you're not crashing into barges or squishing >> pleasure craft up against the sides of canals, then you can think of >> ways to do this that use less fuel and put less wear and tear on the >> thrusters. > > This system is actually a rotating nozzle ...
Oh fun. That means that you've got a problem with more than average nonlinearity. How fast can you rotate a nozzle compared to the dynamics of the boat? If the answer is 'not too', then you're in for all sorts of work trying to (a) position the nozzles so that they will have the best chance of getting to where they're needed the most quickly, and (b) dealing with stability et all when you cannot treat their dynamics in a linear fashion. I know that thrusters have been used on boats for years, so there should be paper after paper in the literature someplace. Just a web search with the keywords boat, thruster, steering may do it. Unless those thrusters can transit _fast_ though, your problem cannot be pulled fully into the linear domain. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 27 Mai, 21:32, Tim Wescott <t...@seemywebsite.com> wrote:
> On 05/27/2011 11:18 AM, vbplaya wrote: > > > > > On May 27, 10:50 am, Tim Wescott<t...@seemywebsite.com> =A0wrote: > >> On 05/27/2011 10:00 AM, Scott Hansen wrote: > > >>> I am about to start working on a control problem that involves > >>> azimuthal thrusters such as the ones on a tugboat. =A0The boat will h=
ave
> >>> one forward and one aft and I need to figure out how to write a > >>> control loop (in this case I'm using Simulink) to control the boat. > >>> This boat will be able to move exactly like a tugboat (in the surge > >>> and sway directions ... including spinning in one spot). > > >>> I have done pretty basic control of platforms in the past and I'm > >>> having a bit of a hard time determining how to approach this since > >>> both motors can vary thrust and have a full 360 degree rotation. > > >>> Anyone have any ideas on how to start and/or can point me in a > >>> direction of some useful articles? =A0Thanks for the help... > > >> I'm taking the liberty of cross-posting this to sci.engr.control, > >> because that group needs the traffic and because if there was anyone > >> there that'd be the group to post to. > > >> I'd break it down this way: for any maneuver that you you want to > >> perform, you want to have a torque and a thrust. =A0Solve for the > >> lowest-cost way to attain that, and you're done. =A0That leaves a lot > >> hanging (just what is lowest cost?) but hopefully it provides you with > >> some structure for your thinking. > > >> If there's no speed disadvantage to pointing in a particular way (i.e. > >> if the thruster is one of those tilting vane types, not a rotating > >> nozzle), then your problem is just one of figuring out what's the lowe=
st
> >> immediate cost. > > >> One example (the one with the lowest engineering cost :), is to > >> establish that > > >> torque =3D d * y > >> thrust =3D x > > >> where your forward thruster is always generating a thrust equal to x *=
i
> >> + y * k (where i and k are the unit vectors in the forward and side > >> directions), and your rear thruster is always generating a thrust equa=
l
> >> to x * i - y * k. > > >> Now your math is easy, and you can proceed to getting the rest of the > >> system working right. =A0Once you're not crashing into barges or squis=
hing
> >> pleasure craft up against the sides of canals, then you can think of > >> ways to do this that use less fuel and put less wear and tear on the > >> thrusters. > > > This system is actually a rotating nozzle ... > > Oh fun. =A0That means that you've got a problem with more than average > nonlinearity. =A0How fast can you rotate a nozzle compared to the dynamic=
s
> of the boat? =A0If the answer is 'not too', then you're in for all sorts > of work trying to (a) position the nozzles so that they will have the > best chance of getting to where they're needed the most quickly, and (b) > dealing with stability et all when you cannot treat their dynamics in a > linear fashion. > > I know that thrusters have been used on boats for years, so there should > be paper after paper in the literature someplace. =A0Just a web search > with the keywords boat, thruster, steering may do it. > > Unless those thrusters can transit _fast_ though, your problem cannot be > pulled fully into the linear domain. > > -- > > Tim Wescott > Wescott Design Serviceshttp://www.wescottdesign.com > > Do you need to implement control loops in software? > "Applied Control Theory for Embedded Systems" was written for you. > See details athttp://www.wescottdesign.com/actfes/actfes.html
Hi, I find it hard to understand what the system looks like. What's the size of the boat, where are the thrusters mounted, how do they adjust a position and how are they driven? Do you have a drawing? Are sensors available for position, direction or something else? -- pt
On May 27, 7:00=A0pm, Scott Hansen <shansen....@gmail.com> wrote:
> I am about to start working on a control problem that involves > azimuthal thrusters such as the ones on a tugboat. =A0The boat will have > one forward and one aft and I need to figure out how to write a > control loop (in this case I'm using Simulink) to control the boat. > This boat will be able to move exactly like a tugboat (in the surge > and sway directions ... including spinning in one spot). > > I have done pretty basic control of platforms in the past and I'm > having a bit of a hard time determining how to approach this since > both motors can vary thrust and have a full 360 degree rotation. > > Anyone have any ideas on how to start and/or can point me in a > direction of some useful articles? =A0Thanks for the help... > > S
Sounds like a 'standard' positioning task. If you want to *implement* the thing (as opposed to merely understanding how it works) then the first place to start is http://www.amazon.com/Guidance-Control-Ocean-Vehicles-Fossen/dp/0471941131/= ref=3Dsr_1_3?ie=3DUTF8&s=3Dbooks&qid=3D1306740027&sr=3D8-3#_ and then fill up with a ton of books on linear algebra and Kalman filters. Rune
On May 30, 12:23&#4294967295;am, Rune Allnor <all...@tele.ntnu.no> wrote:
> On May 27, 7:00&#4294967295;pm, Scott Hansen <shansen....@gmail.com> wrote: > > > I am about to start working on a control problem that involves > > azimuthal thrusters such as the ones on a tugboat. &#4294967295;The boat will have > > one forward and one aft and I need to figure out how to write a > > control loop (in this case I'm using Simulink) to control the boat. > > This boat will be able to move exactly like a tugboat (in the surge > > and sway directions ... including spinning in one spot). > > > I have done pretty basic control of platforms in the past and I'm > > having a bit of a hard time determining how to approach this since > > both motors can vary thrust and have a full 360 degree rotation. > > > Anyone have any ideas on how to start and/or can point me in a > > direction of some useful articles? &#4294967295;Thanks for the help... > > > S > > Sounds like a 'standard' positioning task. If you want to > *implement* the thing (as opposed to merely understanding > how it works) then the first place to start is > > http://www.amazon.com/Guidance-Control-Ocean-Vehicles-Fossen/dp/04719... > > and then fill up with a ton of books on linear algebra and > Kalman filters. > > Rune
Rune ... You hit it right on the button ... I actually have that book and I am using it as much as I can. The issue is that the control that Fossen deals with is when using a rudder only. The rudder is one control component and the other is a main screw. This however has two thrusters which can be adjusted 360 degrees and each has variable thrust. Therefore, to turn port you could position the front thruster to push directly port and the aft to push directly starboard. But to turn port you could also have the forward push port and the aft off ... or have the port push at a 45 degrees off port and have the aft push 45 degrees off starboard ... all of these (and more) accomplish a turn port. This is my dilemma ... because in a normal vessel control you simply use the main screw to go forward and the rudder to turn port ... this has many more variations. Fossen's book is very helpful and I have already modeled the complete kinematic/ kinetics model of the vessel but now I'm at the control portion of the design and I'm a little lost on how to start the approach. PT ... As for the design ... I'm not at liberty to say too much about that ... which is why I've described it as a tugboat since most who would understand this problem know a little about a tugboat. Just know the vessel is larger than a tugboat and that there is a thruster forward and aft on the centerline of the vessel and both can rotate the thrust a full 360 degrees. The position of the thruster output is known by sensor feedback (these are controlled by motors) and the amount of thrust is controlled by the motor running the prop (so we have a speed feedback on this as well). Below is a conceptual drawing of the system. ("A" is the location of the aft thruster and "F" is the location of the forward thruster ... this also has a main screw and rudder but I'll incorporate that later). Image the forward thruster is pushing up in the drawing below ... and the aft thruster is pushing down ... then the bow of the ship will move towards port. (astericks is meant to represent the propeller facing that side of the thruster and pushing toward the other side.) ^ | ------------------------------------------------------------------------ | * \ | A F | | * / ------------------------------------------------------------------------ S
On Jun 1, 9:27&#4294967295;am, vbplaya <shansen....@gmail.com> wrote:
> On May 30, 12:23&#4294967295;am, Rune Allnor <all...@tele.ntnu.no> wrote: > > > > > > > On May 27, 7:00&#4294967295;pm, Scott Hansen <shansen....@gmail.com> wrote: > > > > I am about to start working on a control problem that involves > > > azimuthal thrusters such as the ones on a tugboat. &#4294967295;The boat will have > > > one forward and one aft and I need to figure out how to write a > > > control loop (in this case I'm using Simulink) to control the boat. > > > This boat will be able to move exactly like a tugboat (in the surge > > > and sway directions ... including spinning in one spot). > > > > I have done pretty basic control of platforms in the past and I'm > > > having a bit of a hard time determining how to approach this since > > > both motors can vary thrust and have a full 360 degree rotation. > > > > Anyone have any ideas on how to start and/or can point me in a > > > direction of some useful articles? &#4294967295;Thanks for the help... > > > > S > > > Sounds like a 'standard' positioning task. If you want to > > *implement* the thing (as opposed to merely understanding > > how it works) then the first place to start is > > >http://www.amazon.com/Guidance-Control-Ocean-Vehicles-Fossen/dp/04719... > > > and then fill up with a ton of books on linear algebra and > > Kalman filters. > > > Rune > > Rune ... > > You hit it right on the button ... I actually have that book and I am > using it as much as I can. &#4294967295;The issue is that the control that Fossen > deals with is when using a rudder only. &#4294967295;The rudder is one control > component and the other is a main screw. &#4294967295;This however has two > thrusters which can be adjusted 360 degrees and each has variable > thrust. &#4294967295;Therefore, to turn port you could position the front thruster > to push directly port and the aft to push directly starboard. &#4294967295;But to > turn port you could also have the forward push port and the aft > off ... or have the port push at a 45 degrees off port and have the > aft push 45 degrees off starboard ... all of these (and more) > accomplish a turn port. &#4294967295;This is my dilemma ... because in a normal > vessel control you simply use the main screw to go forward and the > rudder to turn port ... this has many more variations. &#4294967295;Fossen's book > is very helpful and I have already modeled the complete kinematic/ > kinetics model of the vessel but now I'm at the control portion of the > design and I'm a little lost on how to start the approach. > > PT ... > > As for the design ... I'm not at liberty to say too much about > that ... which is why I've described it as a tugboat since most who > would understand this problem know a little about a tugboat. &#4294967295;Just > know the vessel is larger than a tugboat and that there is a thruster > forward and aft on the centerline of the vessel and both can rotate > the thrust a full 360 degrees. &#4294967295;The position of the thruster output is > known by sensor feedback (these are controlled by motors) and the > amount of thrust is controlled by the motor running the prop (so we > have a speed feedback on this as well). &#4294967295;Below is a conceptual drawing > of the system. &#4294967295;("A" is the location of the aft thruster and "F" is > the location of the forward thruster ... this also has a main screw > and rudder but I'll incorporate that later). &#4294967295;Image the forward > thruster is pushing up in the drawing below ... and the aft thruster > is pushing down ... then the bow of the ship will move towards port. > (astericks is meant to represent the propeller facing that side of the > thruster and pushing toward the other side.) > > &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; ^ > &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; | > > ------------------------------------------------------------------------ > | > * &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; \ > | &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; A > F &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; | > | > * &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295; &#4294967295;/ > > ------------------------------------------------------------------------ > > S- Hide quoted text - > > - Show quoted text -
Sorry ... I was trying to do something like ascii art ... but it obviously failed. I can draw up a quick picture and add it if someone can explain to me how to attach a pic. S
On 06/01/2011 09:31 AM, vbplaya wrote:
> On Jun 1, 9:27 am, vbplaya<shansen....@gmail.com> wrote: >> On May 30, 12:23 am, Rune Allnor<all...@tele.ntnu.no> wrote: >> >> >> >> >> >>> On May 27, 7:00 pm, Scott Hansen<shansen....@gmail.com> wrote: >> >>>> I am about to start working on a control problem that involves >>>> azimuthal thrusters such as the ones on a tugboat. The boat will have >>>> one forward and one aft and I need to figure out how to write a >>>> control loop (in this case I'm using Simulink) to control the boat. >>>> This boat will be able to move exactly like a tugboat (in the surge >>>> and sway directions ... including spinning in one spot). >> >>>> I have done pretty basic control of platforms in the past and I'm >>>> having a bit of a hard time determining how to approach this since >>>> both motors can vary thrust and have a full 360 degree rotation. >> >>>> Anyone have any ideas on how to start and/or can point me in a >>>> direction of some useful articles? Thanks for the help... >> >>>> S >> >>> Sounds like a 'standard' positioning task. If you want to >>> *implement* the thing (as opposed to merely understanding >>> how it works) then the first place to start is >> >>> http://www.amazon.com/Guidance-Control-Ocean-Vehicles-Fossen/dp/04719... >> >>> and then fill up with a ton of books on linear algebra and >>> Kalman filters. >> >>> Rune >> >> Rune ... >> >> You hit it right on the button ... I actually have that book and I am >> using it as much as I can. The issue is that the control that Fossen >> deals with is when using a rudder only. The rudder is one control >> component and the other is a main screw. This however has two >> thrusters which can be adjusted 360 degrees and each has variable >> thrust. Therefore, to turn port you could position the front thruster >> to push directly port and the aft to push directly starboard. But to >> turn port you could also have the forward push port and the aft >> off ... or have the port push at a 45 degrees off port and have the >> aft push 45 degrees off starboard ... all of these (and more) >> accomplish a turn port. This is my dilemma ... because in a normal >> vessel control you simply use the main screw to go forward and the >> rudder to turn port ... this has many more variations. Fossen's book >> is very helpful and I have already modeled the complete kinematic/ >> kinetics model of the vessel but now I'm at the control portion of the >> design and I'm a little lost on how to start the approach. >> >> PT ... >> >> As for the design ... I'm not at liberty to say too much about >> that ... which is why I've described it as a tugboat since most who >> would understand this problem know a little about a tugboat. Just >> know the vessel is larger than a tugboat and that there is a thruster >> forward and aft on the centerline of the vessel and both can rotate >> the thrust a full 360 degrees. The position of the thruster output is >> known by sensor feedback (these are controlled by motors) and the >> amount of thrust is controlled by the motor running the prop (so we >> have a speed feedback on this as well). Below is a conceptual drawing >> of the system. ("A" is the location of the aft thruster and "F" is >> the location of the forward thruster ... this also has a main screw >> and rudder but I'll incorporate that later). Image the forward >> thruster is pushing up in the drawing below ... and the aft thruster >> is pushing down ... then the bow of the ship will move towards port. >> (astericks is meant to represent the propeller facing that side of the >> thruster and pushing toward the other side.) >> >> ^ >> | >> >> ------------------------------------------------------------------------ >> | >> * \ >> | A >> F | >> | >> * / >> >> ------------------------------------------------------------------------ >> >> S- Hide quoted text - >> >> - Show quoted text - > > Sorry ... I was trying to do something like ascii art ... but it > obviously failed. I can draw up a quick picture and add it if someone > can explain to me how to attach a pic.
This isn't a digital newsgroup, so if you want pictures you have to post them someplace like flikr or your personal website, and post a link here. ASCII art usually works if you type it in a fixed width font, and request that your readers use the same. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html
On 06/01/2011 09:27 AM, vbplaya wrote:
> On May 30, 12:23 am, Rune Allnor<all...@tele.ntnu.no> wrote: >> On May 27, 7:00 pm, Scott Hansen<shansen....@gmail.com> wrote: >> >>> I am about to start working on a control problem that involves >>> azimuthal thrusters such as the ones on a tugboat. The boat will have >>> one forward and one aft and I need to figure out how to write a >>> control loop (in this case I'm using Simulink) to control the boat. >>> This boat will be able to move exactly like a tugboat (in the surge >>> and sway directions ... including spinning in one spot). >> >>> I have done pretty basic control of platforms in the past and I'm >>> having a bit of a hard time determining how to approach this since >>> both motors can vary thrust and have a full 360 degree rotation. >> >>> Anyone have any ideas on how to start and/or can point me in a >>> direction of some useful articles? Thanks for the help... >> >>> S >> >> Sounds like a 'standard' positioning task. If you want to >> *implement* the thing (as opposed to merely understanding >> how it works) then the first place to start is >> >> http://www.amazon.com/Guidance-Control-Ocean-Vehicles-Fossen/dp/04719... >> >> and then fill up with a ton of books on linear algebra and >> Kalman filters. >> >> Rune > > Rune ... > > You hit it right on the button ... I actually have that book and I am > using it as much as I can. The issue is that the control that Fossen > deals with is when using a rudder only. The rudder is one control > component and the other is a main screw. This however has two > thrusters which can be adjusted 360 degrees and each has variable > thrust. Therefore, to turn port you could position the front thruster > to push directly port and the aft to push directly starboard. But to > turn port you could also have the forward push port and the aft > off ... or have the port push at a 45 degrees off port and have the > aft push 45 degrees off starboard ... all of these (and more) > accomplish a turn port. This is my dilemma ... because in a normal > vessel control you simply use the main screw to go forward and the > rudder to turn port ... this has many more variations. Fossen's book > is very helpful and I have already modeled the complete kinematic/ > kinetics model of the vessel but now I'm at the control portion of the > design and I'm a little lost on how to start the approach.
This is exactly why I suggested that you use some sort of a cost function as a tie breaker. There is a reason that you have two thrusters, or folks wouldn't be going to the expense of installing the second one. After all, one directional thruster at the stern would serve the same function as a rudder and a screw. So I'm assuming that for the most part you'll be functioning in some sort of "rudder and screw" mode where the turns are mild, but that the craft needs to be able to thrust sideways, or turn around its axis, or do other things that can't be done with screw and rudder alone. So: what's wrong with assigning costs to certain motions of the parts, and attempting to find the thruster settings that attain your control goals and minimize the costs? (drawing snipped) -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Do you need to implement control loops in software? "Applied Control Theory for Embedded Systems" was written for you. See details at http://www.wescottdesign.com/actfes/actfes.html