Научная статья на тему 'Web application for X3D-model creation of the robotic technological Complex'

Web application for X3D-model creation of the robotic technological Complex Текст научной статьи по специальности «Математика»

CC BY
204
20
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
RTC / X3D / WEB APPLICATION / ROBOT / ROBOCAR / WEB-ПРИЛОЖЕНИЕ / РОБОТ / РОБОКАР

Аннотация научной статьи по математике, автор научной работы — Voynov I.V., Pudovkina S.G., Telegin A.I., Timofeev D.N.

The technique of the tabular description of composition, structure, geometrical and kinematic parameters of robots and other mechanical systems (MS) of the robotic technological complexes (RTC) has been offered. The html-file with the X3D model of RTC is automatically generated by these parameters. The basic concepts and designations used for the formal description of any RTK have been introduced. The X3D-marking of the RTC is executed on the basis of the parameters table of the MS which are the part of the RTC. This table is an interface between the user and the application for the RTC modeling. X3D models of bodies can be generated by default on the basis of the made table of parameters or in the described process of manual modeling of the MS. This method does not demand knowledge of the used information technologies (XML, X3D, HTML, CSS, XSLT, JavaScript). Examples of modeling of manipulation robot systems with three and six degrees of freedom have been given. The RTC X3D-model of machining, consisting of three lathes, the Cobra manipulator and the robocar with the three-degrees manipulator has been created as an example by using technique “top-down”.

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Web application for X3D-model creation of the robotic technological Complex»

Информатика и вычислительная техника

DOI: 10.14529/ctcr180201

WEB APPLICATION FOR X3D-MODEL CREATION OF THE ROBOTIC TECHNOLOGICAL COMPLEX

I.V. Voynov, [email protected],

S.G. Pudovkina, [email protected],

A.I. Telegin, [email protected],

D.N. Timofeev, [email protected]

South Ural State University, Miass, Russian Federation

The technique of the tabular description of composition, structure, geometrical and kinematic parameters of robots and other mechanical systems (MS) of the robotic technological complexes (RTC) has been offered. The html-file with the X3D model of RTC is automatically generated by these parameters. The basic concepts and designations used for the formal description of any RTK have been introduced. The X3D-marking of the RTC is executed on the basis of the parameters table of the MS which are the part of the RTC. This table is an interface between the user and the application for the RTC modeling. X3D models of bodies can be generated by default on the basis of the made table of parameters or in the described process of manual modeling of the MS. This method does not demand knowledge of the used information technologies (XML, X3D, HTML, CSS, XSLT, JavaScript). Examples of modeling of manipulation robot systems with three and six degrees of freedom have been given. The RTC X3D-model of machining, consisting of three lathes, the Cobra manipulator and the robocar with the three-degrees manipulator has been created as an example by using technique "top-down".

Keywords: RTC, X3D, web application, robot, robocar.

Introduction

There are a lot of software for 3D modeling of robots, MS and RTC: from free and simple ones for students, for example, Gazebo, Marilou HOME, Microsoft Robotics Developer Studio, Simbad, to commercial and multifunctional programs for industrial enterprises, design departments and scientific researches, for example, RobSim, Marilou PRO, TeamBots. Why do you create other similar software? There are some reasons. First, the method described in this article helps to create the Web application which can work in any modern browser. Secondly, this application is focused on XML, therefore it has a simple and short open code. Thirdly, automatically generated HTML document containing RTK X3D-marking is a result of modeling of RTK. Fourthly, the offered application is optimized according to "bottom-up" and "top-down" methodology for creation mathematical and 3D models of MS and RTK with their animation. Fifthly, the created Web application is a component of the graphic interface of the "SYSTEL" software. It is used for solving problems in mechanics, motion control, bodies parameters' identification and synthesis of MS with set properties. Other software, as we know, does not have the first four advantages. Our attempts to use this software to solve the problems of mechanics and motion control of the MS were less effective than using "SYSTEL". It is impossible to use the software known to us for the problems solutions listed above.

This article considers the use of the extensible Markup Language of 3D vector graphics (X3D) for modeling of the MS consisting of absolutely rigid bodies. These bodies form various kinematic pairs (KP) between themselves and the ground (with a stand, rack, support surface). The handling systems of robots, walking and crawling devices, wheel and caterpillar vehicles, hoisting and transport mechanisms, various machines and controlled process equipment are the examples of such MS.

The described methodical and software is intended for use in the following areas: 3D modeling, process modeling, modeling of tree-like systems, mathematical modeling of bodies' systems, automation and robotization of productions. The main purpose is an execution of the project works on the robo-tization of manufacturing processes, in particular, of interoperational transportation, spot and arc welding, dyeing, assembly and other technological operations.

In this article we publish the first results of the development of mathematical, methodical and software for the automatic generation of mathematical and three-dimensional models of controlled MS and technological equipment of RTC. In this article we use the results published in [1-4].

1. Tabular description of structural, geometric and kinematic parameters

of controlled subsystems of RTC

The formalism of MS' description is a sequence of formal actions for determining a set of numerical and/or symbolic parameters which are sufficient for unambiguous identification of the specific MS. The tabular form of the description of the MS has been adopted in the offered theory. This is due to the following reasons. First, the tabular (relational) databases are the most developed area of the information technology. Secondly, the spreadsheets (as the software systems) are available to any user or an application with the ability of dynamic exchange between the programs (tasks) working independently. Thirdly, the tables in the object-oriented development environments of program products are realized in the form of objects. Other words, they have all built-in mechanisms which are inherent for the spreadsheets.

The process of the real MS research can begin with the study of the technical description or visual inspection of the full-scale samples if those are available. Otherwise, it is necessary to imagine the MS and describe it as a final set of bodies that form the KP.

