2 December 2016 Robotic laboratory for distance education
Author Affiliations +
This project involves the construction of a remote-controlled laboratory experiment that can be accessed by online students. The project addresses a need to provide a laboratory experience for students who are taking online courses to be able to provide an in-class experience. The chosen task for the remote user is an optical engineering experiment, specifically aligning a spatial filter. We instrument the physical laboratory set up in Tucson, AZ at the University of Arizona. The hardware in the spatial filter experiment is augmented by motors and cameras to allow the user to remotely control the hardware. The user interacts with a software on their computer, which communicates with a server via Internet connection to the host computer in the Optics Laboratory at the University of Arizona. Our final overall system is comprised of several subsystems. These are the optical experiment set-up, which is a spatial filter experiment; the mechanical subsystem, which interfaces the motors with the micrometers to move the optical hardware; the electrical subsystem, which allows for the electrical communications from the remote computer to the host computer to the hardware; and finally the software subsystem, which is the means by which messages are communicated throughout the system. The goal of the project is to convey as much of an in-lab experience as possible by allowing the user to directly manipulate hardware and receive visual feedback in real-time. Thus, the remote user is able to learn important concepts from this particular experiment and is able to connect theory to the physical world by actually seeing the outcome of a procedure. The latter is a learning experience that is often lost with distance learning and is one that this project hopes to provide.
Conference Presentation




Project overview

The Robotic Laboratory for Distance Education (RLDE) is a project that intends to provide an alternative in distance education primarily for online students. This early stage of the project aims to develop a prototype system of a physical laboratory being translate to online learning. This system serves as a proof of concept that a student can have alternative resources, materials and mostly lab experiences available even if they are not physically in the same place.

This project started with no previous framework set up. There seems, by all accounts, to be no current feature like this one available as of now, one that permits a student to remotely participate and interact with the lab’s equipment. The present technologies utilized for online learning is to address a lecture-style environment, where a lecture is recorded and regularly available as a series of videos or sometimes streamed live. Online courses use modeling techniques to simulate a lab or a behavior, others choose to send the proper parameter and a system would respond according to them, but the user does not have control over the hardware. Some systems are assisted with video recorders and microphones, this would help the user with the visual and auditory facet of the learning process. It is important to mention that this kind of techniques used for online learning cannot be applied to all courses, because it leaves very limited interaction between the students and any equipment needed. It is known that there is existing technology that take into consideration long-distance control of equipment, for example, in remotely controlling telescopes or specialists performing surgery remotely. This existing technology could be incorporated and expanded upon to allow for a more interactive environment so that a remote student can obtain a laboratory experience similar to one obtained in person.

Systems like this can be expanded for students taking online courses. For example, part of the reason this initiative was developed was to help widen accessibility and availability to tools that the new Puerto Rico Photonics Institute needed for their current and upcoming certificates and courses in optics. Even though students are attending a class they can have a broader number of tools to aid their class material by having lab experiences via remote control over the web. The main purpose of this project is to give online students as close as possible an experience as if there were doing the experiment in the physical lab. To be able to do this, the spatial filter experiment has to be instrumented with motors and cameras to allow the user to remotely control the hardware while having a full view of how the system is responding to the commands that the user sends. The user will interact with a software on their computer, which will communicate via Internet connection to a RaspberryPi which is acting as a server in the Optics Laboratory at the U of A. The server will read and convert the message into 8 bit serial commands, and provide the proper output to the microcontroller, which will give a signal to the motors. This signal will specify the direction and the size of the step that the motor is going to take. In the future and following stages of this prototype the software will undergo subsequent revisions to scale the project as desired. This means the implementation of other experiments, the scheduling of multiple users, the potential to be fully integrated into a curriculum and many other implementations to expand the concept of remote labs.



