|
View:
New views
5 Messages
—
Rating Filter:
Alert me
|
|
|
Syncope: new object-oriented control packageDear Octave Community
I'm an engineering student and I participate in Octave's Control Package development in my free time. The basics of that package were written by an American professor in the first half of the nineties and are not compatible with Matlab's Control Systems Toolbox. They have several inherent problems, mainly because they are not object-oriented (e. g. you can't write sys3 = sys2 * sys1 for a series connection). In order to overcome these drawbacks, I started development of a new control package. It's completely object-oriented and as Matlab- compatible as possible. What makes it unique is its "model abstraction layer", i. e. commands like append, connect, feedback, series, parallel, horzcat, vertcat, subsref,+, -, * and so on are written model-independently. They all rely on just three (!) basic commands for model manipulation which need to be implemented in ss, tf or zpk. At the moment, my package contains the basics for the handling of state-space and transfer function objects. Before I continue with zero/ pole/gain models and start porting higher-level user functions like "bode" or "step", I'd like to get some feedback in order to hammer out the basics. Therefore, I wish to publish my work as an "extra package" on the octave-forge server (under GPL 3, what else? :-). Luca Favatella (slackydeb), maintainer of the "old" control package, agreed to be the "new" package's maintainer. Could someone please create an empty package with the name "control-oo", "control-rewrite" or similar on the server? AFAIK, Syncope (short for "SYstems aNd COntrol PackagE" and a pun on "Octave") is one of the first octave-forge packages to use object- oriented programming, and comments/feedback/advice would be highly appreciated. I hope that Syncope can supersede the "old" OCST in the long term. http://n.ethz.ch/student/lukasre/download/syncope/ Cheers, Lukas Reichlin BTW: My octave-forge user name is "paramaniac" _______________________________________________ Help-octave mailing list Help-octave@... https://www-old.cae.wisc.edu/mailman/listinfo/help-octave |
|
|
Re: Syncope: new object-oriented control packageHi,
Sorry 'bout the late reply... fre, 16 10 2009 kl. 14:39 +0200, skrev Lukas Reichlin: > In order to overcome these drawbacks, I started development of a new > control package. It's completely object-oriented and as Matlab- > compatible as possible. What makes it unique is its "model abstraction > layer", i. e. commands like append, connect, feedback, series, > parallel, horzcat, vertcat, subsref,+, -, * and so on are written > model-independently. They all rely on just three (!) basic commands > for model manipulation which need to be implemented in ss, tf or zpk. This sounds great! I don't work in control, so I can't comment on your work, though. I hope somebody else can help you test this. > At the moment, my package contains the basics for the handling of > state-space and transfer function objects. Before I continue with zero/ > pole/gain models and start porting higher-level user functions like > "bode" or "step", I'd like to get some feedback in order to hammer out > the basics. Therefore, I wish to publish my work as an "extra package" > on the octave-forge server (under GPL 3, what else? :-). Luca > Favatella (slackydeb), maintainer of the "old" control package, agreed > to be the "new" package's maintainer. I don't have any objections to you creating a new package, but is there a reason why your work doesn't go directly into the current 'control' package? > Could someone please create an > empty package with the name "control-oo", "control-rewrite" or similar > on the server? I've given you access to the Octave-Forge SVN, so you can do this yourself :-) Søren _______________________________________________ Help-octave mailing list Help-octave@... https://www-old.cae.wisc.edu/mailman/listinfo/help-octave |
|
|
Re: Syncope: new object-oriented control packageOn 18.10.2009, at 00:04, Søren Hauberg wrote: > Hi, > > Sorry 'bout the late reply... > > fre, 16 10 2009 kl. 14:39 +0200, skrev Lukas Reichlin: >> In order to overcome these drawbacks, I started development of a new >> control package. It's completely object-oriented and as Matlab- >> compatible as possible. What makes it unique is its "model >> abstraction >> layer", i. e. commands like append, connect, feedback, series, >> parallel, horzcat, vertcat, subsref,+, -, * and so on are written >> model-independently. They all rely on just three (!) basic commands >> for model manipulation which need to be implemented in ss, tf or zpk. > > This sounds great! I don't work in control, so I can't comment on your > work, though. I hope somebody else can help you test this. > >> At the moment, my package contains the basics for the handling of >> state-space and transfer function objects. Before I continue with >> zero/ >> pole/gain models and start porting higher-level user functions like >> "bode" or "step", I'd like to get some feedback in order to hammer >> out >> the basics. Therefore, I wish to publish my work as an "extra >> package" >> on the octave-forge server (under GPL 3, what else? :-). Luca >> Favatella (slackydeb), maintainer of the "old" control package, >> agreed >> to be the "new" package's maintainer. > > I don't have any objections to you creating a new package, but is > there > a reason why your work doesn't go directly into the current 'control' > package? The reason is that they're not compatible, e.g. the "low-level" command ss for creating a state-space model exists in both packages, but the "old" ss creates a struct for storing the model data, while the "new" ss creates an instance (usage: sys = ss (A, B, C, D). Now there are "high-level" commands like bode that are expecting model data (usage: bode (sys)). Obviously, these functions need to be ported to the new format first, which means a lot of work. Therefore, gradually merging the packages won't work. IMHO the old control package should remain the "official" one until the new one is 100% ready. >> Could someone please create an >> empty package with the name "control-oo", "control-rewrite" or >> similar >> on the server? > > I've given you access to the Octave-Forge SVN, so you can do this > yourself :-) > > Søren Thanks, I hope I don't mess things up! Regards, Lukas _______________________________________________ Help-octave mailing list Help-octave@... https://www-old.cae.wisc.edu/mailman/listinfo/help-octave |
|
|
Re: Syncope: new object-oriented control packagesøn, 18 10 2009 kl. 10:11 +0200, skrev Lukas Reichlin:
> The reason is that they're not compatible, e.g. the "low-level" > command ss for creating a state-space model exists in both packages, > but the "old" ss creates a struct for storing the model data, while > the "new" ss creates an instance (usage: sys = ss (A, B, C, D). Okay that makes sense. > IMHO the old control package should remain the "official" one until > the new one is 100% ready. OK. > I've given you access to the Octave-Forge SVN, so you can do this > > yourself :-) > > Thanks, I hope I don't mess things up! Just let us know if you have questions. Søren _______________________________________________ Help-octave mailing list Help-octave@... https://www-old.cae.wisc.edu/mailman/listinfo/help-octave |
|
|
Re: Syncope: new object-oriented control packageOn 18.10.2009, at 10:14, Søren Hauberg wrote: > søn, 18 10 2009 kl. 10:11 +0200, skrev Lukas Reichlin: >> The reason is that they're not compatible, e.g. the "low-level" >> command ss for creating a state-space model exists in both packages, >> but the "old" ss creates a struct for storing the model data, while >> the "new" ss creates an instance (usage: sys = ss (A, B, C, D). > > Okay that makes sense. > >> IMHO the old control package should remain the "official" one until >> the new one is 100% ready. > > OK. > >> I've given you access to the Octave-Forge SVN, so you can do this >>> yourself :-) >> >> Thanks, I hope I don't mess things up! > > Just let us know if you have questions. Is there a way to create the folders "@lti", "@ss", "@tf" and "@tfpoly" in octave-forge/extra/control-oo/inst/ Somehow, my SVN doesn't accept folder names starting with "@", it creates "inst@lti" instead. The "@" in front of the folder name is needed for oo-programming in Octave. Lukas _______________________________________________ Help-octave mailing list Help-octave@... https://www-old.cae.wisc.edu/mailman/listinfo/help-octave |
| Free embeddable forum powered by Nabble | Forum Help |