Control device and control signal transmission device

By using virtual codes for changing counts per unit within the control device to verify the actual commands, the problem of easy copying of command codes is solved, and effective protection of control rights is achieved.

CN113396371BActive Publication Date: 2025-03-11SSENSTONE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202080012903.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-02-08
Filing Date
2020-02-07
Publication Date
2025-03-11
Estimated Expiration
2040-02-07

AI Technical Summary

Technical Problem

In the prior art, the command code of the control device is easily easily identified and copied by others, resulting in the acquisition of control.

Method used

By using virtual codes that change per unit count within the control device, searching and verifying actual commands, preventing others from seizing control power by transmitting control signals of specific commands.

Benefits of technology

It effectively prevents others from seizing control by obtaining command codes at specific points in time, ensuring the safety of the control device.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113396371B_ABST
    Figure CN113396371B_ABST
Patent Text Reader

Abstract

The present invention relates to a control system, method and program based on virtual code, control device and control signal generating means. According to an embodiment of the present invention, the control method based on control signal including virtual code comprises: receiving control signal, a control module receives control signal generated at a specific time point from control signal generating means, wherein the control signal includes a specific virtual code, wherein the virtual code is generated by combining multiple detail codes according to a specific rule; the control module extracts multiple detail codes included in the virtual code; and searching command, the control module searches for a storage location including a specific command based on multiple detail codes, wherein the virtual code is generated differently according to the command at the same time point, and is generated differently per unit count, wherein the control module is characterized in that it is built-in or installed in a control device, and if a virtual code generated normally per unit count is received, a search start point and a search path are determined based on the multiple detail codes, and the storage location is searched, wherein the per unit count is set to a specific time interval and changes as the time interval passes.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to an unmanned mobile body control system, method and program, control device and control signal generating means based on virtual code. Background Art

[0002] Generally speaking, in order to control a control device (e.g., an Internet of Things (IoT) device or an unmanned moving object), a wireless communication signal is sent using another terminal device (e.g., a mobile terminal with a specific application installed, a remote controller, or a controller, etc.). The terminal device includes a control command in the wireless communication signal and transmits it to the control device.

[0003] However, if a specific command is simply converted into a code and transmitted, it is possible for others to easily identify the command code for the control device, and to control the control device by transmitting the same command using the same wireless communication signal (for example, an RF signal of the same frequency when the control signal is transmitted using an RF signal). In other words, the user's control over the control device may be taken away by others.

[0004] Therefore, a control system, method and program are needed to prevent others from seizing control of the control device by obtaining the command code at a specific time point when the command code changes at each time point. Summary of the invention

[0005] Technical issues

[0006] The present invention aims to provide a control system, method and program, control device and control signal generating means based on virtual code, which prevents others from seizing control by transmitting control signals including specific commands by changing each unit count and utilizing virtual codes distinguished according to the commands to search and verify the actual commands within the control device.

[0007] The problems to be solved by the present invention are not limited to the above-mentioned problems, and other problems not mentioned will be clearly understood by those skilled in the art from the following description.

[0008] Technical Solution

[0009] According to one embodiment of the present invention, a control device includes: a wireless communication module, which receives a control signal transmitted by a control signal generating means at a specific time point, wherein the control signal includes a virtual control command as a specific virtual code; a control module, which extracts the virtual control command from the control signal and searches for an actual control command corresponding to the virtual control command; and a control command calculation module, which calculates individual control commands for controlling one or more drive units based on the actual control command, wherein the virtual control command for each actual control command is generated by changing per unit time, and wherein, when the actual control command includes a first control command and a second control command, the virtual control command for the first control command is generated so as not to be repeated with the virtual control command for the second control command.

[0010] In addition, as another embodiment, the control module includes: a detail code extraction unit, which extracts multiple detail codes included in the virtual control command; and a command search unit, which searches for a storage location including a specific actual control command based on the multiple detail codes, wherein the virtual control command is generated by combining a first code and a second code included in the multiple detail codes according to a specific rule, wherein the first code and the second code are generated differently according to the actual control command at the same time point, and are generated differently per unit count.

[0011] In addition, as another embodiment, the command search unit is characterized in that when it receives a virtual control command normally generated per unit count, it judges a location moved from the starting location corresponding to the first code along the search path corresponding to the second code as the storage location, wherein the unit count is set to a specific time interval and changes as the time interval passes.

[0012] In addition, as another embodiment, the control module further includes: a virtual code verification unit, which verifies whether the virtual code is normally generated at a current time point based on the one or more detail codes.

[0013] Furthermore, as another embodiment, the control module and the control command calculation module are characterized in that they are built into one chip as software.

[0014] In addition, as another embodiment, it further includes: a sensor module, which includes one or more sensors and calculates a state estimation value of the control device based on the sensing data, wherein the control command calculation module is characterized in that it calculates the individual control command by reflecting the state estimation value in the actual control command obtained from the control module.

[0015] According to another embodiment of the present invention, a control device includes: a control command acquisition module, which obtains an actual control command based on a user's operation input; a control signal generation module, which generates a virtual control command in real time based on the actual control command; and a wireless communication module, which transmits the virtual control command to the control device based on a specific protocol, wherein the virtual control command for each actual control command is generated per unit time change, and wherein, when the actual control command includes a first control command and a second control command, the virtual control command for the first control command is generated so as not to be repeated with the virtual control command for the second control command.

[0016] Furthermore, as another embodiment, the virtual control command is generated to have the same code length as the actual control command.

[0017] Furthermore, as another embodiment, the virtual control command is generated by combining a plurality of detail codes for searching for a storage location of the actual control command in a control module in the control device.

[0018] Furthermore, as another embodiment, the virtual control command is generated by using an inherent value of the control device connected to the control device as seed data.

[0019] Beneficial Effects

[0020] According to the present invention as described above, it is possible to prevent others from seizing control rights by transmitting commands to the control device. That is, as long as the user's control signal generating means is not identically copied, others cannot generate virtual codes that conform to specific commands at a specific time point, thereby preventing the control device from being controlled by a device other than the control signal generating means that matches the control device.

[0021] Furthermore, since there is no duplication of dummy codes irrelevant to the timing for different commands, there is no problem of erroneous grasp of commands in the control module. BRIEF DESCRIPTION OF THE DRAWINGS

[0022] Figure 1 4 is a diagram showing a structure of a device control system based on virtual code according to an embodiment of the present invention.

[0023] Figure 2 FIG. 1 is a diagram showing the internal structure of a control signal generating means according to an embodiment of the present invention.

[0024] Figure 3 FIG. 4 is a diagram showing the internal structure of an unmanned mobile object control signal transmission device according to an embodiment of the present invention.

[0025] Figure 4 and Figure 5FIG. 4 is a diagram showing the internal structure of a control device according to an embodiment of the present invention.

[0026] Figure 6 FIG. 1 is a diagram showing the internal structure of an unmanned mobile object controlled based on virtual control commands according to an embodiment of the present invention.

[0027] Figure 7 FIG. 4 is a flowchart of a device control method based on virtual code according to an embodiment of the present invention.

[0028] Figure 8 4 is a flowchart of a virtual code-based device control method including a command search process according to k-gon cloud movement according to an embodiment of the present invention.

[0029] Fig. 9 FIG. 4 is an exemplary diagram of a storage location search algorithm for searching for a command storage location by moving a k-gon cloud according to an embodiment of the present invention.

[0030] Fig.10 The flowchart of a device control method based on a virtual code including a command search process for moving on a track according to an embodiment of the present invention.

[0031] Fig.11 2 is an exemplary diagram of a storage location search algorithm for searching for a command storage location by moving on a track based on a detail code according to an embodiment of the present invention.

[0032] Fig.12 FIG. 1 is an exemplary diagram of a method of moving a command search time point by utilizing a virtual security code according to an embodiment of the present invention.

[0033] Figures 13 to 15 The figure is a flowchart of a device control method based on a virtual code by a control module according to another embodiment of the present invention.

[0034] Figure 16 to Figure 17 The flowchart of the control method based on virtual code is a process of generating virtual code by a control signal generating module according to an embodiment of the present invention. DETAILED DESCRIPTION

[0035] Hereinafter, preferred embodiments of the present invention will be described in detail with reference to the accompanying drawings. With reference to the embodiments described in detail below and the accompanying drawings, the advantages and features of the present invention and the methods for achieving the same will become clearer. However, the present invention is not limited to the embodiments disclosed below, and can be implemented in different forms, and the present embodiments are only provided to complete the disclosure of the present invention, so that the technical personnel of the technical field to which the present invention belongs can fully understand the scope of the invention, and the present invention is defined by the scope of the claims. Throughout the specification, the same figure numerals refer to the same constituent elements.