The goal of this project is to present an alternative in online learning and distance education. It is important to expand the reach of tools and technologies for student with majors that require lab sessions and are distant from these tools and equipment by physical space or location. Online learning has the potential to reach more students and to contribute with the means for an education with the same quality of an on-site education. This project aims to grant the student with as much in-lab experience as possible. With this, other courses that are composed of lab sessions can use the modular model to add new experiments for online students. By having remote labs for distance education, schools and Universities can include them to their curriculum and provide the student with more alternatives. The modular model can provide the means to demonstrate that the equipment, used to help the student get that in-lab experience, can be affordable and easy to incorporate into lab experiments that can be remotely controlled.



The Spatial Filter Laboratory was chosen as the remote-controlled experiment to be implemented. This is one of the optical engineering undergraduate experiments, aiming that parts of the system will be modular and applicable to other lab experiments. Spatial filters are typically used with coherent laser light to alter the beam of light in order to “clean it up”, remove aberrations, or perform some kind of image processing. For this laboratory, the alignment of a spatial filter setup is performed remotely. Necessary optical hardware was purchased, including laser mounts, optical rail, objectives, spatial filter platform, and a pinhole. These components were augmented with mechanical hardware, which included three stepper motors that coupled to the micrometers, a custom fabricated tube steel motor mount assembly, and posts for the camera and screen mount. The electrical hardware connected the three stepper motors to the Raspberry Pi, which acted as a server for the website. The electrical components used were an Arduino, shield, motor drivers, and wires to connect all of the components. The software was developed to complement the hardware.

Figure 1.

Spatial filter alignment experiment.





Modular model

A very important concept that we need to keep in mind while building the subsystems or any other assisting hardware or software is to create a reusable system. A full laboratory should be composed of mainly modular blocks of hardware and snippets of code in addition to key components of the specific laboratory. In the spatial filter laboratory the key components are the laser and the pinhole; other components can be reutilized in other laboratories. For example, two cameras are being used, so we created a code snippet to be used for every camera regardless of the system that it is in. In the software code, this means that abstract classes are created to be managed by someone that is creating another laboratory or system that is going to use cameras, and includes the software in the physical system and the software that is part of the webpage that the user will be interacting with. Another example is the stepper motors: the inclusion of movement by a stepper motor in a system means a physical interaction, an electrical and mechanical interaction, and the remote-user interaction. A modular model means there are pre-defined easy ways of including a stepper motor into the system or re-using an existing one. A developer that is setting up a new experiment or just adding a stepper motor as a component to an existing experiment can use the pre-defined abstract classes and apply parameters to set the stepper motor. These parameters can include the size of the step, the direction, and many others. In addition, the developer can use a script that is intended for the stepper motor module which will manage the electrical part. A module will also include the mechanical instructions to incorporate a stepper motor into the system.


Functional requirements

The implemented spatial filter alignment system is a standalone prototype only. During this first stage the system will be available to use only by one user at a time. This user will be allowed to control the laboratory hardware remotely. The system must cost under $3500 (USD). It must also be able to be powered in an optics lab room. The system must use software that is easily available so it is widely accessible to users and they don’t seem limited by the software. The system must also have a reasonable response time so that the experiment is being observed is at least close to real time so the process is not overly cumbersome; this may be limited by internet connectivity.

The system will operate on a RaspberryPi acting as a server, which will directly control the hardware. The system will also operate online and on the user’s computer. The end user has the control of the hardware through the interface provided through the software in the webpage. The system will operate over an internet connection and a web browser such as Internet Explorer, Safari, or Google Chrome.

A summary of the functional requirements are listed below:

  • Allow the user to remotely connect to the device online, through a user interface.

  • Allow the user to control the lab hardware remotely.

  • Provide real-time visual feedback of the experiment, as it is being performed.

  • The system shall cost less than $3,500.

  • The time delay from remote input to visual feedback shall be less than 2000 milliseconds on average.

  • The system shall not require that the user need to purchase any hardware or software to operate the system



