Using Low-Cost Sensors to Develop a High Precision Lifting Controller Device for an Overhead Crane—Insights and Hypotheses from Prototyping a Heavy Industrial Internet Project
Abstract
:1. Introduction
2. Materials and Methods
3. The Case
3.1. Experimental Setup
3.2. Enablers of the Project
4. Description of the Wayfaring Journey
4.1. Progress of the Project
- Overall aim and result of the week.
- Considerations on working structure of the week: e.g., was the work implemented in consecutive days.
- Probe descriptions as a bullet point list.
- Combinations of the probes.
4.1.1. Week 0
4.1.2. Week 1
- Probe 1 was started on Week 0 and was finished on Week 1 as the basic resources and main goal of the project were identified. The results (such as concrete ideas and topics for further investigation) of Probe 1 were distributed to the next probes.
- Probe 2 included two visits to the assembly company and taking videos of the assembly procedure. Furthermore, informal interviews were conducted to understand the problem from a factory worker (user) perspective. The results of this probe were used throughout the rest of the project to steer the development in an interpreted direction.
- The purpose of Probe 7 was to select the main programming language of the project. The review was relatively short and based mainly on the previous experience and knowledge of the workers. As result of the review, Python was selected as the main language thanks to its versatility, active development community, relatively high level of abstraction, and general ease of use. Python was used throughout the rest of the project, although the version was changed. Java language was another strong candidate.
- Probe 8 reviewed the alternatives for controlling the crane externally. The results of the review included (1) opening up an application programming interface (API), (2) modifying the software of the controller, and (3) modifying the hardware of the crane controller.
- Probe 9 represents the presentation of Probe 8 results to the crane company representatives, which led to the selection of OPC UA as the control interface for the crane. The basic specifications of the interface were agreed and the crane manufacturer later provided the feature description for controlling the crane through an open API.
- Probe 24 was a short test, inspired by work of Porazzo et al. [23], for evaluating whether the use of light could help a sensor to detect the width of the gap between the stator and the frame. The idea of the probe was not continued.
- Probe 25 reviewed the potential sensor types that could be used for detecting the gap between stator and frame. This is one of the most essential probes for achieving a successful project result. The reviewing work of the probe continued all the way to Week 3.
- Probe 26 included brainstorming and reviewing the possible methods for the automatic calibration of sensors that are attached to the frame to measure the gap between stator and frame. The probe provided three alternatives for the automatic calibration procedure: (1) long distance laser, (2) mechanically moving the sensor to measure the frame, and (3) accurate mounting holes for the sensors. The results were used in Probe 25 as the requirements for the sensors.
- Probe 27 implemented a short review of alternatives for the computation hardware of the prototype. Results, Raspberry Pi and Arduino, were used in Probes 31 and 32 consequently, although a laptop computer was also used in Probe 28 during development.
- Probe 33 started the mechanics stream by introducing the first physical miniature models of stator–frame combination and simultaneously reviewed the options for the miniature prototype that could prove that the basic idea of the project is viable. The first physical models included common objects found in an office, such as bottles, cans, and sheets of rubber. Options for the final test rig included a smaller stator–frame combination from the case company or self-designed and machined prototype with similar features. The experience of the probe was utilized in Probes 34 and 36.
4.1.3. Week 2 (Probes 10, 11, 12, 25, 28, 29, 33, and 34)
- Probe 12 introduced Python programming language to the project as it was used for using OpenCV library.
- Probe 11 started the review of possible OPC UA tools for future use.
- Probe 10 represents the use of OpenCV image processing library for detecting the location of round shapes from a camera feed with an intention to use it as control signal.
- Probe 29 provides a camera as a sensor to deliver images for OpenCV.
- Probe 33 continued the mechanics stream by using cylindrical metal cans as low-resolution mechanical prototypes.
- Probe 34 introduced a large-scale test rig that was constructed from oil barrel and plywood, seen in Figure 5. The accuracy of the test rig was seen as too low and the probe was discontinued.
- Probe 25 continued the review of possible sensors, and as result, ToF and webcam were selected for first round testing.
- Probe 28 provided laptops as the computing platform during the week.
4.1.4. Week 3 (Probes 4, 13, 14, 15, 25, 30, and 35)
- Probe 4 built the first simple graphical user interface in order to understand how the data could be presented for the user and potentially used as an automatic control signal.
- Probe 13 reviewed software technologies to enable the UI visualization. The alternatives included HTML, Python flask, Curses, Tornado, Express, ExpressIO, JavaScript, socket, and WebSocket. The results were tested by the authors in Probes 4, 5, and 14.
- Probe 15 integrated measurement readings of a ToF sensor to Python code via open source libraries.
- Probe 25 concluded with a review of sensor alternatives presented in Table 2. The aim of the review was not to find the absolute best possible sensor, but to provide a good enough sensor for building a proof-of-concept prototype. The selection criteria emphasized availability, price, and usability rather than resolution, accuracy, or precision. After this project, one result of the review, eddy-current sensors, was tested in a follow-up student project. The results with the most potential (time of flight laser sensor and the camera) were tested in Probes 30 and 29 respectively.
- Probe 30 provided the ToF sensor and the electrical connections to Raspberry.
- Probe 35 gave an important step to the mechanics stream by designing a test rig that would serve as a prototyping platform and as a tool for measuring positioning performance. It consisted of two rings and a cylindrical test piece lathed with great precision to tolerances that would allow the authors to test whether the control system would work as anticipated.
4.1.5. Week 4 (Probes 5, 17, 31, and 36)
- Probe 16 introduced the OPC UA interface of the crane to the project. The crane manufacturer provided the interface just before Week 4 and the structure of the interface was studied and necessary software tools were installed.
- Probe 5 was an UI created with Curses library to serve the need for two-way communication between the prototype and the user.
- Probe 17 introduced an open source library, FreeOpcUa [24], to allow access directly from Python to the OPC UA interface. This enabled access to information and low-level control logic of the crane with Python code, and a need for higher-level abstraction was recognized.
- Probe 31 provided Raspberry Pi as a computing platform for the Python code.
- Probe 36 was started as the first part of the machined test rig was finished.
4.1.6. Week 5 (Probes 18, 19, 20, 31, 32, and 37)
- Probe 18 tested a JavaScript library that would have allowed any mobile phone to act as a joystick. However, the authors decided to pursue an automatic solution and the joystick development was not continued.
- Probe 19 created our own class for the crane in Python so that we could control the crane on a higher abstraction level. The class was necessary because controlling the crane was a painful job programmatically as the API offered only attributes to control the direction and percentage of full power fed to the motors of the crane and an opportunity to read its internal coordination system. Safety features also created extra trouble, as the watchdog value had to be constantly updated (if the connection was lost, the non-updated watchdog value would stop the crane). The new class contained functions to move the crane to a certain place in the coordination system as well as connect to the crane and update the safety watchdog, not to mention the custom algorithms to move the crane very precisely.
- Probe 20 started the development of accurate control of the crane based on ToF sensor readings.
- Probes 30 and 32 tested the ToF sensors and Arduino together.
- Probe 37 fabricated a platform for four ToF sensors to be attached to the test rig frame, depicted in the Figure 6. The sensor platform was laser cut with appropriate fastening holes so that the sensors could have a fixed reference point in order to measure the distance between the simulated stator and the frame.
4.1.7. Week 6 (Probes 6, 21, and 22)
- Probe 6 pursued the idea of dividing the lift into phases (approaching, lowering down, high precision location, final lowering). A simple web interface allowed it to move back and forth between these tasks.
- Probe 21 introduced a Tornado webserver that provided information from sensors to the user and relayed user commands back to the control logic. A switch-like part of the web server was created to send messages to the right addresses without flooding all the clients (mobile phone or web browser of the computer and crane control logic code running on Raspberry Pi) that would have otherwise lowered the performance of the server.
- Probe 22 provided websockets as a technical implementation to convey information between Python crane control logic code, Tornado webserver, and the user‘s web browser.
- The code started to become more and more complex so a versioning system git was started through GitLab service.
4.1.8. Week 7 (Probes 3, 6, 20, and 23)
- Probe 6 finalized the user interface that took commands and visualized the state of the load provided by the ToF sensors.
- Probe 20 completed the control logic of the prototype.
- Probe 23 introduced asyncio library to allow seemingly simultaneous actions in the Python code. Python version had to be changed to 3.6 to support the asyncio library.
- Probe 3 brought together and presented the final proof-of-concept prototype to company representatives for evaluation.
5. Insights, Discussion, and Generated Hypotheses
5.1. Limitations
5.2. Reflections on the Working Method
6. Outlook
Author Contributions
Funding
Conflicts of Interest
References
- Saadat, M. Anti-swing Fuzzy Controller Design for a 3D Overhead Crane. J. Mod. Processes Manuf. Prod. 2015, 4, 57–66. [Google Scholar]
- ABB Marine ABB Azipod® Propulsion Unit Assembly Timelapse. Available online: https://www.youtube.com/watch?v=lvHb4XTkC0A (accessed on 17 September 2018).
- Herstatt, C.; Stockstrom, C.; Verworn, B.; Nagahira, A. “Fuzzy Front End” Practices in Innovating Japanese Companies. Int. J. Innov. Technol. Manage. 2006, 3, 43–60. [Google Scholar] [CrossRef]
- Moran, A. Managing Agile; Springer International Publishing: New York, NY, USA, 2016; ISBN 3-319-36793-5. [Google Scholar]
- MacCormack, A.; Verganti, R.; Iansiti, M. Developing Products on “Internet Time”: The Anatomy of a Flexible Development Process. Manag. Sci. 2001, 47, 133–150. [Google Scholar] [CrossRef]
- Conforto, E.C.; Salum, F.; Amaral, D.C.; da Silva, S.L.; de Almeida, L.F.M. Can agile project management be adopted by industries other than software development? Project Manag. J. 2014, 45, 21–34. [Google Scholar] [CrossRef]
- Chang, C.-Y. The switching algorithm for the control of overhead crane. Neural Comput. Appl. 2006, 15, 350. [Google Scholar] [CrossRef]
- Ibarra-Esquer, J.E.; González-Navarro, F.F.; Flores-Rios, B.L.; Burtseva, L.; Astorga-Vargas, M.A. Tracking the Evolution of the Internet of Things Concept Across Different Application Domains. Sensors 2017, 17, 1379. [Google Scholar] [CrossRef] [PubMed]
- Sjöman, H.; Kalasniemi, J.; Vartiainen, M.; Steinert, M. The Development of 1Balance: A Connected Medical Device for Measuring Human Balance. Technologies 2018, 6, 53. [Google Scholar] [CrossRef]
- Edmondson, A.C.; McManus, S.E. Methodological fit in management field research. Acad. Manage. Rev. 2007, 32, 1246–1264. [Google Scholar] [CrossRef]
- Lager, T. A conceptual framework for platform-based design of non-assembled products. Technovation 2017, 68, 20–34. [Google Scholar] [CrossRef]
- Yin, R.K. Case Study Research: Design and Methods, 4th ed.; Sage Publications: Newbury Park, CA, USA, 2013; ISBN 1-4833-2224-6. [Google Scholar]
- Eisenhardt, K.M. Building theories from case study research. Acad. Manage. Rev. 1989, 14, 532–550. [Google Scholar] [CrossRef]
- Blessing, L.T.; Chakrabarti, A. DRM: A Design Research Methodology; Springer International Publishing: New York, NY, USA, 2009; ISBN 1-84882-586-2. [Google Scholar]
- Steinert, M.; Leifer, L.J. “Finding One’s Way”: Re-Discovering a Hunter-Gatherer Model based on Wayfaring. Int. J. Eng. Educ. 2012, 28, 251. [Google Scholar]
- Gerstenberg, A.; Sjöman, H.; Reime, T.; Abrahamsson, P.; Steinert, M. A Simultaneous, Multidisciplinary Development and Design Journey—Reflections on Prototyping. In Entertainment Computing—ICEC 2015; Chorianopoulos, K., Divitini, M., Baalsrud Hauge, J., Jaccheri, L., Malaka, R., Eds.; Springer International Publishing: Cham, Switzerland, 2015; Volume 9353, pp. 409–416. ISBN 978-3-319-24588-1. [Google Scholar]
- Lopez, P.; Mabe, J.; Miró, G.; Etxeberria, L. Low Cost Photonic Sensor for in-Line Oil Quality Monitoring: Methodological Development Process towards Uncertainty Mitigation. Sensors 2018, 18, 2015. [Google Scholar] [CrossRef] [PubMed]
- Reime, T.; Sjöman, H.; Gerstenberg, A.; Abrahamsson, P.; Steinert, M. Bridging tangible and virtual interaction: Rapid prototyping of a gaming idea. In Proceedings of the 14th International Conference on Entertainment Computing, Trondheim, Norway, 29 September–2 October 2015. [Google Scholar]
- Cooper, R.G. Stage-gate systems: A new tool for managing new products. Bus. Horiz. 1990, 33, 44–54. [Google Scholar] [CrossRef] [Green Version]
- Royce, W.W. Managing the development of large software systems: Concepts and techniques. In Proceedings of the 9th International Conference on Software Engineering, Monterey, CA, USA, 30 March–2 April 1987. [Google Scholar]
- Autiosalo, J. Platform for industrial internet and digital twin focused education, research, and innovation: Ilmatar the overhead crane. In Proceedings of the 2018 IEEE 4th World Forum on Internet of Things (WF-IoT), Singapore, 5–8 February 2018. [Google Scholar]
- Enste, U.; Mahnke, W. OPC Unified Architecture. at-Automatisierungstechnik 2011, 59, 397–404. [Google Scholar] [CrossRef] [Green Version]
- Porrazzo, R.; Lydecker, L.; Gattu, S.; Bakhru, H.; Tokranova, N.; Castracane, J. Self-Balancing Position-Sensitive Detector (SBPSD). Sensors 2015, 15, 17483–17494. [Google Scholar] [CrossRef] [PubMed] [Green Version]
- Free OPC-UA Library. Available online: https://github.com/FreeOpcUa (accessed on 27 August 2018).
- Ersen, H.Y.; Tas, O.; Kahraman, C. Intuitionistic Fuzzy Real-Options Theory and its Application to Solar Energy Investment Projects. Eng. Econ. 2018, 29, 140–150. [Google Scholar] [CrossRef]
- Halman, J.I.; Hofer, A.P.; Van Vuuren, W. Platform-driven development of product families: Linking theory with practice. J. Prod. Innov. Manage. 2003, 20, 149–162. [Google Scholar] [CrossRef]
- Robinson, C. Real World Research; Blackwell Publishing: Oxford, UK, 2002. [Google Scholar]
- Ottosson, S. Participation action research-: A key to improved knowledge of management. Technovation 2003, 23, 87–94. [Google Scholar] [CrossRef]
- Lee, C.G.; Park, S.C. Survey on the virtual commissioning of manufacturing systems. J. Comput. Des. Eng. 2014, 1, 213–222. [Google Scholar] [CrossRef]
Basic Information for the Probes | Active Weeks | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
Number | Probe description | Success | 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Not discipline-specific probes | ||||||||||
1 | Benchmarking and brainstorming | - | x | - | - | - | - | - | - | - |
2 | Site visit at assembly company | - | - | x | - | - | - | - | - | - |
3 | Final proof-of-concept presentation | - | - | - | - | - | - | - | - | x |
User interface probes | ||||||||||
4 | Graphical UI (with HTML) | x | - | - | - | x | - | - | - | - |
5 | Stepwise UI (with command line, curses) | x | - | - | - | - | x | - | - | - |
6 | Phases/stepwise UI | v | - | - | - | - | - | - | x | x |
Software probes | ||||||||||
7 | Review: Language selection | v | - | x | - | - | - | - | - | - |
8 | Review: Method for controlling the crane | - | - | x | - | - | - | - | - | - |
9 | Decision: OPC UA is the API | v | - | x | - | - | - | - | - | - |
10 | Using OpenCV as image detection software | x | - | - | x | - | - | - | - | - |
11 | Review of OPC UA tools | - | - | - | x | x | x | - | - | - |
12 | Using Python as programming language | - | - | - | x | x | x | x | x | - |
13 | Review: Tools for UI visualization (on demand) | - | - | - | - | x | x | - | x | - |
14 | Using Flask as software tool for UI | - | - | - | - | x | - | - | x | - |
15 | Integrating ToF libraries to python code | v | - | - | - | x | - | - | - | - |
16 | Setting up the OPC UA API of the crane | v | - | - | - | x | x | x | - | - |
17 | Setting up FreeOpcUa library | v | - | - | - | - | x | - | - | - |
18 | Testing joystick software tool for UI | x | - | - | - | - | - | x | - | - |
19 | Developing "crane.py" class for python | v | - | - | - | - | - | x | x | - |
20 | Developing control software | v | - | - | - | - | - | x | x | x |
21 | Tornado as SW tool for UI | v | - | - | - | - | - | x | x | - |
22 | Setting up WebSocket | v | - | - | - | - | - | - | x | x |
23 | Introducing Python 3.6 and asyncio library | v | - | - | - | - | - | - | - | x |
Electronics probes | ||||||||||
24 | Testing light to help measuring | x | - | x | - | - | - | - | - | - |
25 | Review: sensors and measuring concept | - | - | x | x | x | - | - | - | - |
26 | Review: self-calibration method | x | - | x | - | - | - | - | - | - |
27 | Review: computation hardware | - | - | x | - | - | - | - | - | - |
28 | Using lapmiddle as computing platform | - | - | - | x | x | x | x | - | - |
29 | Using camera as measurement sensor | x | - | - | x | - | - | - | - | - |
30 | Setting up ToF sensors | v | - | - | - | x | - | x | - | - |
31 | Using Raspberry Pi as computing platform | v | - | - | - | - | x | x | - | - |
32 | Using Arduino as computing platform | x | - | - | - | - | - | x | - | - |
Mechanics probes | ||||||||||
33 | Bottles and cans as test rig | x | - | x | x | - | - | - | - | - |
34 | Oil barrel as test rig | x | - | - | x | - | - | - | - | - |
35 | Planning the machined test rig | v | - | - | - | x | - | - | - | - |
36 | Assembling the machined test rig | v | - | - | - | - | x | x | - | - |
37 | Setting up sensor platform | v | - | - | - | - | - | x | - | - |
Sensor Type | Model | Usability | Price | Specifications | Link |
---|---|---|---|---|---|
Laser (triangulation) | Keyence IL-300 (example) | Analog output, requires ADC converter to connect to Rapberry Pi. | Several hundred to thousands USD | Repeatability: 30 μm, Linearity: ±0.25 of F.S. (Keyence IL-300) | https://www.keyence.com/products/measure/laser-1d/il/models/il-300/index.jsp |
Infra-red | Sharp GP2Y0A21YK (example) | JST connector, analog output | $13.95 | 3.1 V at 10 cm to 0.4 V at 80 cm | https://www.sparkfun.com/products/242 |
Ultrasound | HRXL-MaxSonar-WR (example) | Arduino and Raspberry Pi compatible. Sensor outputs: Analog Voltage, Serial, Pulse Width. | $99.95 | Resolution of 1mm | https://www.sparkfun.com/products/11724 |
Camera with feature detection | Logitech C920 webcam | USB connection to Raspberry Pi. Requires feature detection, for example using OpenCV library. | $79.99 (already available at laboratory) | Dependent on distance, pixel count and camera vision software. | https://www.logitech.com/en-us/product/hd-pro-webcam-c920 |
Eddy-current | Metrix MX2030 (example) | Analog output, requires ADC converter to connect to Rapberry Pi. | One to several hundred USD | Typical range 2 mm. Up to 40 mm available. | http://www.metrixvibration.com/products/proximity/digital-proximity-system/product/657/mx2030-probe-series |
Thermal camera | FLiR Dev Kit | SPI port, works with Arduino or Raspberry Pi | $229.95 | resolution of 80 × 60 pixels | https://www.sparkfun.com/products/13233 |
UWB radar | X4M200 | Python API | $249.00 | detection zone of 0.4–5.0 m | https://shop.xethru.com/x4m200 |
Laser (Time of Flight) | VL53L0X board from Polulu | I2C interface (available in Raspberry Pi). Open source library available for Python. | $9.95 | Resolution 1 mm. Accuracy ±3 to ±10% depending on conditions. | https://www.pololu.com/product/2490 |
© 2018 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (http://creativecommons.org/licenses/by/4.0/).
Share and Cite
Sjöman, H.; Autiosalo, J.; Juhanko, J.; Kuosmanen, P.; Steinert, M. Using Low-Cost Sensors to Develop a High Precision Lifting Controller Device for an Overhead Crane—Insights and Hypotheses from Prototyping a Heavy Industrial Internet Project. Sensors 2018, 18, 3328. https://doi.org/10.3390/s18103328
Sjöman H, Autiosalo J, Juhanko J, Kuosmanen P, Steinert M. Using Low-Cost Sensors to Develop a High Precision Lifting Controller Device for an Overhead Crane—Insights and Hypotheses from Prototyping a Heavy Industrial Internet Project. Sensors. 2018; 18(10):3328. https://doi.org/10.3390/s18103328
Chicago/Turabian StyleSjöman, Heikki, Juuso Autiosalo, Jari Juhanko, Petri Kuosmanen, and Martin Steinert. 2018. "Using Low-Cost Sensors to Develop a High Precision Lifting Controller Device for an Overhead Crane—Insights and Hypotheses from Prototyping a Heavy Industrial Internet Project" Sensors 18, no. 10: 3328. https://doi.org/10.3390/s18103328
APA StyleSjöman, H., Autiosalo, J., Juhanko, J., Kuosmanen, P., & Steinert, M. (2018). Using Low-Cost Sensors to Develop a High Precision Lifting Controller Device for an Overhead Crane—Insights and Hypotheses from Prototyping a Heavy Industrial Internet Project. Sensors, 18(10), 3328. https://doi.org/10.3390/s18103328