The theoretical research of the real MS begins with their idealization (schematization). Some constructive features and connections between the components of the MS become simpler with idealization (in the process of constructing the design scheme of the MS). Therefore the idealized image of the MS (its model) has been investigated in fact. We use a model based on the fact that any MS can be represented as a finite number of absolutely rigid bodies that form the KP with each other. They assume from one to six degrees of freedom of one body of the KP (further called as an adjacent body) which is relative to another body of the KP (further called as a basic body). There are the following types of the KP: 0 is a translational KP (TKP) or KP0 which assumes the translational movement of the adjacent body along the KP's axis; 1 is a rotational KP (RKP) or the KP1 which assumes the rotation of the adjacent body around the KP's axis; 2 is a cylindrical KP (CPC) or the KP2 which assumes translational movement along the KP's axis and rotation of the adjacent body around the KP's axis; 3 is a spherical KP (SKP) or the KP3 which assumes the rotation of the adjacent body around the point fixed in the base and adjacent KP's body; 4, 5, 6 are the KP4, KP5, KP6 assuming subsequent movement of the adjacent body concerning to the base one and rotation around one (KP4), two (KP5) and three (KP6) mutually perpendicular axes. The current version of the software uses the KP7, which simulates a two-finger capture, and the KP8, which simulates a three-finger capture.

The TKP, RKP and KP6 are most often used. The TKP allows to simulate the deformation of stretching and compression of compliant body. The RKP allows modeling the torsion deformations of the shafts. And the body of walking machine and the supporting surface (ground) form the KP6.

To compose the tables of parameters (TP) of the MS it is necessary to present this MS in the initial position of the bodies concerning their bases. To choice the initial position we use the following recommendations. First, the bodies should occupy a minimum free space. Secondly, the drives and reducers should be minimally loaded with static force factors. Third, the values of the controlled coordinates (the angles of rotation and the values of the linear movements) of the bodies must be zero. You cannot always to select the initial relative position satisfying to all three recommendations. In Fig. 1a the kinematic scheme (KS) of the MS of the robot "Cobra" in the initial position of the bodies that satisfies all recommendations have been represented. This robot has been developed by the authors of the article at the Electrical Engineering Faculty of the branch of the South Ural State University in Miass.

To fill the TP it is necessary to number the bodies. In this case there should follow the formalism of the subsystem numbering. To do this the reference body (ground) is assigned the number 0. The following numbering continues along any chain of connected bodies to the final body, and then from the body with the largest number among the already numbered bodies that have unnumbered adjacent bodies. The number of mobile bodies of MS is denoted by N.

The structure of the tree-like MS is described by a list of numbers of the basic bodies. In this list the i-th element is the number of the base of the i-th body. It is necessary to connect a pole (point) and a basis vector of the axis of the KP with each of the MS's bodies to describe the geometric and kinematic

parameters of the MS. The pole of the i-th body (Oj point) of the RKP and the CKP is selected on the KP's axis. The pole of the SKP is selected in its fixed point. In the initial position of each body we need to connect the coordinate systems (CS) with the origin in its pole and to direct the axis in parallel with the axes of the CS OXYZ, where O is the center of the monitor screen, the OX axis is horizontal, OY axis is vertical, OZ axis is perpendicular to the monitor screen and directed to the side of the researcher. It is not necessary to represent the associated CS of the i-th body (ACS(i)) in the initial position of the MS, because the abscissa, ordinate and z-coordinate of all ACSs are equally directed.

Fig. 1. The kinematic scheme (a), the default X3D model (b), the view from the axis Oz of the constructed X3D model (c), the view from the axis Ox of the X3D model of the "Cobra" manipulator (d)

The TPMS contains N rows and the following six columns: the NB contains numbers of the base bodies; the KP contains codes of the KP; the CPB contains coordinates of the initial (before the start of relative motions) positions of the body's poles in the ACS of their bases (ACSB); the DCAKP contains directing cosines of the axes of the KP in the ACSB; the columns min and max contain the minimum and maximum values of the generalized coordinates of the KP's adjacent bodies. For example, if a 3rd body is the base of a 5th body, then the 5th row of the 2nd column contains the number 3. If the MS consists of a single branch, then the i-th row of the 1st column contains the number i - 1. Therefore, for the MS with single branch structure the first column can be omitted in the TP. The second column of the TP has the title of the KP. The code of the i-th KP is in the i-th row. If KP = 1 for all bodies, then the 2nd column can be omitted. In the TPMS and in all other tables the linear dimensions are given in millimeters, angular dimensions are given in degrees.

The TPMS of "Cobra" can be filled on the basis of its CS shown in Fig. 1a. Here the arrows indicate the units of the axes of the KP. The symbol qi denotes the i-th generalized coordinate (the angle of rotation of the i-th body about the preceding body). The point shows the position of the pole of the body. The TPMS «Cobra» is shown in Table 1.

In this example of the RTC we used the robot with a three-degree manipulator on board (further called as a manipulator) and three identical CNC lathes (further called as lathes).

The robocar consists of five bodies: a hull, two front drive wheels and a passive wheel suspended from below to the hull with a fork, freely rotating around an axis which is perpendicular to the plane of the hull. The hull of robocar can make a parallel-plane motion along the floor of the workshop. The KP's code of floor-hull is 4, i.e. for this KP4 the base body is the floor of the workshop and adjacent

body is the hull of the robocar. Therefore, the DCAKP = (0, 1, 0) for the hull of robocar. The TPMS of robocar is shown in Table 2. Fig. 2 shows the CS of robocar (a - top view, b - side view), where the poles of the bodies are arranged and the linear dimensions are shown. There is no restriction of the angel of rotation of the body, wheels and forks of the robocar. The pole Oi is always located above the floor at a height which is equal to the radius of the front wheels. The abscissa and z-coordinate of O1 pole are also not restricted. Therefore the last two columns of the TP of MS of robocar can be omitted.

Table 1 Table 2

The TPMS of "Cobra" The TPMS of robocar

