WO2020077631A1 - 控制机器人的方法、服务器、存储介质及云服务平台 - Google Patents

控制机器人的方法、服务器、存储介质及云服务平台 Download PDF

Info

Publication number
WO2020077631A1
WO2020077631A1 PCT/CN2018/111078 CN2018111078W WO2020077631A1 WO 2020077631 A1 WO2020077631 A1 WO 2020077631A1 CN 2018111078 W CN2018111078 W CN 2018111078W WO 2020077631 A1 WO2020077631 A1 WO 2020077631A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
preset
sample data
data
user
Prior art date
Application number
PCT/CN2018/111078
Other languages
English (en)
French (fr)
Inventor
佟荣磊
Original Assignee
深圳配天智能技术研究院有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 深圳配天智能技术研究院有限公司 filed Critical 深圳配天智能技术研究院有限公司
Priority to CN201880087438.4A priority Critical patent/CN111630475B/zh
Priority to PCT/CN2018/111078 priority patent/WO2020077631A1/zh
Publication of WO2020077631A1 publication Critical patent/WO2020077631A1/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer

Definitions

  • This application relates to the field of robots, in particular to a method, server, storage medium and cloud service platform for controlling robots.
  • Robots are automated equipment that integrates multidisciplinary technologies such as machinery, electronics, control, computers, sensors, and artificial intelligence.
  • multidisciplinary technologies such as machinery, electronics, control, computers, sensors, and artificial intelligence.
  • the robot cluster collaboration mode has placed higher demands on the control center's computing and coordination capabilities.
  • how to recommend data to the robot that better fits the robot attributes is a problem that needs to be solved in robot cluster control.
  • the technical problem mainly solved by this application is to provide a method, server, storage medium and cloud service platform for controlling a robot. It is possible to recommend data to the robot that more closely matches the attributes of the robot.
  • a technical solution adopted by the present application is to provide a method for controlling a robot, the method including:
  • the sample data comes from preset resources of different robots
  • a server including: a processor, a memory and a communication interface, the processor being connected to the memory and the communication interface;
  • the communication interface is used to receive a request instruction from a robot or a user
  • the processor is used to execute the program code stored in the memory to execute the method of controlling the robot as described above.
  • a cloud service platform including: an application module for receiving a request instruction from a user or a robot;
  • the resource processing module is used to generate a control instruction for the target robot according to the task instruction and the sample data stored in the cloud database, the sample data comes from preset resources of different robots;
  • the data link module is configured to receive preset resources uploaded by the robot and send the control instruction to the target robot.
  • another technical solution adopted by the present application is to provide a storage medium with a storage function, where the storage medium stores program data, and the program data is executed to implement the method as described above.
  • the sample data corresponding to the request instruction is obtained for further processing to obtain the recommendation data, and finally the control sent to the target robot is generated based on the obtained recommendation data instruction.
  • the recommended data that better fits the robot attributes or actually meets the request command requirements is calculated to achieve more Precise control.
  • FIG. 1 is a schematic flowchart of a first embodiment of a method for controlling a robot of this application
  • FIG. 2 is a schematic flowchart of a second embodiment of a method for controlling a robot of this application
  • FIG. 3 is a schematic flowchart of a third embodiment of a method for controlling a robot of this application.
  • FIG. 4 is a schematic flowchart of a fourth embodiment of a method for controlling a robot of this application.
  • FIG. 5 is a schematic flowchart of a fifth embodiment of a method for controlling a robot of this application.
  • FIG. 6 is a schematic flowchart of a sixth embodiment of a method for controlling a robot of this application.
  • FIG. 7 is a schematic diagram of interaction in a seventh embodiment of a method for controlling a robot of this application.
  • FIG. 8 is a schematic flowchart of an eighth embodiment of a method for controlling a robot of this application.
  • FIG. 9 is a schematic flowchart of a ninth embodiment of a method for controlling a robot of this application.
  • FIG. 10 is an interactive schematic diagram of a tenth embodiment of a method for controlling a robot of this application.
  • FIG. 11 is a schematic structural diagram of a first embodiment of a server of this application.
  • FIG. 12 is a schematic structural diagram of a second embodiment of a server of this application.
  • FIG. 13 is a schematic structural diagram of a first embodiment of a cloud service platform according to the application.
  • FIG. 14 is a schematic flowchart of a business model in an embodiment of a cloud service platform of the application.
  • 15 is a schematic structural diagram of a first embodiment of a storage medium of the present application.
  • first and second in this application are for descriptive purposes only and cannot be understood as indicating or implying relative importance or implicitly indicating the number of indicated technical features.
  • the first type of preset algorithm can be called the second type of preset algorithm
  • the second type of preset algorithm can be called the first type of preset algorithm Set algorithm.
  • Both the first-type preset algorithm and the second-type preset algorithm are algorithms, but they are not algorithms for performing the same function.
  • the meaning of "plurality” is at least two, such as two, three, etc., unless otherwise specifically limited.
  • the terms “including” and “having” and any variations thereof are intended to cover non-exclusive inclusions.
  • a process, method, system, product, or device that includes a series of steps or units is not limited to the listed steps or units, but optionally includes steps or units that are not listed, or optionally also includes Other steps or units inherent to these processes, methods, products or equipment.
  • FIG. 1 is a schematic flowchart of a first embodiment of a method for controlling a robot according to the present application.
  • the method of controlling the robot is executed by a server, for example, a server or a cluster server.
  • the server in this application may also be referred to as a cloud service platform, a control platform, and so on.
  • the application scenarios of the robot control method provided in this application are mainly industrial production scenarios, and provide a method for controlling robots in industrial production. Therefore, the computing power of the executive body in this application is more powerful in order to provide real-time performance Better robot control methods.
  • the technical solution provided by this application is not limited to the scenario of industrial production.
  • the method for controlling a robot of the present application includes steps S110-S150. among them,
  • S110 Receive a request instruction from a user or robot.
  • the request instruction from the user includes: a robot control instruction and a query instruction, but it is not limited thereto.
  • the robot control instruction refers to a request instruction that is used by the user to control the robot to complete a certain task and is sent from the terminal device to the server.
  • the server receives the robot control command sent by the user to the server via the terminal device.
  • the instructions for controlling the robot may be task control instructions or simple control instructions.
  • the task control instruction is an instruction for controlling the robot to complete a certain task.
  • the server receives the instruction, it needs to further obtain sample data and perform calculation based on the sample data to obtain recommended data for generating the control instruction.
  • the task control instruction may be an instruction to control the robot to complete the polishing of a certain product, or to complete the painting of a certain product.
  • the server obtains an instruction to control the robot to complete the polishing of a certain product, it needs to obtain a match
  • the sample data further calculates the recommendation data.
  • the simple control instruction does not need to calculate the recommendation data.
  • the server When the server receives the simple control instruction, it will directly transmit the instruction to the robot to realize the control of the robot to complete the task corresponding to the instruction.
  • the server receives the query instruction sent by the user via the terminal device, or the query instruction sent by the robot.
  • the query instruction sent by the user is an instruction for obtaining data or information stored in the server. Understandably, the query instruction sent by the user may also query the real-time status parameters of at least one robot via the server as an intermediary, or It is to query the scene data (or the scene data of a certain area) around a certain robot, and there is no limit to the query command. It can be understood that, in its embodiment, the query instruction may also be sent by the robot to the server. At this time, the query instruction is used to query the data in the server or query the data on the network side using the server as the medium. The query instruction is not subject to any restrictions.
  • the request instruction from the robot includes: an alarm instruction and an upgrade request instruction, but it is not limited thereto.
  • the server receives an alarm instruction sent by the robot.
  • the alarm command is used to notify the server or the user of the generated command when a certain parameter of the robot exceeds the warning value.
  • the alarm command has the highest priority level in the transmission and processing of the command in this application and is used for rapid Realize the alarm.
  • the upgrade request instruction received by the server is actively sent by the robot to upgrade its own system or an operation program, or an instruction to update a certain type of data.
  • the upgrade request instruction No restrictions.
  • S120 Determine whether the authority of the user or robot matches the request instruction.
  • the operation that can be performed by the current user or robot's permission level includes the operation corresponding to the request instruction sent by it, it is judged that the current user or robot's authority matches the request instruction sent by it. Otherwise, it is judged that the user or robot does not match the command sent by it.
  • the user is set to three different permissions.
  • the user rights set in them are: level 1, level 2 and level 3.
  • a user with first-level authority refers to a user who can simply access the server and conduct simple queries.
  • a user with second-level authority refers to a user who can access the server and perform advanced queries and can control the robot.
  • a user with third-level authority It refers to users who can change the server or change the configuration of the robot through the server based on the first-level permissions and the second-level permissions, and can query the top-secret content.
  • the robots are respectively set as robots that can be automatically updated and upgraded and robots that cannot be automatically updated and upgraded.
  • the authority of the user is set according to the size of the authority in the above-mentioned embodiment, and it can also be divided and set according to the area, type of work, and the like.
  • the area covered by the current server divides the user rights into Area A, Area B, Area C users, etc., where Area A users can only access the data and materials related to Area A, and only to Area A Robots give instructions, users in area B are similar to users in area C.
  • the user's authority can also be set according to the type of work performed by the robot.
  • one user can be set to have multiple types of work authorization. It is understandable that the setting of user authority and robot authority in this application is based on actual needs, and can be adjusted and changed without any limitation here.
  • sample data corresponding to the request instruction is valid preset resources from different robots.
  • valid preset resources please refer to the following embodiments.
  • step S120 When it is judged in step S120 that the authority of the current user or robot matches the request instruction sent by it, sample data corresponding to the request instruction will be further obtained.
  • different parameters or configuration information are required when completing the operation tasks corresponding to different request instructions, and in order to provide more accurate data and data that are more suitable for different robots, they are receiving
  • the user or robot requests an instruction, and after judging that its authority matches the request instruction sent, it will further obtain the parameters required to complete the task as described in the request instruction or samples corresponding to other configuration information
  • the sample data here refers to the data referenced in the calculation or acquisition of parameters or configuration information.
  • the request instruction is an instruction sent by the user to polish a part of a specification
  • the speed of shipment is different, then the finished part is polished
  • the required program structure and / or the required polishing parameters of the configuration are also different, then the parameters of other polishing tasks cannot be simply applied.
  • sample data in this application may come from the internal of the server, or from the network cloud, or may be provided by the user to the server via the terminal device.
  • the request instruction when the user authority or robot authority does not match the request instruction, the request instruction is determined to be an invalid request instruction, and the request instruction is rejected. Understandably, when it is determined in step S120 that the user authority or robot authority does not match the request instruction, it can be understood that all the authority of the user does not include the authority corresponding to the current request instruction, so in order to ensure the safety of industrial production, avoid information , Further denying the request instruction and its corresponding operation.
  • S140 Process the sample data to obtain recommended data that matches the target robot.
  • the sample data acquired in step S130 is processed to finally obtain recommended data for completing the job task corresponding to the request instruction.
  • the recommended data refers to parameters, programs, or other required information required to complete the task corresponding to the received request instruction. It is understandable that the recommendation data obtained after processing the sample data may be one set or multiple sets, which are set and adjusted according to actual needs, and are not limited here.
  • S150 Generate a control command sent to the target robot based on the recommendation data.
  • the target robot refers to a robot that executes the work task corresponding to the received request instruction.
  • the request instruction is sent by the user: specifically to control the robot with the ID of 00000001 ⁇ 00000101 to perform the task A, then the target robot is the robot with the ID of 00000001 ⁇ 00000101.
  • the request instruction is an upgrade request instruction sent by the robot for upgrading its own system. In this case, the target robot and the robot sending the request instruction are the same robot.
  • the request instruction is an instruction sent by the user or the robot to the server
  • the control instruction is an instruction generated by the server to the robot for controlling the robot to complete a certain task or operation.
  • the generation of the control instruction may be based on the request instruction sent by the user, or may be based on the request instruction sent by the robot.
  • Control instructions specifically include but are not limited to: robot control system backup, programming code, PLC code and other software group information, workpiece size, weight and other processing information, used for software upgrade of target robot or required parameters or motion code when completing task .
  • step S150 in FIG. 1 further includes steps S251 to S252. among them,
  • S252 Generate a control instruction for sending to the target robot based on the recommendation data and matching the protocol type.
  • a control instruction that matches the protocol type supported by the target robot is generated. For example, when the request instruction is sent by the user to make the robot in the area A complete a certain task, but the brand of the robot in the area A is different, and the supported protocol types are not all the same, then the server calculates After recommending the data, the control commands sent to the robot are generated based on the protocol types supported by the different robots and the recommended data.
  • steps S110 to S150 Based on the technical solutions provided in steps S110 to S150, based on the request instruction, it is possible to calculate recommended data that is more accurate and more suitable for the robot or a certain task, rather than simply copying and applying sample data. Coping with various complex application scenarios, it also ensures the security of data transmission between robots, terminal devices and servers.
  • FIG. 3 is a schematic flowchart of a third embodiment of the present application. It can be seen from the figure that step S130 further includes steps S331 to S332, that is, step S130: when the user or robot's authority matches the request instruction, obtaining sample data corresponding to the request instruction is further elaborated. among them,
  • the server receives the request instruction from the user.
  • the received request instruction from the user includes: the target robot ID address, and the received request instruction from the user also includes the type of work (also called job task type), workpiece type, and workpiece specification , Scene type, one or a combination of two or more of the target robot brand.
  • the request command from the robot includes: the ID address of the target robot.
  • the request command from the robot also includes: the type of the requested item and the basic attribute information of the target robot. It is understandable that the information specifically contained in the request instruction can be set and changed according to actual needs, and no specific limitation is made here. Therefore, when the server judges that the user or the robot has the authority corresponding to the sent request instruction, it will further analyze the received request instruction to obtain at least a part of the information contained in the request instruction, which is used to obtain the limited information of the sample data. .
  • relatively fixed information such as robot brand and basic attribute information of the robot may be stored in the server in advance, and the fixed information is previously associated with the robot ID address setting stored on the server Therefore, when the user request instruction is obtained, the above fixed information can be directly used as the limited information for acquiring the sample data according to the preset association relationship, and there is no limit to the types of the fixed information.
  • the types of work include: grinding, handling, palletizing, welding, assembly, spraying, polishing, etc., but are not limited thereto.
  • the name of the workpiece, the specifications of the workpiece and other parameters are set by the user on the terminal according to actual needs.
  • the user can control a plurality of robots by sending a request command, so the target robot ID address included in the request command to execute the work task corresponding to the request command may be multiple.
  • S332 Acquire a preset number of sample data matching the limited information.
  • a preset number of sample data matching the acquired limitation information are acquired based on the acquired limitation information.
  • the amount of sample data acquired is based on a predetermined setting, and the amount of sample data acquired is not limited here.
  • the sample data may be from a cloud database, or may be a sample database stored locally on the server, or may be sample data directly input by a user.
  • the sample data in this application is obtained by filtering the data in the cloud database or sample database according to the limited information, which provides a better basis for providing more accurate recommendation data.
  • the limited information obtained from the request instruction includes: one or a combination of two or more types of work types, workpiece types, workpiece specifications, scene types, and robot brands.
  • the robot is divided into a single type robot and a compound type robot.
  • a single type robot is a robot that can only perform one kind of task
  • a compound type robot is a robot that can perform multiple tasks in sequence.
  • the limited information corresponding to the different job tasks is extracted to obtain recommendation data for calculating different job tasks.
  • the request instruction sent by the user includes two tasks of assembly and spraying, that is, a composite robot is requested to complete the assembly and spraying in sequence
  • the sample data for assembly is extracted separately The limited information and the limited information for spraying.
  • the limitation information for obtaining assembly sample data and the limitation information for spraying sample data respectively, according to the acquired limitation information, separately obtaining sample data for calculating assembly recommendation data and for calculating Sample data of spraying recommendation data.
  • step S140 further includes steps S441 to S442.
  • the request instructions provided by the user or the robot at least include task request information.
  • the task requirements in the current embodiment include at least: the specifications of the workpiece, the speed of shipment, etc.
  • the specific content included in the task requirements is based on the task set up. It can be understood that the task requirements and the limitation information in the foregoing embodiments may be the same information in some embodiments.
  • the task requirements in the current embodiment at least include: the type of data queried, the amount of data desired to be obtained, the robot brand, product type, and failure rate At least one of the yield rate and the name of the program. Understandably, the task requirements included in the current query instruction may also include other contents, which are not described in detail here.
  • the task requirements include at least: attribute information of the robot system (type of system, memory, type of processor), target Upgraded program name and version.
  • S442 Call the preset algorithm and process the sample data according to the task requirements to obtain recommended data matching the target robot.
  • the preset algorithm includes at least: the first type of preset algorithm and other algorithms.
  • the first type of preset algorithm is an algorithm for sorting, which specifically includes: at least one of merge sorting, bubble sorting, and selection sorting, which can be adjusted and set according to actual needs, without any limitation here, Other algorithms mainly include self-written algorithms for realizing a certain function, or other required machine learning algorithms and so on.
  • processing the sample data may be to modify some parameters in the sample data according to the task requirements.
  • processing the sample data may be averaging or further optimizing the type of parameter to obtain recommended data.
  • step S442 further includes the content described in step S501. among them,
  • S501 Invoke the first type of preset algorithm, and sort and analyze the sample data according to the task requirements to obtain part of the sample data that has the highest degree of matching with the target robot's attributes as recommended data.
  • a sorting algorithm you can refer to multiple limited information for sorting, such as sorting according to the frequency of a certain data call, and sorting according to the score of the data (the score of the data or the evaluation results will be described in detail below) .
  • the recommended data includes: part of the sample data with the highest degree of matching with the task requirements
  • the first type of preset algorithm is the algorithm used for sorting, including: merge sorting, bubble sorting, selection sorting, etc., understandable, sorting
  • the algorithm may also include other algorithms, which are not described in detail here.
  • S502 Send part of the sample data with the highest matching degree to the target robot attribute to the user.
  • the part of the sample data with the highest degree of matching sorted in step S501 is sent to the user for the user to select at least one set of sample data to be used as the final sample data to obtain recommendation data after processing the part of the sample data.
  • the amount of sample data sent to the user can be adjusted according to actual needs. Understandably, in the technical solution provided by the present application, when there is too much sample data to be selected by the user, the sorted sample data can also be sent to the user terminal, prompting the user to remove the unnecessary sample data and keeping the user selection
  • the sample data is sent to the server for processing to obtain recommended data to generate control instructions.
  • the request command is a request command from the robot
  • the sample data with the highest matching degree can be directly selected by default.
  • the control command is generated and sent to the robot.
  • the request instruction is an instruction sent by the robot
  • the obtained sample data and the task description generation control instruction included in the request instruction are sent to the robot side, and the robot side may use task-level programming. That is, referring to the received sample data, it is only necessary to automatically generate instructions to complete the task by the robot according to the description of the task itself and the setting of the target product specifications. Understandably, when the request instruction is an instruction from the user, The task-level programming described above can also be used.
  • S503 Process at least one set of sample data selected by the user for generating control instructions to obtain recommended data.
  • the data is further processed to obtain recommended data.
  • the sample data is a parameter value
  • the data selected by the user can be further averaged to obtain a more accurate recommendation data, or other more complex or multi-step calculations can be performed on the sample data selected by the user , Not elaborated here.
  • the control instruction sent to the robot is further generated directly based on the selected sample data.
  • step S601 and step S602 may be further included, and step S442 further includes S603, where
  • S601 Acquire basic attribute information of the target robot.
  • the attribute information of the target robot is included in the request instruction, that is, the attribute information of the robot can be obtained based directly on the analysis result of the request instruction in the above steps.
  • basic attribute information such as the brand of the robot and the ID address of the robot can be pre-associated and stored in the server.
  • the server obtains the target robot ’s After the ID address, further based on the association relationship between the ID address and the robot attribute information, the attribute information of the target robot can be obtained.
  • step S602 is based on the obtained attribute information of the target robot, and further filters the sample data obtained in step S130 to obtain sample data that matches the attribute information of the target robot.
  • the sample data obtained in step S130 may be regarded as matching target robot attribute information
  • steps S601 and S602 will not be repeated, or it may be considered that the content described in steps S601 and S602 has been completed in the previous stage.
  • S603 Process the matched sample data according to the task requirements to obtain recommended data matching the attribute information of the target robot.
  • the sample data matching the attribute information of the target robot is processed according to the task requirements to obtain recommended data matching the attribute information of the target robot.
  • the attribute information of the target robot of brand A and the target robot of brand B are different.
  • brand A robot has the left robot arm as the main robot arm
  • brand B robot has the right robot arm as the main robot arm.
  • the type of work, such as when grinding, will be based on the difference between the A and B main robot arms, and the parameters that need to be assigned will therefore be different.
  • Match the sample data of the respective attribute information and process the sample data according to the task requirements to obtain the recommended data matching the attribute information of A and B which can better ensure the safety of industrial production and avoid production accidents.
  • FIG. 7 is a schematic diagram of interaction between a terminal device, a server, and a target robot in an embodiment of a method for controlling a robot provided by this application.
  • the user sends a request instruction to the server through the terminal device.
  • the server will further determine whether the authority of the user or robot matches the request instruction.
  • the server determines that the user's authority matches the request instruction, Obtain the sample data corresponding to the request instruction, and call the first type of preset algorithm (algorithm used for sorting) to sort and analyze the sample data to obtain part of the sample data with the highest matching degree with the target robot.
  • the first type of preset algorithm algorithm used for sorting
  • the server sends the obtained part of the sample data with the highest matching degree to the target robot attribute to the user, so that the user can select at least one set of sample data, and the user selects at least one set of sample data on the terminal device side to send to the server.
  • the server After receiving at least one set of sample data for generating control instructions sent by the terminal device, the server further processes the received sample data to obtain recommendation data.
  • the server further generates control instructions based on the obtained recommendation data, and The control instruction is sent to the target robot, and the target robot further responds to the work task corresponding to the control instruction.
  • the robot sends a request instruction to the server
  • the step of not sending the sample data to the terminal device for the user to select is eliminated, and the remaining steps are similar to the request instruction from the terminal device embodiment.
  • the specific steps please refer to the description of the above embodiments, which will not be repeated here.
  • the recommendation data for generating the control instruction is obtained based on the obtained sample data, and the sample data may be obtained based on the sample source stored in the server.
  • the stored sample source is not simply applied from the existing data set, but also includes preset resources regularly uploaded by the robot in the area covered by the server of the application.
  • the method for controlling a robot provided in this application further includes obtaining a sample source.
  • FIG. 8 is a schematic flowchart of a seventh embodiment of this application. That is, the method for controlling a robot described in this application further includes: steps S801 to S804.
  • S801 Acquire preset resources uploaded by the robot, and obtain sample data according to the preset resources.
  • data sharing between robots can be achieved.
  • the robots in the area covered by the server in this application are set to regularly upload preset resources to the server for use as sample data.
  • the source of the sample to realize the sharing and learning of robot data.
  • the preset resources uploaded by the robot can be obtained according to a preset period.
  • the duration of the period is based on the size of the preset resource that the robot needs to upload within the set period. Requires less preset resources to be uploaded, you can set a longer period for acquiring the preset resources uploaded by the robot.
  • a certain type of robot is a robot used for modeling or obtaining a map of an industrial site, then There will be more data resources to be uploaded within a certain period of time, and the time period for the server to obtain such robots will be set relatively short to match the speed of acquiring robot data resources.
  • the period for a server to acquire the preset resources uploaded from different robots may be different.
  • the server may set the period for acquiring the preset resources uploaded by the robots of type A to be 1min, and set the period for acquiring the uploads uploaded by the robots of type B.
  • the preset resource period is 5min.
  • the preset resources uploaded by the robot to the server include one or a combination of two or more of software components, navigation maps, task knowledge, pattern recognition models, fault information, and robot status information.
  • the software component can be a software installation package or a plug-in that constitutes a certain software;
  • the navigation map refers to workpiece positioning, world model, scene modeling;
  • task knowledge refers to the operation strategy to complete a certain task, and the robot trajectory Or the trajectory required by the robot to complete a certain task;
  • the pattern recognition type includes the robot's recognition of barcodes or obstacles;
  • the fault information refers to the fault information generated by the robot, including: overspeed, collision, overheating and other fault information ;
  • Robot status information refers to the parameters obtained by monitoring the robot's own status, including but not limited to, kinematic parameters such as the position, speed, acceleration, temperature, collision moment of each axis, arm length, range of motion, weight, rotational inertia, etc. of each axis Kinetic parameters.
  • the verification method can be to check whether the verification code of the preset resource is consistent with the verification code sent by the robot, or it can be parity check, CRC check, MD5 code check, specifically not done here Any limitation.
  • the validity of the preset resource refers to whether the value range and order of magnitude of the data are in accordance with the convention, whether there are abnormalities or errors. For example, when the temperature of an application scene included in a preset resource uploaded by a certain robot is 2000 ° C, but it is known according to the area set by the robot that the temperature of the measured application scene of the robot will not exceed 50 ° C, then further It is obtained that the currently uploaded preset resource is an invalid resource.
  • S804 Convert the effective preset resources into a preset format and save as sample data.
  • step S802 and step S803 By converting the valid preset resources obtained after the inspection and review in step S802 and step S803 into a preset format, the unification of resources can be better achieved. There is no setting for the preset format here, and the setting can be adjusted according to actual needs.
  • the above step S803 further includes: Extract some parameters in the effective preset resources, convert some parameters into preset format parameters, and save as sample data. That is to further extract part of the parameters in the preset resource after verification and review, and convert the part of the parameters into parameters in a preset format and save as sample data.
  • some parameters are key parameters, and the types of the extracted parameters can be preset.
  • the conversion of effective preset resources is XML-based data conversion.
  • step S802 and step S803 when the verification review in step S802 and step S803 shows that the preset resource uploaded by the robot is an invalid preset resource, the invalid resource is cleared, and the reason why the preset resource is an invalid preset resource is further analyzed , And send the analysis results to the terminal device to inform the user (administrator). Specifically, when it is determined that the preset resource uploaded by the robot is an invalid resource, it is determined that there is an abnormality in the current robot. When determining that the preset resource uploaded by the robot is an invalid resource, the real-time status parameters of the robot are retrieved to further analyze the cause of the robot abnormal The reason is that it can better guarantee the safety in the industrial production process.
  • FIG. 9 is a schematic flowchart of classification and labeling of effective preset resources. among them.
  • S901 Call a second type of preset algorithm to evaluate the effective preset resources to obtain an evaluation result of the effective preset resources.
  • step S802 and step S803 After checking and verifying in step S802 and step S803 that the preset resource uploaded by the robot is a valid preset resource, a second type of preset algorithm will be further invoked to evaluate the valid preset resource to obtain an effective preset
  • the resource evaluation result also called the score of a valid preset resource
  • the resource evaluation result provides a good reference standard for subsequent calls to the preset resource.
  • the evaluation of the effective preset resources may be that the user manually evaluates the preset resources uploaded by the robot through the human-machine interface of the server, and the preset evaluation criteria adopted by the evaluation are common evaluation criteria in the industry of the big data era, such as: Statistical data quality evaluation method based on classic econometric model.
  • the server can also be set to automatically evaluate the effective preset resources uploaded by the robot to further provide a classification basis for data classification and labeling.
  • the second type of preset algorithm includes but is not limited to this: local linear regression algorithm, least square method, Newton method, etc.
  • the data stored in the server or the cloud database can be evaluated again using preset evaluation criteria to further evaluate the maturity of the data and provide more information for subsequent calls to sample data Accurate reference information, that is, when the maturity of a group of data is very high, it means that the group of data is called more times, and the applicability is higher.
  • the evaluation score of the group of data will be relatively high, so That is, when there is a need to call the same type of data later, the data is preferentially selected.
  • related algorithms in the machine learning algorithm may also be used to evaluate the effective preset resources.
  • the invoked algorithms may include but are not limited to clustering, anomaly detection and other algorithms.
  • step S902 Invoking the third type of preset algorithm and processing effective preset resources in combination with the evaluation result.
  • the third preset algorithm includes a classification algorithm and / or a multi-label learning algorithm. Therefore, step S902 is: calling the classification algorithm and / or the multi-label learning algorithm, and processing the effective preset resources in combination with the evaluation result.
  • the third type of preset algorithm will be further called, and combined with the evaluation result of the effective preset resources in the above step S901, to automatically classify and label the preset resources uploaded by the robot.
  • the classification of the preset resources is based on the type of preset resources uploaded by the robot and the evaluation result.
  • step S804 in the above embodiment converts the effective preset resource into a preset format and saves it as sample data.
  • the step further includes the content described in step S903 . specific,
  • S903 Convert the effective preset resource processed by the classification algorithm and / or multi-label learning algorithm into a preset format, and save it as sample data.
  • the preset format refers to a language format that is preset by the server. It can be understood that it can be adjusted according to actual needs. Converting the preset resources uploaded by each robot into a preset format can better achieve the unification of heterogeneous robot resource data.
  • the method for controlling a robot further includes: monitoring the status of processing and analyzing the request instruction or preset resource to obtain monitoring data, and generating a log based on the obtained monitoring data Save text and output. It is understandable that the detection of the processing analysis status of the request instruction or the preset resource can provide better technical support for the maintenance of the server. When the server is abnormal, it can be quickly analyzed based on the detection data or log text Get the cause of the exception.
  • FIG. 10 is an interaction schematic diagram of uploading preset resources between the server and the robot in an embodiment of the method for controlling a robot of the present application. That is, the robot is set to upload the preset resource to the server according to the set period. After receiving the preset resource, the server further checks whether there is a transmission error during the transmission of the preset resource, and checks the validity of the preset resource to Get effective preset resources.
  • the server verifies that the preset resource uploaded by the robot is an effective resource, it will further call the second type of preset algorithm to evaluate the effective preset resource to obtain the evaluation result of the effective preset resource (also known as Scoring), after completing the evaluation of the preset resource, further call the classification algorithm and / or label learning algorithm, and combine the evaluation result of the preset resource to process the preset resource.
  • the specific processing includes: classification and labeling. For details, please refer to the relevant explanations above.
  • the server After the server completes the classification and labeling of the preset resources, it further converts the preset resources into a preset format and saves it to the server or a cloud storage space accessible by the server to use as sample data, which will be classified according to the label when needed And the evaluation result call, please refer to the above explanation for details, which will not be repeated here.
  • FIG. 11 is a schematic structural diagram of a first embodiment of a server 1100 provided by this application.
  • the server 1100 of this embodiment is used to execute the steps in any one of the embodiments shown in FIGS. 1 to 8.
  • the server 1100 includes a processor 1110, a memory 1120, and a communication interface 1130.
  • the processor 1110 is connected to the memory 1120 and the communication interface 1130.
  • the communication interface 1130 is used to receive request instructions from the robot or the user, and communicate with the robot.
  • the processor 1110 is used to execute the program code stored in the memory 1120 to execute the method of controlling the robot as described above.
  • the way for users to access the server 1100 is not limited to mobile terminals such as desktop computers, notebook computers, mobile phones, or pads. The users log in to web pages or clients through the terminal devices to realize interconnection with the server and data interaction.
  • the memory 1120 is not only used for storing program codes, but also for storing preset resources, where the preset resources are uploaded by the robot and sample data can be obtained according to the preset resources.
  • the server is connected to the cloud database.
  • the preset resources can be stored in the cloud database to reduce the pressure on the server's local storage resources.
  • the processor 1110 in the server 1100 provided by the present application is divided into at least an application layer, a resource service layer, and a data link layer in terms of software architecture.
  • the resource service layer and the application layer and the data link layer can perform bidirectional data transmission, that is, the resource service layer can receive the data resources or instructions transmitted from the application layer and the data link layer, and the resource service layer can also Transfer data resources or instructions to the application layer and data link layer respectively.
  • the application layer is used to further determine whether the user's authority matches the corresponding request instruction after receiving the request instruction transmitted from the user via the communication interface 1130, when it is determined that the user's authority matches the corresponding request instruction , Further calling the preset algorithm to process the sample data to obtain the recommendation data, and generating a control command sent to the target robot based on the recommendation data, and sending it to the communication interface 1130 to send the control command to the target robot.
  • the resource service layer is used to obtain the sample data corresponding to the current request instruction when the application layer judges that the user authority matches the request instruction, and outputs the sample data to the application layer for processing the sample data to obtain recommendation data.
  • the data link layer is used to receive request commands and preset resources from the robot transmitted from the communication interface 1130, or to send control commands to the target robot.
  • FIG. 12 is a schematic structural diagram of a second embodiment of a server 1100 provided by this application.
  • the communication interface 1130 further includes: a man-machine interface 1231 and a general physical interface 1232.
  • the man-machine interface 1231 is used to access the request instruction from the user and determine whether the request instruction matches the user's authority.
  • the man-machine interface 1231 is also used to output the sample data or query result output by the processor 1120 for display to the user.
  • the general physical interface 1232 refers to a unified data input and output interface, that is, the general interface uses embedded cloud technology, RFID technology, Internet of Things, WSN and other technologies to request requests and preset resources from the robot for access to the robot.
  • the request command and the preset resource from the robot are connected to the server.
  • the general physical interface 1232 is also used to send the control command to the robot.
  • the general physical interface 1232 in the server 1100 provided by the present application further includes a fast interface (not shown), which is used to transmit high priority commands or data such as alarm commands, and at the same time unknown data Leave undefined interfaces for future technological developments.
  • the communication interface 1130 in the server 1100 provided by this application further includes: a management interface 1233.
  • the management interface 1233 is used for user registration and verification, and also provides an interface for professional technicians to maintain and optimize the server.
  • the human-machine interface 1231, the general physical interface 1232, and the management interface 1233 provided in this application can directly communicate with the processor 1110 and perform data interaction.
  • the embodiments corresponding to the foregoing FIGS. 1 to 10 may be stored in a computer-readable storage medium with a storage function.
  • the technical solution of the present invention essentially or part of the contribution to the existing technology or all or part of the technical solution can be embodied in the form of a software product, the computer software product is stored in a storage function
  • the storage medium includes several instructions to enable a computer device (which may be a personal computer, server, or network device, etc.) or processor to execute all or part of the steps of the methods described in the various embodiments of the present invention.
  • FIG. 13 is a schematic structural diagram of a cloud service platform 1300 according to an embodiment of the present application.
  • the cloud service platform 1300 includes: an application module 1310, a resource processing module 1320, and a data link module 1330.
  • the application module 1310 is used to receive a request instruction from the user 2000 or the robot 3000.
  • the resource processing module 1320 is configured to generate a control instruction for the target robot according to the request instruction received by the application module 1310 and the sample data stored in the cloud database (not shown).
  • the sample data comes from preset resources uploaded by different robots. In different embodiments, the sample data is obtained based on preset processing of preset resources uploaded by different robots. For details, please refer to the above.
  • the resource processing module 1320 is specifically configured to: determine whether the authority of the user 2000 or the robot 3000 matches the request instruction; when the authority of the user 2000 or the robot 3000 matches the request instruction, obtain the corresponding request instruction Sample data; after obtaining the sample data, process the sample data to obtain recommended data matching the target robot; then, generate control instructions for the target robot based on the recommended data.
  • the data link module 1330 is configured to receive preset resources uploaded by the robot 3000 and send control instructions to the target robot. Specifically, after receiving the preset resources uploaded by the robot, the data link module 1330 is used to upload the preset resources uploaded by the robot to the resource processing module 1320 in a uniform format, and the resource processing module 1320 performs further processing.
  • FIG. 14 is a schematic flowchart of a business mode of an embodiment of a cloud service platform of the present application.
  • the user 1401 sends a request instruction to the cloud service platform 1407.
  • the cloud service platform obtains the data corresponding to the request instruction.
  • Data information is fed back to the user.
  • the data that the user can obtain based on the cloud service platform includes: the processing status of the robot, fault information, and data summary.
  • the cloud service platform may be under the control of a user's request instruction, or send control instructions to the robot based on actual needs, so as to recommend the processing parameters, programs, and software upgrades to the robot 1405.
  • the robot 1405 may upload preset resources including its own status, processing information, software status, and fault information to the cloud service platform 1407.
  • the cloud service platform 1407 can access the cloud database 1406 based on the network. Specifically, the cloud service platform can classify and tag the preset resources uploaded by the robot 1405 and upload it to the cloud database to save as sample data, and then based on the network when needed Access the cloud database to obtain relevant sample data.
  • the cloud service platform further includes a security detection module 1402, a maintenance module 1403, and an evaluation module 1404.
  • the security monitoring module is used for security protection
  • the maintenance module is used for debugging and maintaining the cloud service platform.
  • the evaluation module is used to evaluate the preset resources uploaded by the robot to the cloud service platform.
  • FIG. 15 is a schematic structural diagram of a first embodiment of a storage medium 1500 provided by the present application.
  • the storage medium 1500 stores program data, and the program data stored in the storage medium 1500 is executed to implement the control as described above.
  • Robotic method includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM, Read-Only Memory), random access memory (RAM, Random Access Memory), magnetic disks or optical discs and other media that can store program codes, which are not limited herein.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Manipulator (AREA)