[0036] Unless otherwise defined, all terms (including technical and scientific terms) used in this specification may be used as the meanings commonly understood by those skilled in the art to which the present invention belongs. In addition, the terms defined in commonly used dictionaries shall not be interpreted excessively or excessively unless otherwise specifically defined.

[0037] The terms used in this specification are used to describe the embodiments and are not intended to limit the present invention. In this specification, as long as it is not specifically mentioned in the sentence, the singular also includes the plural. The "comprises" and / or "comprising" used in this specification does not exclude the existence or addition of one or more other constituent elements in addition to the mentioned constituent elements.

[0038] In this specification, the term "control device" includes all devices controlled by wireless communication. For example, the control device may include an unmanned vehicle, home appliances (eg, TV, speaker, air conditioner, etc.), and the like.

[0039] In this specification, a "control signal" means a wireless communication signal transmitted for the purpose of controlling and monitoring a control device.

[0040] In this specification, "command" means content predetermined as a specific control command for a control device. "Command" can be generated from specific code data.

[0041] In this specification, a "virtual code" is a code temporarily generated to be connected to a command, and is a code of a specific number of digits composed of characters including numbers.

[0042] In this specification, "character" is a component constituting a code, including all or part of uppercase letters, lowercase letters, numbers, special characters, etc.

[0043] In this specification, "code" means a character string of character arrangement.

[0044] In this specification, a "detailed code" means a part of a code included in a virtual code. That is, when a virtual code is generated by combining a plurality of codes generated separately, a detailed code means an individual code generated separately and constituting the virtual code.

[0045] In this specification, a "unit count" is a unit that is set to a specific time interval and defined to change as the time interval passes. For example, a 1-count unit can be set to a specific time interval (eg, 1.5 seconds) and used.

[0046] In this specification, a "virtual code generation function" means a function for generating a virtual code.

[0047] Hereinafter, a detailed description of a control system, method and program, control device and control signal generating means based on a virtual code according to an embodiment of the present invention will be recorded with reference to the accompanying drawings.

[0048] Figure 1 4 is a connection diagram of a control system based on a virtual code according to an embodiment of the present invention.

[0049] Figure 2 FIG. 4 is a diagram showing the internal structure of a control signal generating means according to another embodiment of the present invention.

[0050] Figure 4 FIG. 4 is a diagram showing the internal structure of a control device according to an embodiment of the present invention.

[0051] Reference Figure 1 , Figure 2 and Figure 4 , according to an embodiment of the present invention, a control system 1 based on virtual code includes: a control signal generating module 100; and a control module 200.

[0052] The control signal generation module 100 performs the function of generating a virtual code including information that the control module 200 can search for commands. That is, the control signal generation module 100 generates a virtual code based on a virtual code generation function. At this time, the control module 200 searches for commands based on virtual codes, so the control signal generation module 100 may not store commands. Thus, it is possible to prevent the connection relationship between commands and virtual code generation functions from being leaked through hacker attacks on the control signal generation module 100, etc. The specific description of the virtual code generation function will be described later. The control signal generation module 100 may be included in a control signal generation means for controlling a control device (for example, a controller connected to a control device via wireless communication, an application for controlling a control device installed or built into a mobile terminal, etc.).

[0053] The control module 200 is built into or installed in the control device. The control module 200 performs the function of searching for commands based on the virtual code generated and provided by the control signal generation module 100. The control module 200 may store the same virtual code generation function as the control signal generation module 100 so as to search for commands from the virtual code received by the control signal generation module 100. A detailed description of the manner in which the control module 200 searches for commands based on the virtual code will be described later.

[0054] In addition, the control module 200 performs the function of verifying whether the virtual code is the code normally generated by the control signal generation module 100. The specific description of the way in which the control module 200 determines whether the virtual code is normal will be described later.

[0055] The control module 200 receives the virtual code through a control signal including the virtual code transmitted from the control signal generating means including the control signal generating module 100. To this end, the control signal generating means and the control device may transmit and receive the control signal through various wireless communication methods.

[0056] That is, as an embodiment, the control signal generating means includes a first wireless communication module 120, and the control device includes a second wireless communication module 220. The second wireless communication module 220 receives the control signal generated by the control signal generating module 100 from the first wireless communication module 120. In addition, when the control device provides the state information of the control device to the control signal generating means, the second wireless communication module 220 transmits a wireless communication signal including the state information to the first wireless communication module 120. The first wireless communication module 120 and the second wireless communication module 220 can transmit and receive signals through various communication methods such as Bluetooth, LTE, 3G, Wi-Fi, RF, etc.

[0057] In addition, as another embodiment, the first wireless communication module 120 and the second wireless communication module 220 perform the generation of command verification code and verification process. That is, the first wireless communication module 120 can generate the command verification code in the same way as the control signal generation module 100 generates the virtual code. That is, the code generation function used for verification is identically applicable to the virtual code generation method described later (for example, the control signal generation module generates the virtual code according to the virtual code generation function, and the control module searches for the actual command corresponding to the virtual code), so that the first wireless communication module 120 generates the command verification code, and the second wireless communication module confirms whether the command verification code is normally generated to confirm whether it is transmitted by the control signal generation means matching the control device. The second wireless communication module 220 verifies the command verification code in the same way as the control module 200 verifies the virtual code. The command verification code generation function can apply rules different from the virtual code generation function. At this time, the first wireless communication module 120 transmits the final code in the form of a combination of the virtual code and the command verification code to the second wireless communication module 220, and the second wireless communication module 220 separates the virtual code and the command verification code from the final code, and then performs the verification process by using the command verification code. The final code can be generated according to a specific rule for combining the command verification code and the virtual code, and the first wireless communication module 120 and the second wireless communication module 220 include the same combination rule.

[0058] Reference Figure 2According to an embodiment of the present invention, the control signal generating means includes: a control signal generating module 100 and a first wireless communication module 120. The control signal generating means may be a device having a program corresponding to the control signal generating module 100 embedded therein, or having a program or application corresponding to the control signal generating module 100 installed therein. For example, the control signal generating means may be a smart phone having an application corresponding to the control signal generating module 100 installed therein, or a wireless controller having the control signal generating module 100 embedded therein.

[0059] The control signal generation module 100 generates a virtual code according to a control command input by a user. As an embodiment, the control signal generation module 100 may include: a user command receiving unit 101; a virtual code generating unit 102; and a detail code generating unit 103.

[0060] The virtual code generating unit 102 generates a virtual code by combining one or more detail codes. As an embodiment, the virtual code is generated by combining multiple detail codes according to a specific rule.

[0061] That is, as an embodiment, the virtual code generation function includes all or part of the detail code generation function and the detail code combination function. The detail code combination function is a rule for combining multiple detail codes. Various methods can be applied as a method of generating a virtual code by combining multiple detail codes. As an example of the detail code combination function, the virtual code generation unit 102 can generate a virtual code by alternately configuring an N-bit first code and an N-bit second code. In addition, as another example, the detail code combination function can be a function that combines the second code after the first code. As the number of detail codes included in the virtual function increases, various detail code combination functions can be generated.

[0062] The detail code generating unit 103 performs the function of generating one or more detail codes. The virtual code generating function includes each detail code generating function. For example, the virtual code generating function generates multiple detail codes by using multiple detail code generating functions, and generates a virtual code by using a detail code combining function combining multiple detail codes.

[0063] As an embodiment, the detail code generating unit 103 includes a first function and a second function as detail code generating functions, and generates a first code and a second code. The first code and the second code have a correlation required for searching for a storage location of a command in the control device, but the control signal generating means only includes the first function for generating the first code and the second function for generating the second code as detail code generating functions to improve security, and may not include data on the correlation between the first code and the second code.

[0064] In addition, as an embodiment, when a virtual code is generated according to a combination of specific rules of the first code and the second code, the first code and the second code can perform each role of searching for a storage location of a command. For example, the first code sets the starting location of the storage location search, and the second code sets the search path from the starting location to the storage location according to a specific search method. That is, when a virtual code normally generated per unit count is provided from the control signal generating means, the control device judges the location moved from the search starting location corresponding to the first code along the search path corresponding to the second code as the storage location of the command. The specific method of searching for a storage location based on the first code and the second code constituting the virtual code will be described later.

