Project Description


Our team has paired with the Navy Precision Optical Interferometer (NPOI) to develop a new control system for their siderostat mirror systems. This system will be responsible for centering a siderostat mirror (responsible for reflecting light from a star into the system) and corresponding Narrow Angle Tracking mirror (responsible for precise adjustments during observation). The Siderostat has two stepper motors, one for each axis of motion, and the NAT has two piezoelectric actuators, one on each axis.

logo

Feedback loops provide the position of a given mirror, and software uses this information to automatically adjust mirrors. In addition to basic control of mirrors, this software will be able to run multiple different modes- siderial (tracking stars at the rate of Earth's rotation), geosynchronous (fixed to some point in the sky), and quadratic (where a user inputs a speed to track satellites or other near-earth objects). Due to the current software and hardware at the site being 30 years old, the astronomers at the site don't know how any of the software works, and irreplacable hardware keeps breaking. In addition, each mirror station is run by a different computer, which each have different operating systems, making any broad change to system software incredibly difficult. Since only few of the parts from the original system are available commercially, and NPOI no longer has hardware backups, the site will no longer be able to operate when the next piece of hardware fails. Thus, an impending critical failure motivated a system redesign. The concept for the new system removes the individualized computers at each station and replaces them with a single computer in a central location. This removes redundancy, reduces complexity, and improves maintainability of the system, bringing the instrument into the modern technological era. The concept for this was orignally provided by Jim Clark, the current director of NPOI, and can be found here.

Requirements


Over several months, the capstone team and the client had weekly meetings do solidify the goals of the project. The team is to replace the current siderostat stations with a new modern solution. The new solution will have a centralized computer built from off-the-shelf components, otherwise known as BrainCon, that will communicate with a microcontroller at each station which interfaces with two micro-stepping drives (responsible for controlling stepper motors on the Siderostat) and two piezoelectric actuator controls (which control piezoelectric actuators on the NAT). Interfacing with this hardware was one of the main requirements of the system.

logo

The centralized computer will handle positional feedback and perform calculations on how far to move corresponding mirrors. The microcontroller (which will be a Raspberry Pi in our solution) will be responsible for receiving commands from the cenral PC (BrainCon), sending electrical signals to the mirror controllers, and submitting packets across the network reporting feedback to the centralized computer. Each mirror will need to correct its position at a minimum rate of 30Hz, and the new system must maintain the current angular precision. The system will need to be easily run through a sinlge GUI so that astronomers can operate mirrors and receive critical information from a single source. The new system will be prototyped at 1 station, then to a 3-station design and then finally moved to a 10-or-more station design. The software must be modular, expandable, multithreaded, and handle multiple different observation modes, including siderial, geosynchronous, and quadratic.

Envisioned Solution


Currently the system works, but is overwhelmingly complicated. Multiple computers process different types of data, communicate with each other, and issue outputs, however, the PCI cards necessary for the cross-computer communication cost $500-$1000, thus costing an exorbinant amount any time a card fails. One potential solution involves acquiring 30 PCI cards to implement a 10-station prototype, but due to costs and unreliability this seems nonviable. Instead, the team envisions starting from scratch, bypassing the current computer system and handling hardware input-output on a single PC (named BrainCon) rather than one PC per mirror station. This solution bypasses the PCI connection, thus creating a cheaper, easily maintainable, less redundant, expandable alternative. The centralized computer will perform all necessary calculations for the mirrors, handle all feedback loops, and interface with NPOI's network.

logo

The mirror stations will have a single Raspberry Pi which wires into hardware (motors and piezoelectric actuators) to control the mirrors, moves mirrors according to input commands from the central computer, and sends feedback across the network. Depending on feedback from hardware, software on the centralized computer will perform analysis for mirror adjustments, send those adjustments to a corresponding Raspberry Pi, and verify whenever the new mirror positions. The whole telescope system will be controllable through a GUI, through which an astronomer can easily find and track stars. This system will be expandable to handle any additional telescopes which are added to the system. Thus, this system will allow for easy, automatic tracking of stars by allowing an observer to control multiple telescopes automatically through a single command rough which astronomers can issue a single command.

Technologies


Our envisioned solution requires a wide variety of technologies. The current computer systems and software employed at NPOI are Linux-based and written in C/C++, thus our client and team have agreed the new solution should follow the same requirements. The new centralized computer will run debian (a version of Linux) as the operating system, and all of the software will be written in C/C++. The software the team creates will be reliant on several different API’s, such as Dear ImGUI, OpenGL, and SDL, that will also be written in C/C++. The team will use GitHub as the version control software for all of the code written.

logo

For the hardware, the centralized computer will be a Dell pre-built server rack which we install our software on. The microcontroller for each station will be a Raspberry Pi, which will have its own software for communication between the centralized computer, itself, microstepping controller, piezoelectric actuator control, and optical limit switches. To test the new software and hardware, NPOI has conveniently set up a testing rig with most of the input/output devices connected so that we may easily monitor progress of our system.

logo


2019-2020 Schedule


Gantt Charts

logo


logo


Important Dates

September 20 Team is Assigned Project, and gets initial exposure to problem
October 1-22 Team investigates current system, discusses technology feasibility, and decides on a solution
November 1-14 Team begins writing psuedocode and sets up hardware for Stage 1 prototype
November 28 Team begins writing code for microcontroller and centralized computer
December 9 Team demonstrates networking ability and basic control of hardware
February 1 Team integrates prototype computer with hardware at NPOI for testing
February 25 Prototype is able to control all hardware at a single station, with feedback over network
March 1 Software begins expansion to full solution, and microcontroller hardware begins duplication
March 15 All necessary hardware is built, and team begins on-site integration.
March 30 Software nears completion, and hardware is set up at site
April 10 Software and hardware is complete and fully integrated. Final testing begins.
April 30 Dcumentation is published, codebase uploaded to NPOI wiki. System begins operation.