Cybernetics provides universal explanation of systems' structure which is of interest in studying CPS&IoT. Major contribution is notion and formalisation of feedback principle which is present in all systems; technical, biological, organisational and societal. Abstract structure of the system
is shown on the next figure with input x, output y, direct branch G, feedback branch H, feedback information u and error ε. Although it might not seem apparent, this principles also extend to CPS&IoT.
Since it's importance the cybernetics principles have been studied in detail especially theoretically in Systems Theory classes, Control Theory etc. In many cases the practical experience with actual control systems was not considered due to the high costs of equipment and complexity of realising even simplest control system.
Norbert Wiener, Inventor of Cybernetics
New emerging technologies enables us to realise complex control systems with readily available components, i.e. micro-controllers, computers, sensors and actuators. Available technologies enables us not only to realise control system but also to realise Cyber-physical System and create Internet of Things. This is important advancement in the state of the technology.
A Cyber-physical System (CPS) is a mechanism controlled or monitored by computer-based algorithms, tightly integrated with Internet and its users.
Internet of Things (IoT) is a subset of CPS where "physical" is omitted, i.e. monitoring or providing an information (still in formulation).
Today, applications should provide the possibility to not only measure but also listen, watch, interact with users, move, handle, grab etc. Let us consider the classical speech-recognition application and compare two different realizations:
This is one of most important characteristics of Cyber-physical Systems.
Main structural notice: feedback loop that provide to develop the systems
with unprecedented accuracy (WER Word Error Rate).
The best path to study CPS&IoT principles is to realise such systems therefore, the course will be practically oriented. It is intended to develop small prototypes and consider the possibilities and principles of CPS&IoT.
The final task will be building the DC motor position control system, which is commonly studied as the control system. The system will include components, that are shown on the first figure and additional features, that come with the inclusion of internet. This means, that the physical system is exposed to the internet and its' users which brings many new possibilities for exploration and new functionalities.
There are many different HW solutions that enable realisation of CPS&IoT projects. One of the standard combination is Arduino UNO Micro-controller in combination with Ubuntu Linux Computer. Possible alternatives would be RaspberryPI, Beagle Bone, UDOO, Mini PC, ESP8266 or ESP32 based solution. What is important is, that the structure of the HW and SW stack for CPS&IoT is basically the same. Some of the main keywords are: JavaScript / ECMAScript, node.js, websocket, Linux.
Important functionality of realised prototypes is, that they are controllable over the internet. This depends on the network accessibility. If the IP of the computer that we work on is visible from the outside, the access to the hardware is open. This raises certain security issues.
Connection to the internet and tight integration with its users brings possibilities to realise new systems, that weren't possible few years ago. In order to understand what is possible, the developed prototypes will provide the starting point to consider development of new systems.
Beside P control the PID control will be implemented. The tuning of the algorithms will be possible by the observation of the response of the real control system.
By the realisation of the DC motor control system practical assignments to test the theory are possible. Usually real system differs from the theory therefore experience is essential to develop proper algorithms.
Classical assignment is tuning the PID algorithm.
Additional possibility is interconnection of several developed CPS. This provides the possibility to develop more complex systems which need sophisticated control algorithms.
Since the developed prototypes are meant to be connected to the internet the possibilities to integrate them with social networks and other technologies will be examined.
JavaScript / ECMAScript became the language of the internet. By the possibility to run the JavaScript code on the server side, the language gains it's momentum. Used with json (JavaScript Object Notation) and NoSQL databases (like MongoDB and redis) JavaScript is one language for all.
node.js enables us to run JavaScript code on the server side. It uses google's V8 engine which provides possibility to serve thousands of requests in real time. All the logic of the high volume web-server is implemented and has been proven as industry grade software for developing web-cloud-based applications.