[0065] As an embodiment of the method for generating detail codes by the detail code generating unit 103, the detail code generating unit 103 generates a new detail code per unit count, so the control signal generating means generates a new virtual code per unit count. The virtual code newly generated per unit count is not repeatedly generated. Specifically, the detail code generating unit 103 is set so that not only the virtual code newly generated per unit count is not repeatedly generated for a specific user or a specific control signal generating means during a predetermined period, but also the virtual code newly generated per unit count is not repeatedly generated between users belonging to a specific group.

[0066] As a specific embodiment of preventing the repeated generation of virtual codes, when the N-bit first code or the second code is generated by using M characters, the detail code generation function included in the virtual code generation function can generate MN codes as the first code or the second code, and match each code for each count from the initial time point driven by the detail code generation function. For example, when the unit count is set to 1 second, the time point from which the detail code generation function is initially driven is to match different MN codes per second. And, if the cycle of using a specific detail code generation function is set to a time length shorter than the time length corresponding to the MN count (for example, when 1 count is 1 second, it is MN seconds), the first code or the second code does not repeatedly generate the same code during the use cycle. That is, when the count increases over time, when the user requests the control signal generation means to generate a virtual code at a specific time point, the control signal generation means can generate a code value matching the count corresponding to the specific time point as the first code or the second code.

[0067] As another specific embodiment for preventing repeated generation of virtual codes, if the use cycle of the virtual code generation function has passed, the function for generating the first code or the second code (i.e., the first function or the second function) is changed or the matching relationship between the first code and the second code is changed, thereby generating a virtual code different from the previous use cycle. When the virtual code is combined with the first code generated according to the first function and the second code generated according to the second function, if the first code generation function or the second code generation function is changed, since the order in which the first code or the second code appears is different from the previous use cycle, the control signal generation means can apply the virtual code generation function that generates the virtual code different from the previous cycle to the new use cycle. In addition, the control signal generation means can select the first function and the second function so that the same code as the virtual code used in the previous use cycle does not appear as a virtual code for each count in the new use cycle (i.e., the matching relationship between the first code generated according to the first function and the second code generated according to the second function is not included in the matching relationship included in the previous use cycle in all counts of the new use cycle). That is, after a usage cycle in which MN codes can be applied once has passed, the virtual code generation function can be adjusted or updated to apply a virtual code generation function for a new usage cycle that overlaps with the previous usage cycle and does not generate a virtual code.

[0068] In this case, the control signal generation module 100 and the control device may store a rule for updating the virtual code generation function. That is, the control signal generation module 100 and the control module 200 may store an order or rule for applying the plurality of first functions and second functions to each use cycle.

[0069] In addition, as another specific embodiment to prevent the repeated generation of virtual codes, any one of the first code or the second code included in the virtual code can be generated by reflecting the value (i.e., the command-specific value) that always exists differently at the agreed time point for at least each command, so that the same virtual code is not generated at the same time point for different commands. As an embodiment, the command-specific value can be the time (or count number) that has passed from the unit count or time point corresponding to the storage location where each command is stored (for example, the time point at which the specific command is stored after a specific time from the initial time point when the specific storage location search algorithm in the control device is driven and the detailed code generation function for the specific command is applied) to the present. In the case where a control device includes multiple commands, if the counts for matching each command are different (i.e., if multiple commands are not stored at the same position or time point on the storage location search algorithm), for each command, the time elapsed from the time point (or count) matched by the command to the time point when the user executes the command input is different. Therefore, at least one of the detailed code generation functions can use the time from the time point (or count) when the command is stored in the storage location search algorithm to the specific time point as the command inherent value, so that the virtual code generated by each control signal generating means at each time point can be different. As a result, the control device can distinguish the control signal generating means only by receiving the virtual code, without separately receiving data for distinguishing users.

[0070] For example, when the control device is a drone (Drone: unmanned aerial vehicle), the commands that can be selected by the user in the control signal generation means may include ascending, descending, advancing, retreating, etc. The commands for a specific control device are set as a group, and the commands in the virtual code are searched by a storage location search algorithm included in the control device. If in the storage location search algorithm, the first command (for example, ascending command) matches when A time has passed from the initial setting of the control device, and the second command (for example, advancing command) matches when B (B is a value greater than A) time has passed, then the first command and the second command always differ in the length of time from the time point of issuing the card at C (C is a value greater than B) time when the first user and the second user request to generate the virtual code. Therefore, the detail code generation function uses the length of time passed from the time point when each command is stored in the storage location search algorithm as a variable, so that the same virtual code is not generated at the same time point. In addition, even if the control device receives two commands at the same time, each command can be accurately identified. The storage location search algorithm may be an algorithm in which the storage location matching the current count changes as the count passes. The detailed description of the storage location search algorithm will be described later.

[0071] Furthermore, since the length of time that has passed from the point in time when a specific command matches a specific storage location in the storage location search algorithm increases over time, the detail code (eg, the second code) for the specific command does not generate the same value but continuously generates different values.

[0072] In addition, as another specific embodiment for preventing the repeated generation of virtual codes, the first code is set to a code value corresponding to a time point at which the generation of a virtual code is requested from a code that matches each count from an initial time point when the first function for a specific command is driven in the control device (for example, a time point at which the control device and the control signal generating means are initially linked, a time point at which the control device is initially driven after production, or an initialization time point), and the second code is set to a code value generated by reflecting the time (that is, a command inherent value) elapsed from a time point at which the command matches within the storage location search algorithm, and the virtual code can be used as a code value combined with the first code and the second code so that the virtual code that is repeated irrelevant to the user does not occur throughout the entire cycle. Since the first code becomes a code value that is different for each count, and the second code has a code value that is different for each command at the same time point, the virtual code combined with the first code and the second code outputs a different code value at all control signal generating means and at all time points.

[0073] As another embodiment, the virtual code includes a command identification code for distinguishing the command type. That is, if the user inputs a specific command, the virtual code generation unit 102 includes it in the virtual code by extracting the command identification code corresponding thereto. The command identification code allows the control module 200 to grasp the corresponding command immediately after receiving the virtual code. After the control module 200 grasps the command through the command identification code, it verifies the virtual code based on the detail code in the virtual code, thereby determining whether the input command is a control command.

[0074] In addition, the command identification code can be combined with a predetermined position in the virtual code. When a virtual code generation function is assigned to each command, the control module 200 can determine the command type after extracting the command identification code from the virtual code. Therefore, the command identification code can be combined with a predetermined position in the virtual code (for example, the first N digits of the virtual code) so that it can be separated without an additional function.

[0075] When the virtual code includes a command identification code, as one embodiment, the control module 200 divides each command for a specific control device into another group, and utilizes an additional storage location search algorithm or a virtual code generation function for each command, and the control signal generation module 100 transmits a virtual code including a command identification code corresponding to each command.

[0076] Specifically, the virtual code generation unit 102 can generate a virtual code by appending a virtual security code generated based on an OTP function corresponding to a specific command to the command identification code. After receiving the virtual code, the control module 200 determines the command type by using the command identification code, and verifies whether the virtual code is generated normally by using the virtual security code. The manner in which the control module 200 verifies the virtual code by using the virtual security code will be described later.

[0077] In addition, the virtual code generation unit 102 can generate a plurality of detail codes (e.g., a first code and a second code) that conform to a storage location search algorithm that matches a specific command identification code, and generate a virtual code by combining with the command identification code. That is, the control module 200 can drive the storage location search algorithm for each command individually. Therefore, the virtual code generation unit 102 can separately include a virtual code generation function for each command to correspond to the individual storage location search algorithm in the control module 200. The manner of verifying the virtual code by utilizing the storage location search algorithm and detail code for each command will be described later.

[0078] In addition, as another embodiment, the virtual code generation function (specifically, each detail code generation function) applies any one of a plurality of arrangement rules for arranging M characters in ascending order. That is, the control signal generation means (i.e., the control signal generation module 100) may apply the rule of arranging M characters in ascending order differently to each control device or to the detail code generation function for each command. Specifically, for the independent control of each device, a virtual code generation function applying a different arrangement rule may be applied to each control device (i.e., each device with a different identification value), and when the virtual code includes a command identification code, a virtual code generation function with an arrangement rule that varies depending on each storage location search algorithm may be applied.