Abstract

本发明公开了一种控制机器人的方法,该方法包括:接收来自用户或机器人的请求指令;判断用户或机器人的权限与请求指令是否匹配;当用户或机器人的权限与请求指令匹配时,获取对应请求指令的样本数据,样本数据来自于不同机器人的预设资源;处理样本数据,以得到推荐数据;基于推荐数据生成发送至目标机器人的控制指令。通过上述方法,实现向机器人推荐更准确的数据。本申请还公开一种服务器,该服务器包括处理器、存储器和通信接口,处理器连接存储器和通信接口。本申请还提供一种存储介质及云服务平台。

Description

控制机器人的方法、服务器、存储介质及云服务平台
【技术领域】
本申请涉及机器人领域,特别是涉及一种控制机器人的方法、服务器、存储介质及云服务平台。
【背景技术】
机器人是集机械、电子、控制、计算机、传感器、人工智能等多学科技术于一体的自动化装备。随着机器人在国内的广泛应用,机器人集群协作模式对控制中心的运算、协调能力提出了更高的要求。在机器人集群协作模式中,如何向机器人推荐更为契合机器人属性的数据,是机器人集群控制中需要解决的问题。
【发明内容】
本申请主要解决的技术问题是提供一种控制机器人的方法、服务器、存储介质及云服务平台。能够向机器人推荐更加契合机器人属性的数据。
为解决上述技术问题,本申请采用的一个技术方案是:提供一种控制机器人的方法,所述方法包括:
接收来自用户或机器人的请求指令;
判断所述用户或机器人的权限与所述请求指令是否匹配;
当所述用户或机器人的权限与所述请求指令匹配时,获取对应所述请求指令的样本数据,所述样本数据来自于不同机器人的预设资源;
处理所述样本数据,以得到匹配目标机器人的推荐数据;
基于所述推荐数据生成发送至所述目标机器人的控制指令
为解决上述技术问题,本申请采用的另一个技术方案是,提供一种服务器,该服务器包括:处理器、存储器和通信接口,所述处理器连接所述存储器和通信接口;
所述通信接口用于接收来自机器人或用户的请求指令;
所述处理器用于运行所述存储器所存储的程序代码,以执行如上所述的控制机器人的方法。
为解决上述技术问题,本申请采用的另一个技术方案是,提供一种云服务平台,包括:应用模块,用于接收来自用户或机器人的请求指令;
资源处理模块,用于根据所述任务指令及存储于云端数据库的样本数据生成针对目标机器人的控制指令,所述样本数据来自于不同机器人的预设资源;
数据链路模块,用于接收机器人上传的预设资源,以及将所述控制指令发送至所述目标机器人。
为解决上述技术问题,本申请采用的又一个技术方案是,提供一种具有存储功能的存储介质,所述存储介质存储有程序数据,所述程序数据被运行时实现如上所述的方法。
以上方案,通过在判断用户或机器人的权限与其发送的请求指令匹配时,获得对应该请求指令的样本数据,用于进一步处理以得到推荐数据,最后基于所得的推荐数据生成发送至目标机器人的控制指令。在此过程中,在保证平台安全的前提下,更好地基于请求指令以及与该请求指令匹配的样本数据,计算得到更加契合机器人属性或者实际更满足请求指令要求的推荐数据,实现对机器人更加精准的控制。
【附图说明】
图1是本申请控制机器人的方法第一实施例的流程示意图;
图2是本申请控制机器人的方法第二实施例的流程示意图;
图3是本申请控制机器人的方法第三实施例的流程示意图;
图4是本申请控制机器人的方法第四实施例的流程示意图;
图5是本申请控制机器人的方法第五实施例的流程示意图;
图6是本申请控制机器人的方法第六实施例的流程示意图;
图7是本申请控制机器人的方法第七实施例中的交互示意图;
图8是本申请控制机器人的方法第八实施例的流程示意图;
图9是本申请控制机器人的方法第九实施例的流程示意图;
图10是本申请控制机器人的方法第十实施例中的交互示意图;
图11是本申请一种服务器第一实施例的结构示意图;
图12是本申请一种服务器第二实施例的结构示意图;
图13为本申请一种云服务平台第一实施例的结构示意图;
图14为本申请一种云服务平台的在一实施例中的业务模式流程示意图;
图15是本申请一种存储介质第一实施例的结构示意图。
【具体实施方式】
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅用于解释本申请,而非对本申请的限定。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请中的术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。举例来说,在不脱离本申请的范围的情况下,可以将第一类预设算法称为第二类预设算法,且类似地,可将第二类预设算法称为第一类预设算法。第一类预设算法和第二类预设算法两者都是算法,但其不是用于完成同一功能的算法。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
请参见图1,为本申请控制机器人的方法第一实施例中的流程示意图。具体的,该控制机器人的方法由服务器执行,例如:一个服务器或集群服务器等。需要说明的是,本申请中的服务器在不同的实施例中也可称为云服务平台、控制平台等。而本申请所提供的控制机器人的方法的应用场景是以工业生产的场景为主,为工业生产中提供控制机器人的方法,所以本申请中的执行主体的计算能力更加强大,以便提供实实时性更好的机器人控制方法。需要说明的是,本申请提供的技术方案并不限于是工业生产的场景。在当前实施例中,本申请控制机器人的方法包括步骤S110~S150。其中,
S110:接收来自用户或机器人的请求指令。
可选地,来自用户的请求指令包括:控制机器人指令、查询指令,但不限于此。控制机器人指令是指由用户用于控制机器人完成某一作业任务、而由终端设备发送至服务器的请求指令。
在一实施例中,服务器接收到的是由用户经终端设备发送至服务器的控制机器人指令。控制机器人的指令可以是任务控制指令或简单控制指令。其中,任务控制指令是用于控制机器人完成某一作业任务的指令,服务器在接收到该指令时需要进一步获取样本数据,并进行基于样本数据计算,以得到用于生成控制指令的推荐数据。例如,任务控制指令可以是控制机器人完成对某一产品的打磨、或者是完成某一产品的喷涂的指令,当服务器在获取到控制机器人完成某一产品的打磨指令时,需要获取与该指令匹配的样本数据进一步计算推荐数据。相比于任务控制指令,简单控制指令并不需要计算推荐数据,服务器在接收到简单控制指令时,会直接将该指令透传至机器人,以实现控制机器人完成该指令所对应的任务。如:控制机器人关机断电或休眠的指令、控制机器人转向的指令等,即不要服务器获取样本数据计算推荐数据,只需要服务器透传至机器人。
在另一实施例中,服务器接收到的是用户经终端设备发送的查询指令,或是机器人发送的查询指令。其中,用户发送的查询指令是用于获取服务器中所存储的数据或信息的指令,可以理解的,用户发送的查询指令还可以是经服务器为中间媒介,查询至少一个机器人的实时状态参数、或者是查询某一机器人周围环境场景数据(或是某一区域的场景数据),在此对于查询指令不做任何限定。可以理解的,在其实施例中查询指令还可以是由机器人发送至服务器端的,此时的查询指令是用于查询服务器中数据或者是以服务器为媒介查询网络端的数据,在此对于来自机器人的查询指令不做任何限定。
可选地,来自机器人的请求指令包括:报警指令、升级请求指令,但不限于此。
在一实施例中,服务器接收到的是机器人发送的报警指令。其中,报警指令是当机器人的某一参数超出预警值时,用于告知服务器或者是告知用户所生成的指令,报警指令在本申请中指令的传输和处理中具有最高的优先级别,用于快速实现报警。
在另一实施例中,服务器所接收的升级请求指令是机器人主动发送的,用于升级自身系统或者是某一操作程序,又或者是升级更新某一类数据的指令,在此对于升级请求指令不做任何的限定。
S120:判断用户或机器人的权限与请求指令是否匹配。
在本申请所提供的实施例中,会依据实际的需要分别为机器人和用户设置不同的权限,不同等级的权限可以进行的操作和可访问空间也不相同。所以当服务器接收到来自用户或机器人的请求指令后,会进一步判断用户或机器人的权限与其所发送的请求指令是否匹配,以此保证提供一种具有较好安全机制的控制机器人的方法。
可选地,在当前用户或机器人所属权限等级可进行的操作中包含其所发送的请求指令所对应的操作,则判断当前用户或机器人的权限与其所发送的请求指令匹配。反之,则判断用户或机器人与其所发送的指令不匹配。
在一实施例中,将用户设定为三种不同的权限。其中所设定的用户的权限分别为:一级、二级和三级。具有一级权限的用户是指可以简单访问服务器,进行简单查询的用户,具有二级权限的用户是指可以进行访问服务器,进行高级查询的、且可以控制机器人的用户,具有三级权限的用户的是指在一级权限和二级权限的基础之上,还可以更改服务器或者是通过服务器更改机器人配置的,同时可查询绝密内容的用户。类似的,依据权限将机器人分别设定为可自动更新升级的机器人和不可自动更新升级的机器人。
在另一实施例中,对于用户的权限设定在参考上述实施例中的权限的大小,还可以同时依据区域、工种类型等进行划分设定。如:依据区域将当前服务器所覆盖的区域将用户权限分为A区、B区、C区用户等等,其中A区用户只能访问与A区相关的数据和资料,只能对A区的机器人下达指令,B区用户和C区用户类似。可以理解的,还可以依据机器人所执行工种类型设定用户的权限,如依据工种类型设定用户分为:具有控制打磨权限的用户、具有控制喷涂权限的用户、具有控制焊接权限的用户等等,当然本申请所提供的技术方案中可以设置一个用户具有多个工种类型的权限。可以理解的,在本申请中对用户权限和机器人权限的设定具体是依据实际的需要,并可进行调整更改,在此不做任何的限定。
S130:当用户或机器人的权限与请求指令匹配时,获得对应请求指令的样本数据。其中,样本数据是来自不同机器人的有效预设资源,关于有效预设资源的获取请参阅下文的实施例。
当步骤S120中判断得到当前用户或机器人的权限与其所发送的请求指令匹配时,会进一步获取对应请求指令的样本数据。在本申请所提供的技术方案中,由于在完成不同的请求指令所对应的作业任务时,需要不同的参数或配置信息,而为了提供更加精准的数据与更契合不同机器人的数据,所以在接收到用户或机器人的请求指令时,并在判断其权限与所发送的请求指令匹配后,则会进一步获取完成如请求指令所述的作业任务时所需的参数或者是其他配置信息所对应的样本数据,这里的样本数据是指在计算或获取参数或配置信息所参考的数据。
在一实施例中,当请求指令是用户发送的打磨某一规格零件的指令,由于执行打磨任务的机器人品牌、应用场景以及产品的规格,出货的速度要求不同,那么对完成打磨该规格零件所需要程序结构和/或所需配置的打磨参数也不同,那么则不可简单套用其他打磨任务的参数。为了给执行该任务的机器人配置更加准确的程序结构以及合理的参数,需获取对应该打磨指令的样本数据。
可以理解的,本申请中的样本数据可以是来自服务器内部的,也可以是来自网络云端的,还可以是由用户经终端设备提供给服务器的。
在另一实施例中,当用户权限或机器人权限与请求指令不匹配时,判定请求指令为无效请求指令,并拒绝所述请求指令。可以理解的,当步骤S120中判断用户权限或机器人权限与请求指令不匹配时,即可以理解用户所有的权限中不包括当前请求指令中所对应的权限,所以为保证工业生产的安全,避免信息的泄露,进一步拒绝请求指令及其所对应的操作。
S140:处理样本数据,以得到匹配目标机器人的推荐数据。
对步骤S130中所获取到的样本数据进行处理,最终获得用于完成请求指令所对应的作业任务的推荐数据。推荐数据是指用于完成所接收到的请求指令所对应作业任务所需的参数、程序或其他所需要信息等。可以理解的,处理样本数据后所得的推荐数据可以是一组,也可以是多组,具体依据实际的需要设定和调整,在此不做任何的限定。
S150:基于推荐数据生成发送至目标机器人的控制指令。
基于所获取的请求指令,以及处理对应请求指令的样本数据所得的推荐数据,最终可生成用于发送至目标机器人的控制指令。其中,目标机器人是指执行所接收的请求指令所对应的作业任务的机器人。在一实施例中,请求指令是由用户发送:具体是用于控制ID是00000001~00000101的机器人执行A任务,那么此时目标机器人是ID是00000001~00000101的机器人。在另一实施例中,请求指令是机器人发送的用于自身系统升级的升级请求指令,此时目标机器人与发送请求指令的机器人是同一部机器人。
其中,需要说明的是,请求指令是由用户或机器人发送至服务器端的指令,而控制指令则是由服务器发送至机器人端的用于控制机器人完成某项作业任务或操作时所生成的指令。控制指令的生成可以是基于用户发送的请求指令,也可以是基于机器人发送的请求指令。控制指令具体包括但不限于:机器人控制系统备份、编程代码、PLC代码等软件组体信息、工件尺寸、重量等加工信息,用于目标机器人的软件升级或完成作业任务时所需参数或者运动代码。
进一步的,请参见图2,为本申请控制机器人的方法第二实施例的流程示意图。在当前实施例中,图1中的步骤S150进一步包括步骤S251至步骤S252。其中,
S251:判断目标机器人所支持的协议类型。
在现有的市场上,由于各个品牌的机器人所支持的协议类型并不是统一的,所以在生成控制指令之前需要进一步判断目标机器人所支持的协议类型。
S252:基于推荐数据生成用于发送至目标机器人、且与所述协议类型匹配的控制指令。
基于步骤S140中所得的推荐数据,生成与目标机器人所支持的协议类型相匹配的控制指令。如,当请求指令是用户发送的用于使得A区域内机器人完成某一项作业任务,但是A区域内的机器人的品牌不同,且所支持的协议类型也不全部相同,此时服务器在计算得到推荐数据后,进一步基于不同机器人所支持的协议类型,以及推荐数据生成发送至机器人的控制指令。
基于步骤S110至步骤S150所提供的技术方案,可以较好地基于请求指令,计算得到更加精准、且更契合机器人或者某一作业任务的推荐数据,而不是简单复制和套用样本数据,较好地应对多种复杂应用场景,同时还保证了机器人、终端设备与服务器间的数据传输的安全。
进一步的,请参见图3。图3是本申请第三实施例的流程示意图。由图可知,步骤S130进一步包括步骤S331至步骤S332,即下文是对步骤S130:当用户或机器人的权限与请求指令匹配时,获得对应请求指令的样本数据进一步展开阐述。其中,
S331:当用户或机器人的权限与请求指令匹配时,分析请求指令,以提取出用于获取样本数据的至少一个限定信息。
在一实施例中,服务器所接收到的是来自用户的请求指令。可选地,所接收的来自用户的请求指令包括:目标机器人ID地址,另外所接收到的来自用户的请求指令中还包括工种类型(也可称为是作业任务类型)、工件类型、工件规格、场景类型、目标机器人品牌中的一种或两种以上的组合。来自机器人的请求指令中包括:目标机器人的ID地址,除此之外来自机器人的请求指令中还包括:请求事项类型、目标机器人的基本属性信息。可以理解的,请求指令中具体所包含的信息可依据实际的需要设定改变,具体在此不做任何的限定。所以服务器在判断得到用户或机器人具有对应所发送的请求指令的权限时,会进一步分析所接收到的请求指令,以获取请求指令中所包含信息中的至少一部分,用做获取样本数据的限定信息。
需要说明的是,在一实施例中,对于机器人品牌以及机器人基本属性信息等相对固定的信息,可以预先保存在服务器中,且是预先将上述固定信息与保存在服务器端的机器人ID地址设定关联关系,所以在获取到用户请求指令时,即可直接依据预先设定的关联关系调用上述固定信息用作获取样本数据的限定信息,在此对固定信息所包含的种类并不做任何的限定。
在一实施例中,当请求指令是来自用户的指令时,工种类型包括:打磨、搬运、码垛、焊接、装配、喷涂、抛光等,但不限于此。工件名称及工件规格和其他参数依据实际的需要由用户在终端输入设定。在本申请中,用户可通过发送一个请求指令来控制多个机器人,所以请求指令中所包含的执行请求指令所对应作业任务的目标机器人ID地址可为多个。
S332:获取匹配限定信息的预设数量的样本数据。
在分析请求指令后获得限定信息后,基于所获取的限定信息获取与所获取的限定信息相匹配的预设数量样本数据。所获取的样本数据的数量是依据预先的设定,在此对所获取的样本数据的数量不做任何的限定。
其中,样本数据可以是来自于云端数据库中,也可以是来自服务器本地所存储的样本数据库,还可以是由用户直接输入的样本数据。本申请中样本数据是按照限定信息筛选云端数据库或样本数据库中的数据得到,为提供更加准确的推荐数据提供了较好的基础。从请求指令中所获取的限定信息包括:工种类型、工件类型、工件规格、场景类型、机器人品牌中的一种或两种以上的组合。
在本申请中,根据每个机器人可执行作业任务类型的数量,将机器人划分为单一型机器人和复合型机器人。其中,单一型机器人是只可执行一种作业任务的机器人,复合型机器人是可以顺次执行多个作业任务机器人。在一实施例中,当用户所发送的请求指令中包含多个作业任务时,则分别提取不同的作业任务所对应的限定信息,以获取用于计算针对不同作业任务的推荐数据。如,当用户所发送的请求指令中包含装配和喷涂两个作业任务时,即请求一复合型机器人顺次完成装配和喷涂,则会在分析请求指令时,分别提取出用于获取装配样本数据的限定信息和用于喷涂的限定信息。同样的,在分别提取用于获取装配样本数据的限定信息和用于获取喷涂样本数据的限定信息后,再依据所获取的限定信息,分别获取用于计算装配推荐数据的样本数据和用于计算喷涂推荐数据的样本数据。
进一步的,请结合图4,对步骤S140处理样本数据,以得到推荐数据的做进一步阐述。由图可知,步骤S140进一步包括步骤S441至步骤S442。
S441:解析请求指令,以得到任务要求。
本申请所提供的来自用户或机器人的请求指令中至少包括任务请求信息。在一实施例中,当请求指令是来自用户的控制指令时,则当前实施例中的任务要求至少包括:工件的规格、出货的速度等,任务要求中所包括的具体内容依据作业任务进行设定。可以理解的,任务要求和上述实施例中的限定信息在某些实施例中可以是相同的信息。
在另一实施例中,当请求指令是来自用户或机器人的查询指令时,则当前实施例中任务要求至少包括:所查询的数据类别、希望获取的数据数量、机器人品牌、产品类型、故障率、良品率、程序名称中的至少一者,可以理解的,当前查询指令中所包含的任务要求还可以包括其他的内容,在此不一一详述。
在另一实施例中,当请求指令是来自机器人的升级请求指令时,则在当前实施例中任务要求至少包括:该机器人系统的属性信息(系统的类型、内存、处理器的类型)、目标升级的程序名称和版本。
S442:调用预设算法,并按照任务要求,处理样本数据,以得到匹配目标机器人的推荐数据。
基于步骤S441中分析所得任务要求,调用预设算法,处理样本数据,以得到匹配目标机器人的推荐数据。其中,预设算法至少包括:第一类预设算法和其他算法。第一类预设算法为用于排序的算法,具体包括:归并排序、冒泡排序、选择排序中的至少一种,具体可以依据实际的需要进行调整设定,在此不做任何的限定,其他算法主要包括为实现某一功能的自主编写的算法、或其他所需的机器学习算法等等。
其中,当样本数据是一段程序代码时,处理样本数据可以是对样本数据中的部分参数依据任务要求进行修改。当样本数据是一类参数值时,则对样本数据的处理则可以是对该类参数进行求均值或者进一步优化,得出推荐数据。
进一步的,请参见图5,本申请所提供的控制机器人的方法中,可以设定如上述实施例所阐述的步骤,即在获取到样本数据后,直接处理所获得的样本数据,以获得推荐数据。可以理解的,在一实施例中当获取到样本数据后,还可以如图5中步骤S502所述,会进一步将所获取到的样本数据或部分样本数据发送给用户,供用户选择所采用的样本数据。图5所对应的实施例是对图4中步骤S442所述内容进一步展开,具体的,步骤S442进一步包括如步骤S501所述的内容。其中,
S501:调用第一类预设算法,并按照任务要求,对样本数据进行排序分析,以得到与目标机器人属性匹配度最高的部分样本数据作为推荐数据。在运用排序算法时,可以参照多个限定信息进行排序,如可以同时依据某一数据的调用频率进行排序,还可以依据数据的评分(数据的评分或者是评估结果将在下文详述)进行排序。其中,推荐数据包括:与任务要求匹配度最高的部分样本数据,第一类预设算法为用于排序的算法,具体包括:归并排序、冒泡排序、选择排序等等,可以理解的,排序算法还可以包括其他的算法,在此不一一详述。
S502:将与目标机器人属性匹配度最高的部分样本数据发送给用户。
将步骤S501排序所得的匹配度最高的部分样本数据发送给用户,以供用户选择至少一组样本数据,用做最终的样本数据,以在处理这一部分样本数据后得到推荐数据。其中,对于发送给用户的样本数据的数量,可以根据实际的需要进行设定调整。可以理解的,本申请所提供的技术方案中,当需要用户选择的样本数据数量过多时,还可以将经排序所得样本数据发送至用户端,提示用户剔除不需要的样本数据,将用户选择保留的样本数据发送至服务器端,用于处理得到推荐数据,以生成控制指令。
在其他的实施例中,当请求指令是来自机器人的请求指令时,是不需要将样本数据发送至机器人供机器人选择,此时可直接默认选择匹配度最高的样本数据,选择这一组数据用于生成控制指令发送至机器人。可以理解的,当请求指令是机器人发送的指令时,在获得样本数据后,将所得样本数据,以及请求指令中所包含的任务描述生成控制指令发送至机器人侧,机器人侧可采用任务级编程,即参考所接收到的样本数据,只需要根据对任务本身的描述,以及对目标产品规格的设定,由机器人自动生成指令完成作业任务,可以理解的,当请求指令是来自用户的指令时,同样可以采用上述的任务级编程。
S503:处理用户所选择的至少一组用于生成控制指令的样本数据,以得到推荐数据。
在一实施例中,接收到用户所选择的用于生成控制指令的样本数据后,会进一步的处理该数据,以得到推荐数据。如:当样本数据是参数值时,可对用户所选择的数据进一步求取均值以获得一个更加准确的推荐数据,又或者是对用户所选择的样本数据做其他更加复杂或多个步骤的计算,在此不一一详述。在另一实施例中,接收到用户所选择的用于生成控制指令的样本数据后,不对其做任何的处理,直接基于所选择的样本数据进一步生成发送至机器人的控制指令。
进一步的,请参见图6,为本申请第六实施例的流程示意图。在当前实施例中,当判断用户或机器人的权限与请求指令匹配时,在上述步骤S441分析请求指令,以得到任务要求之后还可以包括步骤S601和步骤S602,上述步骤S442进一步包括S603,其中,
S441:分析请求指令,以得到任务要求。
S601:获取目标机器人的基本属性信息。
在当前实施例,目标机器人的属性信息包含在请求指令中,即直接基于上述步骤中对请求指令的分析结果,即可获得机器人的属性信息。可以理解的,如上所述,本申请所提供的技术方案中,还可以将如机器人的品牌等基本属性信息与机器人的ID地址预先关联保存在服务器中,当服务器通过分析请求指令获得目标机器人的ID地址后,进一步基于ID地址与机器人属性信息间的关联关系,即可获得目标机器人的属性信息。
S602:获得匹配目标机器人属性信息的样本数据。
进一步的,在一实施例中步骤S602是基于所获得的目标机器人的属性信息,对步骤S130中所获取到的样本数据进一步的进行筛选,以获得匹配目标机器人属性信息的样本数据。
可以理解的,当在其他实施例中,如若在分析请求指令时所获得的限定信息中,已包含目标机器人属性信息,则可以将步骤S130中所获取的样本数据看作是匹配目标机器人属性信息的样本数据,则不会再重复进行步骤S601和S602,或者也可以看作是在前阶段已经完成如步骤S601和S602所述的内容。
S603:按照任务要求处理所匹配的样本数据,以得到匹配目标机器人属性信息的推荐数据。
进一步的,按照任务要求处理匹配目标机器人属性信息的样本数据,以得到匹配目标机器人属性信息的推荐数据。如,A品牌的目标机器人和B品牌的目标机器人的属性信息不同,如A品牌机器人是左机械臂为主机械臂,B品牌是右机械臂为主机械臂,那么对同一规格的产品进行同一工种,如打磨时,则会基于A和B主机械臂的不同,需要分配的参数也会因此不同,那么就必须基于A和B主机械臂的不同,分别基于A和B的基本属性信息获取匹配各自属性信息的样本数据,并按照任务要求处理样本数据,方可得到匹配A和B的属性信息的推荐数据,可以较好地保证工业生产安全,避免出现生产事故。
请参见图7,为本申请提供的控制机器人的方法一实施例中的终端设备、服务器和目标机器人间的交互示意图。在当前实施例中,用户通过终端设备发送请求指令至服务器,服务器在接收到请求指令后,会进一步判断用户或机器人的权限与请求指令是否匹配,当服务器判断用户的权限与请求指令匹配时,获得对应请求指令的样本数据,并调用第一类预设算法(用于排序的算法)对样本数据进行排序分析,以得到与目标机器人匹配度最高的部分样本数据。进一步的,服务器将所获得的与目标机器人属性匹配度最高的部分样本数据发送给用户,以供用户选择至少一组样本数据,用户在终端设备侧选择至少一组样本数据发送至服务器。服务器在接收到终端设备所发送的至少一组用于生成控制指令的样本数据后,进一步处理所接收到的样本数据,以得到推荐数据,服务器基于所得的推荐数据,进一步生成控制指令,并将控制指令发送至目标机器人,目标机器人进一步响应控制指令所对应的作业任务。同样的,在其他实施例中,如若是机器人向服务器发送一请求指令后,除去可不将样本数据发送至终端设备供用户进行选择的步骤,其余步骤类似于请求指令来自终端设备实施例所对应的步骤,具体请参见上述各个实施例的阐述,在此不再赘述。
如上所述,本申请所提供的技术方案中,生成控制指令的推荐数据是基于所获取的样本数据得到的,而样本数据则可以是基于服务器中存储的样本源筛选获取的,对于服务器中所存储的样本源并不是简单的从已有的数据集中简单套用的,还包括本申请服务器所覆盖的区域内机器人定时上传的预设资源。为了样本数据的适用性和准确性,本申请所提供的控制机器人的方法还包括样本源的获取,具体请参见图8,为本申请第七实施例的流程示意图。即本申请所述的控制机器人的方法还包括:步骤S801至步骤S804。
S801:获取机器人上传的预设资源,根据预设资源得到样本数据。
本申请所提供的方法中,可实现机器人之间的数据的共享,为实现数据的共享,设定本申请中的服务器所覆盖区域内机器人定时上传预设资源至服务器,以用做样本数据的样本来源,实现机器人数据的共享和学习。
可以理解的,可以设定按照预设的周期获取机器人上传的预设资源,周期的时长设定依据是机器人在设定周期内所需上传的预设资源的大小,当机器人在某一时间内的所需上传的预设资源较少,则可以将获取该机器人上传的预设资源的周期设定长一些,当某一类机器人是用于建模或获取工业场所地图的机器人时,则在一定的时间内所需上传的数据资源会较多,则会将服务器获取该类机器人的时间周期设定相对短一些,以匹配机器人数据资源获取速度。可以理解的,一个服务器获取来自不同机器人所上传预设资源的周期可以是不同的,如,服务器可以设定获取A类机器人上传的预设资源的周期是1min,设定获取B类机器人上传的预设资源的周期是5min。
其中,机器人上传至服务器的预设资源包括:软件组件、导航地图、任务知识、模式识别模型、故障信息、机器人状态信息中的一种或两种以上的组合。软件组件可以是软件的安装包或者是组成某一软件的插件等;导航地图是指工件定位、世界模型、场景建模;任务知识是指完成某一作业任务的操作策略、以及机器人的运动轨迹或机器人完成某一作业任务的所需的运动轨迹;模式识别类型包括机器人对条码的识别或障碍物的识别;故障信息是指机器人所产生的故障信息,包括:超速、碰撞、过热等故障信息;机器人状态信息是指对机器人自身状态的监测所得参数,包括但不限于,各轴位置、速度、加速度、温度、碰撞力矩等运动学参数,各轴臂长、运动范围、重量、转动惯量等动力学参数。
S802:校验预设资源是否存在传输错误。
为避免将在传输过程中存在传输错误的预设资源保存至服务器,在步骤S801获取到机器人上传的预设资源后,进一步对机器人上传的预设资源进行校验。其中,校验的方式可以是校验预设资源的校验码与机器人发送时的校验码是否一致,还可以是奇偶校验、CRC校验,MD5码的校验,具体在此不做任何限定。
S803:当预设资源不存在传输错误时,审核预设资源的有效性,以得到有效预设资源。
当步骤S802校验得到预设资源不存在传输错误时,进一步审核预设资源的有效性。预设资源的有效性是指数据的值域、数量级是否符合常规、是否存在异常或者是误差。如,当某一机器人上传预设资源中所包括的应用场景的温度是2000℃时,但是按照机器人设定的区域得知该机器人的所测得应用场景的温度不会超过50℃,则进一步得到当前所上传的预设资源为无效资源。
S804:将有效预设资源转换成预设格式并保存为样本数据。
将经过步骤S802和步骤S803检验审核后所得有效预设资源,转换成预设格式,可以较好地实现资源的统一化。其中,在此对所设定的预设格式不做任何设定,可以根据实际的需要进行设定调整。
进一步的,在一实施例中,当本申请所提供的技术方案覆盖的区域内机器人数量较多,每个时间周期内需要上传的预设资源量较大时,则上述步骤S803之后进一步包括:提取出有效预设资源中的部分参数,将部分参数转换成预设格式的参数,并保存为样本数据。即进一步提取经过校验和审核后的预设资源中的部分参数,并将该部分参数转换成预设格式的参数,保存做样本数据。其中,部分参数为关键参数,可以预先设定所提取的参数种类。在当前实施例中,经过提取预设资源中的部分参数可以较好地保证对机器人上传资源处理的实时性,减少服务器在机器人上传资源的计算量。具体的,在当前实施例中,有效预设资源的转换是基于XML的数据转换。
在另一实施例中,当步骤S802和步骤S803中校验审核得到,机器人上传的预设资源为无效预设资源时,清除无效资源,并会进一步分析预设资源为无效预设资源的原因,并将分析所得的原因发送至终端设备,以告知用户(管理员)。具体的,当判断机器人上传的预设资源是无效资源时,则判断当前机器人存在异常,在判断机器人上传的预设资源为无效资源时,调取机器人的实时状态参数,以进一步分析造成机器人异常的原因,可以较好保证工业生产过程中的安全性。
进一步的,在一实施例中,请参见图9,图9是对有效预设资源进行分类和标签化处理的流程示意图。其中,
S901:调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果。
在经过步骤S802和步骤S803校验审核得到,机器人上传的预设资源为有效预设资源时,则会进一步的调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果(也可称为是有效预设资源的评分),为后续调用该预设资源时提供较好的参考标准。其中,对有效预设资源的评估可以是由用户通过服务器的人机接口手动对机器人上传的预设资源进行评估,评估所采用的预设评估准则是大数据时代行业通用的评估准则,如:基于经典计量模型的统计数据质量评估方法。可以理解的,还可以设定服务器自动对于机器人上传的有效预设资源进行评估,为数据的分类和标签化进一步提供分类依据。其中,第二类预设算法包括但不限于此:局部线性回归算法,最小二乘法、牛顿法等。
可以理解的,在其他实施例中,也可以运用预设的评估准则对存储在服务器中或者是云端数据库中的数据再次进行评估,以进一步评估数据的成熟度,为后续调用样本数据时提供更加准确的参考信息,即当某一组数据的成熟度很高,即表示该组数据被调用的次数较多,适用性较高,此时对该组的数据的评估得分会相对较高,这样即可以再后续有需要调用同类型的数据时,优先选择该数据。
其中,在当前实施例中,还可采用机器学习算法中相关的算法对有效预设资源进行评估,所调用的算法可以包括但不限于聚类、异常检测等算法。
S902:调用第三类预设算法,并结合评估结果处理有效预设资源。具体的,第三类预设算法包括分类算法和/或多标签学习算法。故步骤S902为:调用分类算法和/或多标签学习算法,并结合评估结果处理有效预设资源。
由于机器人上传的预设资源数量较多,所以在将预设资源保存之前,对于机器人所上传的预设资源的分类和标签化处理是非常必要且有利的,所以在对机器人上传的预设资源评估后,会进一步调用第三类预设算法,并结合上述步骤S901中对有效预设资源的评估结果,实现自动对机器人上传的预设资源进行分类和标签化处理。
具体的,对预设资源的分类依据是,机器人上传的预设资源类型和评估结果。
进一步的,在当前实施例中,基于步骤S902的基础之上,上述实施例中的步骤S804将有效预设资源转换成预设格式并保存为样本数据的步骤进一步包括如步骤S903所述的内容。具体的,
S903:将经分类算法和/或多标签学习算法处理后的有效预设资源转换成预设格式,并保存以作为样本数据。
其中,预设格式指符合服务器预先设定的语言格式,可以理解的,是可以依据实际的需要可以进行调整的。将各个机器人所上传的预设资源转换成预设格式,可以较好地实现异构机器人资源数据的统一化。
进一步的,在一实施例中,在本申请所提供的控制机器人的方法还包括:监测对请求指令或预设资源进行处理分析的状况,以得到监测数据,并基于所得的监测数据,生成日志文本并输出保存。可以理解的,对请求指令或预设资源所做的处理分析状况的检测可以较好的为服务器的维护提供较好地技术支持,当服务器出现异常时,可以快速根据检测数据或是日志文本分析得到异常的原因。
进一步的,请参见图10,为本申请控制机器人的方法在一实施例中的服务器与机器人间进行预设资源上传的交互示意图。即设定机器人按照设定周期上传预设资源至服务器,服务器在接收到预设资源后,进一步校验预设资源在传输的过程中是否存在传输错误,并审核预设资源的有效性,以得到有效的预设资源。当服务器校验审核得到机器人上传的预设资源为有效资源时,会进一步调用第二类预设算法,对有效预设资源进行评估,以得到有效预设资源的评估结果(也可称为是评分),在完成对预设资源的评估后,进一步调用分类算法和/或标签学习算法,结合预设资源的评估结果,处理该预设资源。具体的处理包括:分类和标签化,具体请参见前文的相关阐述。服务器完成对预设资源的分类和标签化处理后,进一步将预设资源转换成预设格式保存至服务器或者是服务器可访问的云端存储空间,以用作样本数据,当需要时会根据标签分类和评估结果调用,具体请参见上文的阐述,在此不再赘述。
请参见图11,为本申请提供的一种服务器1100第一实施例的结构示意图。本实施例的服务器1100用于执行如图1至图8任一实施例中各步骤,具体内容请参阅上文中对于图1至图8所对应的各个实施例的阐述,在此不再赘述。该服务器1100包括:处理器1110、存储器1120和通信接口1130。
其中,处理器1110连接存储器1120和通信接口1130。通信接口1130用于接收来自机器人或用户的请求指令,以及与机器人进行通信。处理器1110用于运行存储器1120所存储的程序代码,以执行如上所述的控制机器人的方法。其中,用户接入服务器1100的方式不限于台式电脑、笔记本电脑、手机或pad等移动终端,用户通过上述终端设备登录网页或客户端实现与服务器的互联,实现数据的交互。
在其他实施例中,存储器1120不仅用于存储程序代码,还用于存储预设资源,其中,预设资源是由机器人上传,且可以依据预设资源得到样本数据。
在又一实施例中,服务器与云端数据库连接。当服务器与云端数据库连接时,可以将预设资源存储在云端数据库中,用于减少服务器本地的存储资源的压力。
其中,本申请所提供的服务器1100中的处理器1110从软件架构上,至少划分成应用层、资源服务层和数据链路层。其中,资源服务层与应用层和数据链路层之间均可以进行双向数据传输,即资源服务层可以接收来自应用层和数据链路层所传输的数据资源或指令,而资源服务层也可以分别向应用层和数据链路层传输数据资源或指令。
具体的,应用层用于在接收到经通信接口1130传输来的来自用户的请求指令后,进一步判断用户的权限与所对应的请求指令是否匹配,当判断用户的权限与对应的请求指令匹配时,进一步调用预设算法处理样本数据,以得到推荐数据,并基于推荐数据生成发送至目标机器人的控制指令,发送至通信接口1130,以实现将控制指令发送至目标机器人。
资源服务层用于在应用层判断用户权限与请求指令匹配时,获取对应当前请求指令所对应的样本数据,并将样本数据输出至应用层,用于处理样本数据以获得推荐数据。
数据链路层用于接收自通信接口1130传输的来自机器人的请求指令和预设资源,又或者是将控制指令发送至目标机器人。
进一步的,请参见图12,为本申请所提供的服务器1100在第二实施例的结构示意图。
其中,通信接口1130进一步包括:人机接口1231和通用物理接口1232。
人机接口1231,用于接入来自用户的请求指令,并判断请求指令与用户权限是否匹配,人机接口1231同时还用于将处理器1120输出的样本数据或查询结果输出以展示给用户。
通用物理接口1232,是指规定统一的数据输入、输出接口,即通用接口通过嵌入式云端技术、RFID技术、物联网、WSN等技术将来自机器人的请求指令和预设资源,用于接入机器人的请求指令和来自机器人的预设资源接入到服务器中,通用物理接口1232还用于将控制指令发送给机器人。
由于机器人数据(包括文本信息、数据信息、图形信息)的上传可采用标准化的信息传输协议,会进一步在通用物理接口1232处规划机器人与服务器间数据互传的协议,可以较好地提高数据的转换效率。
进一步的,本申请所提供的服务器1100中通用物理接口1232进一步还包括快速接口(图未示),该快速接口用于传输报警指令等优先级别较高的指令或数据,同时再为未知的数据留出未定义的接口,以适用未来的技术发展。
进一步的,请再次参阅图12本申请所提供的服务器1100中的通信接口1130还包括:管理接口1233。管理接口1233用于用户注册和验证,同时也为专业技术人员对服务器维护和优化提供了接口。需要说明的是,本申请所提供的人机接口1231、通用物理接口1232和管理接口1233均可直接与处理器1110进行通信,进行数据的交互。需要说明的,上述图1至图10所对应的实施例,可以存储在一个计算机可读取的具有存储功能的存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个具有存储功能的存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施方式所述方法的全部或部分步骤。
请参见图13,为本申请一种云服务平台1300在一实施例中结构示意图。在当前实施例中,云服务平台1300包括:应用模块1310,资源处理模块1320和数据链路模块1330。
其中,应用模块1310用于接收来自用户2000或机器人3000的请求指令。
资源处理模块1320,用于根据应用模块1310所接收到的请求指令及存储于云端数据库(图未示)的样本数据生成针对目标机器人的控制指令。样本数据来自于不同机器人上传的预设资源。在不同的实施例中,样本数据是基于对不同机器人所上传的预设资源做预设处理后获得,具体请参见上文。
进一步的,在一实施例中,资源处理模块1320具体用于:判断用户2000或机器人3000的权限与请求指令是否匹配;当用户2000或机器人3000的权限与请求指令匹配时,获取对应请求指令的样本数据;在获取到样本数据后,处理样本数据,以得到匹配目标机器人的推荐数据;然后,基于推荐数据生成针对目标机器人的控制指令。
数据链路模块1330,用于接收机器人3000上传的预设资源,以及将控制指令发送至目标机器人。具体的,数据链路模块1330用于在接收到机器人上传的预设资源后,将机器人所上传的预设资源以统一的格式上传至资源处理模块1320,由资源处理模块1320进行进一步的处理。
同时参见图14,图14为本申请一种云服务平台在一实施例中的业务模式流程示意图。其中,用户1401发送请求指令至云服务平台1407,云服务平台接收基于用户所发送的请求指令后,获取请求指令所对应的数据。数据信息反馈给用户。具体的,用户可以基于云服务平台获取的数据包括:机器人的加工状态、故障信息和数据汇总等。云服务平台可以在用户的请求指令控制之下,或者基于实际的需要向机器人发送控制指令,以实现向机器人1405推荐加工参数、程序和软件升级等。机器人1405可以将包括自身状态、加工信息、软件状态和故障信息等预设资源上传至云服务平台1407。云服务平台1407可以基于网络访问云端数据库1406,具体的,云服务平台可以将机器人1405所上传的预设资源进行分类和标签化处理后上传至云端数据库保存作为样本数据,然后再需要时基于网络访问云端数据库获取相关的样本数据。
在当前实施例中,云服务平台还包括安全检测模块1402、维护模块1403和评价模块1404。其中,安全监测模块用于安全防护,维护模块用于调试维护云服务平台。评价模块用于对机器人上传至云服务平台的预设资源做评估。
请参见图15,为本申请提供的一种存储介质1500的第一实施例的结构示意图,该存储介质1500存储有程序数据,存储介质1500所存储的程序数据被执行时实现如上所述的控制机器人的方法。具体的,前述的具有存储功能的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质中的一种,在此不做限定。
以上所述仅为本申请的实施方式,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。