KP CPB DCAKP min max

1 0, 475, 0 0, 1, 0 -180 180

1 0, 0, 0 1, 0, 0 -100 100

1 0, 625, 0 1, 0, 0 -160 160

1 0, 0, 0 0, 1, 0 -180 180

1 0, 625, 0 1, 0, 0 -130 130

1 0, 0, 0 0, 1, 0 -180 180

7 0, 250, 0 1, 0, 0 0 70

NB KP CPB DCAKP

0 4 0, 60, 0 0, 1, 0

1 1 0, 0, 0 0, 0, 1

1 1 0, 0, 0 0, 0, 1

1 1 -320, 0, 0 0, 1, 0

4 1 -75, -30, 0 0, 0, 1

a)

b)

Fig. 2. Kinematic scheme of the robocar

Fig. 3. Kinematic scheme of the manipulator

The manipulator on board of the robocar works in a cylindrical coordinate system. Its KS is shown in Fig.3. The first body rotates around the vertical axis. The second and third bodies make progress along the horizontal and vertical axes. We use the KP7 to model the gripper in the end of the third body. Fig. 3 shows the dimensions that are necessary to fill the TPMS. Here the point O0i shows the initial position of the pole of the adjacent body of the i-th KP, i.e. the position of the pole Oi with qi = 0. The TPMS of manipulator is shown in Table 3.

We will model the lathe with the help of stationary body (number 0), a protective shutter (the first body) and a three-finger gripper (the second body) which models the work piece clamping mechanism in the chuck. We can see from the lathe's TPMS that the pole of the protective shutter in initial position is at a distance of 700 mm to the left in horizontal direction from the point of convergence of the clamp's fingers. The position the pole of the clamp and the origin of the ACS(0) in the most tight are coincide. The TPMS of lathe is shown in Table 4.

Table 3

The TPMS of manipulator

Table 4

The TPMS of lathe

KP CPB DCAKP min max

1 0, 0, 0 0, 1, 0 -180 180

0 90, 350, 0 1, 0, 0 0 400

0 0, -105, 0 0, -1, 0 0 350

7 0, 0, 0 1, 0, 0 0 70

BN KP CPB DCAKP min max

0 0 -700, 0, 0 1, 0, 0 0 700

0 8 0, 0, 0 0, 1, 0 0 25

2. Modeling the MS structure

The X3D-marking of the MS is generated based on the TP. N + 2 files are created in order to improve the structure of the X3D model of the MS. The first (starting) file contains the markup of the MS structure. In the second file the base (stand, supporting surface) is marked. This base is rigidly connected with the ground. Each of the N bodies are marked in the remaining files, i.e. individual MS's bodies are marked in separate X3D files and connected to the structural file using the <Inline> node. ACS(0) is rigidly connected with the base of the first body of the MS. This ACS is stationary and works as a reference system for the absolute positions of the MS bodies. The transformation node (TN) allows to place the ACS(0) in a convenient place on the monitor screen. For example, if the MS moves to the right and up, then the ACS(0) is placed in the lower left corner of the screen.

Most of the X3D nodes can contain child nodes and their groups. Each such node defines the CS for its child. We can set the positions of child concerning to this CS. For example, the CS OXYZ is connected to the <Scene> node. In this CS the lengths are measured in meters, the angles are measured in radians. The opposite rotation the clock arrow is considered the positive angle of rotation.

The TN and <Inline> nodes are used in the markup of the MS's structure. The line "body_i" is the value of the DEF field of the TN of the i-th body. The value of the field "translation" of the TN contains the coordinates of the pole of the body in the ACSB. These coordinates are taken from the CPB column of the TPMS for the initial position of the MS. The value of field "rotation" of the TN contains the DCAKP and the rotation angle. The value of the field "url" of the <Inline> node in the markup of i-th body must be the name "body_i.x3d". The structure of the NT should repeat the structure of the MS. For example, if the MS has the structure of one open branch, then the next NT must be enclosed in the previous NT.

Listing 1 shows the markup of the MS "Cobra" that has been generated on the basis of the TPMS with taking into account the listed rules.

Listing 1. <?xml version="1.0" encoding="UTF-8"?>

<X3D version='3.2'> <Scene> <Background skyColor="1 1 1"/> <Viewpoint position="0 1 4" /> <Transform DEF="body_0"> <Inline url="body _0.x3d"/> <Transform DEF="body_1" translation="0 0.475 0" rotation="0 1 0 0"> <Inline url="body_1.x3d"/>

<Transform DEF="body_2" rotation="1 0 0 0"> <Inline url="body_2.x3d"/> <Transform DEF="body_3" translation="0 0.625 0" rotation="1 0 0 0"> <Inline url="body_3.x3d"/>

<Transform DEF="body_4" translation="0 0 0" rotation="0 1 0 0"> <Inline url="body_4.x3d"/>

<Transform DEF="body_5" translation="0 0.625 0" rotation="1 0 0 0"> <Inline url="body_5.x3d"/>

<Transform DEF="body_6" rotation="0 1 0 0"> <Inline url="body_6.x3d"/> <Transform DEF="body _7" translation="0 0.25 0"> <Inline url="body_7.x3d"/>

</Transform></Transform></Transform></Transform>

</Transform></Transform></Transform></Transform>

</Scene></X3D>

It should be noted that in X3D code the linear dimensions are set in meters, and the angular dimensions are set in radians. Therefore, the generator of X3D models of the MS translates millimeters into meters and degrees into radians automatically.

3. Modeling of the MS structure

The X3D model of the i-th body is stored in the file named "body_i.x3d". In the current version of software the MS bodies are modeled by the following graphic objects (GO): Box (rectangular parallelepiped), Cylinder, Cone and Sphere. Each GO has its own non-visible CS (CSGO). Each of the GO in the body model is placed in the TN. And the TN can be deformed along the axes of the CSGO. It can be displace concerning the ACS of the body and rotate about the given axis with the help of the fields "scale", "translation" and "rotation". The deformation of the sphere allows using ellipsoids in body's models. The deformation of the cylinder allows obtaining ovals, etc.