The final overall system is comprised of several subsystems. We have the optical experiment set-up, which is the spatial filter experiment; the mechanical subsystem, which interfaces the motors with the micrometers to move the optical hardware; the electrical subsystem, which allows for the electrical communications from the remote computer to the RaspberryPi to the hardware; and finally the software subsystem which will be explained in section 5.

For the optical subsystem, the experiment chosen to be performed was the alignment of a spatial filter. This experiment was chosen because its limited degrees of freedom and reliance on visual output translates well to online learning. The three degrees of freedom in this experiment are linear movement of the pinhole in the X, Y, and Z directions via micrometers on the spatial filter platform. The electrical subsystem was designed as an intermediate system to facilitate the necessary connection between the software and hardware. The main role is to receive command via electrical signals, process them, and then send control signals to a stepper motor of a specific axis. The mechanical subsystem was designed to provide motorization of each of the three axes. Each axis controls a direction in which the pinhole can move. The goal is to align the pinhole with the focal point of a laser focused through an objective lens.

Figure 2.

Spatial filter alignment setup in operation.





User Interface

Several design options were explored, including a remote desktop, a web-based application, as well as standalone application that runs through the Internet. Another alternative that was considered was an open source game-based server application called ‘Blender’. For simplicity during this proof of concept phase it was decided to develop the website using a PHP development framework called Laravel. During this early stage it was important to test if it was fully functional and communicated properly to our web server host.

Figure 3.

Home Screen of the webpage that the user will interact with. This webpage was created using the Laravel framework.


This project was developed using the MVC (Model, View Controller) methodology. To follow this methodology, the backend of the web application was built using the Laravel Framework, which is a server side framework built on PHP and that also uses HTML, CSS and JavaScript as the base web languages. As part of Laravel, parts of the code also uses helper languages such as Blade and JQuery. Using this framework helped in the inclusion of a basic login and user authentication. In the future this part of the web side of the RLDE could be change or integrated with the student authentication methodologies of the University of Arizona. Also, to further expand the ease of access and the accessibility to students and professors, an integration to D2L software can be part of the future work.

For the front end, we used the Bootstrap framework for a responsive user interface, this will assure that all the content of the web page is fully responsive to devices and screen resolutions. Bootstrap framework provides a wider options when it comes to easy user interface implementation. Using this framework will provide a broader span of devises that the students can use to access the remote labs. For the purpose of the proof of concept the system is supposed to be assisted by video cameras so that the user can be aware of everything that is happening as if he/she were there to have that angle of vision. Therefore, for the video feed we are using a flash component to live stream the video. This part of the system will change in the future to assure a wider span of devices that can be used to interact remotely with the system. The flash component was one of the open source software options that permitted to use a zero-second buffer to stream the video. This fact is important because one of the functional requirements is that the streaming of the video should be live and the user must not see more that 2000 milliseconds of delay between the press of a button and the reaction of the system.


Server Side

For the Server side we used a Raspberry Pi. At the core of the software communication is the interface between the server and the webpage being used by the end user. The server sends the control signal to the microcontroller, which in turn moves the motors. This work package is primarily completed via code that is loaded onto the Arduino Uno. The modem/router communicates with the Raspberry Pi via an Ethernet connection. The Raspberry Pi acts as the webserver, host computer, and the video stream server. The Raspberry Pi also interacts with the two webcams and the Arduino Uno via a USB serial connection. There is a Monaserver (see section 5.4) and Avconv on the Raspberry Pi for both video streams. All of the files needed to process and stream the video feeds are saved on the Raspberry Pi. The Raspberry Pi also acts as the webserver, and therefore receives PHP commands over TCP/IP. Then, the Raspberry Pi writes commands to a text file, which is sent via a Python script to the Arduino Uno.

Figure 4.

User Interface of the webpage’s part where the user has the option of two different camera views, the control panel with the direction of movement and the step side and the step by step lab instructions



Client-server communication