[0079] For example, the arrangement rule for arranging uppercase letters in ascending order can be the general order of A, B, C, ..., Z, or it can be the order of A, C, B, ..., Z. Since the arrangement rules in the virtual code generation function are different, the order of matching the codes for each count in sequence starting from the initial time point when the virtual code generation function is driven is different. The control module 200 can include the code generated according to the same arrangement rule to match each count, or the same arrangement rule itself in the virtual code generation function for storage. Therefore, the virtual code generation function of each device or each command (when the virtual code includes a command identification code) can include different detail code combination functions, or include different character arrangement rules, so that each group has a different virtual code generation function.

[0080] In addition, as an embodiment, the virtual code includes a virtual security code. For example, the virtual code includes one or more detail codes and a virtual security code, or includes a virtual security code as a detail code. The security code is a code generated based on a specific security code generation function, and is used to verify whether the virtual code is normal. The security code generation function generates a security code of a specific number of digits by using time data and an inherent value of a control signal generation means or a control device as a function value.

[0081] An example of a process of determining whether a virtual code is normal by utilizing a virtual security code is as follows. The control module 200 may receive an inherent value of a control signal generating means (e.g., an inherent value of a smartphone with a control application installed, etc.) at the time of initial setting, and store it together in a storage location of a command, or in another storage space connected to a storage location of a command. When the control signal generating means generates a virtual code including a virtual security code and provides it to the control device, the control device obtains time data for generating the virtual code based on the detail code, and calculates the virtual security code by extracting the inherent value of a specific control signal generating means stored internally and applying it together with the time data to a virtual security code generating function (e.g., an OTP (One-Time Password) function). The control device determines whether the virtual security code received from the control signal generating means (i.e., receiving the virtual security code) is consistent with the virtual security code calculated by the virtual security code generating function stored internally (i.e., generating the virtual security code). Since there may be a difference between the time point when the control signal generating means generates the virtual code and the time point when the control device 200 receives the virtual code, the control device 200 considers the time delay and calculates the virtual security code (i.e., OTP number) within a specific time range (e.g., from the time point when the virtual code is received to before a specific count), thereby confirming whether there is a value consistent with the received virtual security code received from the control signal generating means. If the received virtual security code is consistent with the generated virtual security code, the control module 200 determines it as a normal virtual code and determines the command as a control command.

[0082] In addition, as another example, the virtual security code generation function can generate a different 1-bit (1 is a natural number) code for each count, and apply it together as a function value. That is, the virtual security code generation function can include a 1-bit random code generation function (e.g., an OTP function that generates a 1-bit code).

[0083] The first wireless communication module 120 performs the function of outputting a wireless communication signal to transmit the virtual code to the control device. The first wireless communication module 120 may include various components capable of providing the virtual code to the outside. The first wireless communication module 120 includes all or part of a wireless Internet module, a short-range communication module, an RF signal module, etc.

[0084] Figure 3 4 is a diagram showing the structure of a control signal transmission device for an unmanned mobile object according to an embodiment of the present invention.

[0085] Reference Figure 3 According to an embodiment of the present invention, a control signal transmission device for an unmanned mobile object includes a control command input unit, a main board, a control signal generating module 100 and a first wireless communication module 120 .

[0086] The control command input unit receives a control command for controlling the unmanned mobile body from a user, and may be constituted by a joystick, an operation button, a touch display, or the like.

[0087] The mainboard generates the operation command inputted through the control command input unit into a control command (i.e., a control command code according to a specific protocol). That is, when the unmanned mobile object is an unmanned aerial vehicle (i.e., a drone), the mainboard calculates the actual flight command corresponding to the user's operation according to the user.

[0088] The control signal generation module 100 generates the actual control command as a virtual control command. That is, the control signal generation module generates a real-time virtual code corresponding to the actual command based on the built-in virtual code generation function. Although the virtual control command is a value that changes per unit time, it is also an actual control command code input by the user that can be searched in the control module of the unmanned mobile body.

[0089] For example, a virtual control command for each actual control command is generated per unit time change, and when the actual control command includes a first control command and a second control command, the virtual control command for the first control command is generated so as not to overlap with the virtual control command for the second control command.

[0090] The control signal generation module 100 may generate a virtual control command in various ways. In addition, for example, the control signal generation module 100 may generate a length that may be included in a protocol for transmitting an actual control command (eg, a code having the same length as the actual control command) to maintain an existing communication protocol.

[0091] The control signal generation module 100 includes a time calculation module (Clock; 101) to obtain time data required to drive the virtual code generation function (ie, the virtual control command calculation algorithm). The time calculation module (Clock; 101) can calculate the time data by itself without using wireless communication.

[0092] The first wireless communication module 120 transmits the virtual control command generated by the control signal generation module through wireless communication. That is, the first wireless communication module 120 transmits the virtual control command in a communication manner and a communication protocol capable of communicating with the second wireless communication module in the unmanned mobile body.

[0093] In addition, as another embodiment, the control command input unit and the main board may be a commercial controller device (e.g., an RC controller). For example, the unmanned mobile body control device may be a form in which the control signal generation module 100 and the first wireless communication module 120 are additionally connected or combined to a prefabricated controller device. In addition, for example, when the unmanned mobile body control device is a ground control device for a flying drone, since the commercial controller and the control signal generation module 100 are electrically connected and built into the ground control device, the control signal generation module 100 can perform the function of generating a virtual control command by receiving the signal output by the main board in the controller (i.e., the actual flight command).

[0094] In addition, as another embodiment, the unmanned mobile body control device may include an encryption module. The encryption module performs the function of re-encrypting the transmission signal including the virtual control command based on a fixed encryption key.

[0095] Reference Figure 4 and Figure 5 , a control device according to yet another embodiment of the present invention includes: a control module 200; and a second wireless communication module 220.

[0096] The second wireless communication module 220 performs the function of receiving a control signal from the control signal generating means. Various wireless communication methods corresponding to the first wireless communication module 120 can be applied. Specifically, the second wireless communication module 220 may include a control signal receiving unit that receives a control signal transmitted at a specific time point from the control signal generating means. The control signal includes a specific virtual code.

[0097] The control module 200 extracts the virtual code from the control signal, and performs a function of judging a command or verifying whether the virtual code is normally generated based on a detail code or a command identification code extracted from the virtual code.

[0098] As an example, Figure 4As shown, the control module 200 includes: a detail code extraction unit 201; and a command search unit 202. The detail code extraction unit 201 performs the function of extracting multiple detail codes included in the virtual code. The virtual code is generated by combining multiple detail codes according to specific rules, wherein the multiple detail codes are generated differently according to the command at the same time point and are generated differently per unit count.

[0099] The detail code extraction unit 201 of the control module 200 includes the same detail code combining function as the control signal generating means, and the detail code extraction unit 201 can extract multiple detail codes from the virtual code by applying the detail code combining function. For example, when the control signal generating means generates a virtual code combining two detail codes (i.e., a first code and a second code), the detail code extraction unit 201 can separate the first code and the second code from the character arrangement of the virtual code by applying the detail code combining function.

[0100] The command search unit 202 performs a function of searching for a storage location including a specific command based on a plurality of detail codes. When receiving a virtual code normally generated per unit count, the command search unit 202 determines a location moved from the starting location corresponding to the first code along a search path corresponding to the second code as the storage location. The specific manner in which the control module 200 determines the storage location will be described later.

[0101] In addition, a virtual code verification unit (not shown) may be further included. The virtual code verification unit verifies whether the virtual code is normally generated at the current time point. For example, when the virtual code includes an OTP code generated using time data and seed data (e.g., a chip-specific value of the control device), the virtual code verification unit verifies whether the virtual code is generated at the current time point by comparing a first OTP code extracted from the virtual code with a second OTP code calculated by an OTP function stored in the control module at the current time point.

[0102] As another example, Figure 5 As shown, the control module 200 includes: a detail code extraction unit 201; a virtual code verification unit 203; and a control determination unit 204. The detail code extraction unit 201 extracts the command identification code and one or more detail codes included in the virtual code. The virtual code is generated by combining the command identification code and one or more detail codes according to a specific rule, wherein the detail codes are generated differently according to the command at the same time point and are generated differently per unit count.

[0103] As an example, the detail code extraction unit 201 extracts the command identification code at a predetermined position. Specifically, since the command identification code must be extracted before determining the specific detail code combination function, the control module 200 and the control signal generation module 100 predetermine that the command identification code is attached to a specific position (for example, the first N digits of the virtual code), and when receiving the virtual code, the control module 200 extracts the command identification code at the predetermined position. When it is determined that the virtual code is generated normally, the control module 200 determines the command corresponding to the command identification code as a control command.

