ING logo ING Text ING logo

Student Engineering Projects for 2017


WEAVE is the next observing facility being built for the 4.2-m William Hershel Telescope. The facility comprises a new 2-degree field-of-view prime focus corrector with a pick-and-place fibre positioner, a small number of individually deployable integral field units (IFUs), and a large integral field unit. The IFUs and the MOS fibres can be used to feed a dual-beam spectrograph and the facility is expected to be on-sky by 2018. 


Project 1: Focus Translation System PLC Modifications


The new 2-degree field-of-view prime focus corrector, with a Fibre Positioner, will be placed within the top-end assembly of the telescope as shown in the following figure: 

The WEAVE top-end assembly (WTA) consists of a mechanical representation of the Fibre Positioner and the Instrument Rotator which is connected to the actual Central Can that will house the Prime Focus Corrector. The WTA will be connected to the telescope top-end ring via eight telescope vanes connected to four Focus Translation Units (FTU); collectively known as the Focus Translation System (FTS). The whole of the top end is designed to move perpendicularly to the plane defined by the four FTUs. The permitted range of movement is small but allows the top end to be refocussed to deal with changes in the position of the corrector optics due to temperature changes and mechanical flexures induced in the structure as the telescope moves in elevation.


The FTU Control System, which was designed and built by SENER, uses an Allen Bradley PLC to send command signals to the FTU motors:

The individual demand values are provided by the Telescope Control System (TCS); one value for each motor. This means that for each movement of the FTS, four demand values are required to be sent from the TCS to the FTS Control System (FCS). This system works well but places an additional overhead on the TCS, the overhead is primarily concerned with calculating the individual demand values for the motors.


Given that the available processing power of the PLC is greatly underused, it makes sense to move some of the logic, required to calculate the individual values, from the TCS to the FCS. This project will involve the design and delivery of the PLC code required to accept a single focus demand from the TCS, calculate the demand values for the individual motors and apply the required drive signals to the FTS drive system. In addition to this, a similar process will need to be implemented for the application of the FTS tilt as function telescope elevation.


Project 2: Coding the Observation Block Manager


The WEAVE facility is being built to deliver the science for a number of specific surveys and thus needs to work very effectively and efficiently to maximise the scientific return of the instrument. To that end, as far as practicable, the observations will be automated. The Observatory Control System (OCS) is one of the nine systems that constitutes WEAVE and is responsible for controlling certain aspects of the WEAVE instrument, carrying out the exposures and creating the data files. Within the OCS, there are a number of work packages that need to deliver specific functionalities of the system. The Observation Block Manager (OBM) is one such work package.

Each observation will be converted into an Observation Block (OB) which is essentially a description of all the information required to carry out an exposure. The OBM is responsible for providing the user tools for managing the OBs and making them available so that another part of the OCS can perform the actual observations.


Survey groups responsible for providing the observations will create hundreds of Observing Blocks at a time and these will have to be managed in a database. The Use Cases for how the OBs will be managed already exists and is summarised in the following UML diagram:

The principal user of the database will be the On-island Survey Management Team (OISMT) and it will need to have access to the database, via a Graphical User Interface, to examine OBs, include new OBs and delete existing ones.


The application is designed using a client-server architecture. The server side of the application consists of a servlet running under the Apache Tomcat web server and will be developed in Java using the Google Web Toolkit framework (GWT) which is already used with other systems at the WHT. The client side of the application consists of a set of forms running on a web browser and allows the user to interact with the application. It will be developed using Java and later converted into JavaScript by the GWT compiler so that it can run from any web browser. The purpose of this project is to write the code required to convert the design into reality.

Project 3: Planning integration of the spectrograph into GHRIL


The WEAVE spectrograph is a dual-beam optical system which incorporates a dichroic at ~600nm and has a grating exchange mechanism that provides two resolution modes in each arm; a low-resolution mode at 5000 and a high-resolution mode at 20 000.

The WEAVE spectrograph will be permanently housed in the GHRIL enclosure (one of the two Nasmyth platforms of the WHT telescope), providing a stable and clean environment for the instrument. To better appreciate the size of the spectrograph, below is a picture of the collimator being prepared for polishing:


The spectrograph will be assembled on its optic table, enclosed in a light-tight assembly and the whole structure lifted into GHRIL:


The WEAVE spectrograph is composed of several pre-integrated sub-systems that will be assembled together at the WHT. The institution responsible for the development of the instrument will provide general guidelines and recommendations that will need to be further developed and detailed for the WHT and the working environment.

The current GHRIL enclosure will be refurbished to be turned into a clean room where dust, temperature and humidity will be monitored and controlled.


ING will manage the integration process from the delivery of the crates to the WHT and the installation of the spectrograph into the GHRIL enclosure. The ING will also provide support for the assembly of the instrument in GHRIL and will ensure that the clean room environment is maintained.

The complete process for integrating the spectrograph into GHRIL needs to be designed and detailed as far as possible, in order to:

  1. Allow early procurement of any specific tools that may be needed
  2. Anticipate any potential issues and reduce risks
  3. Estimate the resources that will be required to deliver the working environment

Project 4: Planning the optical assembly and testing of the corrector


The Prime Focus Corrector is a sub-system of the WEAVE Focal Plan Assembly (WFPA), interfacing with the Focus Translation System (as described in Project 1), the Positioner System and the optical fibres feeding the spectrograph. The corrector is made of a mechanical barrel that contains six corrector lenses assembled in their cell and aligned with respect to the main optical axis of the telescope.



