Disclosure of Invention
Aiming at the problems, the invention provides a construction method of a module robot, an assembly and sharing method of the module robot and an interaction system for constructing the module robot.
The technical scheme for solving the technical problems is that the following technical scheme is provided:
The interactive system comprises a plurality of modules which can be mutually assembled together, wherein the modules at least comprise a module which can be communicated with a terminal, the interactive system comprises a server end and a downloading terminal which are mutually communicated, the server end is used for storing information of the module robot to be constructed, the information of the module robot to be constructed at least comprises configuration information of the module robot, the configuration information at least comprises the type of the module assembled by the robot, the assembling position and the assembling method, and the downloading terminal is used for communicating with the module robot to be assembled, downloading the information of the module robot to be constructed, analyzing and displaying the information of the downloaded module robot to be constructed, associating the analyzed information of the module robot to be constructed with the module robot to be constructed, and generating a construction reminding signal when a user constructs the module robot to be constructed based on the displayed information of the module robot to be constructed.
Preferably, the download terminal generates and displays the configuration of the virtual module robot based on the configuration information.
Preferably, the robot information of the module to be constructed further includes at least one of driving information of different types, an execution instruction sequence, execution logic information generated based on the execution instruction sequence, multimedia information, and control interface information.
The downloading terminal comprises an acquisition module, an analysis module, a display module and a control module, wherein the acquisition module is used for communicating with a server end to download the information of the robot of the module to be constructed, the analysis module is used for analyzing the acquired information of the robot of the module to be constructed and transmitting the information to the robot of the module to be constructed, the display module is used for classifying and displaying the analyzed information of the robot of the module to be constructed, the control module is used for communicating with the analysis module to edit and/or transmit the analyzed information of the robot of the module to be constructed to the robot of the module to be constructed, the control modules are multiple, the types among the control modules are different, and one control module is matched according to the type of the information of the robot of the module to be constructed and is associated with the analysis module.
Preferably, the server side comprises a plurality of storage modules, and each storage module is used for classifying and storing the robot information of the modules to be constructed, which have the same configuration information.
Preferably, the downloading terminal is further used for uploading other robot information about the robot to be constructed module, which is independently edited or created, for downloading by other terminals.
In order to solve the technical problems, the invention further provides an interaction system for constructing a module robot, wherein the module robot comprises a plurality of modules which can be mutually assembled together, the modules at least comprise a module which can be communicated with a terminal, the interaction system comprises a server end and an uploading terminal which are mutually communicated, the uploading terminal is used for establishing communication with an initial module robot, acquiring robot information related to the initial module robot based on the communication, the robot information at least comprises configuration information, the configuration information at least comprises a module type, an assembling position and an assembling method of the robot, the robot information is uploaded to the server end as module robot information to be constructed for other terminal users to download and generate a construction reminding signal when constructing the module robot to be constructed based on the module robot information to be constructed, and the server end is used for receiving and storing the robot information.
The uploading terminal comprises an identification module, a setting module and a conversion module, wherein the identification module is used for identifying configuration information of the initial module robot, the setting module is used for setting at least one of driving information, an execution instruction sequence, execution logic information, multimedia information and control interface information which are related to the movement of the initial module robot, the conversion module is used for converting the at least one of the configuration information, the driving information, the execution instruction sequence, the execution logic information, the multimedia information and the control interface information which are generated based on the execution instruction sequence into a file which can be resolved by the resolution module, and the uploading module is used for communicating with the conversion module and uploading the robot information obtained by conversion of the conversion module to a server side as the robot information of the module to be constructed.
Preferably, the server side comprises a judging module and a plurality of storage modules, wherein the judging module is used for communicating with the identifying module to judge the configuration type of the initial module robot based on the configuration information, and the robot information with the same configuration type is classified and stored in different storage modules.
Preferably, the uploading terminal is further used for downloading robot information uploaded by other terminal users and generating an assembly reminding signal when the robot with the module to be constructed is constructed.
In order to solve the technical problem, the invention also provides an interactive system for constructing a modular robot, wherein the modular robot comprises a plurality of modules which can be mutually assembled, the modules at least comprise a module which can be communicated with a terminal, the interactive system comprises an uploading terminal, a server end and a downloading terminal which are mutually communicated, the uploading terminal is used for establishing communication with an initial modular robot, acquiring robot information about the initial modular robot based on the communication, and the robot information at least comprises configuration information, and the configuration information at least comprises the type of the module assembled by the robot, the assembling position and the assembling method; the method comprises the steps of uploading robot information to a server side to serve as information of a to-be-constructed module robot to be downloaded and displayed by other terminal users, generating a construction reminding signal when the to-be-constructed module robot is constructed based on the displayed information of the to-be-constructed module robot, communicating with the to-be-constructed module robot, downloading the information of the to-be-constructed module robot, analyzing and displaying the downloaded information of the to-be-constructed module robot, associating the analyzed information of the to-be-constructed module robot with the to-be-constructed module robot, and generating a construction reminding signal when the user constructs the to-be-constructed module robot based on the displayed information of the to-be-constructed module robot, wherein the information of the to-be-constructed module robot at least comprises configuration information of the module robot, an assembly position and an assembly method.
In order to solve the technical problems, the invention further provides a construction method of the module robot, which is applied to a terminal, wherein the module robot comprises a plurality of modules which can be mutually assembled together, the modules at least comprise a module which can be communicated with the terminal, the module robot information to be constructed is obtained from a server and used for splicing the module robot, the module robot information to be constructed at least comprises configuration information of the module robot, the configuration information at least comprises a module type, an assembly position and an assembly method of the robot assembly, the obtained module robot information to be constructed is analyzed to display the module robot information to be constructed, the module robot information to be constructed is associated with the module robot, and the module robot information to be constructed which is associated with the module robot is used for generating an assembly reminding signal when a user assembles the module robot to be constructed based on the displayed module robot information to be constructed.
Preferably, the module robot information to be constructed further includes driving information for controlling the module robot to execute motion, the driving information includes at least one of preset action frame information and preset action control information generated by editing or computing the at least one action frame information, and each action frame information and the preset action control information are displayed in a classified manner.
Preferably, each piece of action frame information and the preset action control information are respectively provided with corresponding identification information, the preset action control information is directly transmitted to the module robot according to the identification information to control the module robot to execute movement according to the preset action control information, or at least one piece of action frame information which is selectively displayed according to the identification information is edited or calculated again to obtain new preset action control information, and the new preset action control information is transmitted to the module robot and/or uploaded to the terminal platform.
Preferably, the robot information of the module to be constructed further includes at least one preset execution instruction sequence and/or execution logic information generated based on the at least one preset execution instruction sequence, and each execution instruction sequence and the execution logic information are displayed in a classified manner.
Preferably, each execution instruction sequence and each execution logic information respectively have different identification information, the corresponding execution instruction sequence is selected according to the identification information or the execution logic information is transmitted to the module robot, or at least one execution instruction sequence displayed according to the identification information is selected and re-edited to obtain new execution logic information, and the new execution logic information is transmitted to the module robot and/or uploaded to the terminal platform.
Preferably, the module robot information to be constructed further comprises multimedia information, the multimedia information is directly sent to the module robot to be constructed so that the module robot to be constructed runs the multimedia information, or the multimedia information is reedited to obtain new multimedia information, and the new multimedia information is transmitted to the module robot to be constructed and/or uploaded to a server side.
Preferably, the module robot information to be constructed further includes control interface information, where the control interface information includes GUI interface change state information corresponding to different assembly progress in the process of assembling the plurality of modules into the module robot, and the target robot structure is assembled or the module robot information to be constructed is transmitted to the module robot based on the control interface information.
Preferably, the guiding information is generated according to configuration information and the assembly progress of the robot to be constructed, and the guiding information comprises virtual robot configuration generated based on the configuration information, text and/or voice prompt information for guiding the robot to be assembled, or visual guiding information of the current module and the next module to be assembled under the assembly progress of the module robot.
Preferably, after the module robot to be constructed is constructed based on the displayed module robot information to be constructed, the module robot obtained by construction is further edited again to obtain a new module robot and/or the information about the new module robot is uploaded to the server side.
In order to solve the technical problems, the invention also provides a module robot assembly sharing method which is applied to a terminal, wherein the module robot comprises a plurality of modules which can be mutually assembled together, the modules at least comprise one module which can be communicated with the terminal, and the module robot assembly sharing method comprises the following steps of establishing communication with an initial module robot, wherein the initial module robot is obtained by assembling the modules on the basis of the modules, and acquiring information about the initial module robot on the basis of the communication
The configuration information at least comprises the type of a module assembled by the robot, an assembling position and an assembling method, the module configuration information is uploaded to a server side to serve as information of the module robot to be constructed for other terminal users to download, and the information of the module robot to be constructed is used for generating a construction reminding signal when the module robot to be constructed is constructed.
Preferably, driving information is set for the initial module robot to control the movement of the module robot, the driving information comprises a plurality of action frame information and preset action control information which is obtained by editing or operation based on the plurality of action frame information, and the driving information and the configuration information are uploaded to a server side according to different types to serve as the information of the module robot to be constructed.
Preferably, the initial module robot is further provided with an execution instruction sequence, or at least one of execution logic information, multimedia information and control interface information for forming the process of assembling the initial module robot is generated based on the execution instruction sequence and is uploaded to a server according to different types, a plurality of pieces of action frame information are associated with preset action control information, the set execution instruction sequence, the generated execution logic information, the set multimedia information and the formed control interface information are saved as file types which can be analyzed and displayed and/or edited by software, and at least two pieces of file types are packaged and then uploaded to the server to serve as the information of the module robot to be constructed.
Compared with the prior art, the construction method of the module robot, the assembly and sharing method of the module robot and the interactive system for constructing the module robot have the following beneficial effects:
1. The interactive system for constructing the module robot comprises a server end and a downloading terminal which are communicated with each other, wherein the server end collects the module robots assembled by different sharers, sellers, research personnel and module robot lovers, and simultaneously also comprises configuration information corresponding to the module robots and/or information contents such as driving the module robots to move and execute different instructions, and more abundant intelligent achievements are collected, after the information of the module robots is acquired from the server end by using a handheld downloading terminal product of the user needing to follow the assembly, the downloading terminal analyzes and displays the information, and meanwhile, the information is transmitted to the module robots through the downloading terminal, so that the user following the assembly can imitate the module robots to be constructed under the reminding signals, the user is not only limited to a plurality of configurations provided by sellers when buying commodities, but also can well maximize the resource sharing degree, and the user obtains better experience.
2. And the action frame information and the preset action control information are displayed in a classified mode, and the corresponding identification information is respectively arranged on the action frame information and the preset action control information, so that a user can conveniently select the corresponding action frame information to operate, edit or modify the action frame information, and the difficulty of assembling by the user following the assembly is further reduced.
3. The method further comprises at least one preset execution instruction sequence and/or execution logic information, multimedia information and the like generated based on the at least one preset execution instruction sequence, different assembly lovers can be well met, different functional module robot configurations are constructed, different information is distinguished by using different identifiers, and further recreating or direct application by a user is facilitated.
4. The method further comprises interface control information, so that a user can assemble a target robot structure based on the control interface information or transmit the information of the module robot to be constructed to the module robot, and the error rate of operation is reduced.
5. After a sharer creates a new module robot, a virtual module robot is generated based on configuration information and displayed on a sharing platform for users to read, so that the users can conveniently select interested module robots to follow and assemble, and the experience of the users is improved.
6. And storing the driving information, the execution instruction sequence or the execution logic information and the multimedia information generated based on the execution instruction sequence, and the control interface information forming the process of assembling the initial module robot into different types for uploading, so that the module robot information can be conveniently and conveniently downloaded from the shared platform by an assembled user, then is analyzed by the download terminal and then enters the corresponding editor, and the accuracy of applying the module robot information to the assembled module robot is improved.
Detailed Description
For the purpose of making the technical solution and advantages of the present invention more apparent, the present invention will be further described in detail below with reference to the accompanying drawings and examples of implementation. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention.
Referring to fig. 1, a first embodiment of the present invention provides a module robot assembly sharing method, where the module robot includes a plurality of modules that can be assembled together, and the plurality of modules includes at least one module that can communicate with a terminal, and the module robot assembly sharing method includes the following steps:
S1, establishing communication between a module and a terminal, and assembling a plurality of modules to obtain an initial module robot;
S2, identifying configuration information about the initial module robot based on the communication, wherein the configuration information at least comprises the type of a module assembled by the robot, an assembly position and an assembly method;
And S3, uploading the module configuration information to a server side to serve as information of the module robot to be constructed for other terminal users to download, wherein the information of the module robot to be constructed is used for generating a construction reminding signal when the module robot to be constructed is constructed.
In some specific embodiments, the terminal comprises a mobile terminal, typically comprising an electronic device such as a mobile phone, a computer, a tablet computer, etc. It will also be appreciated that the user performs the association of the module by developing an APP software on the terminal. In the following description, the setting of other control information such as action setting, logic information setting, etc. on the modular robot obtained by assembly is performed on APP software, so the terminal will be described using APP software in the following description. The terminal here mainly plays the role of an uploading terminal for uploading configuration information and related information about the movement of the modular robot.
The server side generally comprises a cloud end and a server, and is a comprehensive server side for both calculation and data storage processing.
The sharing platform is an information sharing display area provided on the terminal. It can be understood that the information displayed by the shared platform can be seen after the APP software is entered in a shared display area arranged on the APP software.
In step S1, the module and the terminal may be connected by a wired connection or by a wireless connection. If the mode of wired connection is needed, an external interface is correspondingly arranged on the module. The wireless connection mode comprises zigbee technology, bluetooth technology, NFC technology and the like for wireless communication. In this embodiment, zigbee technology connection is preferred.
Referring to fig. 2, the module includes a main control module 30 and a plurality of sub-unit modules 10 connected with the main control module 30, at least one docking portion 14 is provided on each sub-unit module 10, and the main control module 30 and the sub-unit modules 10 are connected by the docking portions 14 and communicate with the sub-unit modules. Different connection modes between the main control module 30 and the sub-unit module 10, and between the sub-unit module 10 and the sub-unit module 10 can reconstruct the initial robot structure 1a with different configurations. Often, as a creator or some higher-end player creates a newer modular robot based on the modules, so that the sharer can upload configuration information associated with the created and obtained modular robot, information for controlling the created and obtained modular robot to execute movements or execute certain instructions, and associated information for completing certain events to a server for other users or players to refer to assembly.
Referring to fig. 3, the sub-unit module 10 includes two sub-modules 101 rotatable relative to each other, the rotation being controlled by an electrical signal. Preferably, it can also be manually controlled to rotate. Preferably, the sub-modules 101 are hemispherical, at least one butting portion 14 is arranged on each sub-module 101, and the plurality of sub-unit modules 10 are connected through the butting portion 14. Preferably, the number of the docking portions 14 on each sub-unit module 10 is 2 or 3 or 4 or 5 or 6 or 7 or 8, and preferably, the different docking portions 14 of each sub-unit module 10 are provided with corresponding interface identification information so as to determine the relative connection positions between the sub-unit modules 10, i.e. to determine the assembly position information between the modules.
Accordingly, the process of acquiring the assembly position information in the configuration information about the initial modular robot in step S2 is approximately as follows, in which the identification of the interface identification information of the interfacing part 14 between the adjacent unit modules is stepwise performed from the main control module 30 to the free end of the modular robot in the sequential connection order of the sub-unit modules 10 to obtain the position information of the modular robot. Specifically, the terminal pair communicates with the main control module 30 to obtain configuration information.
And because different modules are provided with different interface identification information, the module type information can be obtained when the interface identification information is identified.
The assembly method may be video information, GUI interface information, or text information describing the assembly order and assembly method, etc. that the user captures during the assembly process.
In step S3, the module configuration information is uploaded to a server side as information of a module robot to be constructed for downloading by other terminal users, and the information of the module robot to be constructed is used for generating a construction reminding signal when the module robot to be constructed is constructed. The terminal for downloading the module robot information to be constructed can generate the virtual module robot configuration related to the initial module robot in a three-dimensional simulation or three-dimensional modeling mode according to the obtained configuration information and display the virtual module robot configuration so as to provide a user with a choice of whether the module robot with the same configuration as the virtual module robot needs to be constructed or not. How to generate the construction reminder signal is further described in the following.
Further, in order to enable the initial modular robot to perform a motion, it is necessary to further set driving information for the initial modular robot to control the modular robot to move, the driving information including a plurality of motion frame information and preset motion control information edited or operated to be obtained based on the plurality of motion frame information.
For setting the drive information, a drive information editor for setting the drive information is integrated on the APP software. The drive information editor is integrated with visual edit buttons or menus on a display screen of the electronic equipment, and a user can set or edit the drive information by operating the buttons or the menus.
The simple explanation of the button identification of the display screen is 21, a save button, 22, a delete button, 23, an add button, 24, an action frame identification, 25, another action frame identification, the running time of the action frame represented between the 24 and 25 action frames, 26, a running or pause button, 27, a progress bar button, 28, a return button.
Referring to fig. 4 and 5, after the sharer completes the assembly to obtain the initial module robot, the virtual module robot configuration is correspondingly displayed on the display screen of the terminal, and the user automatically jumps to the operation interface of "create first action frame", and clicks on the interface information shown in fig. 4 and 5. The add button 23 is clicked first, and then by turning either sub-module 101, the setting of an action frame is completed, while the action frame identification 25 is displayed on the screen. If the next action frame needs to be set continuously, a sub-module 101 is turned again, after the turning is finished, the increment button 23 is clicked again to represent that the setting of two action frames is finished, the action frame mark 25 is formed, and so on, until the operation button 26 is clicked after the setting of all the required action frames is finished, the assembled module robot and the virtual module robot on the display screen can execute the movement one by one according to a series of action frames which are just set. The distance between two action frames represents the run time of the last action frame to the next action frame. The user can adjust the length of both run times by pulling one of the action frame identifiers.
Optionally, after setting an action frame, the next action frame can be obtained directly by copying the action frame, and the speed relationship of the motion between two adjacent action frames can be adjusted by dragging the distance between the two adjacent action frames, or by selecting one of the action frames to perform modification and editing, such as modifying the motion speed thereof, and performing operations such as deleting. And after all the action frames are set, the series of action frames form preset action control information, and the preset action control information and the associated action frames are stored in an associated mode by clicking a storage button 21 on the display screen. In order to facilitate identification and distinction, a user can pop up an operation box for inputting a name before saving so as to enable the user to input the name as identification information, so that the name can be conveniently uploaded to a server for being rapidly distinguished after being downloaded by the user, and the name can be better applied to a modular robot assembled later.
When one of the set series of action frames needs to be deleted, the delete button 22 is clicked after the action frame is selected.
Referring to fig. 6, different submenus 241 are correspondingly integrated under each action frame identifier 24, and clicking on the submenu 241 corresponding to the action frame identifier 24 automatically displays the submenu 241, and clicking on the submenu 241 can complete corresponding setting operations, such as adjusting commands such as rotation speed and rotation angle.
It should also be noted that only above the same type of drive information editor can display and operate after the user following the assembly downloads these action frame information or preset action control information. Therefore, the action frame information and the corresponding preset action control information need to be format-coded while being stored, so that a subsequent user can conveniently analyze the action frame information and the corresponding preset action control information into a corresponding drive information editor after downloading the action frame information from a server, and the action frame information and the corresponding preset action control information are displayed on a display screen for the user to select and operate at the same time so as to be applied to a modular robot for subsequent assembly. Thus, it is explained that configuration information and drive information are uploaded to the server side in different format types after saving.
In a first variant embodiment, a modular robot 2a with wheels is provided. At this time, in addition to setting an action frame for the sub-module 101 to rotate both, it is necessary to set the running speed, the rotation speed, and the like of the wheel 102. In this case, an additional driving information editor with a function of setting the rotation and speed of the wheel is required.
Referring to fig. 7 and 8, in order to distinguish from the drive information editor of the first embodiment, the editor with speed editing may be named a rotary motion editor, the interface of which is generally as shown in fig. 8. The editing process is briefly described below with reference to fig. 8, in which the setting of the steering speed of one of the wheels 102 is completed by selecting that wheel and then pulling the speed adjustment button 461 on the screen to set the rotational speed and direction thereof, and the APP software automatically reads and records the steering speed and steering angle. The steering speed of the next wheel 102 is then set in the same manner until the save is completed by clicking the save button 41 in the upper right corner after the steering speeds of all wheels 102 are set. If it is desired to click the run button 462 in accordance with setting the drive information, the back button 48 is clicked if it is desired to exit the current edit.
The rotation speed of the wheel 102 can be set by clicking a wheel selected by the screen, then rotating the wheel of the entity module robot, and then finishing the recording of the rotation speed by the rotary motion editor, and continuing clicking the save button 41 at the upper right corner for saving after the setting is finished. The stored driving information is related to the steering speed of the wheels, because the stored driving information is different from the stored driving information of the first embodiment, and the stored driving information is required to enter a corresponding rotary motion editor for conveniently operating and applying the stored driving information to the newly assembled modular robot for the user of the subsequently assembled modular robot.
In a second variant embodiment, please further combine with fig. 9, another driving information editor may be provided for setting the forward, left or right speeds of the wheels when it is desired to set them for a modular robot with wheels. Named steering wheel editor for the purpose of creating the distinction. A graphical indication with forward arrow 54, left turn arrow 52, right turn arrow 53 is displayed on the display, if the user needs to set the speed of wheel forward, the user first needs to adjust all the wheels to be in a straight-going relationship with respect to the body, click forward arrow 54, and then walk a distance on the road by pushing the physical modular robot, at which time the steering wheel editor will acquire the speed of wheel forward. The acquisition of the speed here may be provided by mounting a speed sensor on each wheel, by means of which the actual speed of each wheel during travel is acquired. The left rotation speed or the right rotation speed is set, and the left rotation arrow 52 and the right rotation arrow 53 are clicked correspondingly, and the save button 51 above is clicked after the setting is completed. Clicking the run button 56 on the right controls the modular robot to run. Clicking the exit button 58 at the top left exits the current mode.
The stored driving information is about the steering speed or the forward speed of the wheels, so that the stored type is different from the stored type of the driving information of the first modified embodiment and the second modified embodiment, and the stored type of the driving information is required to enter the corresponding steering wheel editor for the user of the subsequent assembly module robot to operate and apply the driving information to the new module robot.
In the third modified embodiment, some specific drive information editors (not shown) may also be set based on the interpolation algorithm. The setting procedure of this type of specific driving information editor will be described in a simple way by setting a limit value in a motion state, and then the intermediate motion state can be obtained by calculation by means of an interpolation algorithm. For example, a motion path is a-B, a starting state a is Va, and a speed in an end state B is Vb, and then the speed between a-B can be obtained by combining Va and Vb operations through an interpolation algorithm. The arrangement mode can lead the speed to be uniform in the whole movement process of the A-B and shorten the arrangement time. At this time, the corresponding action frame information in the set limit value state may be stored and uploaded to the server. After the user downloads the action frame information, the action frame information can be displayed only in the same type of driving information editor, so that the action frame information is provided for the user to select and transmit to the newly constructed module robot, or the downloaded action frame information is edited or modified on the driving information editor to form new preset action control information and then transmitted to the newly constructed module robot, or uploaded to the server again.
It should be noted that the above-mentioned driving information editors are only a few examples, and other types of driving information editors may be developed according to different configurations of the modular robot.
In the fourth modified embodiment, an execution instruction sequence is further set to the modular robot to which the action frame information or the preset action control information is set, or execution logic information is generated based on the execution instruction sequence. To set up these sequences of execution instructions or execution logic information, it may be implemented in graphical programming software. The graphical programming software comprises the existing software such as a Python code programming platform and the like. The graphical programming software is also integrated in the APP software described above, which then enters the corresponding graphical programming software.
Referring to fig. 10, some edited execution instruction sequences appear on the display interface, and are graphically presented, where each rectangular box represents an execution instruction sequence. In order to identify the execution logic execution sequences, identification information is set on each rectangular frame, and the identification information can simply indicate what instruction tasks corresponding to the execution instruction sequences are. And selecting part of the edited execution instruction sequences to form execution logic information so as to define tasks to be executed by the robot in a certain state, wherein the robot can complete corresponding tasks only when moving according to the selected execution instruction sequences. Typically, a library of different types of execution instruction sequences, such as an execution instruction sequence of an action corresponding to the sub-module 101, is presented on the display interface, including a motion mode of the action, such as a steering angle, a rotation speed, and the like. Corresponding to the identification information of left turn, right turn, etc. on the rectangular frame.
Optionally, in order to enrich the types of modular robots, the modular robots are also typically provided with external units (not shown). The external unit is connected with the main control module 30 or the subunit module 10. When the external unit works, the operation information is returned to the control main body 40, and the execution instruction sequence can be set to control the relative rotation between the two sub-modules 101 of the sub-unit module 10 according to the operation information returned by the external unit, or control the external unit to work according to the operation information of the sub-unit module 10. Preferably, the external unit returns the working information in real time, and the main control module 30 controls the subunit module 10 to rotate according to the working information returned by the external unit in real time. In particular, the external unit may be a sensor and/or an actuator. The sensor may be an ultrasonic sensor, an infrared sensor, a temperature sensor, a brightness sensor, a color sensor, or the like. The actuator may be a suction cup, an electromagnet, a mechanical claw, or the like. The execution instruction sequence may be configured to control the relative rotation between the two sub-modules 101 of the sub-unit module 10 based on operational information returned by, for example, the sensor and/or the execution unit. For example, an ultrasonic sensor is connected to the modular robot interface 41, and when an obstacle is sensed by the ultrasonic sensor, the distance between the sensor and the obstacle is detected, and working information (distance parameter) is returned, and when the distance is smaller than a certain value, the main control module 30 controls the sub-unit module 10 to stop rotating, so that the modular robot stops moving to avoid contacting with the obstacle. For another example, when the actuator is a suction cup, the pneumatic suction cup is used to suction the article, and the modular robot acts to transport the article from one location to another. The pneumatic chuck returns working information (execution state) to the control main body 40 informing the control main body 40 whether the article is adsorbed or not, and when the control main body 40 receives working parameters representing that the article is adsorbed, the main control module 30 controls the sub-unit module 10 to move so that the modularized robot moves along a preset path to send the article to a destination.
The setting of the execution instruction sequence may be performed after setting the drive information or before setting the drive information, depending on the type of the actuator or the sensor, or the configuration of the modular robot. For example, when a user touches the sensor, the corresponding component performs a corresponding action, such as the lighting of an indicator light, or the component emits a voice message, which is not related to the mutual movement between the modules at all, which can be set before setting the driving information. If the corresponding action is needed to be executed after the rotation based on a certain module, the execution instruction sequence is needed to be set after the driving information is set. A sequence of execution instructions associated with the actuator, such as a gripper, picks up the item to be handled. Often, executing a task requires the collection of different sequences of execution instructions to accomplish. Then the user needs to logically select the corresponding execution instruction sequences in the execution instruction sequence library to be combined to obtain a complete execution logic information.
It should be noted that, whether the preset execution instruction sequence and/or the execution logic information generated based on the preset execution instruction sequence need to be associated with the driving information needs to be determined according to the type of the actuator.
After the execution instruction sequences and the corresponding generated execution logic information are set, the execution instruction sequences and the corresponding generated execution logic information are further saved and uploaded to the server side. When the end user to be used downloads, the execution instruction sequences and the corresponding execution logic information are displayed in the corresponding graphical programming software. The user may select the execution instruction therein for editing or modification. And the corresponding operation button can be directly clicked, so that the new building module robot executes the set execution logic information.
Referring to fig. 10 again, in order to better perform the set execution instruction sequences, different execution libraries are set respectively to save the different execution instruction sequences. These libraries include an action instruction library 62, a multimedia instruction library 63, and a sensor execution instruction library 64, etc., each of which then has a corresponding plurality of sub-execution instruction sequences with different instruction information. Such as the action instruction library 62 includes rotation angle instructions 621, rotation speed instructions, etc. of the sub-module 101. While the multimedia command library 63 includes a music command sequence 622, or a warning tone command sequence, etc., and the sensor execution command library 64 includes an infrared sensor activation command 631, etc. The user selects the contents of the different libraries to be combined together to generate execution logic information. Clicking the lower run button 66 effects the run.
After the user downloads, the editor is still presented in the form of rectangular boxes for convenience of display. Text information is usually set on the surface of each rectangular frame to simply describe what the function corresponding to the execution instruction sequence is, so that a user can directly select to apply.
In some other embodiments, the modular robot information to be built further comprises multimedia information. The multimedia information comprises information such as expression materials, sound effect materials, introduction videos, introduction pictures and the like, and the corresponding executors can be display screens, players and the like. The multimedia information can be further set for the initial robot structure obtained by initial assembly, so as to play under the corresponding conditions, or the multimedia information can be played or displayed by setting some play keys to control the corresponding actuators. Optionally, the multimedia information may be associated with the above-mentioned preset execution instruction sequence and/or one of the execution logic information and the driving information generated based on the preset execution instruction sequence, or may be set completely independently.
The setting mode of the multimedia information can also be realized by referring to the graphical programming software, each sound effect is defined by setting a rectangular frame, and a source program file corresponding to the sound effect is associated in each rectangular frame.
Optionally, in order to better record the process of assembling the modular robot by the sharer, the user who needs to refer to or borrow the reference later may be clearer, and further includes the following steps:
and forming control interface information based on the process of assembling the initial robot structure so as to upload the control interface information to the terminal platform. It can be understood that, because each subunit is in signal connection with the electronic device, when the user completes one module unit at each assembly, a new virtual robot configuration related to the module robot configuration obtained by the assembly is formed at the electronic device end correspondingly, and GUI interface information under different assembly progress in each assembly process is uploaded to the terminal platform, so that the user of the module robot to be constructed can further assemble with reference to the GUI interface information, the probability of errors in the assembly process is reduced, and meanwhile, the assembly speed is also improved. The GUI interface information may be downloadable document information, and the user may download settings to print into paper document materials.
It should be noted that the control interface information further includes GUI interface information formed by the sharer in the process of setting the driving information, executing the instruction sequence, executing the logic information, and the multimedia information, and uploading the GUI interface information to the server.
Referring to fig. 11, a second embodiment of the present invention provides a method for constructing a modular robot, the modular robot including a plurality of modules that can be assembled with each other, the plurality of modules including at least one module that can communicate with a terminal, the method comprising the steps of:
T1, acquiring module robot information to be constructed of a spliced module robot from a server, wherein the module robot information to be constructed at least comprises configuration information of the module robot, and the configuration information at least comprises a module type, an assembly position and an assembly method of robot assembly;
T2, analyzing the obtained robot information of the module to be constructed to display the robot information of the module to be constructed, and
And T3, transmitting the module robot information to be constructed to a module robot, wherein the module robot information to be constructed received by the module robot is used for generating an assembly reminding signal when a user assembles the module robot to be constructed based on the displayed module robot information to be constructed.
The terminal in the present embodiment and the terminal mentioned in the first embodiment can be understood as being the same type of electronic device. The APP software integrated thereon also includes at least the same portions as the functions of the APP software in the first embodiment. It will be appreciated that the holder of the terminal in the first embodiment is a sharer, such as a developer, a seller or a creator of a new modular robot. In this embodiment, the terminal is used as a downloading terminal, and the holder of the terminal can be understood as a user who needs to assemble the modules according to the module robot shared by the sharer. For convenience of description, this part of users will be referred to as sharees hereinafter.
In the above step T1, after the sharees take out the modules to be assembled together, communication between the main control module and the terminal needs to be established first. The modules in this embodiment at least include the main control module, part or all of the sub-unit modules in the first embodiment. The main control module, the subunit modules and the structural control manner of the first embodiment are identical, so that the description of the embodiment will not be repeated for the content of the first embodiment.
While the parts of the wheel, the sensor and the actuator can be selectively matched according to the configuration of the modular robot.
After the connection between the main control module and the terminal is established, the user selects a module robot which is hoped to follow and assemble according to the displayed virtual module robot configuration shared by the sharer on the sharing platform. As an optional operation, an identifier is provided on one side of the display area of the virtual module robot configuration, after selection, the module type and the module number included in the selected virtual module robot are first matched with the module type and the module number of the module robot to be constructed, which have established communication with the terminal, respectively, and if the matching is successful, step T1 and the subsequent steps are performed. If the matching is unsuccessful, executing the step T1 and the subsequent steps or selecting the robot information associated with other virtual module robot configurations to be transmitted to the module robot to be constructed.
If the module type and the number of the modules included in the module robot to be constructed for establishing communication with the terminal are all included in the selected virtual module robot configuration, the matching is successful, otherwise, the matching is considered to be unsuccessful.
Alternatively, this step of matching may be omitted, and the download command may be executed regardless of whether the module type and the number of modules of the module robot to be constructed match the module type and the number of modules in the module robot information to be downloaded.
Referring to fig. 12, after step T1 is performed, the interface information is represented by jumping after the sharee selects the virtual module robot configuration corresponding to the region 71. Clicking on the edit if assembly needs to begin, and automatically jumping to the interface presented in fig. 12 after clicking.
Referring to fig. 13, in step T2, the obtained robot information of the module to be constructed is parsed to display the robot information of the module to be constructed, and the specific display content is shown in fig. 13. In the step, the information of the robot to be constructed is displayed based on the analysis of the source code information integrated with the information of the robot to be constructed. The specific parsing process involves mathematical or procedural operations, which are not described in detail herein.
In step T3, the module robot information to be constructed is transmitted to a module robot, where the module robot information to be constructed received by the module robot is used to generate an assembly reminding signal when the user assembles the module robot to be constructed based on the displayed module robot information to be constructed. In the step, based on the communication between the main control module and the terminal, the robot information of the module to be constructed is transmitted to the sub-unit modules one by the main control module or transmitted to a sub-unit module connected with the main control module by the main control module, and then further transmitted to the sub-unit module connected with the sub-unit module by the sub-unit module, and so on.
After obtaining the robot information of the modules to be constructed, the following description is given by providing a forming mode of the reminding signal:
The modular robot shared on the sharing platform comprises M unit modules connected through a butt joint part;
acquiring configuration information of a current constructed entity, wherein the constructed entity comprises N unit modules connected through a butt joint part, and N is smaller than M;
Calculating configuration information of the modular robot shared by the sharing platform and configuration information of the current constructed entity to obtain a butt joint position of at least (n+1) th unit module to be accessed on the constructed entity, and
And sending prompt information according to the calculated butt joint position where at least the (n+1) th unit module is supposed to be accessed on the constructed entity, and prompting at least the butt joint position where the (n+1) th unit module is supposed to be accessed. Then connecting at least the (n+1) th unit module to the constructed entity according to the prompt information;
repeating the steps until the connection among the unit modules is completed, and obtaining the modularized robot to be constructed.
The reminding signal can also be based on the local virtual robot structure corresponding to the construction progress of the current construction module compared with the whole module robot model, and is displayed on the main control module or the terminal, and the corresponding butt joint part to be spliced is lighted up or other guiding information is formed to indicate the position of the corresponding butt joint part, and can also be formed to display text reminding information on the terminal or the main control module to remind the user of the type of the module to be spliced next and the splicing position. The lighting of the docking station is preferably on the solid module.
It will be appreciated that the text formation is broadcast to the user.
It will also be appreciated that a display or player associated with the main control module may be provided in order to be able to prompt the user with the reminder signals.
Referring to fig. 13 and 14 again, further, the module robot information to be constructed further includes driving information for controlling the module robot to execute motion, where the driving information includes at least one of preset at least one motion frame information and preset motion control information generated by editing or computing the at least one motion frame information, and each motion frame information and the preset motion control information are displayed in a classified manner. When the downloading is completed and resolved, the method automatically jumps to the corresponding type of drive information editor. The action frame information related to the drive information is respectively displayed on the display screen according to the type of the drive information. Including the driving information parsed into the action library 72, the execution instruction sequences and execution logic information parsed into the programming library 73, or the multimedia information parsed into the multimedia information library 74. And each library has a plurality of different sub-information stored therein. For illustrating the sub information, the modular robot to be constructed this time is a two-wheeled modular robot with sensors, and includes a main control module 60, a head 601 rotatably connected to the main control module 60, a sub unit module 603 connected to the main control module 60, and two wheels 604 connected to two interface parts of the sub unit module 603. Wherein the head 601 is provided with a sensor, and the head 601 can shake the head or make a sound or the like according to a set execution action or instruction. And the wheel 604 can move forward, left, and right according to the set driving information. Each piece of action frame information and the preset action control information are respectively provided with corresponding identification information. It can be seen that a simple "front" button 721, a "left" button 722, a "right" button 723, and a "pan" button 724 are utilized in fig. 12 as identification information of different action frame information, respectively. These drive information are all drive information about the actions, as they are all stored in the action library. It can be further seen that after clicking the "left" button 721, an edit button 7221, an actuation button 7222, and a recycle button 7223 are displayed correspondingly. If it is desired to transmit the forward-related action frame information directly to the assembled modular robot, the drive button 7222 may be clicked. If it is desired to modify the name of the action frame, then edit button 7221 is clicked to make the edit modification. If deletion of the operation frame information is desired, the corresponding click of the recycle button 7223 is sufficient.
If the user needs to reset some action frame information, clicking the creation button 75 on the left side will automatically jump to the page of the drive information editor corresponding to that module.
When the user uses the action frame information, the preset action control information is directly transmitted to the module robot to control the module robot to execute the movement according to the preset action control information, or at least one action frame information which is selectively displayed according to the identification information is edited or calculated again to obtain new preset action control information, and the new preset action control information is transmitted to the module robot and/or uploaded to the terminal platform. The specific operation is as follows:
the driving information is defined into different categories based on the configuration information, and the driving information is analyzed based on the categories to form driving information of different categories to be displayed respectively. The different categories of configuration information defined herein can be distinguished from the drive information obtained by the different types of drive information editors in the first embodiment. After parsing, the method correspondingly enters the same type of drive information editor.
In some other embodiments, the module to be constructed robot information further includes at least one preset execution instruction sequence and/or execution logic information generated based on the at least one preset execution instruction sequence, and each execution instruction sequence and execution logic information are displayed in a classified manner. It should be noted that, after the execution instruction sequence and the execution logic information are acquired and resolved, the application software program interface of the corresponding logic editor is correspondingly jumped to, and the software of the logic editor is consistent with the graphical programming software in the first embodiment, so that a user can operate the resolved execution instruction sequence and execution logic information. If the execution instruction sequence and the execution logic information need to be applied to the newly constructed modular robot, the corresponding operation can be performed by clicking the programming library 73.
Each execution instruction sequence and the execution logic information respectively have different identification information, the corresponding execution instruction sequence is selected according to the identification information or the execution logic information is transmitted to the module robot, or at least one execution instruction sequence displayed according to the identification information is selected and re-edited to obtain new execution logic information, and the new execution logic information is transmitted to the module robot and/or uploaded to the terminal platform. The specific identification information is similar to the driving information identification, for example, the identification information is "low head and then lights" which can simply indicate the content information of the execution instruction sequence, so that the user can select according to the requirement. The operation of applying these sequences of execution instructions and execution logic information to the assembled modular robot and the operation of the drive information are generally similar and will not be described in detail herein.
Optionally, the module robot information to be constructed further comprises multimedia information according to different configuration modules included in the module robot, and the multimedia information is directly sent to a target robot structure so as to enable the target robot structure to run the multimedia information;
Or re-editing the multimedia information to obtain new multimedia information, and transmitting the new multimedia information to the module robot and/or uploading the new multimedia information to the terminal platform.
The display mode of the multimedia information can be consistent with the execution instruction sequence or the execution logic information, so that a user can add, edit or apply the multimedia information by selecting one graph.
The module robot information to be constructed further comprises control interface information, wherein the control interface information comprises corresponding GUI interface change state information under different assembly progress in the process of assembling a plurality of modules into the module robot, and the target robot structure is assembled or the module robot information to be constructed is transmitted to the module robot based on the control interface information. The control interface information can be stored as a picture format.
Generating guide information according to configuration information and the assembly progress of the robot to be constructed, wherein the guide information comprises virtual robot configuration generated based on the configuration information, text and/or voice prompt information for guiding the robot to assemble, or visual guide information of the current module and the next module to be assembled under the assembly progress of the module robot. The generation of these guide information is described in the first embodiment, and will not be described in detail here.
In order to further improve the experience of the user, after the sharees complete the assembly of the robot information to be constructed according to the sharing of the sharees and the corresponding driving information or executing information is set, the sharees can further re-edit the assembled modular robot, such as simply changing the configuration information, changing the driving information or modifying at least one of the executing logic information, the multimedia information and the like.
The specific modification and editing process is substantially the same as the setting process of the first embodiment, and will not be described here.
Referring to fig. 15 and 16, a third embodiment of the present invention provides an interactive system 150 for modular robot construction, the modular robot comprising a plurality of modules that can be assembled with each other, the plurality of modules comprising at least one module that can communicate with a terminal, the interactive system comprising a server side 151 and a download terminal 152 that communicate with each other,
A server 151, configured to store information about a to-be-constructed module robot of the to-be-constructed module robot, where the to-be-constructed module robot information at least includes configuration information of the module robot, and the configuration information at least includes a module type, an assembly position, and an assembly method of the robot assembly;
the download terminal 152 is configured to communicate with a module robot to be assembled, download the module robot information to be constructed, parse and display the downloaded module robot information to be constructed, transmit the parsed module robot information to the module robot to be constructed, and generate a construction reminding signal when a user constructs the module robot to be constructed based on the displayed module robot information to be constructed.
The download terminal 152 also generates and displays the configuration of the virtual module robot based on the configuration information.
The download terminal 152 includes an acquisition module 1521, an analysis module 1522, a display module 1523, and a manipulation module 1524.
The obtaining module 1521 is configured to communicate with a server to download the robot information of the module to be constructed;
the analysis module 1522 is used for analyzing the acquired robot information of the module to be constructed and transmitting the information to the robot of the module to be constructed;
The display module 1523 is used for displaying the analyzed robot information of the module to be constructed;
The control module 1524 is configured to communicate with the parsing module to edit and/or transmit the parsed information of the module robot to be constructed to the module robot to be constructed.
The robot information of the module to be constructed also comprises action frame information, preset action control information related to the action frame information, a set execution instruction sequence, generated execution logic information, set multimedia information and formed control interface information,
The number of the control modules is multiple, and one control module is matched with the analysis module according to the type of the robot information of the module to be constructed. The manipulation module 1524 may correspond to the action information or the editor related to the execution logic information provided for the above-described first embodiment.
The server side 151 includes a decision module and a plurality of storage modules,
The determining module is configured to communicate with the downloading terminal 152, and the determining module obtains a module type and a module number of the to-be-constructed module robot in communication with the downloading terminal 152, determines whether the to-be-assembled module robot information includes the module type and the module number of the to-be-assembled module robot information, and determines to download the to-be-assembled module robot information or other to-be-assembled module robot information uploaded by other terminal users based on a determination result.
And each storage module is used for classifying and storing the robot information of the modules to be constructed, the configuration information of which is the same. That is, the robot information of the modules to be constructed with the same configuration is stored in the same storage module, so that the user can conveniently select and download the modules, and the server 151 can conveniently and orderly manage the modules. It may be further understood that each storage module may further include different sub-storage modules, which are respectively configured to store configuration information, action frame information, preset action control information associated with the action frame information, a set execution instruction sequence, generated execution logic information, set multimedia information, and formed control interface information of the robot configuration of the same module.
As a modification, the determination module may be omitted, and the download command may be executed regardless of whether the module type and the module number of the to-be-constructed module robot match the module type and the module number in the to-be-constructed module robot information to be downloaded.
Referring to fig. 17 and 18, a fourth embodiment of the present invention provides an interactive system 90 for modular robot construction, where the modular robot includes a plurality of modules that can be assembled together, the plurality of modules includes at least one module that can communicate with a terminal, the interactive system includes a server end and an uploading terminal that communicate with each other, and the interactive system 90 for modular robot construction includes a server end 91 and an uploading terminal 92 that communicate with each other.
The uploading terminal 92 is configured to establish communication with an initial module robot, obtain robot information about the initial module robot based on the communication, where the robot information at least includes configuration information, and the configuration information at least includes a module type, an assembly position, and an assembly method of robot assembly;
the server 91 is configured to receive and store the robot information. The uploading terminal 92 includes an identification module 921, a setting module 922, a conversion module 923, and an uploading module 924.
The identifying module 921 is used for identifying configuration information of the initial robot structure, wherein the configuration information at least comprises a module type, an assembling position and an assembling method of robot assembly;
A setting module 922 for setting at least one of driving information, an execution instruction sequence, execution logic information generated based on the execution instruction sequence, multimedia information, and control interface information for the initial robot structure to execute a motion;
the conversion module 923 converts at least one of the driving information, the execution instruction sequence, the execution logic information generated based on the execution instruction sequence, the multimedia information and the control interface information into a file which can be analyzed by the analysis module;
And the uploading module 924 is communicated with the conversion module 923 and uploads the information obtained by conversion of the conversion module 923 to the server side 91.
Wherein the setting module 922 may correspond to the action information or the execution logic information-related editor provided for the above-described first embodiment.
The server side 91 comprises a decision module and a plurality of storage modules,
The determining module is configured to communicate with the identifying module 921 to determine a configuration class of the initial module robot based on the configuration information, and store the robot information of the same configuration class in a storage module in a classified manner. It may be further understood that each storage module may further include different sub-storage modules, which are respectively configured to store configuration information, action frame information, preset action control information associated with the action frame information, and other driving information, a set execution instruction sequence, generated execution logic information, set multimedia information, and formed control interface information of the robot configuration of the same module.
The uploading terminal 92 is also used for downloading robot information uploaded by other terminal users and for generating an assembly reminding signal when constructing the robot to be constructed.
A fifth embodiment of the present invention provides another interactive system for modular robot construction, the modular robot comprising a plurality of modules that are mutually assembled together, the plurality of modules comprising at least one module that is communicable with a terminal, the interactive system comprising an uploading terminal, a server side and a downloading terminal that are communicable with each other,
The system comprises an uploading terminal, a server and a building module, wherein the uploading terminal is used for establishing communication with an initial module robot, acquiring robot information about the initial module robot based on the communication, wherein the robot information at least comprises configuration information, and the configuration information at least comprises a module type, an assembling position and an assembling method for assembling the robot;
the method comprises the steps of communicating with a to-be-constructed module robot, downloading information of the to-be-constructed module robot, analyzing and displaying the downloaded information of the to-be-constructed module robot, associating the analyzed information of the to-be-constructed module robot with the to-be-constructed module robot, and generating a construction reminding signal when a user constructs the to-be-constructed module robot based on the displayed information of the to-be-constructed module robot;
the server side is used for storing the information of the to-be-constructed module robot about the to-be-constructed module robot, wherein the information of the to-be-constructed module robot at least comprises configuration information of the module robot, and the configuration information at least comprises the type, the assembling position and the assembling method of the module assembled by the robot.
The functions of the uploading terminal are the same as those of the uploading terminal 92 provided in the above embodiment, and will not be described herein. The download terminal and the download terminal 152 provided in the above embodiment have the same functions and will not be described here again.
A sixth embodiment of the present invention provides an electronic device including a memory in which a computer program is stored, and a processor configured to execute the method of assembling the modular robot in the second embodiment or the method of directing the modular robot to perform the assembly provided in the first embodiment by the computer program.
Referring now to fig. 19, there is illustrated a schematic diagram of a computer system 800 suitable for use in implementing a terminal device/server in accordance with an embodiment of the present application. The terminal device/server shown in fig. 19 is only an example, and should not impose any limitation on the functions and scope of use of the embodiments of the present application.
As shown in fig. 19, the computer system 800 includes a Central Processing Unit (CPU) 801 that can perform various appropriate actions and processes according to a program stored in a Read Only Memory (ROM) 802 or a program loaded from a storage section 808 into a Random Access Memory (RAM) 803. In the RAM803, various programs and data required for the operation of the system 800 are also stored. The CPU801, ROM802, and RAM803 are connected to each other by a bus 804. An input/output (I/0) interface 805 is also connected to the bus 804.
Connected to the I/0 interface 805 are an input portion 806 including a keyboard, a mouse, and the like, an output portion 807 including a Cathode Ray Tube (CRT), a Liquid Crystal Display (LCD), and the like, and a speaker, and the like, a storage portion 808 including a hard disk, and the like, and a communication portion 809 including a network interface card such as a LAN card, a modem, and the like. The communication section 809 performs communication processing via a network such as the internet. The drive 810 is also connected to the I/0 interface 805 as needed. A removable medium 811 such as a magnetic disk, an optical disk, a magneto-optical disk, a semiconductor memory, or the like is mounted on the drive 810 as needed so that a computer program read out therefrom is mounted into the storage section 808 as needed.
The processes described above with reference to flowcharts may be implemented as computer software programs according to embodiments of the present disclosure. For example, embodiments of the present disclosure include a computer program product comprising a computer program embodied on a computer readable medium, the computer program comprising program code for performing the method shown in the flow chart. In such an embodiment, the computer program may be downloaded and installed from a network via the communication section 809, and/or installed from the removable media 811. The above-described functions defined in the method of the present application are performed when the computer program is executed by a Central Processing Unit (CPU) 801. The computer readable medium according to the present application may be a computer readable signal medium or a computer readable storage medium, or any combination of the two. The computer readable storage medium can be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or a combination of any of the foregoing. More specific examples of a computer-readable storage medium may include, but are not limited to, an electrical connection having one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
Computer program code for carrying out operations of the present application may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and conventional procedural programming languages, such as the "like" programming language or similar programming languages. The program code may execute entirely on the administrative computer, partly on the administrative computer, as a stand-alone software package, partly on the administrative computer and partly on a remote computer or entirely on the remote computer or server. In the case of remote computers, the remote computer may be connected to the administrative-side computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN) domain, or may be connected to external computers (e.g., through the internet using an internet service provider).
The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present application. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The above description is only of the preferred embodiments of the present invention and is not intended to limit the invention, but any modifications, equivalents, improvements, etc. within the principles of the present invention should be included in the scope of the present invention.