[0104] Furthermore, when the virtual code includes only one detailed code (for example, a virtual security code), the detailed code extracting unit 201 determines the remaining codes except the command identification code as the detailed code.

[0105] In addition, when the virtual code includes a plurality of detail codes (e.g., a first code and a second code), the detail code extraction unit 201 separates the plurality of detail codes by utilizing a detail code combining function in a virtual code generation function corresponding to a specific command. In addition, when the plurality of detail codes include a virtual security code, the detail code extraction unit 201 additionally extracts the virtual security code.

[0106] The virtual code verification unit 203 verifies whether the virtual code is normally generated based on the one or more detail codes. As an embodiment, when only one virtual safety code is included as the detail code, as described above, the control module 200 verifies whether the virtual code is normally generated by comparing the virtual safety code generated and provided by the control signal generation module 100 (i.e., receiving the virtual safety code) with the virtual safety code generated in the control module 200 at the command reception time point (i.e., generating the virtual safety code) (hereinafter referred to as the first verification method).

[0107] In addition, as another embodiment, when the first code and the second code are included as a plurality of detail codes, whether the virtual code is normally generated is verified by comparing whether the storage location searched by applying the first code and the second code to the storage location search algorithm corresponding to the specific command identification code includes a command, or whether the command in the storage location is consistent with the command identification code (hereinafter referred to as the second verification method). The control module 200 searches for the storage location in the storage location search algorithm by using the first code and the second code will be described later.

[0108] In addition, as yet another embodiment, when the first code, the second code and the virtual security code are included as the plurality of detail codes, the control module 200 verifies whether the virtual code is normally generated by applying at least one of the first verification method and the second verification method.

[0109] If the virtual code is normally generated, the control determination unit 204 inputs a command corresponding to the command identification code. That is, the control determination unit 204 drives the control device by determining the command corresponding to the command identification code in the normally generated virtual code as a control command.

[0110] Figure 6 1 is a diagram showing the structure of an unmanned mobile object controlled by virtual code according to an embodiment of the present invention.

[0111] Reference Figure 6 According to an embodiment of the present invention, the unmanned mobile body includes a second wireless communication module 220, a controller and a sensor module.

[0112] The second wireless communication module 220 performs a function of receiving a wireless communication signal including a virtual control command from the unmanned mobile body control device.

[0113] The sensor module performs the function of obtaining sensing data for controlling the unmanned mobile body. For example, when the unmanned mobile body is a flying drone, the sensor module may include a gyroscope, an acceleration sensor, a geomagnetic sensor, a GPS receiver, an air pressure sensor, etc.

[0114] In addition, when the sensor module includes a plurality of sensors, the sensor module further includes a sensor fusion unit. The sensor fusion unit fuses state measurement values ​​obtained through a plurality of sensor data (for example, rotational motion state measurement values ​​obtained through a gyroscope, an acceleration sensor, or a geomagnetic sensor, or translational motion state measurement values ​​obtained through a GPS receiver or a barometric sensor), thereby calculating a state estimation value of the unmanned mobile object and transmitting it to the controller.

[0115] The controller performs the function of calculating the control command provided to one or more drive units (e.g., motors) based on the virtual control command. The controller includes: a control module 200, which calculates the actual control command based on the virtual control command; a time measurement module 240, which provides time data to the control module 200; and a control command calculation module 260, which calculates the control command based on the actual control command transmitted by the control module 200 and the state estimation value provided by the sensor module.

[0116] As an embodiment, the control module 200 includes: a detail code extraction unit that extracts one or more detail codes from the virtual control command; and a command search unit that searches for the actual control command based on the detail code. In addition, the control module 200 may further include a verification unit that verifies whether the virtual control command is normally generated at the current time point. A detailed description of each component in the previously described control module will be omitted.

[0117] The control command calculation module 260 calculates individual control commands for one or more drive units (e.g., motors) for moving the unmanned mobile body according to the control command requested by the user by receiving the actual control command from the control module 200 and the state estimation value from the sensor module. For example, in order to stabilize the movement when controlling each drive unit, the control command calculation module 260 reflects the state estimation value obtained from the sensor module based on the actual control command. In addition, when multiple drive units are used, the control command calculation module 260 calculates the movement of the individual drive units to implement the control command, and then generates individual control commands for this purpose and transmits them to the drive units.

[0118] The control module 200 can be electrically connected as a chip by being inserted between the second wireless communication module 220 and the control command calculation module 260, or can be included as a software module inside a chip with a built-in control command calculation module 260 (for example, in the case of a flying drone, a Flight Controller) to pre-process the virtual flight command previously received by the control command calculation module 260.

[0119] Thus, the control method using virtual control commands can be applied without changing the basic structure and control process of the existing unmanned mobile body (for example, a flying drone). In addition, when the control module 200 is included in the chip including the control command calculation module 260 as software, the weight of the unmanned mobile body will not increase because the hardware configuration is not increased at all.

[0120] Figure 7 The flowchart of a control method based on a control signal including a virtual code according to an embodiment of the present invention.

[0121] Reference Figure 7 According to an embodiment of the present invention, a control method based on a control signal including a virtual code includes: a control module 200 receives a control signal generated at a specific time point from a control signal generating means (S120; a control signal receiving step); the control module 200 extracts a plurality of detail codes included in the virtual code (S140; a detail code extracting step); and the control module 200 searches for a storage location including a specific command based on the plurality of detail codes (S160; a command searching step).

[0122] The control module 200 receives a control signal generated at a specific time point from the control signal generating means (S120; control signal receiving step). For example, the control module 200 obtains a virtual code included in a control signal received by the second wireless communication module 220 of the control device. The control signal includes a virtual code corresponding to a specific command.

[0123] The control module 200 extracts a plurality of detail codes included in the virtual code S140. The control module 200 extracts each detail code by reversely applying the detail code combining function used when generating the virtual code.

[0124] As described above, the virtual code is generated by a virtual code generation function corresponding to a specific control device and a specific command in the control signal generation module 100. The virtual code generates a plurality of detail codes by a plurality of detail code generation functions included in the virtual code generation function, and is generated by combining a plurality of detail codes according to a specific rule (i.e., a detail code combination function). That is, the virtual code generation function may include a plurality of detail code generation functions that generate each detail code; and a detail code combination function that combines each detail code according to a specific combination rule. The detail code generation function applies different combination rules to the control device by reflecting the inherent value of the control device or the inherent value of the control signal generation means.

[0125] Regardless of the time point (or count) of the input command or the type of the command, the virtual code will not be repeatedly generated. A detailed description of the aforementioned virtual code generation method will be omitted.

[0126] The control module 200 searches for a storage location including a specific command based on the plurality of detail codes (S160; command search step). The plurality of detail codes have a correlation relationship between them, and the control module 200 searches for a command storage location based on the correlation relationship between the detail codes.

[0127] The control module 200 stores a plurality of commands for a specific control device in storage locations corresponding to different initial unit counts. The control module 200 searches for the initial unit count that matches the command by using the first code and the second code in the virtual code corresponding to each command. As an embodiment, the initial unit count for each command is a specific count number that has passed since the initial set time point between the control module 200 and the control signal generation module 100 (for example, the initial time point driven by the storage location search algorithm described later). The control module 200 sets the count number that is different from the initial set time point according to the command.

[0128] Furthermore, the control module 200 and the control signal generation module 100 set a virtual code generation function based on the initial unit count for each command (i.e., the number of unit counts passed from the initial set time point). For example, when the virtual code is composed of a first code and a second code as detail codes, and the first code is generated based on the number of unit counts passed from the initial set time point to the current time point, and the second code is generated based on the number of unit counts passed from the time point corresponding to each command, the control module 200 and the control signal generation module 100 respectively generate a second function that generates a second code for each command. Thus, the control module 200 and the control signal generation module 100 transmit and receive commands in the form of virtual codes.

[0129] Among the multiple detail codes in the virtual code, the code generated per unit count can be changed (for example, when the virtual code is composed of two detail codes, the first code and the second code are changed per unit count), and the control module 200 adjusts the location matching the command storage position to the position that matches the changed first code and second code per unit count so that the command storage position can be searched even if the virtual code is changed per unit count.

