README.md

GSoC 2017: Control Package Project Plan/Deliverables

The following is an outline of the plan for the development of the control package. Coding tasks have been arranged in an order of dependency. For example, the lsim() function to be coded at Week 4 depends on functions in Weeks 1, 2, 3 and 4. Coding involves porting or creating scripts, preliminary testing using examples to check correctness of results in comparison against existing tools

Review Codes includes incorporating feedback from mentors, reviewing style, output and correctness. tf, ss, and zpk functions are for the creation of transfer function data, state-space data and zero-pole-gain data structures (as stated in the framework proposal) respectively. tfdata, ssdata and zpkdata functions are for retrieving transfer function data, state-space data and zero-pole-gain data respectively from 'sys' objects of tf, ss or zpk class

CODING PHASE 1: May 30 – June 30

Functions Available at this Phase: nargchk, abcdchk, tfchk, tf, ss, zpk, print.tf, print.ss, print.zpk, tf2ss, ss2tf, tf2zp, zp2tf, ss2zp, zp2ss, tfdata, ssdata, zpkdata, c2d, ltitr, lsim, gensig

| Date | Task/Function | Documentation | Finished | Tests | |--------|--------------------|---------------|----------|-------| | Week 1 | | | | | | May 30 | tfchk(), nargchk() | Yes | Yes | | | May 31 | abcdchk(), tf() | Yes | Yes | | | June 1 | ss() and zpk() | Yes | Yes | | | June 2 | Review code | Yes | Yes | | | Week 2 | | | | | | June 5 | tf2ss() | Yes | Yes | | | June 6 | ss2tf() | Yes | Yes | | | June 7 | tf2zp() | Yes | Yes | | | June 8 | zp2tf() | Yes | Yes | | | June 9 | Review code | | | | | Week 3 | | | | | | June 12 | ss2zp() | Yes | Yes | | | June 13 | zp2ss() | Yes | Yes | | | June 14 | tfdata() | Yes | Yes | | | June 15 | ssdata() | Yes | Yes | | | June 16 | Review code | | | | | Week 4 | | | | | | June 19 | zpkdata() | Yes | Yes | | | June 20 | c2d() | Yes | Yes | | | June 21 | ltitr() | Yes | Yes | | | June 22 | lsim() | Yes | Yes | | | June 23 | Review code | | | | | Week 5 | | | | | | June 26-30 | Project Evaluation | | | |

Expected Sub-total: 18 functions

Achieved Sub-total: 23 functions

CODING PHASE 2: July 3 – July 28

Functions Available at this Phase: + , - , *, /, ^, polysub, TF, givens_rot, ordschur, care, sysgroup, append, cloop, selectsys, removesys, series, parallel, fdbcksys, feedback, pid, connect, ctrb, polyvalm, acker, place, pole

Tests available at this Phase: test_tf, test_ss, test_zpk, test_tf2ss, test_ss2tf, test_tf2zp, test_ss2zp,test_ltitr, test_care

| Date | Task/Function | Documentation | Finished | Tests | |--------|--------------------|---------------|----------|-------| | Week 6 | | | | | | July 3 | + , - , *, /, ^, TF() | Yes | Yes | | | July 4 | polysub(), TF() | Yes | Yes | | | July 5 | givens_rot() | | | | | July 6 | ordschur() | | | | | July 7 | Review code | | | | | Week 7 | | | | | | July 10 | care() | | | | | July 11 | sysgroup(), append() | Yes | Yes | | | July 12 | cloop() | | | | | July 13 | selectsys() | | | | | July 14 | Review code | | | | | Week 8 | | | | | | July 17 | removesys() | | | | | July 18 | series() | Yes | Yes | | | July 19 | parallel() | Yes | Yes | | | July 20 | fdbcksys(), feedback() | | | | | July 21 | Review code | | | | | Week 9 | | | | | | July 24 | Evaluations | | | | | July 25 | connect() | | | | | July 26 | ctrb(), poles() | Yes | Yes | | | July 27 | polyvalm(), acker(), place() | Yes | Yes | | | July 28 | Review code / CRAN | CRAN submission planned for after Phase 3 | | |

Expected Sub-total: 21 functions

Achieved Sub-total: 26 functions

CODING PHASE 3: July 31 – August 28

Functions Available at this Phase: lsimplot, step, stepplot, initial, initialplot, impulse, impulseplot, ramp, rampplot, ltifr, freqresp, bode, bodeplot, nyquist, nyquistplot, lqr, obsv, esort, damp issiso, ismimo, ode2ss, dcgain

| Date | Task/Function | Documentation | Finished | Tests | |--------|--------------------|---------------|----------|-------| | Week 10 | | | | | | July 31 | gensig() | Yes | Yes | | | Aug. 1 | lsimplot() | Yes | Yes | | | Aug. 2 | step() | Yes | Yes | | | Aug. 3 | stepplot() | Yes | Yes | | | Aug. 4 | Review code | | | | | Week 11 | | | | | | Aug. 7 | initial(), issiso() | Yes | Yes | | | Aug. 8 | impulse(), ismimo() | Yes | Yes | | | Aug. 9 | initialplot(), impulseplot() | Yes | Yes | | | Aug. 10 | freqresp(), ltifr() | Yes | Yes | | | Aug. 11 | Review code | | | | | Week 12 | | | | | | Aug. 14 | bode(), bodeplot() | Yes | Yes | | | Aug. 15 | nyquist(), nyquistplot() | Yes | Yes | | | Aug. 16 | ramp(), rampplot() | Yes | Yes | | | Aug. 17 | lqr(), ode2ss() | | | | | Aug. 18 | Review code | | | | | Week 13 | | | | | | Aug. 21 | dcgain(), pid() | | | | | Aug. 22 | crtb(), obsv() | Yes | Yes | | | Aug. 23 | esort(), damp() | | | | | Aug. 24 | lyap2(), c2dt() | | | | | Aug. 25 | Review code | | | |

August 28 - Sept. 5: Final Evaluations and CRAN Submission

Expected Sub-total: 21 functions

Achieved Sub-total: 23 functions



benubah/controldev documentation built on May 20, 2019, 5:09 p.m.