The markup of each body is implemented in the ACS of this body. By default (in the first approximation) each body of the MS is modeled by one, two or three boxes and/or cylinders based on the TPMS' parameters. The current version of the body models' generator has some restrictions by default. First, only the following DCAKP are processed: (1, 0, 0), (0, 1, 0), (0, 0, 1). Secondly, in the CPB values of two coordinates must be zero. It should be noted that in most industrial robots the first restriction is carried out. To perform the second restriction we often can to select the poles of bodies so that their two coordinates would be zero. In the next versions we plan to improve the body models' generator to remove the specified restrictions. The current version of software has generated the X3D-model that presented in Fig. 1b according to the TPMS "Cobra".

A table of parameters of body's model (TPBM) is required for automatic generation of X3D models of MS's bodies. It consists of the following columns: the column BN contains Body Number (as part of the MS); the column KGO contains the Key (Code) of GO, i.e. one of the numbers 0 (box), 1 (cylinder), 2 (cone), 3 (sphere); the column CCGO contains Coordinates of the Center of the GO in the ACS of the body; the column VAGOR contains Vector of Angle of GO's Rotation; the column PGOD contains Parameters of the GO's deformation; the column CGO contains Color of the GO; the column PGO contains Parameters of GO. If the GO is not deformed then the column of the PGOD may be omitted. If all GOs in the body's model have the same color then the CGO column may be omitted. The column VAGOR contains four numbers: the direction cosines of the axis of the GO's rotation in the ACS of body and the angle of this rotation (in degrees). The GO's color is coded using three numbers in RGB format (red, green, blue). The parameters of GO depend on its code, for example, the box has three parameters (length, height, width) and the sphere has one (radius).

The TPBM can be expanded by adding new rows. This fact allows to refine and improve the models of each body if it is necessary.

In the TPBM of "Cobra" (see Table 5) the parameters of the model of the zero body and the first body of the MS have been given. A view of the X3D models of these bodies is shown in Fig. 4.

Table 5

The TPBM of "Cobra"

BN KGO CCGO VAGOR PGO

0 1 0, 100, 0 - 150, 200

0 1 0, 225, 0 - 125,50

1 0 110, -90, 0 - 20, 230, 20

1 0 -110, -90, 0 - 20, 230, 20

1 1 90, 0, 0 0, 0, 1, 90 10, 20

1 1 -90, 0, 0 0, 0, 1, 90 10, 20

Редактирование CCK | Вставить CCK в С СКВ |

Координаты начала ССК в ССКБ: X: 0,2 | Y: |0,2 Z: |0 | Копировать ССК | | Вставить ССК | Удалить ССК |

| Переместить ССК относительно ССКБ |

Редактирование ГО Бокс т | | Вставить ГО в ССК |

Координаты центра ГО в ССК: X: 0^2 У: |0,2 12: О | Копировать ГО | | Вставить ГО | | Удалить ГО |

Изменить параметры ГО | | Переместить ГО относительно ССК |

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Тело: тело_1: координаты полюса в ССКБ: 0.00.0.45,0.00. поворот: 0,00: ГО: бокс 0.02 х 0.23 х 0.02. перемещение: 0.11.-0.09.0.00. поворот: 0.00 Тело: корпус: координаты полюса в ССКБ: 1.00.1.00.0.00. поворот: 90.01: ГО: конус; г=0.2011=0.40. перемещение: 0.00.0.20.0.00. поворот: 180.02

Fig. 4. The window of program of MS modeling

о

The hull of robocar is modeled by box (400^10^300 mm). Front wheels are modeled by a thin (h = 20 mm) cylinder (r = 60 mm). The distance between the wheels is L = 300 mm. The passive wheel is modeled by a thin (h = 20 mm) cylinder (r = 30 mm). This wheel is suspended from the bottom to the hull with the help of a cylinder (h = 55 mm, r = 20 mm) and two boxes (100x10x10 mm) where the boxes simulate a fork and the cylinder simulates the hinge connecting the fork to the hull. The pole Oi of the robocar is located in the center of the front wheelbase. This pole is remote from the front edge of the hull at a distance which is equal to the radius of the front wheels. The distance from point O1 to the rotation's axis of the fork of the passive wheel is 320 mm. This verbal description corresponds to the TPBM of the robocar in Table 6.

Table 6

The TPBM of robocare

BN KGO CCGO VAGOR PGO

1 0 -140, 0, 0 - 400, 10, 300

2 1 0, 0, -160 1, 0, 0, 90 60, 20

3 1 0, 0, 160 1, 0, 0, 90 60, 20

4 1 0, -15, 0 - 20, 30

4 0 -50, -30, -10 - 100, 10, 10

4 0 -50, -30, 10 - 100, 10, 10

5 0 0, 0, 0 1, 0, 0, 90 30, 20

We can model the stationary body of the lathe by four boxes (1 - bottom, 2 - left, 3 - back side, 4 -right), and three cylinders (5 - chuck, 6, 7 - tool). We can model the shutter (body_1) by two boxes. The origin of the ACS(0) is in the center of the bottom. The adjacent body KP8 is modeled by three boxes, where the first box is vertical and the two others are unrolled concerning the first one on 120° in different directions. The TPBM is shown in Table 7.

Table 7

TPBM of lathe

BN KGO CCGO VARGO PGO

0 0 100, -800, 0 - 1800, 400, 800

0 0 -500, -200, 0 - 600, 800, 800

0 0 0.700, -200, 0 - 600, 800, 800

0 0 100, -200, -400 - 600, 800, 20

0 1 350, 0, 0 0, 0, 1, 90 100, 100

0 1 275, 0, 0 0, 0, 1, 90 50, 50