[0130] As an embodiment of the correlation between the detail codes constituting the virtual code, when receiving the virtual code generated normally per unit count, the control module 200 searches for the storage location by determining the search start location and the search path based on multiple detail codes. Specifically, when the virtual code is composed of a combination of a first code and a second code, the control module 200 can set the first code as the search start location (i.e., the location where the search for the command storage location is started), and search for the storage location by applying the second code as the path moving from the search start location to the storage location. That is, when receiving the virtual code generated normally per unit count, the control module 200 will judge the search location moving from the start location corresponding to the first code along the search path corresponding to the second code as the storage location of the command or a location matching the storage location (e.g., a storage space matching the search location in another server).

[0131] As one embodiment, when the second code includes all information about the path from the search starting location corresponding to the first code to the storage location, the control module 200 can search for a storage location commanded along the search path corresponding to the second code from the search starting location corresponding to the first code or a location matching the storage location.

[0132] As another embodiment, the control module 200 may include a storage location search algorithm for adjusting the storage location of the command in accordance with the virtual code per unit count. That is, the control module 200 includes a storage location search algorithm for adjusting the search path to a location matching the command storage location per unit count. When the first code and the second code are changed per unit count, the control module 200 may adjust the storage location search algorithm in accordance with the changed first code and the second code. The storage location search algorithm may be implemented in various forms.

[0133] As an example, Figure 8 As shown, the storage location search algorithm may be a cloud movement of the vertices of the k-gon corresponding to the locations configured for each code on a track where k (k is MN) codes are arranged. At this time, the command search step S160 includes: the control module 200 moves the k-gon cloud to a location on the track corresponding to the first code in the virtual code received from the control signal generating means S161; sets the location corresponding to the first code as the starting location, and searches for the storage location in the configuration state of the k-gon or the location matched by the storage location based on the second code according to the search method applicable to the second code (S162; storage location search step); and extracts the command included in the storage location S163.

[0134] The control module 200 is as follows Fig. 9 As shown, the k-gon cloud is moved to a location on the track corresponding to the first code in the virtual code received from the control signal generating means S161. The storage location search algorithm is a k-gon (k is MN) that moves along the track cloud of MN codes arranged corresponding to the first code, and the vertices of the k-gon move corresponding to the location where the code is configured on the first code track. At this time, the control module 200 can apply the cloud movement (or cloud movement) of the k-gon so that the vertices of the k-gon touch the location corresponding to the first code.

[0135] The control module 200 is as follows Fig. 9 As shown, the position corresponding to the first code is set as the starting point, and according to the search method applicable to the second code, the storage position in the configuration state of the k-gon or the location matching the storage position (i.e., the specific vertex of the k-gon) is searched based on the second code (S162; storage position search step). The storage position matches each vertex of the k-gon. The location corresponding to the k-gon of the first code track (i.e., the first track) becomes the storage position search starting point corresponding to the first code. The control module 200 searches for the matching location of the storage position based on the second code at the search starting point.

[0136] Various methods can be applied as a method of searching for a storage location in the k-gon based on the second code. As an example, the control module 200 indicates an angle corresponding to the second code at a position where the k-gon contacts on the first track (for example, 180 degrees is divided into MN at a specific angle so that it is oriented toward a k-modified vertex), so that a vertex of the k-gon can be searched, which is a storage location storing a command corresponding to the virtual code.

[0137] In addition, as another example, in a state where the k-gon contacts a location corresponding to the first code on the first track, the control module 200 divides the entire central angle (i.e., 360 degrees) into MN based on the center of the k-gon and the contact point on the first track, and matches each angle to the MN second codes. At this time, the direction of the line moving a specific number of unit angles (i.e., 360 degrees / MN) from the line connecting the center of the k-gon and the contact point on the first track becomes a specific vertex of the k-gon. Therefore, when the second code corresponding to a specific angle is received, the control module 200 can search for the vertex located in the direction of the angle.

[0138] In addition, as another example, a specific digit of the second code may be used to determine the angle calculation direction. That is, when the second code is generated by using N characters, the angle measurement direction may be determined by using 1 digit. For example, when the second code is matched to each angle by dividing the entire center angle (i.e., 360 degrees) based on the center of the k-gon and the contact point on the first track, the control module 200 may determine whether the angle is measured in the left direction or the right direction from the line connecting the center of the k-gon and the contact point on the first track by the value of 1 digit.

[0139] As an example, the storage location search algorithm can assign two second codes that are different according to the angle measurement direction to each vertex on the k-gon. That is, when reaching a vertex from an inner angle and when reaching a vertex from an outer angle, different second codes can be matched and different commands can be connected. As another example, when the storage location search algorithm generates the second code by using N (N is a natural number) characters, half of the entire angle (for example, 360 degrees when divided based on the central angle) can be matched by using N-1, and the angle applicable direction required to reach each vertex can be determined by using 1 digit.

[0140] The method of searching for a storage location in a k-gon based on the second code is not limited to this, and various methods may be applied, such as using the location on the k-gon corresponding to the second code and the contact point on the first track divided by a specific ratio as a search method for the storage location.

[0141] Then, the control module 200 extracts the command included in the storage location S163. That is, the control module 200 extracts the command in the storage location by searching for the storage location corresponding to the vertex of the k-gon.

[0142] In addition, as another embodiment, the storage location search algorithm moves to a location matching the command storage location by moving on a track based on a plurality of detail codes constituting the virtual code. As an example, the location matching the command storage location may be a location on a track corresponding to a count (i.e., a time point) of a storage command in the control signal generation module 100. To this end, when the storage location search algorithm moves the pointer on a track based on the first code and the second code, the command search step S160 may be performed as follows: Fig.10 As shown, it includes: moving the pointer to a position on the track corresponding to the first code in the virtual code received from the control signal generating means S164; setting the position corresponding to the first code as the search start position, and searching for a position matching the command storage position by returning the same number of tracks as the count number corresponding to the second code S165; and extracting the command included in the command storage position S166.

[0143] Specifically, refer to Fig.11 , when using a storage location search algorithm based on a first code and a second code moving on a track, the control module 200 can start from the time point when the virtual code generation function is driven, and make the pointer (Pointer) starting from the track start point move the division unit on the track every time the unit count passes, thereby determining the location on the track at the command storage time point (location A) as a location matching the command storage location. Specifically, when the virtual code includes a first code generated based on the time elapsed from the time point when the virtual code generation function is driven and a second code generated from the time elapsed from the time point when the command is stored in the specific control signal generation module 100, the control module 200 sets the count on the track matched by the code value corresponding to the first code as the search start location, and returns along the track from the search start location according to the count value calculated by applying the inverse function of the second function to the second code, thereby searching for the location on the track at the time point when the command is stored in the storage location search algorithm (that is, the location matching the command storage location). The control module 200 controls the control device by using the command extracted from the storage location.

[0144] In addition, as another embodiment, it further includes: the control module 200 verifies whether it corresponds to a normally generated virtual code by applying the first function or the second function to the first code or the second code. For example, when the first code is a code value corresponding to the number of counts passed from the initial time point when the specific virtual code generation function and the storage location search algorithm in the control module 200 are driven (that is, the time point when the control device is initially driven or initially set), and the second code is a code value corresponding to the number of counts passed from the time point matched by the specific command (that is, the time point from the initial time point to the specific number of counts matched to the specific command), the control module 200 stores the time length Ts corresponding to the specific number of counts (that is, the number of counts between the count matched by the specific command and the initial time point) when storing the command in the storage location. The control module 200 calculates the elapsed time T1 from when the virtual code generation function is driven to the virtual code generation time point by applying the inverse function of the first function to the first code in the virtual code, and calculates the elapsed time T2 from when the command is issued to the virtual code generation time point by applying the inverse function of the second function to the second code in the virtual code. Then, the control module 200 verifies the virtual code by determining whether the difference between T1 and T2 corresponds to Ts.

[0145] In addition, as another embodiment, the virtual code further includes a virtual security code. At this time, the control module 200 can perform a process of verifying whether the virtual code is normally generated by extracting the virtual security code from the virtual code.

[0146] As one embodiment, a virtual security code may be generated based on an inherent value of a control device or a control signal generating means. The inherent value is a device-specific value assigned to each control device or control signal generating module 100 individually. For example, when an application corresponding to the control signal generating module 100 is installed by using a specific smartphone as a control signal generating means, the inherent value is assigned to each smartphone, so it cannot be confirmed unless the smartphone is cracked for malicious purposes or the inherent value is obtained by secretly confirming the user's smartphone. Therefore, the control module 200 can verify the control signal generating means by receiving a virtual security code generated by the control signal generating means based on the inherent value.

