Module control method and module control system
Patent Information
- Application Number
- JP2022172841
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-10-28
- Publication Date
- 2025-08-20
- Estimated Expiration
- 2042-10-28
AI Technical Summary
Existing technologies require specialized knowledge of programming and electronic circuits to create systems with electronic modules, and correcting errors or modifying programs is time-consuming and complex, making it difficult for non-experts to easily create and maintain systems.
A module control system using a block editor, error checker, and coaching avatar in a virtual space to create and correct block programs, which are then converted for real control devices without requiring programming knowledge or complex wiring, allowing users to intuitively create and troubleshoot systems.
Enables users to create and control electronic systems without programming knowledge, quickly resolving errors and simplifying the creation process, reducing time and effort.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a module control method in which a control program (also referred to as an execution program in this specification) for a module (electronic device) created in a virtual space is stored in a control device arranged in real space via a network, and the module operates in real space as intended by a user, and to a module control system utilizing this method. [Background technology]
[0002] The rapid progress of ICT is bringing about changes in a wide range of aspects of our lifestyles and work styles. ICT literacy is now a required subject not only in the workplace but also in school education, taught as a class from the primary school level. In addition, computers and various modules (electronic devices) that were previously out of reach are now relatively easy to obtain.
[0003] For these reasons, an increasing number of people are thinking about building their own systems that would be useful in their daily lives. However, in order to combine various modules (electronic components) and create a convenient tool (system) that is useful in daily life, in addition to programming knowledge and specialized knowledge of electronic circuits, materials such as wires and soldering for assembling the electronic components, and tools are required, so it is not easy for anyone to easily build a system that is convenient for daily life.
[0004] The following Patent Document 1 relates to an electronic device for programming learning and a programming learning kit used for learning by children and students. The electronic device and programming learning kit described in Patent Document 1 enable children and students to learn that the turning on and off of an LED connected to an electronic circuit is controlled by programming, and that the turning on and off of the LED is executed by a switch control unit.
[0005] However, while the educational electronic device and programming learning kit described in Patent Document 1 enable users to understand programming and electronic circuits, they are unable to create systems that users would like to create in their daily lives or systems that would be interesting to have.
[0006] The following Patent Document 2 describes a conventional problem that in order to execute a user-created program, the program must be written into a control device, and writing such a program is not easy for a user, making it difficult to execute the created program. This technology solves this problem by controlling (operating) electronic components (modules) connected to a basic part (control device: microcomputer) according to a program created by the user.
[0007] However, in the patent document 2 below, it is necessary to create a program using HTML code and Java script, and it is not possible to create a program without knowledge of Java script and HTML code (knowledge of programming languages). Therefore, there is a problem that it is not easy for anyone to create a convenient system.
[0008] Furthermore, even if one has specialized knowledge of a programming language and can create a basic program, there is still the problem that it takes a lot of effort and time (huge costs) to verify the actual operation of the module, modify the program, or correct wiring errors before a specific module operates as intended using a control device that stores the program.
[0009] The following non-patent document 1 discloses a block editor, which is a program creation support tool that allows users to create programs without knowledge of HTML code or Java script, and a control device (microcomputer) that controls modules using the created programs. According to the following non-patent document 1, programs can be easily created without specialist knowledge of programming languages, and modules can be attached to the control device (microcomputer) and controlled without complex wiring or soldering.
[0010] However, this requires cumbersome tasks such as downloading the block editor, converting the block program created with the block editor into a program that can be executed by the control device, connecting the PC and control device with a designated connecting device, and transferring the converted executable program to the control device.
[0011] Furthermore, if there is a problem with the actual operation of the module, the cause must be identified, corrected using the block editor, and the actual operation of the module must be checked again, etc. This means that it takes a lot of effort and time (huge costs) to make the module in the real world work as intended using the program created in the virtual space.
[0012] The technology described in Non-Patent Document 2 below, like Non-Patent Document 1, is equipped with a program creation support tool, allowing programs to be created without knowledge of programming languages, and modules can be controlled by storing such programs in a control device (microcomputer). However, there are problems in that wiring is required to connect the modules and the control device, and there are restrictions on extension parts, making it difficult to put ideas into practice. In addition, Non-Patent Document 3 below discloses a control device (microcomputer) commonly known as Raspberry Pi, but there are problems in that the board of this control device does not have a power supply, so power wiring is required, and additional wiring is required to connect extension parts. [Prior art documents] [Patent documents]
[0013] [Patent Document 1] Patent No. 7049804 [Patent Document 2] Patent No. 6439954
[0014] [Non-Patent Document 1] https: / / schoomy.com / [Non-Patent Document 2] https: / / makecode.microbit.org / ?lang=j [Non-Patent Document 3] https: / / en.wikipedia.org / wiki / Raspberry_Pi Summary of the Invention [Problem to be solved by the invention]
[0015] Therefore, the object of the present invention is to provide a modular control system that allows anyone to intuitively start building a system that would be useful in daily life when they come up with it. More specifically, it is possible to create a program without knowledge of programming, and to assemble electronic components without knowledge of electronic circuits, connectors, modules, etc., and without materials and tools for wiring and soldering. It is also an object of the present invention to provide a modular control system that allows users to quickly solve problems that may occur when the built system does not operate as expected. [Means for solving the problem]
[0016] In order to solve the above problems, a first aspect of the present invention provides a virtual space including a plurality of virtual modules, a virtual control device to which the virtual modules are attached, a block editor which is a program creation support tool, an error checker which checks for errors in a block program created by the block editor, and a coaching avatar which supports solving problems in the block program, the virtual space being connected via a network, creating a block program for controlling the virtual module as desired using the block editor; The error checker checks the block program for errors, and if an error is found, the error is eliminated; The block program is converted by a program conversion tool into an executable program executable by a real control device arranged in a real space, and the executable program is stored in the real control device via a network; Attaching a real module to the real control device in a real space in the same manner as the attachment of the virtual module; controlling the real module by the real controller; If there is a problem with the control, the block program is corrected in the virtual space with the assistance of the coaching avatar; The method for controlling a real module in a real space using a program created in a virtual space is characterized in that the block program is converted into an executable program by the program conversion tool, the executable program is stored in the real control device, and the real module is controlled as desired.
[0017] After obtaining a certain authentication, the user enters the virtual space and creates a block program using a block editor, which is a program creation support tool, in a workshop in the virtual space. The details of the block editor will be described later, but anyone can intuitively create a block program using the block editor, even if they have no knowledge of programming languages.
[0018] The block program created by the user is checked for errors by an error checker. Each block has a specified concave or convex fitting shape, and a combination of blocks that does not match this fitting shape results in an error. The user can eliminate the error by correcting the block combination where the fitting shape displayed by the error checker does not match. The block program from which the error has been eliminated is converted by a program conversion tool via a network into an executable program that can be executed by a real control device, and is stored in a real control device (microcomputer) placed in real space via the network.
[0019] The user attaches the real module to a real control device, operates it, and checks its actual operation in the same way as attaching a virtual module in a virtual space. If a difference (problem) is found between the operation of the virtual module assumed by the user in the virtual space and the operation of the real module in the real space, the user can communicate the problem to a coaching avatar in the virtual space by voice, text, video, or the like, and receive support in solving the problem. This allows the problem to be solved quickly.
[0020] The coaching avatar in the virtual space can be a pre-generated artificial intelligence model that has learned user information, information on problems in block programs created in the block editor, and the methods and procedures for solving these problems (problem solving information). Specifically, a processor in the virtual space can play the role of a coaching avatar by using a large amount of information on problems and their solving information (learning data) and learning to respond to inquiries from users about solving problems using a learning algorithm. In addition, the coaching avatar can be the avatar of another user who enters the virtual space, or the avatar of a block editor instructor.
[0021] The block program, whose problems have been eliminated with the support of the coaching avatar, is rechecked for errors in the block combination by the error checker, converted into an executable program by the program conversion tool, and stored in the real control device via the network. As a result, the program (block program) created in the virtual space can be used to control real modules in the real space as desired.
[0022] In order to solve the above problems, a second aspect of the present invention provides a virtual space that includes a plurality of virtual modules, a virtual control device to which the virtual modules are attached, a block editor that is a program creation support tool, an error checker that checks for errors in a block program created by the block editor, and a coaching avatar that supports solving problems in the block program, the virtual space being connected to a user via a network; a program conversion tool for converting the block program into an executable program that can be executed by a real control device arranged in a real space; an actual control device in which an execution program converted by the program conversion tool is stored; A real module that is installed on the real control device in the same manner as the virtual module that is installed on the virtual control device in the virtual space. The present invention relates to a control system for a real module in a real space using a block program created in a virtual space, the control system comprising:
[0023] A coaching avatar in a virtual space is, for example, a pre-generated artificial intelligence model that has learned user information, information on defects in block programs created in the block editor, and the methods and procedures for resolving these defects (defect resolution information). Specifically, a processor in the virtual space can play the role of a coaching avatar by using a large amount of defect information and its resolution information (learning data) and learning to respond to inquiries from users about resolving defects using a learning algorithm. In addition, the coaching avatar may be the avatar of another user who enters the virtual space, or the avatar of a block editor instructor.
[0024] It is preferable to provide a virtual module mounting state display unit that displays the mounting state of the virtual modules mounted on the virtual control device in conjunction with the creation of the block program by the block editor. The virtual module mounting state display unit allows the combination of the block programs to be visually grasped. Effect of the Invention
[0025] According to the present invention, when one comes up with a system that would be useful in daily life, anyone can start building that system. In other words, a program can be created without knowledge of programming, electronic components can be assembled without knowledge of electronic circuits, materials for wiring and soldering, and tools, and even if the created system has a problem, the problem can be solved in a short amount of time. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0026] The embodiment of the present invention will be described in detail with reference to the drawings, but the present invention is not limited thereto. Fig. 1 is an overall view of the system of the present invention, that is, an overall view of a control system of real modules arranged in a real space by a block program created in a virtual space. The present invention includes a real space 10 and a virtual space 20, and the real space 10 includes a user 110, a real control device 120, a program conversion tool 130, a real module 140, and a router 150. The virtual space 20 includes a block system 200 including a block editor 201, a product database 202, and an error checker 203, a coaching avatar 210 that supports solving problems in the block program, a virtual control device 220 to which a virtual module is attached, a virtual module 230, and a user management database 250.
[0027] The block editor 201 that constitutes the block system 200 is a program creation support tool that enables the creation of programs without knowledge of programming languages. The details will be described later, but for example, to create a program that sounds a buzzer at a specified time, the tool allows the creation of a program by combining a block that obtains the current time, a block that displays the current time, and a location block that indicates the location of the virtual control device where the buzzer to be sounded is attached, with a base block.
[0028] When creating a program using the block editor 201, it is possible to create the program by reusing a block program that has already been created using the block editor. Block programs that have already been created are stored in the product database 202. The block editor 201 is composed of a number of blocks, each of which has a mating portion of a convex portion and a concave portion of a predetermined shape at its end. A block program is created by combining a block having such a convex portion of a predetermined shape with a mating concave portion, but a combination in which the mating shapes do not match will result in an error in the block program. The error checker 203 checks for such errors.
[0029] 2 is a sequence diagram showing the flow of a series of procedures and the relationship with the devices when a user uses this control system. To use this control system, a user 110 first accesses a virtual space 20 using his / her own personal computer or smartphone, has his / her permission for use checked by a user management database 250, and enters the virtual space 20. In the virtual space 20, there are multiple users and a coaching avatar 210 that supports how to use a block editor 201, the creation of block programs, and the resolution of problems.
[0030] Here, the coaching avatar 210 is, for example, a pre-generated artificial intelligence model that has learned user information, past defect information, and the method and procedure for resolving the defect (defect resolution information). Specifically, it is a processor in a virtual space that uses a large amount of defect information and its resolution information (learning data) and learns through a learning algorithm to be able to respond to inquiries from users about resolving defects. As another example, it may be an avatar of another user who has entered the virtual space, or an avatar of a block editor instructor.
[0031] A user 110 uses a block editor 201 to create a block program for controlling a desired module in, for example, a workshop in the virtual space 20. When creating a block program, it may be possible to create it by combining it with a previously created block program stored in a product database 202 as described above (S1). The created block program is checked by an error checker 203 to see if there is an error in the block combination (S2), and if an error is detected (S3), the part where the block combination is incorrect is displayed to the user, and the user corrects the block combination at the erroneous part (S3).
[0032] Most of the errors detected by the error checker 203 can be corrected by the user himself, but if he is confused, he may ask the coaching avatar 210 for help and correct the error. A request for help from the coaching avatar 210 may be made by raising a flag (Help Flag) requesting help by text or by voice. The block program from which the error has been corrected by the error checker 203 is converted by the program conversion tool 130 into an executable program executable by the real control device 120 (S4), and the executable program is stored in the memory of the real control device 120 connected to the router 150 by Wi-Fi via the network (S5). The user 110 mounts the real module 140 to the real control device 120 in the same manner as the virtual module 230 mounted to the virtual control device 220.
[0033] After the mounting of the real module 140 on the real control device 120 is completed, the real operation of the real module is confirmed (S7). The real operation (operation) of the real module is not as expected, for example, the user expects the current time to be displayed and the LED to blink at the specified time, whereas the actual operation shows the current time on the display and the LED lights up at the specified time but does not blink. Such a malfunction is not detected by the error check by the error checker 203 described above.
[0034] When such a problem occurs, a flag requesting assistance (Help Flag) is raised and the details of the problem are communicated by voice or text, or a video of the actual module in operation is sent to the coaching avatar 210, assistance is received in solving the problem, and the block program is corrected by the block editor 201 (S8).
[0035] The block program with the corrected defect is checked for errors again by the error checker 203, converted into an execution program by the program conversion tool 130, and stored in the memory of the real control device 120 (S2 to S5). The actual operation of the real module 140 is then checked, and if there are no defects, it becomes a completed product (S9). If the defect has not been resolved, steps S1 to S5 are repeated again. This allows the real module 140 placed in the real space to be controlled as the user desires using the block program created in the virtual space. EXAMPLES
[0036] 3 is an example of a block program created using the block editor 201 according to an embodiment of the present invention. This block program blinks an LED five times when it is time for elementary school students to leave home for school (7:15 a.m.) and shows the temperature at that time on the display. The blinking of the LED and the display of the temperature are repeated until the elementary school students press the stop switch. This is block program 2000.
[0037] As shown in Fig. 3, the block program 2000 is composed of a main block program 2100 in Fig. 3(a), a call block program 2200 in Fig. 3(b), and a setting block program 2300 in Fig. 3(c). The setting block program 2300 is a setting block that specifies the Internet connection that is set up once initially, such as the connection setting with the router 150. The call block program 2200 is a subroutine block that is called from the main block program 2100 and causes an LED to blink.
[0038] Fig. 4 shows a combination of blocks constituting the main block program 2100, and Fig. 5 shows an example of the classification of blocks in the block editor 201. As shown in Fig. 5, the multiple blocks constituting the block editor 201 are broadly divided into four types: 1) routine blocks, 2) module blocks, 3) data operation blocks, and 4) Internet communication blocks. The routine blocks are made up of a main routine block and a subroutine block, etc. The module blocks are made up of a sensor module block, a switch module block, etc., the data operation blocks are made up of a variable setting block, a number block, etc., and the Internet communication blocks are made up of a time specification block, an API (Application Programming Interface) block, etc.
[0039] The main block program 2100 shown in FIG. 4, which is created by combining a plurality of these blocks, will be described below. First, the board block 2102 is combined with the main routine block 2101 to specify the type of real control device 120 to be used in the real space (there are a plurality of types of control devices depending on their functions and specifications). For example, if the real control device 120 has an Internet connection function, the board block 2102 is combined, and if the real control device 120 does not have an Internet connection function, the board block 2102a is combined (not shown in FIG. 5). In addition, since the real control device 120 specified varies depending on the number of real modules to be mounted (the number of connection interfaces (USB connection terminals in this embodiment) of the real modules that the control device has), the corresponding board block is selected and combined. In this embodiment, the real control device 120 has an Internet connection function and the number of real modules to be connected is four.
[0040] Next, the variable setting block 2103 of the data manipulation block is set to 1 and combined with the main routine block 2101. Next, the time specification block 2106 is combined with the time API block 2118, which belongs to the Internet communication block classification. The time specified here is 7:15 on October 15, 2022 (the time when elementary school students leave home), and the LED will light up at this time.
[0041] Next, in order to stop the LED from lighting up and reset it to its initial state when the stop switch is pressed, an installation location designation block 2108 that specifies the location (upper left) of the actual control device 120 where the switch will be installed is combined with a switch module block 2107 belonging to the module block, and an initialization block 2110 is combined with this.
[0042] Next, to create a program to blink the LED five times, a numerical value block 2113 for repeating blinking five times is combined with subroutine block 2111. Also, a block 2114 for calling a call block program 2200 for blinking the LED is combined with subroutine block 2111, and these are combined with a time API block 2118.
[0043] Next, a sensor module block 2117 that measures air temperature is combined with a display block 2116 that belongs to the module block that displays the time, and these are combined with a time API block 2118. The main block program 2100 is then completed by combining the time API block 2118 with the main routine block 2101.
[0044] Fig. 6 is a diagram showing a combination of each block constituting the setting block program 2300 and a combination of each block constituting the call block program 2200. The setting block program 2300 shown in Fig. 6(a) can be set by combining a setup block 2305 with a Wi-Fi block 2301 for setting a Wi-Fi password and the like.
[0045] The call block program 2200 first combines a call name block 2201, an installation location designation block 2203 that designates the location of the actual control device where the LED is to be installed (the lower right in this embodiment), and an LED lighting module 2204 that lights up the LED with a custom block 2208.
[0046] Next, combine blocks that are illuminated for 1000 milliseconds by delay block 2206, and combine these with homemade block 2208. Similarly, create a combination of blocks whose LEDs do not illuminate (not shown in FIG. 6(d)), and combine it with homemade block 2208. Then, combine call name block 2201 with homemade block 2208 so that main routine block 2101 can call call block program 2200, and the call block program 2200 is completed.
[0047] 7 is a diagram showing a virtual module mounting state display section that displays the state in which a virtual module is mounted on the virtual control device 220 in accordance with the creation of a block program. In accordance with the creation of a block program by the block editor 201, the mounting states of the temperature sensor module 140-2 at the top right of the virtual control device 220, the LED module 140-3 at the bottom right, the stop module 140-1 at the top left, and the temperature display module 140-4 at the bottom left are displayed one by one. The virtual module mounting state display tool that displays the mounting state of the virtual module 230 on the virtual control device 220 allows the user to visually recognize the creation status of the block program.
[0048] In this way, for example, at 7:15 on October 15, 2022, when elementary school students arrive at school, the LED attached to the lower right of the real control device 120 lights up, the temperature detected by the temperature sensor attached to the upper right of the mounting device 120 is displayed on the display attached to the lower left of the real control device 120, and the LED continues to blink until the elementary school student presses the stop switch attached to the upper left of the real control device 120, and the current temperature is displayed on the display. In other words, the real module 140 arranged in the real space 10 can be controlled as desired by the block program created in the virtual space 20.
[0049] 8 is a block program conversion explanatory diagram that explains how a block program created with the block editor is converted into an execution program by the program conversion tool 130. When a board block 2102 is combined with a main routine block 2101, character coding is performed as void setup(){}, void loop(){} through program conversion. This means that the setup process is executed once the first time, and then the loop process is executed permanently. By combining the board block 2102 with the main routine block 2101, a character code that recognizes the device specifications of the actual control device 120 is coded.
[0050] When an LED block 2202 is combined with an installation location designation block 2203 and a light-up block, the LED installation location is designated as the lower right connection terminal (USB) of the real control device 120, and program conversion character codes the pin number designation as pinMode(10,output) of the real control device 120. Also, depending on the combination of modules with and without light-up LEDs by the program conversion tool, light-up LEDs are character coded as "digitalWrite(10,Low)" and non-light-up LEDs are character coded as "digitalWrite(10,High)". In conjunction with the creation of the block programs, virtual modules 230 are sequentially installed in the virtual control device 220 as shown in FIG. 7.
[0051] Fig. 9 is a diagram showing the block configuration and external appearance of a real control device 120 according to one embodiment of the present invention. The real control device 120 is a palm-sized microcomputer. As shown in the block diagram of Fig. 9(a), the real control device 120 includes a control unit 121, a communication unit 122, a power supply unit 123, and a connection terminal 124 which is an external interface. The control unit 121 includes a CPU, memory (ROM, RAM), and an input / output unit (IO).
[0052] The communication unit 122 connects to the Internet via Wi-Fi or the like, and stores an execution program in memory in response to an instruction from the control unit 121. As shown in FIG. 9(b), the power supply unit 123 is integrally provided on the back side of the board on which the control unit 121 and the like are formed, and is powered by two dry batteries. The connection terminal 124, which is an external interface, is provided with four USBs, and four modules can be connected. Note that although the actual control device 120 of this embodiment has four connection terminals, it is also possible to control four or more modules by selecting a control device according to the number of modules to be controlled, and the control device can be specified by the board block. [Brief description of the drawings]
[0053] [Figure 1] 1 is an overall view of a control system for modules arranged in a real space using a program created in a virtual space according to an embodiment of the present invention; [Diagram 2] 1 is a sequence diagram showing a series of procedures and device arrangement when a user uses the control system according to one embodiment of the present invention. FIG. [Diagram 3] 2 is an example of a block program created using the block editor 201 according to an embodiment of the present invention. [Figure 4] FIG. 21 shows a combination of blocks constituting a control program 2100 according to an embodiment of the present invention. [Diagram 5] FIG. 2 is a diagram showing an example of classification in a block editor 201 according to an embodiment of the present invention. [Figure 6]2 shows a combination of blocks constituting a setting control program 2300 according to an embodiment of the present invention, and a combination of blocks constituting a call control program 2200. FIG. [Figure 7] 11 is a diagram of a module mounting state display section that displays a state in which a virtual module is mounted on a virtual control device in accordance with the creation of a block program according to an embodiment of the present invention. FIG. [Figure 8] FIG. 2 is a block program conversion explanatory diagram for explaining conversion of a block program into an execution program according to an embodiment of the present invention. [Figure 9] FIG. 1 is a block diagram of an actual control device according to an embodiment of the present invention, and an external view thereof; [Explanation of symbols]
[0054] 10: Real Space 20: Virtual Space 110:User 120: Actual control device 130: Program conversion tool 140: Real module 150: Router 200: Block System 201: Block Editor 202: Product Database 203: Error checker 210: Coaching Avatar 220: Virtual control device 230: Virtual module 250: User management database 2000: Control program 2100: Main block program 2200: Call block program 2300: Setting block program
Claims
1. a step of connecting via a network to a virtual space including a plurality of virtual modules, a virtual control device to which the virtual modules are attached, a block editor as a program creation support tool, an error checker that checks for errors in the block program created by the block editor, and a coaching avatar that supports solving problems in the block program; creating a block program using the block editor to control the virtual module as desired; checking the block program for errors by the error checker, and if an error is detected, notifying the user and prompting the user to correct the error; a step of converting the block program into an executable program executable by a real control device arranged in real space using a program conversion tool, and storing the executable program in the real control device via a network; a step of attaching a real module to the real control device in real space in the same manner as the attachment of the virtual module; controlling the real module with the real controller; and if there is a problem with the control, correcting the block program in the virtual space with the support of the coaching avatar; a program conversion tool for converting the block program into an executable program, the program conversion tool being used to store the program in the real control device, and the real module being controlled as desired;
2. The method for controlling a real module in a real space using a program created in a virtual space, as described in claim 1, characterized in that the coaching avatar is a pre-generated artificial intelligence model that has learned user information and defect information and defect resolution information of a block program created with a block editor.
3. 3. A method for controlling a real module in a real space using a program created in a virtual space, as described in claim 2, further comprising a virtual module installation status display unit that visually displays the installation status of the virtual module in conjunction with the creation of the block program.
4. a virtual space to which a user connects via a network, the virtual space comprising: a plurality of virtual modules; a virtual control device to which the virtual modules are attached; a block editor as a program creation support tool; an error checker that checks errors in a block program created by the block editor; and a coaching avatar that supports solving problems in the block program; a program conversion tool for converting the block program into an executable program that can be executed by a real control device arranged in real space; an actual control device in which the execution program converted by the program conversion tool is stored; A real module that is installed in the real control device in the same way as the virtual module that is installed in the virtual control device in the virtual space A control system for a real module in a real space using a program created in a virtual space, comprising:
5. A control system for a real module in a real space using a program created in a virtual space, as described in claim 4, characterized in that the coaching avatar is a pre-generated artificial intelligence model that has learned user information and defect information and defect resolution information of a block program created in a block editor.
6. 6. A control system for a real module in a real space using a program created in a virtual space, as described in claim 5, further comprising a virtual module installation status display unit that displays the installation status of the virtual module in conjunction with the creation of the block program.