Erigualter

Joined 15 March 2018
3,100 bytes added ,  19 March 2018
Line 109: Line 109:


== Y: Your task ==
== Y: Your task ==
* Did you select a task from our list of proposals and ideas?
=== Interactive tool for SISO Linear Control System Design ===
** If yes, what task did you choose? Please describe what part of it you especially want to focus on if you can already provide this information. ''Please also wiki-link the page for your elaborated proposal here.''
 
* Please provide a rough estimated timeline for your work on the task. ''This should include the GSoC midterms and personal commitments like exams or vacation ("non-coding time"). If possible, include two or three milestones you expect.''
I did not select a direct task from the list of proposal. However, I checked in the wiki and I found a project in the name of Matheus Vieira Portela called ''"GUI for manipulating closed-loop systems for the control package"'' from GSoC 2013 ( [https://wiki.octave.org/Summer_of_Code https://wiki.octave.org/Summer_of_Code] ). Unfortunately, he did not finish the project. As I do not have access to his proposal, I tracked past conversations in the mailing list and talked to the IRC fellows, such as ''dougstew'', ''andy1978'' and ''batterylow'', then I decided to propose '''"Interactive tool for SISO Linear Control System Design"'''.
[[Category: Summer of Code]]
 
Just as the Matlab has a function called sisotool to performs the the design of Single-Input, Single-Output (SISO) controllers for feedback system, my idea is to create a GUI with the same characteristics.
 
For this proposal, the GUI will be able of design controllers from interactive plots. For example, adding, modifying and removing poles and zeros to the root locus diagram, where both the Bode and Nichols diagram can also be visualized.
 
==== Community Bonding Period (23 April - 13 May) ====
I will explore the control package created by Lukas Reichlin and maintainers Alexander Wilms and Doug Stewart. My goal is to become comfortable with the structure of the following codes:
* rlocus.m;
* nyquist.m;
* bode.m.
 
I will discuss the project with the mentor aiming to refine this proposal goals and timeline.
 
The tasks, notes and decisions made during this week will be posted in the following blog which is already is ready published: [https://eriveltongualter.github.io/GSoC2018/ https://eriveltongualter.github.io/GSoC2018/].
 
 
==== Phase 1  Initial phase of coding ====
'''Week 1 (14 May - 20 May)'''
* Setting up.
 
'''Week 2 (21 May - 27 May)'''
* Implement the function sisotool(Gp). This function will plot the Root Locus, Nyquist and Bode diagram in the same plot;
* The goal at this point is to create the layout of the plots.
* The distribution in the plots will be fixed at this point. However, in Phase 2 the function will have attributes to choose the desired diagrams in the interface. Example: sisotool(Gb, 'rlocus', 'nyquist');
 
 
'''Week 3  (28 May - 3 June)}'''
* Add polos and zeros, being real or complex, to the plant through the UI elements.
* Position polos and zeros according to the mouse input.
* Polos and zeros can be reallocated by dragging with the left button of the mouse.
 
'''Week 4 \& 5 (4 June - 17 June)'''
* Any remaining work will be completed;
* Submission of Phase 1 evaluation;
* Complete post about the phase with detailed documentation.
 
 
==== Phase 2 ====
'''Week 6 (18 June - 24 June)'''
* Create the layout of the complete GUI interface with buttons, sliders, and others, examples:
** ''edit box'' for the compensator gain;
** poles and zeros ''buttons'';
** ''listboxes'' for the desired plots to be shown.
 
'''Week 7 \& 8(25 June - 8 July)'''
* Add functionalities for the graphical elements from week 6.  
 
'''Week 9 (9 July - 15 July)'''
* Submission of Phase 2 evaluation;
* Complete post about this phase with detailed documentation.
 
==== Phase 3 ====
Week 10 \& 11 (16 July - 29 July)}
* Add Step Response Time functionality. The user can select the step response to visualize the characteristics of the output, such as: Rise time and Peak Overshoot.
* Export compensator design to the workspace.
 
Week 12 (30 July - 5 August)
* Any remaining work will be completed.
 
Week 13 (6 August - 14 August)
* Complete post about the phase with detailed documentation.
* Final Submission
29

edits