0 1 -100, 0, 0 0, 0, 1, 90 150,200

1 0 100,-200, 410 - 600, 800, 20

1 0 100, 210, 0 - 600, 20, 800

2 0 0, -70, 100 1, 0, 0, 120 50, 120, 050

2 0 0, 0.100, 0 - 50, 120, 50

2 0 0, -70, -100 1, 0, 0, -120 50, 12, 50

The developed generator of X3D markup of bodies' models takes into account the following features of the GO. The lengths of the edges of the Box are equal to two meters by default. The origin of the CSGO is in its geometric center. The edges are parallel to the coordinate axes. The "size" field specifies the dimensions of a rectangular box along the X, Y, Z axes of the CSGO, for example, <Box size = '1 2 3' />.

The <Cylinder> node has a height of 2 meters by default, the radius of bottom is 1 m. The origin of the CSGO is in its geometric center. The axis Y is directed vertically up along the axis of the cylinder.

The axis of the cone coincides with the axis Y of its CSGO. The cone with its properties by default is located per meter below the horizontal plane OXZ of its CSGO and is per meter higher than this plane. In the following code the cone parameters can be omitted, because their values are equal to the default values: <Cone bottomRadius = '1' height = '2' />.

The <Sphere> node has the origin of the CSGO in its center. The "radius" field contains a numerical value of the radius of the sphere (by default it is 1 m) and should be greater than zero, for example, <Sphere radius = '7.2' />.

We can model each body of the MS by one or several GO. The centers of all GOs are located at the origin of the ACS of the body by default. The cylinder and the cone have a height, which is located along the ordinate axis of the ACS of the body. Therefore, if the GO is displaced concerning to the origin of the ACS of this body and the axis' of the cylinder and the cone are not located along the axis of ordinates, then the "rotation" and/or "translation" fields are used in the NT. The generator creates the following X3D markups based on the TPBM of robocar:

Listing 2. The fragment of the file «body_2.x3d» <Transform translation="0 0 -0.16" rotation="1 0 0 1.57"> <Shape> <Cylinder radius="0.06" height="0.02" /> <Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

Listing 3. The fragment of the file «body_3.x3d» <Transform translation="0 0 0.16" rotation="1 0 0 1.57"> <Shape> <Cylinder radius="0.06" height="0.02" /> <Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

Listing 4. The fragment of the file «body_4.x3d» <Transform translation="0 -0.015 0" rotation="0 0 1 0"> <Shape> <Cylinder radius="0.02" height="0.03" /> <Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

<Transform translation="-0.05 -0.03 -0.01" rotation="0 1 0 0"> <Shape> <Box size="0.1 0.01 0.01" />

<Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

<Transform translation="-0.05 -0.03 0.01" rotation="0 1 0 0"> <Shape> <Box size="0.1 0.01 0.01" />

<Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

Listing 5. The fragment of the file «body_5.x3d» <Transform rotation="1 0 0 1.57"> <Shape> <Cylinder radius="0.03" height="0.02" /> <Appearance> <Material diffuseColor="0 1 0"/> </Appearance> </Shape> </Transform>

4. The brief description of the MS modeling process

The TPMS and TPBM can be received automatically if we use the Web application "X3D Model Builder" MS (called further as software). In the software the linear dimensions are set in meters, the angular dimensions are measured in degrees by defaults. The user can apply other dimensions, for example, millimeters and radians. If the angles of rotation are entered in degrees in the input fields, they are automatically converted to radians before the calculations.

After the software loading the application window appears (called further the window), which is separated into 4 parts (see Fig. 4). At the top of the window there is the main menu line with the items File, Settings, Edit, Modes, Examples, Help. In the right part of the window there is a modeling menu (MM), the form of which depends on the operation mode and the modeling action being performed. At the bottom of the window there is a status bar that displays information about the current state of the modeling process. In the center of the window there is the modeling area (MA), which is surrounded by a black border. After loading of the software an absolute coordinate system (CSA) with an inserted box modeling the counting body will appear in the center of the MA. In the status bar "CSA is active" will be written. This CSA can be moved to any location of the MA. In the settings you can select units of measurement of linear and angular values.

To insert the GO into the CSA or ACS in the group "Edit GO" of the MM, you need to select the GO from the drop-down list. In the current version of the software the GO's list contains a box, a cylinder, a cone and a sphere. As a rule, a box is taken as the counting body, and it is used mostly in body models, so the box is inserted into the CSA and the ACS by default. After clicking the button "Insert GO in ACS" in the CSA or ACS a new GO will be added. To change the parameters of the GO you need to click the button "Change GO parameters". The menu for changing the parameters of the GO will appear under the group "Edit GO", the form of menu depends on the selected GO. For box these are the three input (text) fields into which you can enter the length (the size along the X axis), the height (the size along the Y axis), and the width (the Z-size) of the box.

The insertion of the ACS of the next body's model in the ACSB is performed in the same way as the insertion of the GO into the ACS. To do this, click on any GO that belongs to the ACSB. Then in the "Edit ACS" menu group you need to fill the input fields under the heading "Coordinates of origin of ACS in ACSB" and click the button "Insert ACS in ACSB". In the MA a new ACS with a box will appear. To move the ACS, you need to click the button "Move ACS relative to ACSB".

By clicking the left mouse button on the GO a selection of this GO and ACS is made, into which this GO is inserted. We can do the following: insert a new ACS into the ACSB, insert the GO into the ACS, copy the ACS and GO, move the ACS concerning the ACSB, move the GO concerning the ACS, remove the ACS from the ACSB, remove the GO from the ACS, remove the subsystem from the model.

In the current software version the MM can be in three states depending on the modeling process, the process of describing the KP, the process of forming the program movements of the MS bodies and the process of executing movements of the MS.