[0147] In addition, as another embodiment, the control signal generating means may generate a virtual security code by reflecting a time value. That is, the control signal generating means may generate a virtual security code by using an OTP (One Time Password: user authentication is performed by using a randomly generated one-time password instead of a fixed password). The control module 200 receives an OTP number corresponding to the virtual security code from the control signal generating means, and receives a count of the OTP number from the control signal generating means, and compares the OTP number calculated by the count within a specific range, thereby verifying the control signal generating means. That is, the control module 200 stores the inherent value of the control device or the control signal generating module 100 together in the command storage location, thereby determining whether the generated OTP number is consistent with the OTP number received from the control signal generating means by using the inherent value extracted from the command storage space at the time point of receiving the virtual code, thereby verifying the control signal generating means (that is, verifying whether the virtual code is generated by the control signal generating means matching the control device).

[0148] In addition, as another embodiment, the virtual security code may be reflected in the generation of the first code and the second code, rather than being output to the outside by the control signal generation module 100. For example, the virtual code is composed of the first code and the second code generated based on the time point corresponding to the initial unit count or the command input time point plus the count of the virtual security code. At this time, the virtual security code may be a code value of a specific digit generated by an OTP function based on the inherent value of the control signal generation means or the inherent value of the control device, and since it is reflected in the generation of the first code and the second code, it may not be separately provided to the control module 200 from the control signal generation means.

[0149] As an example, Fig.12 As shown, the control signal generating means generates a first code by adding a count of a virtual security code value generated based on the inherent value of the control signal generating means or the control device at the command storage time point, and generates a second code corresponding to the count of the virtual security code value. That is, the first code and the second code are generated based on the count of shifting the virtual security code value from the A time point where the command is stored in the control signal generating means A. According to the generated virtual security code value, the count shifting from point A can be a count before the count corresponding to the current time point, or a count after. The control module 200 can search for a location that matches the command storage location by applying the received first code and second code to a storage location search algorithm. As a result, others cannot confirm the order in which the first code and the second code constituting the virtual code are provided, thereby improving security.

[0150] In addition, as another embodiment, after the control module 200 extracts the virtual security code from the second code generated based on the virtual security code, the virtual security code generation function (i.e., OTP function) confirms whether there is a value consistent with the virtual security code in the calculated OTP number by inputting a count within a specific range from the count of receiving the virtual code. The control module 200 obtains the virtual security code value (i.e., OTP function value) used to generate the second code by applying the inverse function of the second function to the second code, and searches for the count of the value calculated to be the same as the virtual security code value. According to the transmission time of the virtual code, there is a difference between the time point when the virtual security code is generated in the control signal generation module 100 and the time point when the control module 200 receives the virtual security code, so the count of the control module 200 receiving the virtual code and the count of generating the OTP number corresponding to the virtual security code may also be inconsistent, so the control module 200 allows an error range from the count of receiving the virtual code. As a result, the control module 200 can verify whether the control signal generation module 100 that transmits the virtual code matches the command normally, thereby improving security. In addition, even if the user does not enter a virtual security code of a specific number of digits when entering the virtual code, the control module 200 will automatically search for the virtual security code and verify the control signal generating means (i.e., verify whether the virtual code is generated by the control signal generating means that matches the control device), so that the control signal generating means can be used conveniently.

[0151] Furthermore, as another embodiment, the control signal generating means generates a first code corresponding to a count of a virtual security code value generated based on an inherent value of the control signal generating means or the control device at a command input time point (i.e., a time point at which a control command corresponding to a specific command is input from a user to the control signal generating means), and generates a second code corresponding to a count of a difference between a command storage time point (A time point) and a command input time point (C time point) and a virtual security code value added. That is, the control signal generating means generates the first code and the second code as follows.

[0152] First code = f1 (C time point count + virtual safety code)

[0153] Second code = f2 (C time point count - A time point count + virtual security code)

[0154] (A time point: command storage time point, C time point: command input time point count, virtual security code: OTP number)

[0155] The control module 200 searches for the command storage location based on the first code and the second code in the received virtual code, and extracts the inherent value of the control signal generating means or the control device included together in the command storage location. The control module 200 generates a virtual security code (i.e., OTP number) within a specific count range from the control signal reception time point based on the inherent value of the control signal generating means or the control device. Then, the control module 200 confirms whether the sum of the count number of each count within the specific count range based on the control signal reception time point from the command initial storage time point (A time point) to the control signal reception time point and the virtual security code (i.e., OTP number) has the same count number as the count number corresponding to the second code (i.e., the value of the second code applied to the inverse function of the second function). Since the control module 200 searches for the location matched by the command storage location based on the first code and the second code, the command initial storage time point can be grasped. Thus, the control module 200 can confirm whether the control signal generating means that provides the virtual code is normal (i.e., whether the control signal generating means that transmits the virtual code matches the control device 1:1), or whether the virtual code is generated normally.

[0156] In addition, as another embodiment, Fig.13 As shown, it further includes: the control module 200 performs time synchronization with the control signal generating means based on the time data obtained by the position information obtaining module in the control device, so that the unit count is consistent S110. The control device and the control signal generating module 100 may include a position information obtaining module (for example, a GPS module). Since the control module 200 and the control signal generating module 100 increase the unit count over time, a time synchronization process is required to minimize the internal timer error. The control module 200 and the control signal generating module 100 can perform synchronization through the time data obtained by the position information obtaining module, thereby eliminating the timer error.

[0157] Fig.14 The flowchart of a control method based on a control signal including a virtual code according to an embodiment of the present invention.

[0158] Reference Fig.14According to another embodiment of the present invention, a control method based on a control signal including a virtual code includes: the control module 200 receives a control signal generated at a specific time point from a control signal generating means (S220; control signal receiving step); the control module 200 extracts one or more detail codes and the command identification code included in the virtual code S240; the control module 200 verifies whether the virtual code is normally generated based on the one or more detail codes S260; and when the virtual code is normally generated, the control module 200 inputs a command corresponding to the command identification code S280. Detailed description of the already explained contents will be omitted.

[0159] The control module 200 receives a control signal S220 generated at a specific time point from the control signal generating means. The control signal includes a specific virtual code, and the virtual code is generated according to a specific rule in combination with a command identification code and one or more detail codes. A detailed description of the aforementioned virtual code will be omitted.

[0160] The control module 200 extracts one or more detail codes and the command identification code included in the virtual code S240. The virtual code is generated differently according to the command at the same time point and is generated differently per unit count.

[0161] When the virtual code includes a command identification code as a code for guiding a control signal generating means command, the detail code extraction step S240 extracts the command identification code from the virtual code and determines the command type of the control signal generating module 100 based on the command identification code.

[0162] In addition, as described above, the command recognition code can be combined with a predetermined position so that the control module 200 can recognize it without using another function. For example, when the virtual code includes multiple recognition codes, the process of determining the virtual code generation function by using the command recognition code can be performed before the process of extracting multiple detail codes. Only when the virtual code generation function is determined based on the command recognition code can the detail code combination function included in the virtual code generation function be determined, so that multiple detail codes can be extracted. To this end, the command recognition code can be combined with a fixed position in the virtual code (for example, a specific number of digits at the front of the virtual code) so that the control module 200 can be easily separated without the need for another function.

[0163] The command identification code determines the virtual code generation function or the storage location search algorithm for a specific command. Specifically, when using storage location search algorithms that differ for each command, the control module 200 determines the storage location search algorithm corresponding to the command through the command identification code, and when only the virtual security code is combined with the command identification code as a detail code and transmitted, the virtual security code generation function that generates the virtual security code corresponding to the command is determined through the command identification code.

[0164] The control module 200 verifies whether the virtual code is generated normally based on the one or more detail codes S260. The control module 200 determines whether the control signal generation means for transmitting the virtual code matches the control device normally according to whether the virtual code is generated normally. Various methods can be used as methods for determining whether the virtual code is generated normally.

[0165] In addition, as another embodiment, Fig.15 As shown, the virtual code verification step S260 includes: the control module 200 searches for a storage location by using a plurality of detail codes based on a storage location search algorithm corresponding to a specific command S261; and verifies the virtual code by judging whether a command is stored in the storage location, or whether the command in the storage location is consistent with the command corresponding to the command identification code S262. The detailed description of the detailed code generation method and the detailed description of the method of searching the storage location according to the storage location search algorithm will be omitted.

