Disclosure of Invention
The embodiment of the application provides a robot repositioning method, a robot repositioning device, electronic equipment and a storage medium, which can effectively realize repositioning without human intervention.
In a first aspect, an embodiment of the present application provides a robot repositioning method, applied to a robot, including:
sending a positioning loss alarm to a robot management platform;
responding to an environment information acquisition instruction sent by the robot management platform, controlling environment information acquisition equipment to acquire surrounding environment information, obtaining environment information, and sending the environment information to the robot management platform;
and responding to a movement instruction sent by the robot management platform, controlling the robot to move and acquiring positioning information in real time, wherein the movement instruction comprises estimated position information and orientation information.
Optionally, the responding to the movement instruction sent by the robot management platform controls the robot to move and acquire the positioning information in real time, including:
carrying out path planning according to the estimated position information and the orientation information to obtain an estimated motion path of the robot;
and controlling the robot to move to a target point position according to the estimated motion path, and acquiring positioning information at the target point position.
Optionally, the method further includes, after the robot is controlled to move to a target point according to the estimated motion path and the target point obtains positioning information, the method further includes:
and if the target point location is successful, correcting the estimated motion path according to the location information acquired from the target point location.
Optionally, before the robot is controlled to move and obtain the positioning information in real time in response to the movement instruction sent by the robot management platform, the method further includes:
and sending map information to the robot management platform, wherein the map information comprises global map information and regional map information of a region where the robot is located.
Optionally, before the sending the environmental information to the robot management platform, the method further includes:
comparing the environment information with own map information, and calculating the trial position information of the robot;
and controlling the robot to move according to the attempted position information and acquiring the position information in real time.
In a second aspect, an embodiment of the present application provides a robot repositioning method, applied to a robot management platform, including:
responding to a positioning loss alarm sent by a robot, generating an environment information acquisition instruction, and sending the environment information acquisition instruction to the robot;
generating a moving instruction according to the environment information fed back by the robot, and sending the moving instruction to the robot so that the robot moves according to the moving instruction and acquires positioning information in real time, wherein the moving instruction comprises estimated position information and orientation information.
Optionally, the generating a movement instruction according to the environmental information fed back by the robot includes:
comparing the environment information with the map information of the robot, and calculating estimated position information of the robot;
and determining the orientation information according to the estimated position information and the task destination of the robot.
Optionally, the map information is composed of at least two point location information, the comparing the environment information with the map information of the robot, calculating estimated position information of the robot includes:
comparing the environment information with the at least two point location information respectively to obtain the similarity between the point location information and the environment information;
and determining the point location information with the maximum similarity with the environment information as the estimated position information.
Optionally, before the moving instruction is generated according to the environmental information fed back by the robot, the method further includes:
and receiving map information sent by the robot, wherein the map information comprises global map information and regional map information of a region where the robot is located.
In a third aspect, embodiments of the present application provide a robot repositioning apparatus, including:
the alarm module is used for sending a positioning loss alarm to the robot management platform;
the processing module is used for responding to the environment information acquisition instruction sent by the robot management platform, controlling the environment information acquisition equipment to acquire surrounding environment information, obtaining environment information and sending the environment information to the robot management platform; and responding to a movement instruction sent by the robot management platform, controlling the robot to move and acquiring positioning information in real time, wherein the movement instruction comprises estimated position information and orientation information.
In a fourth aspect, embodiments of the present application provide a robot repositioning apparatus, including:
the first instruction generation module is used for responding to the positioning loss alarm sent by the robot, generating an environment information acquisition instruction and sending the environment information acquisition instruction to the robot;
the second instruction generating module is used for generating a moving instruction according to the environment information fed back by the robot and sending the moving instruction to the robot so that the robot moves according to the moving instruction and acquires positioning information in real time, and the moving instruction comprises estimated position information and orientation information.
In a fifth aspect, embodiments of the present application provide a robot, including a memory, a processor, and a computer program stored on the memory and executable on the processor, the processor implementing the robot repositioning method according to the first aspect when executing the program.
In a sixth aspect, an embodiment of the present application provides a robot management platform, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the robot repositioning method according to the second aspect.
In a seventh aspect, embodiments of the present application provide a computer readable storage medium having stored thereon a computer program which, when executed by a processor, implements a robot repositioning method as described in the first aspect above.
According to the robot repositioning method, device, electronic equipment and storage medium, the positioning loss alarm is sent to the robot management platform, the environment information acquisition equipment is controlled to acquire surrounding environment information in response to the environment information acquisition instruction sent by the robot management platform, the environment information is obtained, the environment information is sent to the robot management platform, the robot is controlled to move and acquire positioning information in real time in response to the moving instruction sent by the robot management platform, the moving instruction comprises estimated position information and orientation information, repositioning of the robot is achieved through a remote control mode, the problem that an administrator does not know the position of the robot and blindly searches is solved, the use efficiency and service quality of the robot are improved, and the occurrence frequency of task execution failure caused by position loss is reduced.
Detailed Description
The present application is described in further detail below with reference to the drawings and examples. It is to be understood that the specific embodiments described herein are merely illustrative of the application and not limiting thereof. It should be further noted that, for convenience of description, only some, but not all of the structures related to the present application are shown in the drawings.
The embodiment provides a technical scheme for repositioning the robot, which can be used for helping the robot to quickly find the position through a remote control mode when the positioning of the robot is lost. Fig. 1 is a schematic view of an application scenario in the embodiment of the present application, as shown in fig. 1, the robot in the embodiment may be any type of mobile robot, such as a delivery robot, a welcome robot, etc., the robot management platform is a device that performs scheduling and emergency processing on each robot, such as a computer, a server, etc., and communication and data interaction between the robot and the robot management platform may be performed in a wired or wireless manner.
The main idea of the technical scheme of the application is as follows: based on the problem that the intelligent degree of robot repositioning is not high in the prior art, the embodiment of the application provides a technical scheme of robot repositioning, when the robot is lost in positioning, on one hand, the robot can send a positioning loss alarm to a robot management platform through the robot, and the robot management platform sends a remote instruction to the robot to remotely control the robot, so that the robot is assisted to realize repositioning, and on the other hand, the robot can be used for attempting to move and acquire position information through judgment and preliminary estimation by a positioning verification module of the robot.
It can be understood that the two aspects can be combined, namely, the robot tries to move and interacts with a remote instruction of the robot management platform, so that the aim of quick repositioning is fulfilled.
Example 1
Fig. 2 is a schematic flow chart of a robot repositioning method according to an embodiment of the present application, where the robot repositioning method according to the present embodiment is applied between a robot and a robot management platform, as shown in fig. 2, and as shown in fig. 2, the robot repositioning method according to the present embodiment includes:
s101, sending a positioning loss alarm to a robot management platform;
in this step, when the robot loses positioning at a certain position (i.e., the robot cannot acquire positioning information), the robot actively sends a positioning loss alarm to the robot management platform, so that the robot management platform intervenes, and the robot is helped to realize repositioning.
The positioning loss alarm can be a specific code or character or the like which is agreed in advance and is used for reporting the current processing positioning loss state of the robot to the robot management platform.
It can be appreciated that in this embodiment, the loss-of-position alarm carries an identifier, such as a number, of the robot, so that the robot management platform communicates and data interacts with the robot management platform according to the identifier.
S102, responding to a positioning loss alarm sent by a robot, and generating an environment information acquisition instruction;
in order to help the robot to realize repositioning, the robot management platform needs to estimate and judge the current position of the robot by means of the surrounding environment information of the robot, so that when the positioning loss alarm information sent by the robot is received, in the step, an environment information instruction for triggering the robot to acquire the surrounding environment information is generated.
S103, sending an environment information acquisition instruction to the robot.
In this step, the robot management platform sends the environmental information collection instruction generated in S102 to the robot in a wired or wireless manner.
And S104, controlling the environmental information acquisition equipment to acquire surrounding environmental information according to the environmental information acquisition instruction to obtain the environmental information.
In the step, the robot controls the environmental information acquisition equipment to be opened and acquires the surrounding environmental information to obtain the environmental information in response to the environmental information acquisition instruction sent by the robot management platform.
The environmental information collection device may be a laser radar or a camera, if the environmental information collection device of a certain robot is a laser radar, the collected environmental information is composed of point cloud data, and if the environmental information collection device of a certain robot is a camera, the collected environmental information is composed of picture data.
S105, the environment information is sent to the robot management platform.
In this step, in order for the robot management platform to estimate and determine the current position of the robot, the robot sends the environmental information collected by the environmental information collection device in S104 to the robot management platform.
S106, generating a movement instruction according to the environment information fed back by the robot.
In the step, the robot management platform carries out the current position estimation and judgment processing of the robot according to the environmental information sent by the robot, and generates a moving instruction for triggering the robot to move the position according to the processing result.
In one possible implementation, the movement instruction in this embodiment includes estimated position information and orientation information. The estimated position information refers to the position information of the robot estimated by the robot management platform, and is used for assisting the robot in determining the current position of the robot; the direction information refers to the movement direction or movement azimuth information of the robot estimated by the robot management platform, and relates to the current position of the robot and the task destination of the robot, and is used for assisting the movement direction of the robot.
Correspondingly, in the step, the estimated position information of the robot is obtained through probability calculation by comparing the environment information acquired by the robot with the map information of the robot, and further, the orientation information of the robot is determined according to the estimated position information obtained through calculation and the task destination information of the robot. And finally, constructing a moving instruction according to the determined estimated position information and the determined orientation information.
The map information is composed of a plurality of point location information, and in actual operation, the robot moves according to the point location information, such as from one point location to another. Accordingly, in this embodiment, by comparing the obtained environmental information with each piece of point location information in the map, calculating the similarity between the environmental information and each piece of point location information, where the obtained correspondence between each piece of point location information and the similarity is the probability that the position where the robot is located is the corresponding point location, and then the probability that the point location corresponding to the maximum value of the similarity is the current position where the robot is located is the maximum.
In this embodiment, on the one hand, the estimated position information and the orientation information are sent to the robot in a manner of a movement instruction, so that the robot can move according to the movement instruction, and the positioning information can be acquired in real time in the moving process, thereby helping the robot to quickly realize repositioning. On the other hand, the similarity between the environment information and the position information of each point is calculated, and the point position corresponding to the maximum value of the calculated similarity is determined to be the current position of the robot, so that the accuracy of the estimated position information determined by the robot management platform is improved, and the robot can be quickly repositioned.
It may be understood that the map information of the robot may be sent to the robot management platform in advance by the robot, for example, may be sent to the robot management platform together with the positioning loss alarm or the environment information sent by the robot, or may be actively sent to the robot management platform when the robot completes the construction or updating of the map, which is not limited herein.
Optionally, in this embodiment, after the positioning loss occurs, the robot sends its own map information to the robot management platform, and the map information of the robot management platform includes global map information (i.e., map information of the entire large working environment or scene) and regional map information of the region where the robot is located (i.e., regional map information of the region where the robot is located when the positioning loss occurs). For example, a working scene of a certain robot includes four partitions A, B, C, D, if the machine is lost in positioning in partition B, the robot sends the global map information including point location information of all points in the four partitions A, B, C, D, and the regional map information includes only point location information of points included in partition B.
Accordingly, when determining the estimated position information, the received environment information and the point location information in the regional map information can be compared first, when the point location information which does not meet the requirement (such as the point location information which is greater than a certain similarity threshold value) is not met, the environment information and other point location information in the global map information (such as the point location information in the subarea other than the subarea B) are compared, and when the environment information and the other point location information in the global map information are compared, the point location information meeting the requirement can be searched in a near-to-far mode according to the distance relation between the point location information and the subarea corresponding to the regional map. The method for calculating the estimated position information is beneficial to improving the calculation speed of the estimated position information, reduces the time required by the robot for repositioning, enables the robot to rapidly go into work, improves the working efficiency of the robot and improves the user experience.
And S107, transmitting the movement instruction to the robot.
In this step, the robot management platform transmits the generated movement instruction to the robot. Accordingly, the robot receives the movement instruction.
S108, controlling the robot to move according to the movement instruction and acquiring positioning information in real time.
In the step, the robot responds to the received moving instruction, moves according to the estimated position information and the orientation information in the moving instruction, and acquires positioning information according to the environmental information acquired by the environmental information acquisition equipment in the moving process.
In a possible implementation manner, in this step, according to the estimated position information and the orientation information in the movement instruction, and referring to the map information, the task destination, the movement step length, and other information of the robot, the operation path of the robot is planned to obtain the estimated movement path of the robot, and it can be understood that the estimated movement path is also formed by a series of point location information, and further, the robot is controlled to move to the target point location according to the estimated movement path, and the positioning information is obtained at the target point location. The target point positions are adjacent point positions on the estimated motion path in the direction corresponding to the estimated position information.
Correspondingly, in this embodiment, if positioning is successful at the target point location (that is, the robot can acquire positioning information, that is, can determine information of the current position according to the acquired environmental information, and implement repositioning), the estimated motion path is corrected by using the positioning information acquired at the target point location, so as to obtain the actual motion path of the robot. The correction of the estimated motion path may be performed by re-planning the motion path according to the positioning information obtained from the target point location, or may be performed by correcting only the corresponding point location information (e.g., the target point location information) on the estimated motion path, specifically, may be determined according to the difference between the obtained positioning information and the target point location information (e.g., the estimated point location information) on the estimated motion path, which is not limited herein.
If the positioning at the target point location fails, the robot can send a positioning loss alarm to the robot management platform again, namely, the steps of S101-S108 are repeated, and the repositioning is realized by the robot directly.
It can be appreciated that in this embodiment, the instruction construction, the instruction and the transmission of the related data may be performed according to a communication protocol adopted between the robot and the robot management platform, such as WebSocket protocol.
In the embodiment, the positioning loss alarm is sent to the robot management platform, the environment information acquisition equipment is controlled to acquire the surrounding environment information in response to the environment information acquisition instruction sent by the robot management platform, the environment information is obtained, the environment information is sent to the robot management platform, the robot is controlled to move and acquire the positioning information in real time in response to the movement instruction sent by the robot management platform, the movement instruction comprises the estimated position information and the orientation information, and the repositioning of the robot is realized in a remote control mode, so that the problem that an administrator cannot clearly find the position of the robot and blindly find the position of the robot is solved, the use efficiency and the service quality of the robot are improved, and the occurrence frequency of task execution failure caused by position loss is reduced.
In addition, in order to improve the intelligentization degree of the robot and accelerate the repositioning speed based on the above embodiment, in this embodiment, the robot may also attempt to move by the robot in the process of repositioning by means of the robot management platform in a remote manner, specifically, control the environmental information acquisition device to acquire the surrounding environmental information, compare the acquired environmental information with its own map information, calculate the attempted position information, and control the movement of the robot and acquire the position information in real time according to the attempted position information.
The embodiment of determining the trial position information is similar to that in S106, and the embodiment of controlling the robot to move and acquire the positioning information according to the trial position information is similar to that in S108, and will not be repeated here.
It will be appreciated that the process of attempting positioning by the robot itself may be performed in any case during the process of performing repositioning by the robot management platform in a remote manner, for example, may be performed before sending a positioning loss alarm to the robot management platform after each positioning loss of the robot, or may be performed before the robot sends environmental information to the robot management platform after obtaining environmental information according to an environmental information collection instruction, which is not particularly limited herein.
Example two
In order to more clearly understand the data interaction process between the robot management platform and the robot in the embodiment of the present application, a more specific embodiment is described below, and assuming that the robot management platform is an application server, an application client and a robot operating system (robot operating system, ROS) are installed on the robot, and for example, fig. 3 is a schematic diagram of data interaction in the process of repositioning the robot in the second embodiment of the present application, as shown in fig. 3, in this embodiment, the data interaction process between the robot management platform and the robot includes:
s201, when the robot loses the positioning, the robot operating system reports a positioning loss alarm to an application client;
s202, after receiving the positioning loss alarm, the application client sends the positioning loss alarm to the application server in a transparent transmission mode;
s203, the application server responds to the positioning loss alarm to generate a map information acquisition instruction;
s204, the application server sends a map information acquisition instruction to an application client on the robot;
s205, after receiving the map information acquisition instruction, the application client sends the map information acquisition instruction to the robot operating system in a transparent transmission mode;
s206, the robot operating system sends the local map information to the application client according to the map information acquisition instruction;
s207, the application client side sends the map information to the application server in a transparent transmission mode;
s208, after receiving the map information, the server generates an environment information acquisition instruction;
s209, the server sends an environment information acquisition instruction to an application client on the robot;
s210, an application client sends an environment information acquisition instruction to a robot operating system in a transparent transmission mode;
s211, the robot operating system responds to an environment information acquisition instruction to control the environment information acquisition equipment to acquire surrounding environment information;
s212, the robot operating system reports the acquired environmental information to an application client;
s213, the application client side sends the environment information to the application server in a transparent transmission mode;
s214, the application server performs data processing according to the environment information and the map information to generate a moving instruction comprising position coordinates and directions;
s215, the application server sends the moving instruction to an application client on the robot;
s216, the application client sends the moving instruction to the robot operating system in a transparent transmission mode;
s217, the robot operating system responds to the moving instruction to control the robot to move and acquire the positioning information in real time.
The transparent transmission refers to a communication mode that data sent by the operation of the application client robot is directly sent to the application server, or content sent by the application server is directly sent to the robot operation system.
In this embodiment, the robot interaction system (such as an application client) is connected in series with the robot management platform (such as an application server) and the robot bottom layer (such as a robot operating system), so as to realize remote communication and data interaction between the robot and the robot management platform, ensure feasibility and reliability of data interaction in the repositioning process of the robot, and have a relatively strong practical application value.
Example III
Fig. 4 is a schematic structural diagram of a robotic repositioning device according to a third embodiment of the present application, and as shown in fig. 4, the robotic repositioning device 10 in this embodiment includes:
an alarm module 11 and a processing module 12.
The alarm module 11 is used for sending a positioning loss alarm to the robot management platform;
the processing module 12 is used for responding to the environment information acquisition instruction sent by the robot management platform, controlling the environment information acquisition equipment to acquire surrounding environment information, obtaining environment information and sending the environment information to the robot management platform; and responding to a movement instruction sent by the robot management platform, controlling the robot to move and acquiring positioning information in real time, wherein the movement instruction comprises estimated position information and orientation information.
Optionally, the processing module 12 is specifically configured to:
carrying out path planning according to the estimated position information and the orientation information to obtain an estimated motion path of the robot;
and controlling the robot to move to a target point position according to the estimated motion path, and acquiring positioning information at the target point position.
Optionally, the processing module 12 is further configured to:
and if the target point location is successful, correcting the estimated motion path according to the location information acquired from the target point location.
Optionally, the processing module 12 is further configured to:
and sending map information to the robot management platform, wherein the map information comprises global map information and regional map information of a region where the robot is located.
Optionally, the processing module 12 is further configured to:
comparing the environment information with own map information, and calculating the trial position information of the robot;
and controlling the robot to move according to the attempted position information and acquiring the position information in real time.
The robot repositioning device provided by the embodiment can execute the robot repositioning method of the robot side in the method embodiment, and has the corresponding functional modules and beneficial effects of the execution method. The implementation principle and technical effect of the present embodiment are similar to those of the above method embodiment, and are not described here again.
Example IV
Fig. 5 is a schematic structural diagram of a robotic repositioning device according to a fourth embodiment of the present application, and as shown in fig. 5, the robotic repositioning device 20 in this embodiment includes:
a first instruction generation module 21 and a second instruction generation module 22.
The first instruction generating module 21 is configured to generate an environmental information acquisition instruction in response to a positioning loss alarm sent by a robot, and send the environmental information acquisition instruction to the robot;
the second instruction generating module 22 is configured to generate a movement instruction according to the environmental information fed back by the robot, and send the movement instruction to the robot, so that the robot moves according to the movement instruction and acquires positioning information in real time, where the movement instruction includes estimated position information and orientation information.
Optionally, the second instruction generating module 22 is specifically configured to:
comparing the environment information with the map information of the robot, and calculating estimated position information of the robot;
and determining the orientation information according to the estimated position information and the task destination of the robot.
Optionally, the map information is composed of at least two point location information, and the second instruction generating module 22 is specifically configured to:
comparing the environment information with the at least two point location information respectively to obtain the similarity between the point location information and the environment information;
and determining the point location information with the maximum similarity with the environment information as the estimated position information.
Optionally, the second instruction generating module 22 is further configured to:
and receiving map information sent by the robot, wherein the map information comprises global map information and regional map information of a region where the robot is located.
The robot repositioning device provided by the embodiment can execute the robot repositioning method on the robot management platform side in the method embodiment, and has the corresponding functional modules and beneficial effects of the execution method. The implementation principle and technical effect of the present embodiment are similar to those of the above method embodiment, and are not described here again.
Example five
Fig. 6 is a schematic structural diagram of a robot according to a fifth embodiment of the present application, and as shown in fig. 6, the robot 30 includes a memory 31, a processor 32, and a computer program stored in the memory and capable of running on the processor; the processor 32 executes the computer program to implement the robot-side solution in any of the method embodiments described above.
Example six
Fig. 7 is a schematic structural diagram of a robot management platform according to a sixth embodiment of the present application, and as shown in fig. 7, the robot management platform 40 includes a memory 41, a processor 42, and a computer program stored in the memory and executable on the processor; the processor 42 executes the computer program to implement the solution on the robot management platform side in any of the method embodiments described above.
It should be noted that in any of the above embodiments of the electronic device, the number of the processors may be one or more, and one processor is taken as an example in fig. 6 and fig. 7; the processors, memories in the electronic device may be connected by a bus or other means, for example in fig. 6 and 7.
The memory is used as a computer readable storage medium for storing software programs, computer executable programs and modules, such as program instructions/modules corresponding to the alarm module and the processing module in the above-described robot embodiments. The processor executes various functional applications and data processing of the robot/robot management platform by running software programs, instructions and modules stored in the memory, i.e. implements the above-described robot repositioning method.
The memory may mainly include a memory program area and a memory data area, wherein the memory program area may store an operating system, at least one application program required for a function; the storage data area may store data created according to the use of the terminal, etc. In addition, the memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage device. In some examples, the memory may further include memory remotely located with respect to the processor, the remote memory being connectable to the robot/robot management platform through the grid.
Example seven
A seventh embodiment of the present application also provides a computer-readable storage medium having stored thereon a computer program for performing a robot repositioning method when executed by a computer processor, the method comprising:
sending a positioning loss alarm to a robot management platform;
responding to an environment information acquisition instruction sent by the robot management platform, controlling environment information acquisition equipment to acquire surrounding environment information, obtaining environment information, and sending the environment information to the robot management platform;
and responding to a movement instruction sent by the robot management platform, controlling the robot to move and acquiring positioning information in real time, wherein the movement instruction comprises estimated position information and orientation information.
Example eight
An eighth embodiment of the present application also provides a computer readable storage medium having stored thereon a computer program for performing a robot repositioning method when executed by a computer processor, the method comprising:
responding to a positioning loss alarm sent by a robot, generating an environment information acquisition instruction, and sending the environment information acquisition instruction to the robot;
generating a moving instruction according to the environment information fed back by the robot, and sending the moving instruction to the robot so that the robot moves according to the moving instruction and acquires positioning information in real time, wherein the moving instruction comprises estimated position information and orientation information.
From the above description of embodiments, it will be clear to a person skilled in the art that the present application may be implemented by means of software and necessary general purpose hardware, but of course also by means of hardware, but in many cases the former is a preferred embodiment. Based on such understanding, the technical solution of the present application may be embodied essentially or in a part contributing to the prior art in the form of a software product, which may be stored in a computer readable storage medium, such as a floppy disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a FLASH Memory (FLASH), a hard disk, or an optical disk of a computer, etc., including several instructions for causing a computer device (which may be a personal computer, a server, or a grid device, etc.) to perform the method described in the embodiments of the present application.
It should be noted that, in the embodiment of the above-mentioned robot repositioning device, each unit and module included are only divided according to the functional logic, but are not limited to the above-mentioned division, so long as the corresponding functions can be implemented; in addition, the specific names of the functional units are also only for distinguishing from each other, and are not used to limit the protection scope of the present application.
Note that the above is only a preferred embodiment of the present application and the technical principle applied. Those skilled in the art will appreciate that the present application is not limited to the particular embodiments described herein, but is capable of numerous obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the present application. Therefore, while the present application has been described in connection with the above embodiments, the present application is not limited to the above embodiments, but may include many other equivalent embodiments without departing from the spirit of the present application, the scope of which is defined by the scope of the appended claims.