Skip to content

abhiphile/gsoc24-blog

Repository files navigation

My Journey with GSoC 2024 - SymPy Control Module Enhancements

Hello, dear readers!

I'm beyond excited to share some incredible news with you all! My project on "Improving and Extending the Functionalities of the Control Module" has been selected for Google Summer of Code 2024, and I’ll be working with the SymPy repository. This blog will be your front-row seat to my GSoC adventure. From the highs to the challenges, I’ll be documenting every step of this thrilling journey. You'll get an insider’s view of my experiences, the lessons I learn, and the progress I make on my project.

Expect to find regular updates and detailed insights. Whether you’re a fellow GSoC participant, a programming enthusiast, or just curious about what GSoC entails, there’s something here for you. Feel free to check out the official announcement and the complete list of selected students here.

Stay tuned, and let’s make this journey unforgettable!

Project Details

Community Building Period

  • Familiarize with the community and codebase.
  • Plan project milestones and timelines.

Phase 1

  • Adding Series, Parallel, and Feedback Interconnection between two StateSpace classes.

Phase 2

  • Adding a symbolic solver to find the solution of the state vector x using the ODE Module.
  • Adding a method to get the output vector of a given StateSpace object.
  • Adding problems related to the StateSpace class.

Phase 3

  • Adding PID Controller to the control module.
  • Implementing a bandwidth function for TransferFunction class.

Phase 4

  • Refactor older control plots to use symbolic methods rather than numerical ones.
    • Control system plots like Pole Zero, Step Response, Impulse Response, Ramp Response, Bode Magnitude, and Bode Phase.
  • Add newer plots in the control_plots file, such as Root Locus, Nichols, and Nyquist plots.

End of GSoC Coding Period

  • Finalize and document the work done.
  • Ensure all contributions are merged into the main repository.

Link to the blog

This blog is made by using Vite and React. It is hosted on github pages with the following link .

Proposal

You can find more details about my project through my Proposal .