[0166] As one embodiment, the virtual code includes a first code and a second code, and the control module 200 includes the storage location search algorithm that varies according to the command, and stores each command in a storage location corresponding to a specific command storage time point (i.e., an initial unit count) in the storage location search algorithm for each command, and when receiving a virtual code normally generated per unit count, a location moved from the starting location corresponding to the first code along the search path corresponding to the second code is judged as the storage location.

[0167] In addition, as another embodiment, the virtual code verification step S260 verifies whether the virtual code is normally generated by comparing the generated virtual security number calculated based on the time value within a specific range at the time point when the virtual code is received from the control module 200 with the received virtual security code extracted from the virtual code. That is, the detail code includes the virtual security code. The virtual security code may be a code value of a specific number of digits generated by an OTP function based on the inherent value of the control signal generating means or the inherent value of the control device. The detailed description of the method of verifying the virtual code by using the virtual security code will be omitted.

[0168] The virtual code may include only the virtual security code as the detail code, or may include the first code, the second code and the virtual security code together. When the detail code is formed only as the virtual security code, the control module 200 determines the remaining codes in the virtual code except the command identification code as the virtual security code. In addition, the virtual security code is used when generating the first code and the second code, so it may not be directly included in the virtual code and transmitted. The detailed description of the method of using the virtual security code when generating the first code and the second code and the method of extracting the virtual security code from the first code and the second code will be omitted.

[0169] If the dummy code is normally generated, the control module 200 inputs a command corresponding to the command identification code S280.

[0170] Fig.16 The flowchart of a control method based on a control signal including a virtual code according to an embodiment of the present invention.

[0171] Reference Fig.16 According to another embodiment of the present invention, a control method based on a control signal including a virtual code comprises: a control signal generating means receives a specific command input request from a user S320; the control signal generating means generates a virtual code based on a virtual code generating function corresponding to the specific command according to the command input request S340; and the control signal generating means transmits the virtual code as a control signal to a control device S360. Detailed description of the contents already described in the description of the control signal generating means will be omitted.

[0172] The control signal generating means receives a specific command input request from the user S320. For example, the control signal generating means receives the command input request through the user's controller operation or user interface operation. The method of receiving the command input request is not limited to the method described, and various methods such as the method of receiving voice commands can be applied.

[0173] The control signal generating means generates a virtual code based on a virtual code generating function corresponding to a specific command according to a command input request S340. The virtual code is generated differently for the command at the same time point and is generated differently for each unit count.

[0174] As an embodiment, the control signal generating means generates the first code and the second code by using the detailed code generating function, and generates the virtual code by combining according to a specific rule (i.e., the detailed code combining function). At this time, the first code and the second code in the virtual code are used for the control module 200 in the control device to search for a storage location including a specific command.

[0175] In addition, as an embodiment, Fig.17 As shown, the control signal generation module 100 generates a virtual code in the form of a command identification code. To this end, the virtual code generation step S340 includes: extracting a command identification code corresponding to a specific command S342; generating one or more detail codes by using a detail code generation function corresponding to the command S344; and generating the virtual code S346 by combining the command identification code and the one or more detail codes.

[0176] The control signal generating means transmits the dummy code as a control signal to the control device S360. The control signal generating module 100 requests the first wireless communication module 120 to transmit the control signal in a wireless communication method that can be received by the second wireless communication module 220 of the control device.

[0177] Then, the control module 200 performs a command judgment and virtual code verification process after extracting the virtual code in the control signal. As one embodiment, in the case of using a storage location search algorithm for a specific control device, when receiving a virtual code that is normally generated per unit count, the control module 200 judges the location where the starting location corresponding to the first code in the detail code moves along the search path corresponding to the second code in the detail code as the storage location. The control module 200 determines the command in the storage location as a control command. In addition, as another embodiment, when multiple command identification codes are included in the virtual code, the control module 200 extracts one or more detail codes and the command identification code included in the virtual code, and verifies whether the virtual code is normally generated based on the one or more detail codes. If the virtual code is normally generated, the command corresponding to the command identification code is input.

[0178] The control method based on the control signal according to an embodiment of the present invention described above may be implemented as a program (or application program) and stored in a medium to be combined with and run on a computer as hardware.

[0179] The aforementioned program may include a code (Code) encoded in a computer language such as C, C++, JAVA, machine language, etc., which can be read by the processor (CPU) of the computer through the device interface of the computer, so that the computer can run the method implemented as a program by reading the program. Such code may include functional code (Functional Code) related to functions that define the functions required to run the method, and may include control codes related to the operation order required for the processor of the computer to run the functions in a predetermined order. In addition, such code may further include memory call-related code, which involves the additional information or media required by the processor of the computer to run the function. In order to call at which position (address number) in the internal or external memory of the computer. In addition, when the processor of the computer needs to communicate with some other remote computers or servers in order to run the function, the code may further include communication-related codes on how to use the communication module of the computer to communicate with some other remote computers or servers, and what information or media are transmitted and received during communication.

[0180] The storage medium means a medium that stores data semi-permanently and can be read by a device, rather than a medium that stores data for a short moment like a register, a cache, a memory, etc. Specifically, as examples of the storage medium, there are ROM, RAM, CD-ROM, magnetic tape, floppy disk, optical data storage device, etc., but not limited thereto. That is, the program can be stored in various recording media on various servers accessible by the computer or various recording media on the user's computer. In addition, the medium can be dispersed in a computer system connected to a network, and the computer-readable code can be stored in a dispersed manner.

[0181] The embodiments of the present invention are described above with reference to the accompanying drawings, but those skilled in the art to which the present invention belongs can understand that the present invention can be implemented in other specific forms without changing its technical ideas or essential features. Therefore, the embodiments described above should be understood in all aspects as being merely illustrative and not restrictive.

Claims

1. A control device, comprising: a wireless communication module, which receives a control signal transmitted by a control signal generating means at a specific time point, wherein the control signal includes a virtual control command as a specific virtual code; a control module, which extracts the virtual control command from the control signal and searches for an actual control command corresponding to the virtual control command; as well as A control command calculation module is used to calculate individual control commands for controlling one or more drive units based on the actual control command, wherein: For each actual control command, a virtual control command is generated per unit time change, where When the actual control command includes a first control command and a second control command, a virtual control command for the first control command is generated so as not to overlap with a virtual control command for the second control command, The control command calculation module calculates the individual control command by reflecting a state estimation value obtained by fusing a plurality of state measurement values ​​of the control device on the actual control command obtained from the control module, The control module comprises: a detail code extraction unit that extracts a plurality of detail codes included in the virtual control command; and A command search unit searches for a storage location including a specific actual control command based on a correlation relationship between a plurality of detail codes, wherein: The virtual control command is generated by combining a first code and a second code included in a plurality of detail codes according to a specific rule, wherein: The first code and the second code are differently generated according to the actual control command at the same time point, and are differently generated per unit count.

2. The control device according to claim 1, wherein: When receiving a virtual control command normally generated per unit count, the command search unit determines a location moved from a starting location corresponding to the first code along a search path corresponding to the second code as the storage location, wherein The unit count is set to a specific time interval and changes as the time interval passes.

3. The control device according to claim 1, wherein: The control module further comprises: A virtual code verification unit verifies whether the virtual code is normally generated at a current time point based on the one or more detail codes.

4. The control device according to claim 1, wherein: The state measurement value is selected from a rotational motion state measurement value obtained by a gyroscope, an acceleration sensor or a geomagnetic sensor and a translational motion state measurement value obtained by a GPS receiver or an air pressure sensor, The control module and the control command calculation module are built into one chip as software.

5. A control signal transmission device, comprising: A control command obtaining module, which obtains actual control commands based on user operation input; A control signal generating module, which generates a virtual control command in real time based on the actual control command; as well as a wireless communication module, which transmits the virtual control command to the control device according to any one of claims 1 to 4 based on a specific protocol, For each actual control command, a virtual control command is generated per unit time change, where When the actual control command includes a first control command and a second control command, a virtual control command for the first control command is generated so as not to overlap with a virtual control command for the second control command.

6. The control signal transmission device according to claim 5, wherein: The virtual control command is generated to have the same code length as the actual control command.

7. The control signal transmission device according to claim 5, wherein: The virtual control command is generated by combining a plurality of detail codes for searching a storage location of the actual control command in a control module in the control device.

8. The control signal transmission device according to claim 5, wherein: The virtual control command is generated by using an inherent value of the control device connected to the control device as seed data.

Citation Information

Patent Citations

  • System and method for control of multi drone

    KR1020180038231A

  • KR1017186950000B1