Claims (20)

  1. 一种控制机器人的方法,其特征在于,所述方法包括:
    接收来自用户或机器人的请求指令;
    判断所述用户或机器人的权限与所述请求指令是否匹配;
    当所述用户或机器人的权限与所述请求指令匹配时,获取对应所述请求指令的样本数据,所述样本数据来自于不同机器人的预设资源;
    处理所述样本数据,以得到匹配目标机器人的推荐数据;
    基于所述推荐数据生成发送至所述目标机器人的控制指令。
  2. 根据权利要求1所述的控制机器人的方法,其特征在于,所述当所述用户或机器人的权限与所述请求指令匹配时,获得对应所述请求指令的样本数据的步骤包括:
    当所述用户或机器人的权限与所述请求指令匹配时,分析所述请求指令,以提取出用于获取所述样本数据的至少一个限定信息;
    获取匹配所述限定信息的预设数量的样本数据;
    其中,所述样本数据来自于云端数据库,所述限定信息包括:工种类型、工件类型、工件规格、场景类型、机器人品牌中的一种或两种以上的组合。
  3. 根据权利要求1所述的控制机器人的方法,其特征在于,所述处理所述样本数据,以得到匹配目标机器人的推荐数据的步骤进一步包括:
    解析所述请求指令,以得到任务要求;调用预设算法,并按照所述任务要求,处理所述样本数据,以得到所述匹配目标机器人的推荐数据。
  4. 根据权利要求3所述的控制机器人的方法,其特征在于,所述调用预设算法,并按照所述任务要求,处理所述样本数据进一步包括:
    调用第一类预设算法,并按照所述任务要求,对所述样本数据进行排序分析,以得到与所述目标机器人属性匹配度最高的部分样本数据作为所述推荐数据;
    其中,所述第一类预设算法包括:归并排序、冒泡排序、选择排序中的至少一种;所述目标机器人属性包括:工种类型、工件类型、工件规格、场景类型、机器人品牌中的一种或两种以上的组合。
  5. 根据权利要求4所述的控制机器人的方法,其特征在于,所述基于所述推荐数据生成发送至目标机器人的控制指令的步骤之前还包括:
    将与所述目标机器人属性匹配度最高的部分样本数据发送给所述用户;
    所述处理所述样本数据,以得到推荐数据进一步包括:处理所述用户所选择的至少一组用于生成所述控制指令的样本数据,以得到所述推荐数据。
  6. 根据权利要求1所述的控制机器人的方法,其特征在于,所述基于所述推荐数据生成发送至目标机器人的控制指令的步骤包括:
    判断所述目标机器人所支持的协议类型;
    基于所述推荐数据生成用于发送至所述目标机器人、且与所述协议类型匹配的所述控制指令。
  7. 根据权利要求1所述的控制机器人的方法,其特征在于,所述方法还包括:
    获取机器人上传的预设资源,根据所述预设资源得到所述样本数据;
    其中,所述预设资源包括:软件组件、导航地图、任务知识、模式识别模型、故障信息、机器人状态信息中的一种或两种以上的组合。
  8. 根据权利要求7所述的控制机器人的方法,其特征在于,所述获取机器人上传的预设资源的步骤之后还包括:
    校验所述预设资源是否存在传输错误;
    当所述预设资源不存在传输错误时,审核所述预设资源的有效性,以得到有效预设资源;
    将所述有效预设资源转换成预设格式并保存为所述样本数据。
  9. 根据权利要求8所述的控制机器人的方法,其特征在于,所述将所述有效预设资源转换成预设格式并保存为所述样本数据的步骤包括:
    提取出所述有效预设资源中的部分参数;
    将所述部分参数转换成预设格式的参数,并保存为所述样本数据。
  10. 根据权利要求8所述的控制机器人的方法,其特征在于,所述将所述有效预设资源转换成预设格式并保存为所述样本数据之前还包括:
    调用第二类预设算法,对所述有效预设资源进行评估,以得到所述有效预设资源的评估结果;
    调用第三类预设算法,并结合所述评估结果处理所述有效预设资源;
    其中,所述第二类预设算法包括:局部线性回归算法;所述第三类预设算法包括分类算法和/或多标签学习算法。
  11. 根据权利要求1所述的控制机器人的方法,其特征在于,所述方法进一步包括:
    监测对所述请求指令和/或预设资源进行处理分析的状况,以得到监测数据;
    基于所述监测数据,生成日志文本并输出保存。
  12. 一种服务器,其特征在于,所述服务器包括:
    处理器、存储器和通信接口,所述处理器连接所述存储器和通信接口;
    所述通信接口用于接收来自机器人或用户的请求指令,以及与机器人进行通信;
    所述处理器用于运行所述存储器所存储的程序代码,以执行如权利要求1至11任一项所述的方法。
  13. 根据权利要求12所述的服务器,其特征在于,所述通信接口进一步包括:人机接口和通用物理接口;
    人机接口,用于接收来自所述用户的请求指令,并将所述处理器输出的样本数据或查询结果输出以展示给所述用户;
    所述通用物理接口用于接收来自所述机器人的请求指令或来自所述机器人的预设资源,所述通用物理接口还用于将所述处理器输出的控制指令发送至目标机器人;
  14. 如权利要求13所述的服务器,其特征在于,所述存储器还用于存储所述预设资源。
  15. 如权利要求13所述的服务器,其特征在于,所述服务器与云端数据库连接,所述云端数据库用于存储所述预设资源。
  16. 根据权利要求13所述的服务器,其特征在于,所述通信接口进一步还包括快速接口,所述快速接口用于传输报警指令。
  17. 根据权利要求12所述的服务器,其特征在于,所述通信接口进一步包括管理接口,所述管理接口用于为用户的注册验证和所述服务器的维护提供接口。
  18. 一种具有存储功能的存储介质,其特征在于,所述存储介质存储有程序数据,所述程序数据被运行时实现如权利要求1~11任一项所述的方法。
  19. 一种云服务平台,其特征在于,包括:
    应用模块,用于接收来自用户或机器人的请求指令;
    资源处理模块,用于根据所述请求指令及存储于云端数据库的样本数据生成针对目标机器人的控制指令,所述样本数据来自于不同机器人的预设资源;
    数据链路模块,用于接收机器人上传的预设资源,以及将所述控制指令发送至所述目标机器人。
  20. 如权利要求19所述的云服务平台,其特征在于,所述资源处理模块具体用于:
    判断所述用户或机器人的权限与所述请求指令是否匹配;
    当所述用户或机器人的权限与所述请求指令匹配时,获取对应所述请求指令的样本数据;
    处理所述样本数据,以得到匹配所述目标机器人的推荐数据;
    基于所述推荐数据生成针对所述目标机器人的控制指令。