In the case of resuming the creation of the model we need select the item "Edit MS" in the menu "Edit" after opening the model. We need to describe the KP of the MS after completion of its modeling process. We must select the item "Describe KP" in the "Edit" menu and enter the KP codes into the MM, enter the direction cosines of their axes and the minimum and maximum values of the bodies' positions.

Fig. 4 shows the contents of the "Settings" menu. The first item reset the orientation of the scene. If we select the maximum linear dimension then all sliders defining the size of the GO will be divided into ten segments by 1/10 of the selected maximum value. The rounding accuracy specifies the number of decimal places when rounding the values of the movements of the ACS and the size of the GO displayed in the status bar.

The current version of the software is located in the "SYSTEL" folder containing the following folders: "html", "scripts", "Projects", "Settings", "Examples", "Help" and "css". The "css" folder contains style files. In the "Projects" folder we recommend to create project catalogs of the saved models. The "Settings" folder contains html files that store the program settings. The "Examples" folder contains created MS and RTC models. In the "Help" folder there are html documents with help information.

Let's describe the process of creating some KP of model of the MS "Cobra". The main dimensions of this MS are shown in Fig. 1.

We recommend to start modeling with the software configuration, in particular, from the selection of the maximum linear size and the sizes of the ACS axes. In our case the maximum linear dimension is one meter, because parts of mobile bodies do not exceed one meter. The ACS axis' sizes are 0.1 part of the maximum linear size by default.

Let's add cylinders that model the rack in the ACS. For this purpose in the menu group "Edit GO"

we select a cylinder from the GO selection list. We enter the coordinates of the insert of the GO's center in the ACS (0, 0.1, 0) and click the button "Insert GO in ACS". Let's change the size of the inserted cylinder. Press the button "Change GO parameters". We will write the length of the radius of 0.15 and the height of 0.2 in the appeared input fields. Let's select the box in the ACS by right-clicking the mouse button and click the button "Delete GO" and then click "OK" for confirmation. Let's insert the second cylinder in the ACS in the same way as the first one, but change the coordinates of the insert (0, 0.225, 0). Then we change the second cylinder's sizes as in the case with the first one: the radius is 0.125, the height is 0.05.

Let's insert the ACS of the first body of the manipulator into the CSA at the height of 0.475 concerning the rack basis. We enter the insert coordinates (0, 0.475, 0) in the input fields of the origin ACS in the ACSB in the menu group "Edit ACS" and click the "Insert ACS in ACSB" button. In this article the inserted ACS we will be denoted by the ACS(1). The first body will be modeled by two boxes and two cylinders. Therefore we will edit the size of the box inserted in the ACS(1) by default. For this we press the button "Change GO parameters". We will write in the appeared input fields the length of 0.02, the width of 0.02 and the height of 0.23. Let's move the box to the point with the coordinates (0.11, -0.09, 0). For this we will press the button "Move GO concerning to ACS" and write the values of the translation in the input fields. The second box has the same sizes as the first, so add it to the ACS(1) by copying. We will click the button "Copy GO" and enter the coordinates of the center of the GO in the ACS (-0.11, -0.09, 0), and then press the button "Insert GO". Now we will add the cylinder to the ACS(1). We select it from the list of the GO and enter the coordinates of the insert (0.09, 0, 0). Let's change the parameters of the cylinder: the radius is 0.01, the height is 0.02 and turn the cylinder on 90° around the Z axis. We use the button "Move GO concerning to ACS". In appeared menu we confirm mark of the rotation about the Z axis and enter the rotation angle in the input field. We will copy the received cylinder to the point with coordinates (-0.09, 0, 0).

Now let's insert a new ACS(2) in ACS(1). The coordinates of the ACS(2) coincide with the coordinates of the base so we write zeros in the input fields of the origin of ACS. The second body will be modeled with the box and the cylinder. Let's change the sizes of the box that inserted in the ACS(2): the length is 0.08, the width is 0.08, the height is 0.325. Move the box up to the point with the coordinates (0, 0.1925, 0). Insert the cylinder in the ACS(2) to the point (0, -0.07, 0). We will change the size of the cylinder: the radius is 0.08, the height is 0.2.

We will insert a new ACS(3) in the ACS(2). New ACS(3) has been moved concerning the ACS(2) by 0.65 up along the Y axis. After similar actions while creating the KP of 3-6 bodies we will get the "Cobra" model in Fig. 1c .

After the MS model has been created we need to switch into the mode of the KP's description, the window of which is shown in Fig. 5. In the menu to the right of the MA we need to specify the type of KP, the DCAKP, the minimum and maximum positions, the color for each body, and then click the "OK" button to save the data. The TPMS and TPBM are automatically generated, when the modeling program is closed.

КП(1):[Т НКОКП: 0 | 1 | | 0 ~| min: -90 max: 90 Цвет: 0.7 0 7 0.7

КГГ(2): | 0 | НКОКП: | 1 | | 0 0 mm:| 0 ]шах:| 400~| Цвет: ^0-7 || 0.7 ]| 0.7

KTTQ) О | НКОКП: | 0 | | -1 0 mm:| 0 ]шах:| 500~| Цвет: ^0-7 || 0.7 ]| 0.7

KH(4):| 7 I НКОКП: | 1 | | 0 0 mm:| 0 ]шах:| 70~| Цвет: ^0-7 || 0.7 ]| 0.7

_OK Отмена

Fig. 5. The window of program of KP description

5. Example of the X3D model of the RTC

According to the "bottom-up" technique we can create the X3D model of RTC in the following way. First we mentally divide the RTC into Np subsystems. Each subsystem is a separate MS, in which, as a rule, the base body of the 1st KP is stationary about the ground. The base body of the 1st KP of a separate MS has not been often based on the mobile body of another MS of this RTC. For example, in the present RTC the manipulator is based on hull of the robocar. Then the subsystems of the RTC are numbered 1, 2, ..., Np. And the MS(i) is separately considered, where i = 1, 2, ..., Np. Next TPMS(i) and the TPBM(i) are filled in for MS(i). Or its X3D model is created in the software "X3D Model Builder", from which TPMS(i), TPBM(i) is generated. Then the TP of the MS' placement (TPPMS) is filled in. The TPPMS forms the basis of creating of the TPRTC and corresponding X3D model of RTC. The application "Generator of the X3D model of MS" creates this TPRTC and X3D model of RTC.

