Difference between revisions of "Socis 2015 ideas"

From SatNOGS Wiki
m (add markdown tag)
(categories)
 
Line 121: Line 121:
  
 
[[Category:SOC]]
 
[[Category:SOC]]
 +
[[Category:Develop]]
 +
[[Category:Software]]

Latest revision as of 22:10, 19 January 2020

Template:MARKDOWN

These ideas were contributed by our developers and users. Some of them may be rough. If you wish to submit a proposal based on these ideas, you may wish to contact the developers and find out more about the particular suggestion you're looking at. Students are welcome to provide their own ideas for projects in collaboration with the SatNOGS developer community.

The major communication and coordination systems of the SatNOGS project are it's [forum](http://community.satnogs.org) and it's [github repositories](http://github.com/satnogs). All interested students must apply their proposals at info@satnogs.org if selected they will be assigned two mentors (a primary and alternative mentor).

ESA SOCIS summer of code is an European Space Agency initiative, we encourage every party interested to visit it's [website](http://sophia.estec.esa.int/socis) and read it's [FAQ](http://sophia.estec.esa.int/socis/faq)

  1. Software Projects
    1. [SatNOGS Network](https://github.com/satnogs/satnogs-network)
      1. Data Dashboards using SatNOGS observation data/metadata
  • **Description** Supply an overview of the observation data/metadata collected instead of the detailed view currently available
  • **Skills needed** Django/Python , HTML, CSS3, Javascript
  • **Expected results** Create standards based user facing dashboards for SatNOGS recorded data and metadata to provide an overview of a SatNOGS observation.
      1. Concatenate observational data
  • **Description**: An observer should be able to access a concatenated view of an observation that is calculated (and compiled) by multiple data from different ground stations. Still SatNOGS Network must be able to provide a single url page for a single observation part (ie by one ground station pass).
  • **Skills needed**: Django/Python, HTML, CSS3, Javascript.
  • **Expected results**: Single URL for a single observation part to allow sharing of data, page must be accessible in all modern browsers


    1. [SatNOGS DB](https://github.com/satnogs/satnogs-db)
      1. Transition our proof of concept SatNOGS DB to a working product.
  • **Description** Design and assist implementing a transition of the SatNOGS DB project from a working prototype to a product
  • **Skills needed** Angular.js CouchDB
  • **Expected results** SatNOGS DB must be able to accept data from crowd-sourcing and expose them in an API.


      1. Connect SatNOGS network to DB to get up-to-date transponder information.
  • **Description**: Design, and implement a SatNOGS Network to SatNOGS DB connection (via an open API) to populate SatNOGS Network with up to date transponder information and SatNOGS DB with up to date tle satellite listings.
  • **Skills needed**: Django, AngularDB
  • **Expected results**: SatNOGS DB must be able to populate SatNOGS Network with all transponder data.


    1. [SatNOGS Client](https://github.com/satnogs/satnogs-client)
      1. Build a web based controller able to control the SatNOGS client
  • **Description**: Build a web based controller to allow users to connect to the SatNOGS client using a browser without the need to connect to the internet.
  • **Skills needed**: HTML5, OpenWRT, JS, CSS3
  • **Expected results**: An embeddable web application able to control SatNOGS client via a web browser
      1. Package SatNOGS client for different distributions
  • **Description**: SatNOGS client must be available in a binary package form for several distributions to further it's ease of modularity.
  • **Skills needed**: Packaging on major distributions.
  • **Expected results**: Released and submitted upstream packages on major distributions.
    1. SatNOGS Infrastructure
      1. Improve logging and monitoring
  • **Description**: Improve SatNOGS logging and monitoring capabilities to allow SatNOGS Network to monitor which ground station are operating properly
  • **Skills needed**: DevOps, DB and Sysadmin skills, open to technology suggestions
  • **Expected results**: Logs and Monitoring capabilities for the Network administrators
      1. Improve distributed storage of observation data
  • **Description**: SatNOGS observation data must be able to be stored in a distributed manner
  • **Skills needed**: DevOps, DB and Sysadmin skills, open to technology suggestions
  • **Expected results**: A distributed storage option for observation data
      1. Add error rate and karma policies for SatNOGS clients
  • **Description**: SatNOGS clients should be able to use error rate and karma policies in order to prioritize observation jobs.
  • **Skills needed**: DevOps, DB and Sysadmin skills, open to technology suggestions
  • **Expected results**: Error and karma policies applied to observation job prioritization
      1. Docker-ise SatNOGS setup (for both client and network)
  • **Description**: To provide a streamlined setup process for interested parties a Docker image for SatNOGS client and SatNOGS network should be created.
  • **Skills needed**: Docker, Python
  • **Expected results**: Fully functional Docker images for SatNOGS Client Network.
  1. [SatNOGS Hardware](https://github.com/satnogs/satnogs-hardware)
    1. SatNOGS RF components
      1. LNA design
  • **Description**: Design a Low Noise Amplifier to specifically cover the needs of satellite data coverage. VHF, UHF and S-Band should be covered.
  • **Skills needed**: RF Electronics design. Filter design, signal theory.
  • **Expected results**: Schematic, routing, board design and preferably a sample implementation.
      1. Diplexer design
  • **Description**: Design a Diplexer to specifically cover the need of the SatNOGS Ground Station
  • **Skills needed**: RF Electronics design. Filter design, signal theory.
  • **Expected results**: Schematic, routing, board design and preferably a a working prototype.
      1. Polarization switching design for Uda-Yagi antennas
  • **Description**: Create a polarization switching design to allow cross Uda-Yagi antenna configuration to switch polarization on the fly.
  • **Skills needed**: RF Electronics design. Antenna design, signal theory.
  • **Expected results**: Schematic, routing, board design and preferably a a working prototype.
    1. [SatNOGS Arduino](https://github.com/satnogs/satnogs-arduino)
      1. Closed loop system with feedback (encoders, stepper motors)
  • **Description**: Design a closed loop system with positioning feedback, based on the existing tracker design, as an alternative to the current setup.
  • **Skills needed**: Electronics, Arduino, PID tuning, Encoder circuits
  • **Expected results**: Schematic, routing, board design, Arduino software that implements it and preferably a working prototype.
      1. Design and implement a stand alone open source stepper controller
  • **Description**: Create a stand alone open source stepper controller to modularize our electronics. Use an established protocol to communicate with our microprocessor (e.g. I2C).
  • **Skills needed**: Electronics, Arduino, Stepper controllers, I2C ,SPI or 1Wire
  • **Expected results**: Schematic, routing, board design, Arduino software that implements it and preferably a working prototype.
      1. Arduino Firmware restructure with tests and fixes
  • **Description**: Rewriting the current Arduino firmware to resolve overflow errors and implement tests for extreme conditions and use cases.
  • **Skills needed**: Arduino, Embedded programming, Embedded debugging, Algorithm Design
  • **Expected results**: A new Arduino firmware with less function overflow errors compared to the current and tests.
      1. Implement or extend rotor control protocols in order to handle additional commands and errors
  • **Description**: Additional errors and commands should be implemented to the current control protocols used in Easycomm2 and rotctrl
  • **Skills needed**: Serial communications, Arduino, Embedded programming, Embedded debugging
  • **Expected results**: Implementing or extending rotor control protocols which will handle addition commands and errors.
      1. Optimize rotor movement algorithm
  • **Description**: Implement an improved and optimized rotor movement algorithm, to minimize path (length and time), apply tracking continuity (on extreme points) and apply instrumental limitations (cable twisting, horizon limits, extreme points, extreme conditions)
  • **Skills needed**: Arduino, Embedded programming, Algorithm Design
  • **Expected results**: Arduino code that implements the use cases on description.
      1. Homing and setup bootstrap functions, testing functions
  • **Description**: Design and implement a setup bootstrapping (first-run) and testing of ground station suite.
  • **Skills needed**: Arduino, Embedded programming, Algorithm Design
  • **Expected results**: Arduino code that implements the use cases on description.