PCT/CN2018/111078 2018-10-19 2018-10-19 控制机器人的方法、服务器、存储介质及云服务平台 WO2020077631A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201880087438.4A CN111630475B (zh) 2018-10-19 2018-10-19 控制机器人的方法、服务器、存储介质及云服务平台
PCT/CN2018/111078 WO2020077631A1 (zh) 2018-10-19 2018-10-19 控制机器人的方法、服务器、存储介质及云服务平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/111078 WO2020077631A1 (zh) 2018-10-19 2018-10-19 控制机器人的方法、服务器、存储介质及云服务平台

Publications (1)

Publication Number Publication Date
WO2020077631A1 true WO2020077631A1 (zh) 2020-04-23

Family

ID=70284442

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/111078 WO2020077631A1 (zh) 2018-10-19 2018-10-19 控制机器人的方法、服务器、存储介质及云服务平台

Country Status (2)

Country Link
CN (1) CN111630475B (zh)
WO (1) WO2020077631A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310879A (zh) * 2021-12-23 2022-04-12 遨博(北京)智能科技有限公司 一种机器人控制方法、控制柜及系统

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113671882A (zh) * 2021-08-25 2021-11-19 李奎 一种基于互联网的远程机器人控制系统及其控制方法
CN114260897A (zh) * 2021-12-24 2022-04-01 达闼科技(北京)有限公司 一种权限管理方法、机器人以及可读存储介质
CN114401162B (zh) * 2022-01-14 2022-11-08 中国科学院地理科学与资源研究所 基于孔洞机器人的无线控制系统及方法

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100461A1 (en) * 2011-04-12 2015-04-09 Dan Baryakar Robotic System Controlled by Multi Participants
CN105116785A (zh) * 2015-06-26 2015-12-02 北京航空航天大学 一种多平台远程机器人通用控制系统
CN105959618A (zh) * 2016-02-19 2016-09-21 青岛克路德机器人有限公司 一种远程操控机器人的方法
CN106378780A (zh) * 2016-10-21 2017-02-08 遨博(北京)智能科技有限公司 一种机器人系统、控制机器人的方法和服务器
CN106873773A (zh) * 2017-01-09 2017-06-20 北京奇虎科技有限公司 机器人交互控制方法、服务器和机器人

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9802309B2 (en) * 2014-07-24 2017-10-31 X Development Llc Methods and systems for generating instructions for a robotic system to carry out a task
CN105215987B (zh) * 2015-10-12 2017-03-22 埃夫特智能装备股份有限公司 一种工业机器人工艺云系统及其工作方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150100461A1 (en) * 2011-04-12 2015-04-09 Dan Baryakar Robotic System Controlled by Multi Participants
CN105116785A (zh) * 2015-06-26 2015-12-02 北京航空航天大学 一种多平台远程机器人通用控制系统
CN105959618A (zh) * 2016-02-19 2016-09-21 青岛克路德机器人有限公司 一种远程操控机器人的方法
CN106378780A (zh) * 2016-10-21 2017-02-08 遨博(北京)智能科技有限公司 一种机器人系统、控制机器人的方法和服务器
CN106873773A (zh) * 2017-01-09 2017-06-20 北京奇虎科技有限公司 机器人交互控制方法、服务器和机器人

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114310879A (zh) * 2021-12-23 2022-04-12 遨博(北京)智能科技有限公司 一种机器人控制方法、控制柜及系统