When a user hits a button to move the spatial filter, that command is then translated from text into a binary command with a python script on the Raspberry Pi (the web server). To communicate between the website and the web server, as a first step, a text file buffer that is written to a PHP script (activated upon GUI button presses) and sends text information to the web server is used. This decision was the first step to see some functionality between user interaction and the system’s response. As a second phase a database will be implemented and multiple users (acting as lab group experiment) would be schedule to use the system and it will be replacing the file buffer system. This text file is then decoded and is sent via USB serial connection to the Arduino Uno. The Arduino Uno is programmed to read in 8-bit binary commands from the USB connection and control the X, Y, and Z-axis motors accordingly.


Video Feed

Two video streams, giving the user a choice in how to view the system, were implemented to mitigate the “lost beyond reason” factor which could happen if a user was too far from the center of the pinhole. For the users to be able to have an in-lab experience, it was important to provide them with the proper view point of the system, therefore two video stream are available for the user. The first point of view is of the output screen, which displays the spatially filtered laser (Figure 6 A). The second camera it pointing at the pinhole, this will help the user keep track of how the pinhole should be move and in what direction, to be able to properly align. This two camera provide the most important view points of the system, also all other equipment in the experiment is stationary, therefor only the pinhole, and the output screen are being recorded.

Figure 5.

[C] Cameras that are being used to provide the user with proper visual feedback of the changes in the spatial filter experiment, while they remotely control it. [A] The first camera is pointing at the output screen. [B] The second camera is pointing at the pinhole.


Figure 6.

Output Screen. The user will be able to keep track of how the system responds to the commands sent remotely and can have visual feedback to interpret if the alignment is correct.


One of the challenge encounter by this approach was the video delay and the processing time of two video streams. In the implementation of the video feed, it was consider between the threshold a video delay of 100ms (1s/10frames=.1sec or 100ms). Because there were two stream running, this delay was measured around 250ms. As a live feed this was acceptable for a systems that is being remotely controlled. This video feed was made possible by a software, running on the server, which captures raw video. The purpose of this software, called avconv, is to convert the raw video to a Real Time Messaging Format (RTMF). After the video is in this format a server, called MonaServer, given an IP address and Port, would re-route all the RTMF packets to our server in the RaspeberryPi, and therefore make it available to view it in the web page.

The system execution was a blend of programming and hardware, which empowered the framework to accommodate a complete user experience. The student connects to the website to control the equipment, which is situated in the College of Optical Sciences. The product starts with a home page. After tapping the “Find out more!” section, the student is taken to a page to learn the theory about the spatial filter, including the foundation and optics behind it. Subsequent to reading all of the material, the student taps the “Start” button, which opens a modal that has the two camera views, the control panel and the instructions of the experiment. The following page is the fundamental page that the client uses to play out the experiment.

The hardware was designed to be an extension of the optical assembly to allow for a means to control each axis of translation of the pinhole in the spatial filter assembly as well as a means to view the output. The mounting hardware for the cameras allows for a fairly wide range of mounting locations allowing for optimal positioning of the cameras for viewing. Additionally, the screen is very adjustable to allow for a high level of control over the size of the laser output on the screen by adjusting the depth of the screen. The motor mounts are adjustable and allow for optimal positioning of the motors at the cost of a little more setup time. Positioning starts with the x-axis motor, then the y-axis motor, then the z-axis motor and is fairly easy to accomplish. The motor mounts allow for the axial translation of the x and y micrometers. The z micrometer does not translate, and thus that motor is stationary. However, due to the different construction of the z micrometer, it appears that it may take more torque to move the micrometer in one direction more than the other. This may be what is causing a different step size in one direction as opposed to the other. This can be corrected by adjusting the step size input to the motor so that the output step size (small, medium, large) in each direction is the same. This may require further fine-tuning in the future though. Other than that, the mechanical system functions exactly as it should. The adjustability in the mechanical assembly allows for easier wire routing and storage as well.