The purpose of the WEAVE Prime Focus Corrector is to correct for the optical aberrations in the two-degree field-of-view. The corrector also includes an Atmospheric Dispersion Corrector (ADC) which consists of two pairs of counter-rotating, air-separated doublets, to compensate for atmospheric dispersion whilst the telescope is moving in elevation.


The corrector is currently being manufactured by SENER and will be delivered as a complete, fully-aligned unit. The Focus Translation System is built and includes mechanical dummies which represent the corrector and rotator. This will be used to simulate the volume and mass of the final assembly.

The philosophy for assembling the corrector has already been drafted and is split in two distinct phases:

  1. The corrector will be integrated within the Central Can and aligned with respect to the rotator mechanical axis of rotation.
  2. The whole WFPA (with the corrector) will be mounted onto the telescope top-end and will be aligned with respect to the WHT optical axis (defined by the primary mirror).

Phase 1 will be performed while the WFPA is on its trolley situated at the WHT ground floor. It will involve the opto-mechanical alignment as well as testing of the control software (to rotate the ADC mechanisms).

Phase 2 will require the telescope optical axis to be identified. The various targets that will be used will be previously positioned to ensure an absolute reference is set.

Fine tuning of the WFPA alignment will be carried out on sky by pointing at bright stars.


The project will involve work to deliver Phases 1 and 2. The corrector will be optically tested to ensure the optical performance is met. For this, various tests will be designed and planned into the main assembly philosophy. The opto-mechanical tools and alignment jigs will be specified, procured, and tested.

Project 5: WebSocket-based communications framework for GUIs

The ING is investigating a possibility of moving most of the user interfaces to the browser.  This has many benefits compared to classical desktop applications and should make deployment of applications much easier.  In the past, web-based GUIs with a live content use the so-called AJAX communication framework. A disadvantage of this is that it has a significant overhead when transferring data and can thus cause more load on the network infrastructure and can slow down the applications.  A more efficient method, called the WebSocket protocol, is now supported by all major browsers.  WebSockets are rather low-level, and can make programming tedious.  A higher-level protocol which builds on top of WebSockets is called WAMP and promises to provide mechanisms such as publisher-subscriber to web-based applications. Although this protocol is very new and still under development, there are already implementations for many programming languages.

The ING has carried out some experiments using raw WebSockets, but has no experience with WAMP.


This project consists of creating demo versions of servers using languages used at the ING (Python, Java, C++) and the client (GUI) versions using preferably Dart or Javascript.  The task is to provide patterns for the creation of servers and clients which would be easily reused by the ING engineers when creating new web-based applications.

 Project 6: real-time process communications in the TCS

The communication between the new TCS hardware and the existing TCS main software will be carried out via an intermediate computer called the bridge computer.  The existing TCS software is written in Fortran for the VMS operating system.  It is difficult and sometimes impossible to implement multiple modern communication protocols on such an old system, therefore it has been decided to simplify this by having a single communication protocol, based on raw sockets, from the VMS TCS machine and implement various protocols to communicate with other components such as PLCs, control GUIs and other observing system computers from the bridge computer. The communication protocol with the motion controller PLCs is going to be agreed upon with the hardware supplier and has not been determined yet.  Some of the communication with PLCs may be implemented using a library called PLCIO.  Communication with the engineering GUI will be implemented using the WebSocket protocol and communication with the observing system computer using CORBA.


This project will consist of implementing, in cooperation with the industrial supplier of the TCS, an efficient and reliable real-tme protocol for communication with the PLCs which are in charge of the motion control and the interlocks.  The software needs to respond in a predictable manner to different error conditions such as detected hardware failures, network interruptions and client disconnections.  The same has to be done for the WebSocket-based protocol.

The bridge computer software will be written in C++. The PLC code will be implemented by the supplier. The web-based GUI must be written in Dart or Javascript.  The bridge computer will run Linux using the real-time extensions Xenomai.

Project 7: WEAVE sequencer

Before each observation or calibration with the WHT is carried out, the instruments need to be properly configured with a sequence of commands, by taking exposures.   Due to the large number of mechanisms, light sources and other instrumentation, the configuration process may become rather complicated.  The problem may be addressed by writing scripts, but this method lacks flexibility and does not allow easy monitoring of the status of the sequence and of the configured mechanisms.  The ING has therefore developed a framework for developing sequences.  The sequences consist of steps and steps consist of actions, which are designed to issue a single command to instrument controllers.  After each action, a series of predetermined checks are automatically performed and the outcome of each check is shown in the GUI.  If the action or the check fails, the sequence is stopped and the user can choose between different options to proceed such as aborting the sequence, skipping the action or continuing.

An important feature of the sequencer is the ability to build sequences without having the actual code.  This allows users, who are not programmers, to build sequences without having to deal with programming details.

All sequences and the underlying code are stored in a database.  As the foundation of the sequencer grows, there will be less code to write and even the non-programmers will be able to write fully functioning sequences.

The sequencer is an existing application, which has been developed at the ING.  It will be used for the WEAVE project and also for observation and calibration sequences on other instruments. 


The current code base needs enhancing. Some parts of code may need to be updated to use the current Python capabilities. Certain functional upgrades are needed such as integrated version control.  Also, an intensive stress and performance testing plan will be required.

The application is written in Python 3 and uses wxPython GUI library and the PostgreSQL database. A good understanding of concurrent processing techniques is required for this project.


  • No labels