Also Published As

Publication number Publication date
CN111630475B (zh) 2024-02-27
CN111630475A (zh) 2020-09-04

Similar Documents

Publication Publication Date Title
WO2020077631A1 (zh) 控制机器人的方法、服务器、存储介质及云服务平台
US11822526B2 (en) Integrated transition control center
US6038486A (en) Control method for factory automation system
US8438563B2 (en) Recording medium recording thereon virtual machine management program, management server device, and method for managing virtual machine
EP3371698B1 (en) Maintaining control over restricted data during deployment to cloud computing environments
US7987254B2 (en) Automation network, remote access server for an automation network and a method for transmitting operating data between an automation system and a remote computer
WO2014003505A1 (ko) 디바이스 소셜리티 구성 시스템 및 방법
US7716663B2 (en) Method, system and program product for controlling native applications using open service gateway initiative (OSGi) bundles
US20190268319A1 (en) Authentication and Approval Control System for Distributed Ledger Platform
US10824488B2 (en) Device detection method and system, electronic device, cloud robot system, and computer program product
EP3371697A1 (en) Incident management to maintain control of restricted data in cloud computing environments
WO2019072165A1 (zh) 虚拟化流镜像策略自动化管理方法及设备、存储介质
WO2016066081A1 (zh) 写入数据的方法和装置技术领域
WO2017167015A1 (zh) 服务器设备安全管理方法、装置及计算机存储介质
Liu et al. A study on the teleoperation of robot systems via WWW
Mao et al. Application and Design of Inspection Robot System Based on Multi-parameter Hierarchical Inspection of UHV Substation
WO2014157762A1 (ko) 모바일 어플리케이션 디자인 및 시뮬레이션 기능을 제공하는 스마트 디자인 시스템, 이를 포함하는 비즈니스 모델 및 스마트 디자인 시스템의 동작방법
KR102580835B1 (ko) 보안정책 자동화 관리시스템
CN115640150A (zh) 一种便于外部系统接入的mes系统数据接口管理方法及系统
WO2022131689A1 (ko) 계속 사용 인증 방법, 장치 및 기록매체
CN116820650A (zh) 一种训练任务创建方法、装置、电子设备及存储介质
TW202244733A (zh) 數位鏡像方法、伺服器及儲存介質
KR20230165825A (ko) 동적 기계 시스템들의 집단들 설정 및 관리
CN115550086A (zh) 会议管理系统及控制方法
TW202004476A (zh) 用於手持式裝置的履歷顯示與操作系統及其方法

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 18936978

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

32PN Ep: public notification in the ep bulletin as address of the adressee cannot be established

Free format text: NOTING OF LOSS OF RIGHTS PURSUANT TO RULE 112(1) EPC (EPO FORM 1205A DATED 30/08/2021)

122 Ep: pct application non-entry in european phase

Ref document number: 18936978

Country of ref document: EP

Kind code of ref document: A1