There are several future improvements that could be made to the RLDE system. First, the software could be expanded upon and to incorporate more features. These features could include a scheduling system that assigns time slots for the lab, a more interactive experience (by providing real time feedback based on movements), the movement of other hardware, an administrative login with grading tools, etc. Second, more hardware could be fabricated to allow for other experiments to be performed. Ideally, some of the future hardware could be more universal, such as a motor mount that moves an optical post or a stage, or a motor that allows for tip and tilt of a lens or mirror. Third, the entire system could be geared towards those with physical disabilities and may not have the fine motor skills needed to perform an optical engineering laboratory. Fourth, the cameras could be upgraded to high quality cameras that provide a better picture of the output. Currently, without the proper lighting the video feedback can be blurry.



Distance education is a growing trend in today’s society. One component, however, that has not been able to be translated well to online learning is the physical experience of a laboratory experiment. Our particular project was to motorize a preexisting optical engineering laboratory experiment so that it could be performed remotely over the internet anywhere in the world. We engineered this with the goal of providing as much of an in-lab experience as possible hopefully demonstrating the viability of this concept as an educational tool. Ultimately, the project does demonstrate that it is possible to translate physical laboratories to online experiences where the critical concepts of the lab are still effectively learned through the manipulation of a limited selection of the hardware components. However, as a supplement to distance students’ restricted curriculum, this system can be an invaluable learning tool. In the future, this system could be scaled to incorporate more laboratory experiments with the ultimate goal of creating a fully online curriculum.



We are grateful to the College of Optical Sciences at the University of Arizona, and to Dr. Mike Nofziger who runs the undergraduate laboratories. We also acknowledge the support by the University Information Technology Services (UITS). The contributions of Ryan Bergsma, Kade Gigliotti, Scott Appleby, Kyle Walker and Timmy Hefferan to these experiments are also gratefully acknowledged. This work was made possible by a subgrant from Universidad Metropolitana and the Puerto Rico Photonics Institute as part of the project “New Horizons: Puerto Rico Lasers and Photonics Career Pathways”, from the US Department of Labor under the Trade Adjustment Assistance Community College and Career Training program (Grant # TC-26472-14-60-A-72).



Hua, Hong. “LAB 3: GAUSSIAN BEAM IMAGING SYSTEMS.” OPTI 471B: ADVANCED OPTICS LABORATORY. Web. 1 Oct. 2015. <http://wp.optics.arizona.edu/opti471b/wpcontent/uploads/sites/27/2015/12/Lab3_BImaging_OSC471B_Hua.pdf>.Google Scholar


Nofziger, Mike. “LAB 10: SPATIALLY FILTERING A LASER BEAM FOURIER TRANSFORM OF A GAUSSIAN.” OPTI380A Lab Handouts (n.d.): n. pag. OPTI380A Class Website. 2005. Web. 1 Oct. 2015. <http://fp.optics.arizona.edu/Nofziger/OPTI%20380A/OPTI380A%20Lab10.pdf>.Google Scholar


“Spatial Filters.” Newport. Newport Corporation, n.d. Web. 1 Oct. 2015. <http://www.newport.com/Spatial-Filters/144910/1033/content.aspx>.Google Scholar


“Open Source RTMP video server” MonaServer. <http://www.monaserver.ovh/>Google Scholar


“Audio Video Conversion Software” avconv. <https://libav.org/avconv.html>Google Scholar


“Raspberry Pi - Teach, Learn, and Make with Raspberry Pi.” Raspberry Pi Home. N.p.,n.d. Web. 02 May 2016.Google Scholar

© (2016) COPYRIGHT Society of Photo-Optical Instrumentation Engineers (SPIE). Downloading of the abstract is permitted for personal use only.
Sarah C. Luciano, Sarah C. Luciano, Alan R. Kost, Alan R. Kost, "Robotic laboratory for distance education", Proc. SPIE 9946, Optics Education and Outreach IV, 99460O (2 December 2016); doi: 10.1117/12.2238449; https://doi.org/10.1117/12.2238449


Back to Top