The position of the ACS(0) of each MS in the RTC concerning the CS of its base is described in the TPPMS. This table has Np rows, where Np is a number of MS in the RTC.

The TPPMS' first column of the i-th row contains the number 0. It takes place, if the ACS(0) of MS(i) is fixed in the CSA, and "j.k", if the ACS(0) of MS(i) is placed on the k-th body of the MS(j). The second column of the i-th row contains the original coordinates of the ACS(0) of MS(i) which are relative to CS of the base. The third column of the i-th row has a dash or the rotation angle's vector of ACS(0) of MS(i). This vector is relative to the CS of the base.

In this example of the RTC Nc = 6, the MS(1) is the robocar, the MS(2) is the manipulator on the robocare's hull, the MS(3) is the robot "Cobra", the MS(4), MS(5) and MS(6) are the left, center and right lathes. The starting position of the robocar is the position of unloading the pallet with the work pieces. The multipack (the pallet) is used for the delivery of the work pieces from the warehouse and transportation of finished parts to the warehouse, in which six work pieces can be placed (Fig. 6).

Fig. 6. X3D model of RTC

The robot "Cobra" works in an angular coordinate system and provides loading and unloading of lathes. There is a delivery table for placing pallets with work pieces and finished parts. The TPPMS is shown in Table 8.

The TPRTC is generated on the basis of the TPPMS and TPMS of all six MS'. The TPRTC contains the initial parameters of the X3D generator of the RTC. The following positions of MS has been shown in the generated X3D-model of the RTC (Fig. 6): the MS(1) (the robokar) is located in front of the delivery table; the MS(2) (the manipulator is on the robocar's hull) has put a pallet with work pieces on the table; the MS(3) ("Cobra") has gripped the part from the left lathe; in the MS(5) (in the central

lathe) the protective shutter has been open; in the MS(6) (tin he right lathe) the shutter has been closed. The TPRTC is shown in Table 9.

Table 8

The TPPMS

Base Coordinates of the origin of the ACS(0) in the CS of base The rotation angle of ACS(0)

0 0, 60, 0 -

1.1 0, 0, 0 -

0 0, 0, 0 -

0 1400, 1, 0 0, 1, 0, -90

0 0, 1, -1400 -

0 -1400, 1, 0 0, 1, 0, 90

Table 9

The TPRTC

BN KP CPB DCAKP min max

0 4 0, 60, 0 0, 1, 0

1 1 0, 0, 0 0, 0, 1

1 1 0, 0, 0 0, 0, 1

1 1 -320, 0, 0 0, 1, 0

4 1 -75, -30, 0 0, 0, 1

1 1 0, 0, 0 0, 1, 0 -180 180

6 0 90, 350, 0 1, 0, 0 0 400

7 0 0, -105, 0 0, -1, 0 0 350

8 7 0, 0, 0 1, 0, 0 0 70

0 1 0, 475, 0 0, 1, 0 -180 180

10 1 0, 0, 0 1, 0, 0 -100 100

11 1 0, 625, 0 1, 0, 0 -160 160

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

12 1 0, 0, 0 0, 1, 0 -180 180

13 1 0, 625, 0 1, 0, 0 -130 130

14 1 0, 0, 0 0, 1, 0 -180 180

15 7 0, 250, 0 1, 0, 0 0 70

0 0 -700, 0, 0 1, 0, 0 0 700

0 8 0, 0, 0 0, 1, 0 0 25

0 0 -700, 0, 0 1, 0, 0 0 700

0 8 0, 0, 0 0, 1, 0 0 25

0 0 -700, 0, 0 1, 0, 0 0 700

0 8 0, 0, 0 0, 1, 0 0 25

Conclusion

The described method and software has been designed for the modelling of rigid bodies of MS in the RTC and allows to create X3D-models of RTC and their animation in various ways. The automatically generated X3D code for the RTC simulation can be imported into X3D-compliant software, for example, MATLAB, Mathcad, Maple, Mathematica and CAD systems, because X3D format is recognized as a web standard for many software and program environments.

The method of modeling and animation of the RTC was developed for using the monograph [3] for modeling systems and processes. At present this method is used to describe processes in the RTC, for example, assembly, dyeing, welding and in-process transportation. The eEPC or BPMN notation can be used to describe processes. The BPML description to synchronize individual subprocesses has been proposed. A correspondence between the logical operators controlling the processes and the X3D-code

templates has been found. The description of the methodology for modeling processes in the RTC and examples of its practical using is being prepared for publication.

Those who want to get acquainted with the developed software can contact the authors by e-mail [email protected].

The development of the described method and software is supported by the Foundation for Assistance to Small Innovative, contract No. 8699^/2015 dated 16.12.2015.

The work was supported by the Government of the Russian Federation (Act No. 2211, 16.03.2013), contract No. 02^03.21.0011.

1. Telegin A., Timofeev D., Chitalov D. X3D-modelirovanie mekhanicheskikh sistem: Opyt ispol'zovaniya X3D v modelirovanii mekhanicheskikh sistem: monografiya [X3D-Modeling of Mechanical Systems: Experience of Use of X3D in Modeling of Mechanical Systems: Monograph]. Chelyabinsk, SUSU, ETF, 2014. 66 p. Available at: http://elibrary.ru/item.asp?=22585700.

2. Telegin A., Timofeev D. [The Generator of X3D-Models of Mechanical Systems]. Science SUSU. Materials of the 67th Scientific Conference. Sections of Technical Science, 2015, pp. 17091715. Available at: http://dspace.susu.ru/xmlui/bitstream/handle/0001.74/6230/8.pdf?sequence=1

