[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Syncope: new object-oriented control package
From: |
Lukas Reichlin |
Subject: |
Syncope: new object-oriented control package |
Date: |
Fri, 16 Oct 2009 14:39:00 +0200 |
Dear 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"
- Syncope: new object-oriented control package,
Lukas Reichlin <=