Anonymous synchronization control system and anonymous synchronization control method
Through the anonymous synchronization control system and the server intermediary communication, the group identification code is used to realize the synchronization control between the main control end and the controlled end, solving the problems of complex and insufficient operation of mechanical equipment, improving teaching efficiency and protecting user privacy.
Patent Information
- Application Number
- CN202110054168.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-01-15
- Publication Date
- 2025-08-19
- Estimated Expiration
- 2041-01-15
AI Technical Summary
The operation of mechanical equipment is complex and expensive, resulting in insufficient number of equipment in teaching or training, and the inability to achieve synchronous operation, affecting teaching efficiency.
An anonymous synchronization control system is adopted to realize remote synchronization control between the main control end and the controlled end through the server and group identification code, and use server intermediary communication to simplify identity authentication and protect privacy.
It realizes synchronous control of remote devices, improves teaching efficiency, simplifies device management, and protects user privacy.
Smart Images

Figure CN114764224B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to synchronous control, and in particular to an anonymous synchronous control system and an anonymous synchronous control method. Background Art
[0002] Because the operation of mechanical equipment is quite complex, it is impossible to understand the details of operation through instructional videos or manuals alone. Therefore, the teaching or promotion of mechanical equipment must be accompanied by actual machine explanation. This situation requires the instructor (or trainee) to be present at one of the sites for training, which is inconvenient.
[0003] In addition, since mechanical equipment is usually expensive and difficult to move, there are usually not enough mechanical equipment at the teaching site for lecturers and students to operate simultaneously. It is also impossible for lecturers or students to move the mechanical equipment they own to the teaching site, which reduces teaching efficiency.
[0004] In addition, since the operation of mechanical equipment is quite complicated, it is difficult for students to operate the mechanical equipment to the moving state specified by the instructor on their own, and the problem of students' operations failing to keep up with the teaching progress often occurs. Summary of the Invention
[0005] The main purpose of the present invention is to provide an anonymous synchronous control system and an anonymous synchronous control method, which can allow a master end to remotely synchronize one or more controlled ends so that the controlled ends and the master end have a synchronized movement state.
[0006] The present invention provides an anonymous synchronous control system, comprising a server, a master terminal, and a controlled terminal. The master terminal is connected to the server and is used to set a group identification code, generate a movement control command, and transmit the group identification code and the movement control command to the server. The controlled terminal is connected to the server. The server is configured to update the last movement command of the group identification code based on the received movement control command and broadcast the movement control command to the controlled terminal of the group identification code. After setting the group identification code, the controlled terminal is configured to obtain the last movement command of the group identification code from the server and execute the last movement command to synchronize with the master terminal to the last movement state. After receiving the movement control command broadcast by the server, the controlled terminal executes the movement control command to adjust the controlled terminal to the latest movement state corresponding to the movement control command.
[0007] The present invention also provides an anonymous synchronization control method for a master terminal, a server, and a controlled terminal, comprising the following steps: setting a group identification code at the master terminal, and transmitting the group identification code and a movement control command to the server; updating the last movement command of the group identification code based on the received movement control command at the server, and broadcasting the movement control command to the controlled terminal of the group identification code; after setting the group identification code at the controlled terminal, obtaining the last movement command of the group identification code from the server, and executing the last movement command to synchronize with the master terminal to the last movement state; and, after detecting the movement control command from the server, executing the movement control command to adjust the controlled terminal to the latest movement state corresponding to the movement control command.
[0008] The control system and control method proposed in the present invention can realize remote synchronous control with high privacy. BRIEF DESCRIPTION OF THE DRAWINGS
[0009] Figure 1 FIG. 4 is an architecture diagram of an anonymous synchronization control system according to an embodiment of the present invention.
[0010] Figure 2 FIG. 1 is a diagram illustrating the architecture of a server according to an embodiment of the present invention.
[0011] Figure 3 FIG. 4 is an architecture diagram of a physical terminal according to an embodiment of the present invention.
[0012] Figure 4 FIG. 4 is an architectural diagram of a virtual terminal according to an embodiment of the present invention.
[0013] Figure 5 FIG. 4 is a sequence diagram of an anonymous synchronization control method according to an embodiment of the present invention.
[0014] Figure 6A This is a flowchart of the first part of the anonymous synchronization control method according to an embodiment of the present invention.
[0015] Figure 6B This is a flowchart of the second part of the anonymous synchronization control method according to an embodiment of the present invention.
[0016] Figure 7 This is a partial flow chart of an anonymous synchronization control method according to an embodiment of the present invention.
[0017] Figure 8 This is a partial flow chart of an anonymous synchronization control method according to an embodiment of the present invention.
[0018] Figure 9 This is a partial flow chart of an anonymous synchronization control method according to an embodiment of the present invention.
[0019] Figure 10 This is a first schematic diagram of anonymous synchronization control according to an embodiment of the present invention.
[0020] Figure 11 This is a second schematic diagram of anonymous synchronization control according to an embodiment of the present invention.
[0021] Description of reference numerals:
[0022] 1: Anonymous Synchronous Control System
[0023] 10: Master terminal
[0024] 11: Server
[0025] 12: Controlled terminal
[0026] 20: Control device
[0027] 200: Group management module
[0028] 201: Authentication module
[0029] 202: Connecting the control module
[0030] 203: Final status maintenance module
[0031] 204: Debug module
[0032] 205: Message transmission module
[0033] 206: Recording and playback module
[0034] 21: Storage device
[0035] 210: Computer Programs
[0036] 211: Storage Resources
[0037] 212: Process Command Library
[0038] 213: Temporary storage area
[0039] 22: Communication device
[0040] 3: Physical terminal
[0041] 30: Processing module
[0042] 300: Registration module
[0043] 301: Translation module
[0044] 302: Message module
[0045] 303: Collection module
[0046] 31: Storage module
[0047] 310: Computer Programs
[0048] 311: Group identification code
[0049] 32: Communication module
[0050] 33: Human-Machine Interface
[0051] 330: Input module
[0052] 331: Display module
[0053] 332: Operation interface
[0054] 34: Driver module
[0055] 340: Power module
[0056] 341: Transmission structure
[0057] 4: Virtual Terminal
[0058] 400: Image recognition module
[0059] 401: Tag parsing module
[0060] 402: Virtual Object Control Module
[0061] 403: Drawing module
[0062] 410: Tag Feature Library
[0063] 411: Virtual Object Library
[0064] 44: Image acquisition module
[0065] 45: Tags
[0066] 50: Tablet computer for main control
[0067] 500: Touch screen
[0068] 501: Image acquisition module
[0069] 502: Tags
[0070] 503: Tag Image
[0071] 504: Virtual Object
[0072] 504A: Posture
[0073] 505: Operation interface
[0074] 51: Host operating system
[0075] 510: Control Interface
[0076] 511: Robotic Arm
[0077] 511A: Posture
[0078] 60: Server
[0079] 70: Tablet computer on the controlled end
[0080] 700: Touch screen
[0081] 701: Image acquisition module
[0082] 702: Tags
[0083] 703: Tag Image
[0084] 704: Virtual Objects
[0085] 704A: Posture
[0086] 71: Controlled end operating system
[0087] 710: Control Interface
[0088] 711: Robotic Arm
[0089] 711', 711A: Posture
[0090] C0: Last move command
[0091] C1: Movement Control Command
[0092] S100-S110: Synchronous control steps
[0093] S200-S207: Group management steps
[0094] S300-S303: Master terminal setting steps
[0095] S400-S406: Recording and playback steps
[0096] S500-S510: Virtual control steps
[0097] S600-S602: Entity control steps DETAILED DESCRIPTION
[0098] A preferred embodiment of the present invention is described in detail below with reference to the accompanying drawings.
[0099] See also Figure 1 The present invention provides an anonymous synchronization control system 1 (hereinafter referred to as system 1 ), which includes a master terminal 10 , a server 11 and one or more controlled terminals 12 .
[0100] The host 10, server 11, and controlled terminal 12 are connected via a network (e.g., the Internet). Specifically, the host 10 and controlled terminal 12 do not have a direct network connection. Instead, they are each connected to the server 11 and communicate indirectly through the server 11. In other words, the server 11 acts as an intermediary server between the host 10 and the controlled terminal 12.
[0101] Furthermore, multiple terminals belonging to the same group (i.e., the master terminal 10 and the controlled terminal 12) only need to be assigned the same group ID, eliminating the need for identity verification. The server 11 uses the group ID to identify whether each terminal (i.e., the master terminal 10 and the controlled terminal 12) belongs to the same or different groups, and only allows communication within the same group, disallowing communication between different groups. This allows anonymous remote control and communication, providing a high degree of privacy and information security.
[0102] In one embodiment, the server 11 may be a cloud server and may provide a network address (e.g., a website or IP address) or an application programming interface (API) for connection. The host 10 and the controlled terminal 12 may be physical robots, unmanned vehicles, automated production equipment, etc., or computer programs that simulate such physical devices, without limitation.
[0103] Please also refer to Figure 5 Next, the anonymous synchronous control method of the present invention is described. In the present invention, the instructor user can operate the master terminal 10 to simultaneously control one or more remote controlled terminals 12 (student terminals), so that all controlled terminals 12 and the master terminal 10 have a synchronized and consistent movement state.
[0104] Specifically, the server 11 first plans a group and generates a group identification code for the group.
[0105] Before commencing synchronous control, the host 10 first sets a group ID (e.g., input by the instructor user) and transmits this group ID to the server 11 (step S100). The group ID can be obtained by the user requesting it from the server 11, or by other communication methods. After verifying the validity of the group ID (step S101), the server 11 adds the host 10 to the corresponding group to complete the connection setup of the host 10. The server 11 then transmits the verification result back to the host 10 (step S102, indicating successful group joining or failed group joining).
[0106] Similarly, any controlled terminal 12 may first obtain a group identification code (e.g., input by a student user or obtained through other communication means) and provide the group identification code to the server 11 (step S101). After verifying the validity of the group identification code, the server 11 may add the controlled terminal 12 to the corresponding group to complete the connection setup of the controlled terminal 12, and may further return the verification result to the controlled terminal 12 (step S104, such as notification of successful group joining or failure to join the group).
[0107] In one embodiment, when the user respectively passes Figure 3 、 4 The input module 330 is shown for inputting a group ID into the control terminal 10 and the control terminal 12 for login (i.e., to be added to the corresponding group). The group ID can be a numeric string, a pure English alphabetic string, or a mixed string of numbers and English alphabets. A four-character numeric string is preferred to reduce the input error rate of the group ID and facilitate communication and transmission of the group ID.
[0108] After the login is completed (i.e., it has been added to the corresponding group), the master terminal 10 can generate a motion control command each time it receives an operation from the instructor user (or automatically generates a program). In addition to executing the generated motion control command itself (optional), it can further send the motion control command to the server 11 via the network (step S105). The aforementioned motion control command is used to synchronously change (or simulate changes) the motion status of the master terminal 10 and all controlled terminals 12 (such as the posture of the robot arm, the position of the main body, or the movement speed of the component, etc.).
[0109] In one embodiment, the host 10 may (eg Figure 3 、 4 , receives the control action operation via the operation interface 332 displayed on the main control terminal 10, and triggers the corresponding action signal (such as a button signal). Then, the main control terminal 10 can perform translation processing on the generated action signal to convert the action signal into a movement control command, such as a computer-recognizable instruction, such as a specified number of motors (such as Figure 3 The coordinate value of the power module 340 shown, the motor speed, the rotation angle, etc. Then, the host terminal 10 can link the registered group identification code and the generated movement control command and send it to the server 11.
[0110] Next, the server 11 updates the stored last movement command of the group ID according to the received movement control command (step S106 ), and broadcasts (transmits) the movement control command to all registered controlled terminals 12 of the group ID (step S107 ).
[0111] It is worth mentioning that the controlled terminal 12 may log in during the teaching process and miss the previously transmitted movement control command, or the initial movement states of the control terminal 10 and the controlled terminal 12 are different, which makes it impossible for the control terminal 10 and the controlled terminal 12 to achieve movement state synchronization.
[0112] To address this issue, the present invention provides the aforementioned final movement command to synchronize the movement status of each newly logged-in slave terminal 12. Specifically, after completing the configuration of the group ID, each slave terminal 12 can obtain the final movement command corresponding to the group ID from the server 10 and execute the final movement command to synchronize with the master terminal 12 to the final movement status corresponding to the final movement command.
[0113] After completing the synchronization of the movement state, each time the controlled terminal 12 detects a new movement control command from the server, the movement control command can be executed (step S108) to adjust the controlled terminal 12 to the latest movement state corresponding to the new movement control command, thereby realizing the synchronous movement control of the controlled terminal 12 by the master terminal 10.
[0114] In one embodiment, after each execution of a received motion control command, the controlled terminal 12 may send feedback information (step S109) to the server 11 to inform it whether the motion control command was successfully executed. Furthermore, the server 11 may forward the received feedback information to the corresponding control terminal 10 (step S110). This allows the instructor user operating the control terminal 10 to determine in real time whether all student users (controlled terminals 12) are synchronized.
[0115] The present invention uses the group identification code as the group login credential and mediates and transmits it through the server 11, thereby realizing anonymous login and protecting privacy, and greatly simplifying the registration and identity verification process to improve efficiency.
[0116] Furthermore, the present invention can effectively synchronize the movement state of the remote controlled terminal 12 with that of the master terminal 10, thereby realizing remote synchronous control and further realizing remote actual machine teaching.
[0117] See also Figure 2 , for more clearly explaining the structure and functions of the server 11. Specifically, the server 11 may include a storage device 21, a communication device 22, and a control device 20 electrically connected to the aforementioned devices.
[0118] The storage device 21 is used to store data, such as a storage resource 211 storing a group identification code. The communication device 22 is used to connect to a network to connect to various terminals (such as the host terminal 10 and the controlled terminal 12).
[0119] The control device 20 is used to control the server 11. In one embodiment, the control device 20 is configured to broadcast the received movement control command to all controlled terminals 12 in the same group each time the master terminal 10 receives the movement control command. The control device 20 may also include the following modules with different functions:
[0120] 1. Group management module 200: used to create a group (ie, generate a group identification code), manage a group, delete a group, and monitor the data content transmitted within the group.
[0121] 2. Verification Module 201: Verifies the validity of the group identification code. In one embodiment, upon receiving any group identification code from any terminal (such as feedback information containing the group identification code, the last movement command, or the movement control command), the verification module 201 verifies whether the group identification code is valid.
[0122] 3. Connection control module 202: used to manage (including establishing, maintaining and interrupting) the connection between the master terminal 10 and the controlled terminal 12.
[0123] 4. Final Status Maintenance Module 203: Continuously updates the final movement command for each group ID (e.g., stored in temporary storage area 213) to ensure that the final movement command represents the latest movement status of the corresponding master terminal 10. In one embodiment, upon receiving a new movement control command, the final status maintenance module 203 updates (e.g., directly replaces or translates the command before storing it) the final movement command in the temporary storage area for the same group ID with the new movement control command to update the final movement status.
[0124] 5. Error detection module 204: used to detect errors and setting changes, such as whether the master terminal 10 or the controlled terminal 12 is offline, whether the master terminal 10 has been changed, whether any of the controlled terminals 12 has failed to synchronize, etc.
[0125] 6. Message transmission module 205: used to transfer information between the host terminal 10 and the controlled terminal 12.
[0126] 7. Recording and playback module 206: used to record received movement control commands and their sequence, and provide playback of past movement control commands.
[0127] See also Figure 6A and Figure 6B , used to illustrate how the server 11 adds and deletes groups and implements intermediary message notification. Figure 5 , Figure 6A 、 6B The anonymous synchronization control method further adds the following steps.
[0128] Step S200: The server 11 determines whether a group establishment request has been received via the group management module 200. The group establishment request may be sent by the host 10 or any of the controlled terminals 12, or by the user directly via the input module on the server 11, which is not limited in the present invention.
[0129] If no group establishment request is received, step S200 is executed again to continue detection.
[0130] If a group establishment request is received, step S201 is executed: the server 11 generates a group identification code via the group management module 200 and stores the group identification code in the storage resource 211 of the storage device 21. In this way, the group establishment is completed.
[0131] In one embodiment, the group management module 200 may further include a history command library 212 and a temporary storage area 213 in the storage resource 211. The history command library 212 is used to store all received group IDs and the corresponding movement control commands. The temporary storage area 213 is used to store the last movement command corresponding to the group ID. While the history command library 212 stores all movement control commands, the temporary storage area 213 only stores the most recently received movement command from the server 11 as the last movement command.
[0132] In one embodiment, the server 11 may establish a connection with the requesting host 10 or the controlled terminal 12 via the connection control module 202 .
[0133] Step S202 : After the group is established, the server 11 may continuously detect via the debugging module 204 whether it has received any configuration request from the host 10 or any of the controlled terminals 12 , such as changing connection parameters or hardware parameters.
[0134] If no setup request is detected, other monitoring is performed.
[0135] If any configuration request is detected, step S203 is executed: the server 11 verifies whether the group ID of the configuration request is valid through the verification module 201, and further verifies whether the requester has configuration permission (such as the host 11). If the group ID is valid and the requester has configuration permission, the server 11 can change the configuration according to the configuration request.
[0136] In addition, in step S204, after the group is established, the server 11 can detect via the debugging module 204 whether the connection status of the master terminal 10 or the controlled terminal 12 of any group has changed (such as a new controlled terminal 12 logging in, or the master terminal 10 or any controlled terminal 12 being offline), or detect via the message transmission module 205 whether feedback information has been received from the master terminal 10 or any controlled terminal 12.
[0137] If no changes or feedback are detected, perform additional monitoring.
[0138] If any change or feedback information is detected, step S205 is executed: if the master terminal 10 changes or sends feedback information, the server 11 broadcasts the relevant notification or feedback information to all controlled terminals 12 of the group via the message transmission module 205; if the controlled terminal 12 changes or sends feedback information, the server 11 transmits the notification or feedback information to the master terminal 10 of the group.
[0139] Step S206 : After the group is created, the server 11 determines via the group management module 200 whether a preset deletion condition of the group ID is satisfied, such as receiving a deletion request from the host 10 , the host 10 being offline, or the group ID being expired.
[0140] If the deletion condition is not met, other monitoring is performed.
[0141] If the deletion condition is satisfied, step S207 is executed: the server 11 deletes the group ID and related data via the group management module 200 to delete the group, and releases the storage resource 211 of the group ID to free up storage space.
[0142] Thus, the server 11 of the present invention can effectively implement the group management function and the intermediary message notification function.
[0143] See also Figure 7 , used to illustrate how the server 11 adds a terminal to a group and replaces the master terminal when necessary. Figure 5 , Figure 7 The anonymous synchronization control method further adds the following steps S300-S303.
[0144] To implement the group joining function, step S300: a user (a lecturer or a student) at any terminal (which can be a physical terminal or a virtual terminal) can enter a group ID to request to join the group corresponding to the group ID. Upon receiving the group ID from the terminal, the server 11 verifies the group ID via the verification module 201.
[0145] Step S301: After the group ID is verified, the server 11 can set the verified terminal as one of the master terminal 10 and the controlled terminal 12 via the group management module 200, thereby adding the terminal to the group. Furthermore, when multiple terminals are added to the same group, only one of them will be set as the master terminal 10, and the remaining terminals will be set as controlled terminals 12.
[0146] In one embodiment, the server 11 can determine whether each terminal can serve as the master terminal 10 or the controlled terminal 12 based on a master qualification condition and / or a controlled terminal qualification condition. The master qualification condition and controlled terminal qualification condition can be, for example, to determine whether the terminal that first joins the group serves as the master terminal 10, or to determine whether a specific terminal is designated as the master terminal 10 when the group is created, etc., without limitation.
[0147] To implement the master replacement function, step S302: the server 11 determines whether a preset master replacement condition is met via the debugging module 204. The aforementioned master replacement condition can be that the current master 10 issues a master replacement request, the current master 10 is offline, etc., without limitation.
[0148] If the conditions for replacing the master control are not met, continue to perform other monitoring.
[0149] If the master replacement condition is met, step S303 is executed: the server 11 selects one of the multiple controlled terminals 12 as the new master terminal 10 through the group management module 200. The above selection can be based on the master replacement request or based on the priority of the multiple controlled terminals 12 (which can be determined based on the network speed, the time of joining the group, etc.).
[0150] See also Figure 8 , used to illustrate how the server 11 implements the recording and playback of the mobile control command. Figure 5 , Figure 8 The anonymous synchronization control method further adds the following steps S400-S406.
[0151] Step S400: The server 11 determines whether a preset recording start condition is satisfied via the recording and playback module 206. The recording start condition may be receiving a recording start request from any terminal, or automatically starting recording after the group is established, etc., without limitation.
[0152] If the recording start condition is not satisfied, the server 11 continues monitoring.
[0153] If the recording start condition is met, the server 11 executes step S401: the server 11 records all received motion control commands for the group ID in the history command library 212 of the storage resource 211 corresponding to the group ID via the recording and playback module 206. Furthermore, the server 11 also records the order in which each motion control command was received.
[0154] Step S402: The server 11 determines whether a preset recording stop condition is satisfied via the recording and playback module 206. The recording stop condition may be receiving a recording stop request from any terminal, the master terminal 10 being offline, or the group being disbanded, etc.
[0155] If the recording stop condition is not satisfied, the server 11 continues monitoring.
[0156] If the recording stop condition is satisfied, the server 11 executes step S403 : the server 11 stops recording the received movement control command of the group ID via the recording and playback module 206 .
[0157] Step S404: The server 11 determines whether a playback request with any group ID is received via the recording and playback module 206. The playback request may be sent by the host 10 or the controlled terminal 12.
[0158] If no playback request is received, the server 11 continues monitoring.
[0159] If any playback request is received, the server 11 executes step S405: the server 11 verifies the group ID of the playback request via the verification module 201, and after the verification is passed, reads the previous multiple movement control commands of the group ID from the historical command library 213 via the recording and playback module 206, and transmits these movement control commands to the terminal that issued the playback request (the master terminal 10 or the controlled terminal 12) according to the order of receipt.
[0160] Step S406: The terminal (the control terminal 10 or the controlled terminal 12) that issues the playback request executes the received multiple motion control commands in sequence to reproduce the continuously adjusted motion states according to the order in which the multiple motion control commands are received.
[0161] Thereby, the present invention can re-present and provide the execution process of the historical movement control command.
[0162] In the present invention, each terminal (the master terminal 10 and the controlled terminal 12) can be a physical terminal (such as a physical robot, unmanned vehicle, automated production equipment, etc.) or a virtual terminal (such as a virtual robot, unmanned vehicle, automated production equipment, etc. simulated by a general-purpose computer such as a personal computer, smart phone, tablet computer, laptop computer, wearable device, etc.).
[0163] See further Figure 3 , is used to illustrate how to use the physical terminal 3 as the master terminal 10 and / or the controlled terminal 12 of the present invention.
[0164] Specifically, the physical terminal 3 may include a storage module 31 , a communication module 32 , a human-machine interface 33 , a driving module 34 , and a processing module 30 electrically connected to the above modules.
[0165] The storage module 31 is used to store data, such as the set group identification code 311 . The communication module 32 is used to connect to a network to connect to the server 11 .
[0166] The human-machine interface 33 is used for interaction with the user. In one embodiment, the human-machine interface 33 may include an input module 330 (such as a touch panel, keyboard, or mouse) and a display module 331 (such as a projector or display).
[0167] The input module 330 is used to receive input, such as input of a group identification code or a movement control operation, etc. The display module 331 is used to display information.
[0168] In one embodiment, the input module 330 and the display module 331 can be implemented via a touch screen. Furthermore, the processing module 30 can draw an operation interface 332 (e.g., a graphical user interface) and display the operation interface 332 on the display module 331. Thus, when a user operates the operation interface 332, the corresponding position of the input module 330 is triggered, thereby triggering a corresponding action signal, thereby implementing the motion input function.
[0169] The drive module 34 may include one or more power modules 340 and a transmission structure 341 that connects these power modules 340 (e.g., motors). By controlling the operation of a specific power module 340 (e.g., movement distance, rotation angle, or coordinates), the physical terminal 3 can move the corresponding transmission structure 341 to adjust the physical terminal's posture, position, or movement mode.
[0170] The processing module 30 is used to control the physical terminal 3. In one embodiment, the processing module 300 can control the driving module 34 according to the movement control command to adjust the movement state of the physical terminal 3, and can include the following modules with different functions:
[0171] 1. Registration module 300: used to register with the server 11 based on the obtained group ID, so that the terminal is added to the group of the group ID to complete the setting of the group ID.
[0172] 2. Translation module 301: used to perform translation processing on the motion signal to convert the motion signal into a motion control command. The aforementioned motion control command may include parameters of multiple power modules 340 (such as coordinate values of multiple motors).
[0173] 3. Message module 302: used to transmit information (such as sending a request or feedback information) to the server 11 so that the server 11 forwards the information to other terminals.
[0174] 4. Collection module 303: used to monitor and collect action signals triggered by user operations on the operation interface 332.
[0175] See further Figure 4, is used to illustrate how to use the virtual terminal 4 as the master terminal 10 and / or the controlled terminal 12 of the present invention. The virtual terminal 4 can be a general-purpose computer and implements the functions of the present invention by executing a specific computer program 310.
[0176] Specifically, compared to the physical terminal 3, the virtual terminal 4 does not require a physical driver module 34. Instead, it generates virtual objects through computation and controls their posture or position. By simulating the operation of mechanical equipment with software, it can solve the problem of insufficient mechanical equipment for training and save space and costs for mechanical equipment installation.
[0177] In addition, by simulating the operation of mechanical equipment with software, the flexibility of training locations can be improved. For example, users can simulate the operation of mechanical equipment at home using a tablet computer.
[0178] The present invention can simulate the operation of mechanical equipment based on augmented reality technology. Specifically, the user can set a label 45 for positioning at any location, such as a two-dimensional barcode (QR code) or other labels with graphic features.
[0179] The virtual terminal 4 further includes an image acquisition module 44 (eg, a camera) for capturing an input image (eg, capturing the area where the tag 45 is located).
[0180] Furthermore, the storage module 31 can further store a tag feature library 410 and a virtual object library 411 .
[0181] The tag feature library 410 is used to store image features of various tags 45 for quickly identifying the tag image of each tag 45 .
[0182] The virtual object library 411 is used to store a plurality of object data corresponding to different tag data. Each object data is used to describe a different virtual object. The virtual object includes a virtual robot, a virtual self-propelled device, a virtual unmanned vehicle, a virtual automated production equipment, and the like.
[0183] Furthermore, the processing module 30 of the virtual terminal 4 may further include the following modules having different functions:
[0184] 1. Image recognition module 400: used to control the image acquisition module 44 to continuously capture input images.
[0185] 2. Tag Parsing Module 401: Performs tag recognition on each input image and, upon identifying a tag image, parses the tag image to obtain the corresponding tag data. In one embodiment, Tag Parsing Module 401 compares the input image with multiple image features in Tag Feature Library 410 (which may correspond to the same or different types of tags 45) to accelerate recognition.
[0186] 3. Virtual Object Control Module 402: Used to control the posture, position, or other movement state of the virtual object. Specifically, upon generating or receiving any movement control command (or the last movement command), the virtual object control module 402 calculates the adjusted movement state of the displayed virtual object based on the multiple coordinates of the command. Based on the adjusted movement state, the drawing module 403 updates at least one of the posture, position, and movement mode of the virtual object in the augmented reality image, and displays the updated augmented reality image on the display module 331.
[0187] 4. Drawing module 403: used to query corresponding object data from the virtual object library 411 based on the label data, draw the corresponding virtual object based on the object data, and add the virtual object to the position of the label image of the input image as an augmented reality image, and display the augmented reality image on the display module 331.
[0188] See also Figure 9 , used to explain how to adjust the mobile state of the physical terminal 3 or the virtual terminal 4. Figure 5 , Figure 9 The anonymous synchronization control method further adds the following steps.
[0189] When the controlling terminal 10 or the controlled terminal 12 is the virtual terminal 4, steps S500-S510 are executed.
[0190] Step S500 : The virtual terminal 4 continuously captures input images via the image acquisition module 44 .
[0191] Step S501 : The virtual terminal 4 continuously identifies whether there is a label image of the label 45 in the input image via the image recognition module 400 .
[0192] If no label image is recognized, the recognition process continues.
[0193] If any label image is recognized, step S502 is executed: the virtual terminal 4 analyzes the label image via the label analysis module 401 to obtain label data.
[0194] Step S503 : The virtual terminal 4 searches the virtual object library 411 according to the tag data to obtain corresponding object data.
[0195] Step S504 : The virtual terminal 4 draws a virtual object based on the object data via the drawing module 403 , and adds the virtual object to the position of the label image of the input image to generate an augmented reality image.
[0196] Step S505 : the virtual terminal 4 displays the augmented reality image on the display module 331 .
[0197] Step S506: The virtual terminal 4 determines whether any last movement command or movement control command is received.
[0198] If the last movement command or movement control command is not received, other monitoring is performed.
[0199] If the last movement command or movement control command is received, step S507 is executed: the virtual terminal 4 calculates the adjusted movement state of the virtual object based on the multiple coordinates of the received command via the virtual object control module 402 .
[0200] Step S508 : The virtual terminal 4 updates the posture, position, movement mode, etc. of the virtual object in the augmented reality image based on the calculated movement status via the drawing module 403 .
[0201] Step S509 : the virtual terminal 4 displays the updated augmented reality image on the display module 331 .
[0202] Step S510 : The virtual terminal 4 determines whether to terminate the synchronization control, such as disconnecting from the server 11 or shutting down the virtual terminal 4 .
[0203] If the synchronous control does not need to be terminated, steps S500 to S510 are performed again. Otherwise, the control is terminated.
[0204] When the control terminal 10 or the controlled terminal 12 is the physical terminal 3, steps S600-S601 are executed.
[0205] Step S600: The physical terminal 3 determines whether the last movement command or any movement control command is received.
[0206] If the last movement command or movement control command is not received, other monitoring is performed.
[0207] If the last movement command or movement control command is received, step S601 is executed: the physical terminal 3 controls the driving module 34 to change the posture or position based on the multiple coordinates of the received command to adjust to the movement state corresponding to the command.
[0208] Step S602 : The physical terminal 3 determines whether to terminate the synchronization control, such as disconnecting from the server 11 , closing the virtual terminal 4 , and so on.
[0209] If the synchronous control does not need to be terminated, steps S600 to S602 are executed again. Otherwise, the control is terminated.
[0210] It is worth mentioning that the methods of the embodiments of the present invention can be Figures 1 to 4 Any combination of .
[0211] and, Figures 2 to 4The modules 200-206 shown may be connected to each other (either electrically or electronically), and the modules 300-303 and 400-403 may be connected to each other (either electrically or electronically). Modules 200-206, 300-303, and 400-403 may be hardware modules (e.g., electronic circuit modules, integrated circuit modules, SoCs, etc.), software modules, or a combination of hardware and software modules. When the aforementioned modules 200-206, 300-303, 400-403 are software modules (such as firmware, operating systems or applications), the corresponding memory (such as storage device 21 or storage module 31) may include a non-transitory computer-readable recording medium, and the aforementioned non-transitory computer-readable recording medium stores a computer program (such as computer programs 210, 310). The aforementioned computer programs 210, 310 record computer-executable program codes. When the processor (such as control device 20 or processing module 30) executes the aforementioned program codes, the functions corresponding to each module 200-206, 300-303, 400-403 can be implemented.
[0212] See also Figure 10 , which is used to illustrate how the present invention synchronizes the movement status between the master terminal 10 and the controlled terminal 12 before starting the synchronous control.
[0213] In this example, the host 10 can be a physical terminal (host operating system 51 ) or a virtual terminal (host tablet computer 50 ).
[0214] The host operating system 51 may include a robotic arm 511 and a control interface 510 (such as a control handle or a remote controller).
[0215] The control terminal tablet computer 50 may include a touch screen 500 and an image acquisition module 501. The image acquisition module 501 captures an input image including a label 502. The control terminal tablet computer 50 may display a corresponding label image 503 and a simulated virtual object 504 (e.g., a virtual robotic arm) on the touch screen 500, and may further display an operation interface 505.
[0216] Furthermore, the controlled terminal 12 may be a physical terminal (controlled terminal operating system 71 ) or a virtual terminal (controlled terminal tablet computer 70 ), or a combination of the two.
[0217] The controlled end operating system 71 may include a robotic arm 711 and a control interface 710 (such as a control handle or a remote controller).
[0218] The controlled tablet computer 70 may include a touch screen 700 and an image acquisition module 701. The image acquisition module 701 captures an input image including a label 702. The controlled tablet computer 70 may display a corresponding label image 703 and a simulated virtual object 704 (e.g., a virtual robotic arm) on the touch screen 700, without selecting whether to display an operation interface (here, the display is not shown as an example).
[0219] After the controlled operating system 71 and the controlled tablet computer 70 complete login, they can obtain and execute the last movement command C0 of the host terminal 11 from the server 60 to complete the movement state synchronization, such as the robot arm 711 of the control operating system 71 moves to posture 711 ′.
[0220] Next, see Figure 11 , the host generates and executes the movement control command C1, such as the host operating system 51 can move the robotic arm 511 to the posture 511A, and the host tablet computer 50 simulates the posture of the virtual object 504 to be 504A.
[0221] The master terminal 10 sends the movement control command C1 to the server 60 . The server 60 sets the movement control command C1 as the last movement command and forwards the movement control command C1 to the controlled terminal 12 .
[0222] Next, the controlled terminal 12 receives and executes the movement control command C1 . For example, the controlled terminal operating system 71 may move the robotic arm 711 to a posture 711A, and the control terminal tablet computer 70 simulates the posture of the virtual object 704 to be 704A.
[0223] In this way, the present invention can realize remote synchronous mobile control in an anonymous manner.
[0224] The above description is only a preferred embodiment of the present invention, and does not limit the claims of the present invention. Therefore, all equivalent changes made by applying the contents of the present invention are similarly included in the scope of the present invention and are hereby stated.
Claims
1. An anonymous synchronization control system, comprising: a server; a master terminal connected to the server, configured to set a group identification code, generate a movement control command, and transmit the group identification code and the movement control command to the server; as well as At least one controlled terminal connected to the server; The server is configured to update a last movement command of the group identifier based on the received movement control command, and broadcast the movement control command to the controlled terminal of the group identifier; The controlled terminal is configured to obtain the last movement command of the group identification code from the server after setting the group identification code, and execute the last movement command to synchronize with the master terminal to the last movement state. After receiving the movement control command broadcast by the server, the controlled terminal executes the movement control command to adjust the controlled terminal to the latest movement state corresponding to the movement control command, so that the movement state of the controlled terminal is synchronized to the same latest movement state as the master terminal.
2. The anonymous synchronization control system according to claim 1, wherein the master control terminal further comprises: an image recognition module, configured to control an image acquisition module to capture an input image; a label parsing module for performing a label recognition process on the input image and, when a label image is recognized, parsing the label image to obtain label data; a virtual object library for storing object data corresponding to the tag data, wherein the object data is used to describe a virtual object; a drawing module for obtaining the object data corresponding to the tag data from the virtual object library, drawing the virtual object based on the object data, adding the virtual object to the position of the tag image in the input image as an augmented reality image, and displaying the augmented reality image; and A virtual object control module is used to calculate a movement state of the virtual object based on a coordinate of the movement control command when generating the movement control command, and update the virtual object in the augmented reality image based on the movement state via the drawing module.
3. The anonymous synchronization control system according to claim 1, wherein the controlled terminal further comprises: an image recognition module, configured to control an image acquisition module to capture an input image; a label parsing module for performing a label recognition process on the input image and, when a label image is recognized, parsing the label image to obtain label data; a virtual object library for storing object data corresponding to the tag data, wherein the object data is used to describe a virtual object; a drawing module for obtaining the object data corresponding to the tag data from the virtual object library, drawing the virtual object based on the object data, adding the virtual object to the position of the tag image in the input image as an augmented reality image, and displaying the augmented reality image; and A virtual object control module is used to calculate a movement state of the virtual object based on a coordinate of the last movement command or the movement control command when receiving the last movement command or the movement control command from the server, and update the virtual object in the augmented reality image based on the movement state via the drawing module.
4. The anonymous synchronous control system according to claim 1, wherein the master terminal or the controlled terminal is a robot, and the robot comprises: a storage module for storing the set group identification code; a driving module comprising a power module and a transmission structure for linking the power module, the driving module being used to change the state of the robot; and A processing module is electrically connected to the storage module and the driving module. The processing module is configured to control the driving module to adjust to a movement state corresponding to the last movement command or the movement control command based on a coordinate of the last movement command or the movement control command when receiving the last movement command or the movement control command.
5. The anonymous synchronization control system according to claim 1, wherein the master control terminal comprises: an input module for receiving an input of the group identification code; a registration module for registering with the server based on the group identification code so that the host terminal is added to the group of the group identification code to complete the setting of the group identification code; An operation interface, for triggering a corresponding action signal when receiving a control action operation; a collecting module, configured to monitor and collect the action signal of the operation interface; and A translation module is used to perform a translation process on the motion signal to convert the motion signal into the movement control command, wherein the movement control command includes coordinate values of a plurality of motors.
6. The anonymous synchronous control system according to claim 1, wherein the controlled terminal comprises: an input module for receiving an input of the group identification code, wherein the group identification code is a string of pure numbers, pure English letters, or a mixture of numbers and English letters, and the length of the group identification code string is no more than 8 characters; a registration module for registering with the server based on the group identification code so that the controlled terminal is added to the group of the group identification code to complete the setting of the group identification code; A message module is used to obtain feedback information and send the feedback information to the server.
7. The anonymous synchronization control system as claimed in claim 1, wherein the server comprises: a storage device having a storage resource for storing the group identification code, and the storage resource further having a temporary storage area for storing the last move command; and a control device electrically connected to the storage device, the control device being configured to broadcast the movement control command to all the controlled terminals of the group identification code each time the movement control command is received, the control device comprising: a group management module configured to, upon receiving a group establishment request, execute an identification code generation process to generate the group identification code and store the group identification code in the storage resource; and further, when a deletion condition of the group identification code is satisfied, delete the group identification code and release the storage resource for the group identification code; a connection control module for connecting the master terminal and the controlled terminal in the same group based on the group identification code; and A final state maintenance module is used for updating the final movement command in the temporary storage area each time the movement control command is received.
8. The anonymous synchronization control system according to claim 7, wherein the control device further comprises: a verification module, which verifies whether the received group identification code is valid when receiving any of the group identification codes from any terminal; and a debugging module for selecting one of the plurality of controlled terminals as the new master terminal when a master control replacement condition is met; The group management module is further configured to set the terminal that has passed verification as one of the master terminal and the controlled terminal, so as to add the terminal to the group of the group identification code. One of the terminals is set as the master terminal, and the remaining terminals are set as the controlled terminals.
9. The anonymous synchronous control system of claim 7, wherein the control device further comprises a recording and playback module, the recording and playback module being configured to start recording each received movement control command of the group identification code to a history command library of the storage resource of the group identification code when a start recording condition is satisfied, and to stop recording when a stop recording condition is satisfied; The recording and playback module is further configured to sequentially transmit the plurality of movement control commands recorded in the history command library of the group identification code to the master terminal or the controlled terminal upon receiving a playback request of the group identification code, so that the master terminal or the controlled terminal sequentially executes the received plurality of movement control commands and reproduces the continuously adjusted movement state.
10. The anonymous synchronization control system according to claim 7, wherein the control device further comprises: a debugging module for detecting whether the connection status between the server and the master terminal and the controlled terminal of the group identification code has changed; and A message transmission module is configured to broadcast a notification to the controlled terminals of the group ID code upon detecting a change in the connection status of the master terminal of the group ID code, transmit a notification to the master terminal of the group ID code upon detecting a change in the connection status of any of the controlled terminals of the group ID code, and forward a feedback message to the corresponding controlled terminal or the master terminal upon receiving a feedback message from the master terminal or any of the controlled terminals.
11. An anonymous synchronization control method for a master terminal, a server, and at least one controlled terminal, comprising the following steps: a) setting a group identification code on the master terminal, and transmitting the group identification code and a mobile control command to the server; b) updating, at the server, a last movement command of the group ID based on the received movement control command, and broadcasting the movement control command to the controlled terminal of the group ID; c) after the controlled terminal sets the group identification code, obtaining the last movement command of the group identification code from the server, and executing the last movement command to synchronize with the master terminal to the last movement state; and d) After the movement control command is detected from the server, the movement control command is executed to adjust the controlled terminal to the latest movement state corresponding to the movement control command, so that the movement state of the controlled terminal is synchronized with the latest movement state of the control terminal.
12. The anonymous synchronization control method according to claim 11, wherein the master terminal or any of the controlled terminals is a general-purpose computer, and the anonymous synchronization control method further comprises the following steps: e1) capturing an input image via an image acquisition module at the master terminal or the controlled terminal; e2) when a label image is identified in the input image, parsing the label image to obtain label data; e3) obtaining object data based on the tag data; e4) rendering a virtual object based on the object data and adding the virtual object to the position of the label image in the input image as an augmented reality image; and e5) Displaying the augmented reality image.
13. The anonymous synchronization control method according to claim 12, further comprising the following steps after step e5): e6) upon receiving the last movement command or the movement control command, the master terminal or the controlled terminal calculates a movement state of the virtual object based on a coordinate of the last movement command or the movement control command; e7) updating the virtual object in the augmented reality image based on the movement status; and e8) Displaying the updated augmented reality image.
14. The anonymous synchronous control method according to claim 11, wherein the master terminal or the controlled terminal is a robot, and the anonymous synchronous control method further comprises the following steps: f) Upon receiving the last movement command or the movement control command, the master end or the controlled end controls a driving module based on a coordinate of the last movement command or the movement control command to change a posture or position so as to adjust to a movement state corresponding to the last movement command or the movement control command.
15. The anonymous synchronization control method according to claim 11, wherein the step a) further comprises the following steps: a1) After the group identification code is set, a control operation is received via an operation interface displayed on the main control terminal, and a corresponding action signal is generated; a2) performing a translation process on the motion signal to convert the motion signal into the movement control command, wherein the movement control command includes coordinate values of a plurality of motors; and a3) Transmitting the movement control command linked to the group identifier to the server.
16. The anonymous synchronization control method as claimed in claim 11, wherein the step a) comprises receiving an input of the group identification code via an input module of the master terminal; The step d) includes receiving the group identification code via an input module of the controlled terminal.
17. The anonymous synchronization control method according to claim 11, further comprising the following steps: g1) generating, at the server, the group identifier based on a group creation request, and allocating a storage resource for the group identifier, wherein the last move command is stored in the storage resource; and g2) When a deletion condition of the group ID is satisfied, deleting the group ID and releasing the storage resource of the group ID.
18. The anonymous synchronization control method according to claim 11, further comprising the following steps: h1) at the server, upon receiving the group identification code from each terminal, verifying the group identification code; h2) setting the terminal that has passed the verification as one of the master terminal and the controlled terminal to add the terminal to the group of the group identification code, wherein one of the plurality of terminals is set as the master terminal and the rest of the terminals are set as the controlled terminals; and h3) When a master control replacement condition is met, one of the plurality of controlled terminals is selected as the new master control terminal.
19. The anonymous synchronization control method according to claim 11, further comprising the following steps: i1) when an initial recording condition is satisfied, recording each received movement control command based on the group identifier at the server; i2) stopping recording when a stop recording condition is met; i3) upon receiving a playback request for the group identification code, verifying the group identification code, and sequentially transmitting the recorded plurality of movement control commands of the group identification code to the master terminal or the controlled terminal after the verification is successful; and i4) executing the received plurality of movement control commands in sequence at the master end or the controlled end to reproduce the continuously adjusted movement states according to the order in which the plurality of movement control commands are received.
20. The anonymous synchronization control method according to claim 11, further comprising the following steps: j1) at the server, upon detecting a change in the connection status of the master terminal of the group ID, broadcasting a notification to the controlled terminal of the group ID; j2) upon detecting a connection status change of any of the controlled terminals of the group ID, transmitting a notification to the control terminal of the group ID; and j3) When receiving a feedback message from the master terminal or any of the controlled terminals, forwarding the feedback message to the corresponding controlled terminal or the master terminal.
Citation Information
Patent Citations
Method for interactive network sharing service
TW200520463A
Electronic whiteboard synchronous positioning system and synchronous positioning method thereof
TW201337650A
XR system and method for controlling the same
US20200099858A1