
Virtual Model of Production System
Representation of production in the form of a virtual model is the basis, the functional basis of any means of designing robotic complexes and controlling equipment in their composition. IndustrialKit provides the necessary set of classes and structures to form an object model of production in software, both as a whole complex and individual devices.
A production object is the basic unit of production, and their aggregate forms a production complex. The digitalia (digital entity) of a production object is realized by the WorkspaceObject class. This class has properties such as name-identifier, data about the object's position in space and its rotation, and a linked visual scene node. Classes of all other types of production objects are inherited from WorkspaceObject by adding specific properties and methods. Manufacturing objects such as robot, tool, and part are available in the IndustrialKit out of the box. However, it is still possible to define new object types and subtypes. For example, we can define specific varieties of the same robots.
Production objects are organized into a complex by placing them in a single space, the virtual essence of which is implemented by the Workspace container class. This class also provides the necessary service functions for managing the complex as a whole and its components separately. Robots, tools and parts, as well as a sequence of IMA program elements and a set of data registers are compiled in four corresponding arrays of the Workspace object.
Digital Twin
A virtual model is a digital entity that reproduces the properties of an object and its behavior with the necessary accuracy.
A digitalia associated with an object is its digital twin, which is determined by the nature of this relationship. The impact on the digital twin entity is transmitted to the object. And the state of the object is tracked by the doppelganger and transmitted to its digital entity. Thus, the virtual model becomes a reflection of the real equipment.
For example, sufficiently accurate models of devices allow designing a production complex and modeling its operation. After that, the model is used to create a real complex with the installation of ready and tested programs on the devices in its composition.
But the digital twin can both fully simulate production and reflect the state of real equipment. Representation of the state in the virtual model allows you to process it, form the appropriate control action and transmit it to the devices.
The object model of production, interfaced with real equipment, represents it in the form of a set of program objects. Thus, working with the elements of the production system becomes similar to working with any other instances of classes and structures. As an example, we can change the position of the robot arm end cap. To do this, it is enough to call the corresponding method of the object associated with the desired robot, specifying the coordinate of the target position as an input parameter.
In summary, a digitalia is a basis, a virtual object created by means of computing technology. A virtual model is a reproduction of the properties of a real object by digital means. A digital twin is a digital entity connected with a real object in one way or another.
Demo & Real
The modeling functionality is allocated to a separate component – controller, implemented by the ModelController class. It manages the virtual – visual/physical model of the device and models some other properties, for example, synthesizes statistical data of the production object functioning. The controller inherits the robot and tool versions of the classes.
Robots and tools are controlled devices. Consequently, a control relationship is established with them, for which components such as connectors are introduced. They are realized by the Connector class and inherited classes for robots and tools.
A Connector consists of two interconnected components. One of them, represented as an instance of the class inherited from the Connector, connects to the application. The other part is installed on the robotic device itself and is implemented solely by the software tools of its controller. Consequently, the protocol and communication methods between the controller components depend on the device to be connected.
The connector transmits the parameters of the operation, initiates and controls its execution on the device. It also allows you to stop an operation in progress. The connector provides data exchange with the device, including operation parameters, execution status, and statistical data.
Thus, the class of the production object performs only basic and service functions, while the digital essence of the specific model of the controlled device is determined by the controller-connector pair. The specific functionality and internal realization of such a pair can be any. In this case, the design in the form of an inherited class defines a single form for representing the added functionality and allows to unify it with other components similar in purpose.
Since parts are not controlled devices, model controllers and connectors are not used for them. The digital twin of the part is limited to a visual model with certain parameters of the physical body.
The virtual model is able to reflect the behavior of the real device or fully simulate it, therefore two states of the digital twin can be defined – real and demo. Doppelgangers of separate devices can be in different states, which allows combining fully simulated equipment with real equipment in one virtual model of the complex.
In demo state, the controller fully reproduces and controls the virtual model of the device. In the real state, the model controller is controlled by the connector. The connector takes data about the state of the real device and passes it to the digital entity and the controller.
Thus, in demo, the parameters of link rotation of the visual manipulator model and statistical data are generated by the controller itself, whereas in real the model parameters and statistical data are set by the connector coupled with the robot.