3. Voinov I., Pudovkina S., Telegin A. Modelirovanie ekonomicheskikh sistem i processov. Opyt postroeniya ARIS-modeley: monografiya [Modeling of Economic Systems and Processes. Experience in Constructing ARIS-Models: Monograph]. Chelyabinsk, SUSU, 2002. 392 p.

4. Telegin A., Timofeev D. Svidetel'stvo № 2015618268 Rossiyskaya Federatsiya. Prikladnaya programma dlya EVM "Generator X3D-modeli mekhanicheskoy sistemy": svidetel'stvo o gosudarstven-noy registratsiiprogrammy dlya EVM. № 2015613339; zayavl. 23.04.2015; zaregistr. 04.08.2015. [Certificate No. 2015618268, Russian Federation. Application Program for a Computer "X3D-models Generator of a Mechanical System". No. 2015613339, decl. 23.04.2015; registr. 04.08.2015].

WEB-ПРИЛОЖЕНИЕ ДЛЯ ПОСТРОЕНИЯ X3D-МОДЕЛИ РОБОТИЗИРОВАННОГО ТЕХНОЛОГИЧЕСКОГО КОМПЛЕКСА

И.В. Войнов, С.Г. Пудовкина, А.И. Телегин, Д.Н. Тимофеев

Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс, Россия

Предложена методика табличного описания состава, структуры, геометрических и кинематических параметров роботов и других механических систем (МС) роботизированных технологических комплексов (РТК), по которым автоматически генерируется html-файл с X3D-моделью РТК. Вводятся основные понятия и обозначения, используемые для формального описания произвольного РТК. X3D-разметка РТК выполняется на основе таблицы параметров МС, входящих в состав РТК. Эта таблица выступает в роли интерфейса между пользователем и приложением для моделирования РТК. X3D-модели тел могут генерироваться по умолчанию или на основе составленной таблицы параметров или в описанном процессе ручного моделирования МС, который не требует знаний использованных информационных технологий (XML, X3D, HTML, CSS, XSLT, JavaScript). Приведены примеры моделирования манипуля-ционных систем роботов с тремя и шестью степенями свободы. В качестве примера по методологии «снизу вверх» создана X3D-модель РТК механообработки, состоящего из трёх токарных станков, манипулятора «Кобра» и робокара с трёхстепенным манипулятором на борту.

Ключевые слова: РТК, X3D, web-приложение, робот, робокар.

References

Received 5 February 2018

УДК 004.896(32)

DOI: 10.14529/ctcr180201

Литература

1. Телегин, А.И. X3D-моделuрованuе механических систем: Опыт использования X3D в моделировании механических систем: моногр. / А.И. Телегин, Д.Н. Тимофеев, Д.И. Читалов; Юж.-Урал. гос. ун-т, ЭТФ. - Челябинск: ЭТФ, 2014. - 66 с. - http://elibrary.ru/item.asp?=22585700.

2. Телегин, А.И. Генератор X3D-моделей механических систем / А.И. Телегин, Д.Н. Тимофеев // Наука ЮУрГУ. Материалы 67-й научной конференции. Секции технических наук. - 2015. -С. 1709-1715. - http://lib.susu.ac.ru/ftd?base =SUSU_KONF&key=000537718&dtype =F&etype =.pdf.

3. Войнов, И.В. Моделирование экономических систем и процессов. Опыт построения ARIS-моделей: моногр. /И.В. Войнов, С.Г. Пудовкина, А.И. Телегин. - Челябинск: ЮУрГУ, 2002. - 392 с.

4. Свидетельство 2015618268 Российская Федерация. Прикладная программа для ЭВМ «Генератор X3D-модели механической системы»: свидетельство о государственной регистрации программы для ЭВМ / А.И. Телегин, Д.Н. Тимофеев; заявитель и правообладатель Федеральное государственное образовательное учреждение высшего профессионального образования «Южно-Уральский государственный университет» (национальный исследовательский университет) (ФГБОУ ВПО ЮУрГУ (НИУ)). - № 2015613339; заявл. 23.04.2015; зарегистр. 04.08.2015. - 1 с.

Войнов Игорь Вячеславович, д-р техн. наук, профессор кафедры автоматики, директор филиала, Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс; тай@ miass.susu.ru.

Пудовкина Светлана Геннадьевна, канд. техн. наук, доцент кафедры прикладной математики и ракетодинамики, Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс; [email protected].

Телегин Александр Иванович, д-р физ.-мат. наук, профессор кафедры автоматики, декан Электротехнического факультета, Южно-Уральский государственный университет, филиал в г. Миассе, г. Миасс; [email protected].

Тимофеев Дмитрий Николаевич, младший научный сотрудник кафедры автоматики, ЮжноУральский государственный университет, филиал в г. Миассе, г. Миасс; [email protected].

Поступила в редакцию 5 февраля 2018 г

ОБРАЗЕЦ ЦИТИРОВАНИЯ

Web Application for X3D-Model Creation of the Robotic Technological Complex / I.V. Voynov, S.G. Pudov-kina, A.I. Telegin, D.N. Timofeev // Вестник ЮУрГУ. Серия «Компьютерные технологии, управление, радиоэлектроника». - 2018. - Т. 18, № 2. - С. 5-18. DOI: 10.14529/ctcr180201

FOR CITATION

Voynov I.V., Pudovkina S.G., Telegin A.I., Timofeev D.N. Web Application for X3D-Model Creation of the Robotic Technological Complex. Bulletin of the South Ural State University. Ser. Computer Technologies, Automatic Control, Radio Electronics, 2018, vol. 18, no. 2, pp. 5-18. DOI: 10.14529/ctcr180201

i Надоели баннеры? Вы всегда можете отключить рекламу.