Skip to content
Permalink
master
Go to file
 
 
Cannot retrieve contributors at this time
123 lines (101 sloc) 13.4 KB

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

You can’t perform that action at this time.