Detailed Description
In order to make the technical solutions in the present specification better understood by those skilled in the art, the technical solutions in the embodiments of the present specification will be clearly and completely described below with reference to the drawings in the embodiments of the present specification, and it is obvious that the described embodiments are only some embodiments of the present specification, not all embodiments. All other embodiments, which can be made by one of ordinary skill in the art without undue burden from the present disclosure, are intended to be within the scope of the present disclosure.
Referring to fig. 1, an autonomous robot 100 of some embodiments of the present description may autonomously move within a work area 200 to automatically perform a work task. After the user sets the working area 200, the autonomous robot 100 may automatically build a map of the working area 200, plan a walking path on the map according to the task, and then may autonomously move within the working area 200 according to the planned walking path. In some exemplary embodiments, the autonomous robot 100 may be, for example, a robotic lawnmower, a robotic cleaning device, a robotic watering device, a robotic snowplow, and the like.
In some embodiments of the present description, the autonomous robot may be provided with a positioning device based on a satellite positioning system in order to provide positioning navigation services for movements of the autonomous robot within the work area. The satellite positioning system may be, for example, a global positioning system (Global Positioning System, abbreviated as GPS), a beidou satellite navigation system, a galileo satellite navigation system or a GLONASS (GLONASS) satellite navigation satellite system, or the like.
In carrying out the present application, the inventors of the present application found that: the positioning device of the autonomous robot is prone to the problem of non-uniform coordinates in some cases (for example, before and after switching on and off, or accumulation of positioning errors caused by long-time continuous operation, etc.), so that it is difficult for the positioning device to provide reliable positioning navigation services.
In view of the above, in order to solve the above-described problems, the autonomous robot of the embodiment of the present specification is provided with a positioning calibration device. As shown in connection with fig. 6, in some embodiments, the positioning calibration device of the autonomous robot may include: a movement control module 61, a position determination module 62, an offset determination module 63, and a calibration execution module 64. Wherein the movement control module 61 may be used to locate the positioning device of the autonomous robot at the target location; the satellite positioning signal received by the positioning device at the target position meets a preset first condition. The position determining module 62 may be configured to determine first position information of the target position based on position information of a preset fixed reference point, and obtain second position information output by the positioning device at the target position. The offset determination module 63 may be configured to determine an offset of the second location information relative to the first location information. The calibration execution module 64 may be configured to perform a positioning calibration on the positioning device according to the offset.
Therefore, when the positioning device of the autonomous robot is restarted or the continuous working time of the positioning device of the autonomous robot reaches the preset time, the autonomous robot can calibrate the positioning device automatically through the positioning calibration device, so that the positioning device can keep uniform coordinates (namely, the map of the autonomous robot can be maintained under the same map coordinate system), and the problem that the positioning device is difficult to provide reliable positioning navigation service due to non-uniform coordinates is avoided. Furthermore, in the related art, when the positioning device appears to have non-uniform coordinates, the autonomous robot may need to re-establish a map of the work area. The positioning calibration device based on the embodiment of the specification can also avoid the problem of autonomous robot reconstruction due to non-uniform coordinates.
In some embodiments of the present disclosure, the target location is a location within a working area of the autonomous robot, and the satellite positioning signal received by the positioning device of the autonomous robot at the target location satisfies a preset first condition (i.e., the satellite positioning signal received by the positioning device of the autonomous robot at the location is good). Generally, in an open area of a working area, a positioning device of an autonomous robot can receive satellite positioning signals with good quality, and thus, one of the satellite positioning signals can be selected as a target position.
The positioning device of an autonomous robot is generally configured with a signal monitoring module for monitoring satellite positioning signal quality. Accordingly, the mobile control module 61 can learn the signal quality of the satellite positioning signal of the current position, and determine whether the positioning device of the autonomous robot is currently located at the target position according to the signal quality.
For example, in one embodiment of the present disclosure, when the signal-to-noise ratio of the satellite positioning signal received by the positioning device of the autonomous robot at the target position reaches the preset signal-to-noise ratio threshold, the movement control module 61 may confirm that the positioning device of the autonomous robot is currently located at the target position. In an exemplary embodiment, assuming that the preset signal-to-noise ratio threshold is 15dB, when the signal-to-noise ratio of the satellite positioning signal received by the positioning device of the autonomous robot at the target position is 17dB, it may be confirmed that the positioning device of the autonomous robot is currently located at the target position.
For another example, in another embodiment of the present disclosure, the movement control module 61 may confirm that the positioning device of the autonomous robot is currently located at the target position when the number of positioning satellites searched for by the positioning device of the autonomous robot at the target position reaches a preset number threshold. In an exemplary embodiment, assuming that the preset signal-to-noise ratio threshold is 8, when the signal-to-noise ratio of the satellite positioning signal received by the positioning device of the autonomous robot at the target position is 10, it may be confirmed that the positioning device of the autonomous robot is currently located at the target position.
In other embodiments, the movement control module 61 may also determine whether the positioning device of the autonomous robot is currently located at the target position in other manners, which is not limited in this specification, and may be specifically selected according to needs.
Since the positioning device of the autonomous robot can only output accurate position data when the positioning device is located at the target position, it is only meaningful to calibrate the positioning device of the autonomous robot in this case. Therefore, when the positioning device of the autonomous robot is not currently located at the target position, the movement control module 61 needs to control the positioning device to move to the target position. In some example embodiments, when the positioning device of the autonomous robot is not currently located at the target position, the movement control module 61 may control the autonomous robot to perform a preset movement action (e.g., forward, backward, forward rotated by a certain angle, backward rotated by a certain angle, etc.) to move the positioning device to the target position.
In some embodiments of the present disclosure, the preset fixed reference point may be any fixed position point in the working area of the autonomous robot, any fixed position point at the edge of the working area, or any fixed position point located near the outside of the working area. For example, in an embodiment of the present disclosure, since the charging station of the autonomous robot is generally fixedly installed at the edge of the working area, a fixed location point of the charging station may be utilized as a fixed reference point. In this manner, the movement control module 61 can always control the positioning device to move to an appropriate target position regardless of where the charging station is installed, so that the user can arbitrarily select the installation position of the charging station as needed without considering satellite positioning signal quality problems at the installation position.
In some special cases, in the present illustrative embodiment, the charging station of the autonomous robot may be installed exactly where the satellite positioning signal quality is good. In this case, when the autonomous robot is in a docked state with the charging station, the distance between the positioning device of the autonomous robot and the charging station is fixed, and the heading of the autonomous robot is consistent with the heading of the charging station (or the heading of the autonomous robot is opposite to the heading of the charging station); at this time, the relative positional relationship of the positioning device of the autonomous robot and the charging station is determined. Accordingly, the first position information of the positioning device of the autonomous robot can be obtained relatively easily from such a relative positional relationship and the position information of the charging station.
In many cases, when the autonomous robot is not in a docked charging position, or the autonomous robot's charging station is mounted in a location where satellite positioning signals are of poor quality (e.g., the autonomous robot's charging station is mounted at the edges of a work area, where there are often walls, fences, bushes, etc., that may interfere with the positioning device receiving satellite positioning signals), the position determination module 62 may utilize a distance sensor mounted on the autonomous robot and determine the relative positional relationship of the target position to the fixed reference point based on the principle of triangulation; and determining first position information of the target position according to the relative position relation and the position information of the fixed reference point.
In order to facilitate understanding by those skilled in the art, the following description will take a charging station of an autonomous robot as an example of a fixed reference point.
In some embodiments of the present disclosure, as shown in fig. 2, two distance sensors 12 located at different positions may be mounted on the autonomous robot 100 (to reduce implementation complexity, the two distance sensors 12 shown in fig. 2 may be axisymmetrically distributed with respect to a center line of the autonomous robot 100, and the positioning device 11 may be located on the center line of the autonomous robot 100). The distance between the distance sensor 12 and the charging station 300 can be acquired by the distance sensor 12, and since the positional information of the charging station 300 is known and the relative positional relationship between the positioning device 11 and the two distance sensors 12 is known. Accordingly, the position determining module 62 may obtain the first position information of the positioning device 11 according to the principle of triangulation. In an exemplary embodiment, the distance sensor 12 may include, but is not limited to, an ultrasonic distance sensor, an optical distance sensor, an infrared distance sensor, or the like.
For example, in the embodiment shown in fig. 3, a and B are two ultrasonic distance sensors mounted on an autonomous robot, point C is the midpoint of the AB link, point D is the locating device, and point P is the charging station. From the ultrasonic distance sensor, AP and BP can be measured, and CP and +.pce can be obtained since AB is known. The autonomous robot is generally configured with a direction sensor (e.g., a gyroscope, an electronic compass, etc.), from the output of which the heading (i.e., CE direction) of the autonomous robot can be obtained, while the orientation (i.e., PE direction) of the charging station is known, so that the angle β between the heading of the autonomous robot and the orientation of the charging station can be obtained, and from the angles PCE and β the angle α between the CP and the orientation of the charging station can be obtained. Thus, the relative positional relationship between the point C and the point P can be determined from the α and the CP. Since the P point position information is known, the position information of the C point can be calculated. And the relative position relation between the C point and the D point is known, and the first position information of the D point can be calculated by combining the position information of the C point.
In other embodiments of the present disclosure, as shown in fig. 4, a mark point (the mark point is a fixed position point) may be preset in the working area as the target position point. For example, if some charging stations 300 are provided with outwardly extending guide lines 13 (generally, the guide lines 13 are mainly used to guide the autonomous robot 100 back to the charging station 300 for docking charging), a mark point as a target position may be provided on the guide lines 13. Wherein the marker point fulfils a first condition (i.e. the satellite positioning signal received by the positioning device of the autonomous robot at the marker point position is good). Correspondingly, the autonomous robot can be provided with a corresponding mark point detection device, and whether the current position of the autonomous robot is a target position can be judged according to whether the mark point detection device detects the mark point. As shown in fig. 5, when the autonomous robot moves to the mark point (the position of the D point in fig. 5) along the guide line (the black thick solid line in fig. 5), since the mark point is detected by the mark point detecting means, the current position of the autonomous robot, that is, the target position can be determined. At this time, based on the preset position relationship between the mark point and the fixed reference point (i.e., the position relationship between the D point and the P point), and the position information of the fixed reference point (P point), the first position information of the target position (i.e., the mark point) may be calculated, so that the original configuration of the autonomous robot may be fully utilized to calibrate the positioning device, thereby being beneficial to reducing the implementation cost of the positioning and calibrating device. In other embodiments, the position information of the marking point is known, and according to the fact that the marking point is detected by the marking point detecting device, the current position of the autonomous robot is judged to be the target position, and the current position information of the autonomous robot, namely the first position information of the target position, can be determined based on the position information of the marking point.
In an exemplary embodiment, the marking point on the guide wire may be a visual marking point such as a specific graphic or symbol formed on a certain position of the guide wire. Accordingly, the mark point detecting means may be a scanning recognition means based on OCR (Optical Character Recognition ) technology. In another exemplary embodiment, the marking points on the guide line may also be non-visual marking points. For example, the guide line may be a magnetic guide line, and the magnetic induction intensity of each position point on the magnetic guide line is inversely proportional to the distance from the charging station (i.e., the farther the position point on the magnetic guide line is from the charging station, the smaller the magnetic induction intensity of the position point), the mark point on the guide line may be a position point where the magnetic induction intensity value on the guide line is a preset value. In this case, there is no need to form a visible mark point on the guide line. Correspondingly, the mark point detection device can be a magnetic induction intensity sensor arranged on the autonomous robot.
It should be noted that the above is merely illustrative of how the position determining module 62 determines the first position information of the target position based on the position information of the fixed reference point. In other embodiments of the present disclosure, the first position information of the target position may be determined in any other suitable manner, which is not limited in this disclosure, and may be specifically selected according to needs.
In an embodiment of the present disclosure, the location information of the fixed reference point may be measured and stored by the autonomous robot, and the measurement process is contrary to the above-mentioned first location information for determining the target location based on the location information of the fixed reference point, which is not described herein. Of course, in other embodiments of the present disclosure, the location information of the fixed reference point may also be configured on the autonomous robot by the user through the client.
In some embodiments of the present disclosure, after the position determining module 62 determines the first position information (x, y) and the second position information (x ', y') of the target position, the offset determining module 63 may calculate an offset (Δx=x-x ',Δy=y-y') of the second position information relative to the first position information, and accordingly, the calibration executing module 64 may perform positioning calibration on the positioning device according to the offset (Δx, Δy) to unify coordinates.
For convenience of description, the above devices are described as being functionally divided into various units, respectively. Of course, the functions of each element may be implemented in one or more software and/or hardware elements when implemented in the present specification.
Referring to fig. 7, corresponding to the above-mentioned positioning calibration device of the autonomous robot, the positioning calibration method of the autonomous robot according to some embodiments of the present disclosure may include the steps of:
s701, positioning a positioning device of the autonomous robot at a target position; the satellite positioning signal received by the positioning device at the target position meets a preset first condition.
S702, determining first position information of the target position based on position information of a preset fixed reference point, and acquiring second position information output by the positioning device at the target position.
S703, determining the offset of the second position information relative to the first position information.
S704, positioning calibration is carried out on the positioning device according to the offset.
Referring to fig. 8, some embodiments of the present description store a computer program on a computer storage medium, which when executed by a processor, performs the steps of:
positioning a positioning device of the autonomous robot at a target position; the satellite positioning signal received by the positioning device at the target position meets a preset first condition;
determining first position information of the target position based on position information of a preset fixed reference point, and acquiring second position information output by the positioning device at the target position;
determining an offset of the second location information relative to the first location information;
and carrying out positioning calibration on the positioning device according to the offset.
While the process flows described above include a plurality of operations occurring in a particular order, it should be apparent that the processes may include more or fewer operations, which may be performed sequentially or in parallel (e.g., using a parallel processor or a multi-threaded environment).
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flowchart illustrations and/or block diagrams, and combinations of flows and/or blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In one typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include volatile memory in a computer-readable medium, random Access Memory (RAM) and/or nonvolatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of computer-readable media.
Computer readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of storage media for a computer include, but are not limited to, phase change memory (PRAM), static Random Access Memory (SRAM), dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), read Only Memory (ROM), electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), digital Versatile Disks (DVD) or other optical storage, magnetic cassettes, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium, which can be used to store information that can be accessed by a computing device. Computer-readable media, as defined herein, does not include transitory computer-readable media (transmission media), such as modulated data signals and carrier waves.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, or apparatus. Without further limitation, an element defined by the phrase "comprising one … …" does not exclude the presence of other like elements in a process, method or apparatus comprising such elements.
It will be appreciated by those skilled in the art that embodiments of the present description may be provided as a method, system, or computer program product. Accordingly, the present specification may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present description can take the form of a computer program product on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, etc.) having computer-usable program code embodied therein.
The description may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The specification may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
In this specification, each embodiment is described in a progressive manner, and identical and similar parts of each embodiment are all referred to each other, and each embodiment mainly describes differences from other embodiments. In particular, for the method embodiments, since they are substantially similar to the apparatus embodiments, the description is relatively simple, with reference to the description of the apparatus embodiments in part.
The foregoing is merely exemplary of the present disclosure and is not intended to limit the disclosure. Various modifications and alterations to this specification will become apparent to those skilled in the art. Any modifications, equivalent substitutions, improvements, or the like, which are within the spirit and principles of the present description, are intended to be included within the scope of the claims of the present description.