A robot operation positioning method and device, electronic equipment and storage medium thereof
By combining a stereo reflector and a laser rangefinder, the robot positioning process is simplified, solving the problems of low positioning accuracy and high cost in complex environments in existing technologies, and achieving efficient robot positioning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-26
- Publication Date
- 2026-03-20
AI Technical Summary
Existing robot positioning methods are complex and have high requirements for the working environment, which increases the cost of factory intelligent upgrades and makes it difficult to achieve accurate positioning in complex environments.
By using a 3D reflector combined with a laser ranging device, multi-angle laser ranging data is acquired to determine the center and edge data labels of the reflector, thereby determining whether the robot is located in the preset working position and simplifying the positioning process.
It improves the accuracy and efficiency of robot positioning, reduces the requirements for the working environment, and lowers factory layout costs.
Smart Images

Figure CN115951367B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of artificial intelligence, and in particular to a robot work positioning method and device, electronic equipment and a storage medium thereof. BACKGROUND
[0002] With the rapid development of artificial intelligence, more and more factories begin to upgrade and transform intelligently. Compound robots can work in factories in various complex environments, and compound robots have become the main choice for factory intelligent upgrading.
[0003] In the working process of the robot, accurate positioning of the robot is a very important problem. Most of the current positioning methods for compound robots are SLAM (Simultaneous Localization and Mapping, real-time positioning and mapping), two-dimensional code positioning, and planar reflector positioning.
[0004] Based on the above prior art solution, the positioning method is complicated, and the requirements for the work environment are also high, which increases the layout cost of the factory and is not conducive to large-scale intelligent upgrading and transformation of the project. SUMMARY
[0005] The present application provides a robot work positioning method and device, electronic equipment and a storage medium to solve the problem of complex robot positioning process and high requirements for the work environment of the robot positioning method in the prior art.
[0006] According to an aspect of the present application, a robot work positioning method is provided, comprising:
[0007] During the movement of the robot to the work object, laser ranging data sets between the robot and the work object are obtained, wherein the laser ranging data sets include multi-angle laser ranging data between the robot and the work object, and a reflector plate is provided on the work object and is arranged in the direction of the robot;
[0008] In the case where the laser ranging data set includes a preset distance value, the center data label corresponding to the preset distance value in the laser ranging data set is determined, and the edge data label corresponding to the edge of the reflector plate is determined based on each laser ranging data in the laser ranging data set;
[0009] Based on the center data label and the edge data label, it is determined whether the current position of the robot is located at the preset work position.
[0010] Optionally, obtaining the laser ranging data set between the robot and the work object comprises:
[0011] The control laser ranging device sends ranging laser signals based on preset angle intervals, and receives each reflected laser signal of the work object. Laser ranging data of each angle is determined based on the ranging laser signal corresponding to each angle and the ranging laser signal. Each angle of the laser ranging data corresponds to a data label.
[0012] Optionally, the edge data label corresponding to the edge of the reflector plate is determined based on each laser ranging data in the laser ranging data set, comprising:
[0013] The edge laser ranging data is determined based on the difference between adjacent laser ranging data in the laser ranging data set, and the edge data label corresponding to the edge laser ranging data is determined.
[0014] Optionally, after determining the edge laser ranging data based on the difference between adjacent laser ranging data in the laser ranging data set, the method further comprises:
[0015] A mutation threshold value is obtained, wherein the mutation threshold value is determined based on the thickness of the reflector plate;
[0016] The difference between adjacent laser ranging data is determined in sequence, and the difference is judged based on the mutation threshold value;
[0017] If the difference matches the mutation threshold value, the edge laser ranging data is determined based on the adjacent laser ranging data corresponding to the difference.
[0018] Optionally, the determination method of the mutation threshold value comprises:
[0019] The angle data corresponding to the preset work position is determined based on the lateral length of the reflector plate and a preset distance value;
[0020] The first distance data outside the edge of the reflector plate is determined based on the thickness of the reflector plate, the preset distance value and the angle data; and the second distance data inside the edge of the reflector plate is determined based on the lateral length of the reflector plate and the preset distance value;
[0021] The mutation threshold value is determined based on the first distance data and the second distance data.
[0022] Optionally, the edge data label comprises a first edge data label and a second edge data label;
[0023] Based on the center data label and the edge data label, it is determined whether the current position of the robot is located at the preset work position, comprising:
[0024] The center error is determined based on the first difference between the center data label and the first edge data label, and the difference between the center data label and the second edge data label.
[0025] If the center error is less than an error threshold value, it is determined that the current position of the robot is located at the preset work position.
[0026] Optionally, the method further comprises:
[0027] If the current position of the robot is not located at the preset work position, the position of the robot is adjusted laterally, and the determination of the preset work position is re-performed.
[0028] According to another aspect of the present application, a robot work positioning device is provided, comprising:
[0029] A laser ranging data set acquisition module is configured to acquire a laser ranging data set between the robot and the work object during movement of the robot towards the work object, wherein the laser ranging data set comprises multi-angle laser ranging data between the robot and the work object, and a light-reflecting plate is arranged on the work object and faces the robot;
[0030] A data label determination module is configured to determine a center data label corresponding to a preset distance value in the laser ranging data set, and determine an edge data label corresponding to an edge of the light-reflecting plate based on each laser ranging data in the laser ranging data set, when the laser ranging data set comprises the preset distance value.
[0031] A work position determination module is configured to determine whether the current position of the robot is located at the preset work position based on the center data label and the edge data label.
[0032] According to another aspect of the present application, an electronic device is provided, comprising:
[0033] at least one processor; and
[0034] a memory connected to the at least one processor in communication; wherein,
[0035] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the robot work positioning method of any embodiment of the present application.
[0036] According to another aspect of the present application, a computer readable storage medium is provided, which stores computer instructions for enabling a processor to execute the robot work positioning method of any embodiment of the present application when executed by the processor.
[0037] The technical scheme of the embodiment of the present application adopts the stereoscopic reflector for positioning, uses the laser ranging device of the robot to extract the geometric information of the robot and the stereoscopic reflector for positioning according to the ranging data, solves the problems of the positioning method being too complex and the cumulative error being large in the prior art, simplifies the positioning method using the reflector, reduces the positioning requirement of the robot operation in the complex factory environment, and improves the positioning efficiency of the robot.
[0038] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0039] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.
[0040] Figure 1 is a flowchart of a robot operation positioning method provided by the first embodiment of the present application;
[0041] Figure 2 is a laser ranging schematic diagram of a robot operation positioning method provided by the present application;
[0042] Figure 3 is a structural schematic diagram of a robot operation positioning device provided by the second embodiment of the present application;
[0043] Figure 4 is a structural schematic diagram of an electronic device for implementing the embodiment of the present application. DETAILED DESCRIPTION
[0044] In order to enable those skilled in the art to better understand the present application scheme, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only some embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should be within the scope of protection of the present application.
[0045] It is to be understood that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting, unless the context clearly indicates otherwise. It will be further understood that the use of relational terms such as first and second, and the like, are used solely to distinguish one from another entity without necessarily implying a relationship or order between these entities. Unless otherwise defined, all terms including technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this application belongs. It will be further understood that terms, such as those defined in commonly used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an overly literal or overly formal sense unless expressly so defined herein.
[0046] The factory is intelligently upgraded and most of the composite robots are adopted. The composite robot is usually composed of a mobile robot chassis and an end effector such as a mechanical arm. Due to the characteristics of convenient movement of the composite robot and flexible operation of the end effector, the composite robot can operate in a factory in a variety of complex environments, so the composite robot has become the main choice for the intelligent upgrading of the factory. However, due to the past construction technology, the overall environment of the existing factory is relatively complex, especially in that the ground of the factory is not flat enough, which will increase the cumulative error in the movement process of the composite robot, resulting in that the composite robot cannot be effectively positioned. Improving the positioning accuracy of the existing composite robot can effectively solve the problem of robot positioning operation in a complex factory environment. At present, most of the positioning methods of the composite robot are Slam positioning, two-dimensional code positioning and plane reflector positioning. The Slam positioning method cannot guarantee the positioning accuracy because the cumulative error of the robot movement chassis is larger and larger due to the odometer error of the robot movement chassis, and the robot cannot work in a complex factory environment. The two-dimensional code positioning method can provide relatively high-precision positioning, but due to the complex factory environment often accompanied by dust, high oil stains and other harsh working environments, the surface information of the two-dimensional code may be covered by stains, and thus the positioning of the robot is difficult. The plane reflector positioning method often needs to arrange at least three plane reflectors in multiple places and the plane reflectors cannot be placed on the same straight line, and the positioning of the robot is performed by using geometric algorithms such as three-edge positioning and triangular positioning. Although this method can guarantee the positioning accuracy, the arrangement process is high in cost and the algorithm is complex.
[0047] Embodiment one
[0048] Figure 1is a flowchart of a robot operation positioning method provided by an embodiment of the present application. The embodiment can be applied to the case where a robot autonomously positions during operation. The method can be executed by a robot operation positioning device, which can be implemented in the form of hardware and / or software. The robot operation positioning device can be configured in a robot or a navigation instrument or other intelligent electronic device. As shown in Figure 1 the method comprises the following steps.
[0049] In S110, laser ranging data sets between the robot and the operation object are acquired during movement of the robot to the operation object.
[0050] The laser ranging data sets comprise multi-angle laser ranging data between the robot and the operation object. A light-reflecting plate is arranged on the operation object and faces the robot. The movement direction of the robot can be toward the operation object, for example, perpendicular to the light-reflecting plate on the operation object.
[0051] The operation object can be an object on which the robot performs operation. The operation object can be an electronic device or other object. The operation object can be determined according to the operation function and operation scene of the robot. For example, the robot can be a spraying robot, and the operation object can be a wall to be sprayed or an electronic device to be sprayed. The function of the robot and the type of the operation object are not limited.
[0052] Laser ranging is performed by emitting a laser beam from a laser ranging device. The laser beam is reflected back after hitting an obstacle and is received and processed by a laser receiving system. The time between the laser emission time of the laser ranging device and the receiving time after the laser reflection is obtained, that is, the flight time of the laser. According to the flight time of the laser and the speed of light, the distance between the laser ranging device and other objects can be calculated. The other objects include but are not limited to machine devices, obstacles, etc. The light-reflecting plate is a tool for reflecting light signals, improving the range of the laser ranging device, and achieving stable ranging at a long distance. The light-reflecting plate is placed directly in front of the operation object facing the robot. In the embodiment, the arrangement of the light-reflecting plate on the operation object is not limited. For example, the light-reflecting plate can be attached to the operation object by means of screws or other connecting components, so that the light-reflecting plate can move with the operation object. Optionally, the height of the light-reflecting plate matches the height of the laser ranging component on the robot, so as to facilitate the operation positioning of the robot.
[0053] Specifically, the laser ranging device with the laser radar is placed in front of the robot, and the reflector is arranged in front of the work object facing the robot. During the movement of the robot to the work object, the laser ranging device emits a laser beam for scanning. The emitted laser beam is a multi-angle laser beam in the horizontal direction, and the emission range of the laser beam can be automatically set as needed. For example, if the work object is arranged in front of the robot, the emission range in the direction of the work object in front of the robot can be set to 180°. When the laser beam is emitted to the reflector in the direction of the movement of the robot, the laser signal is reflected by the reflector and received and processed by the laser receiving system of the robot. The corresponding laser emission angle and the difference between the emission time and the receiving time of the laser beam at each angle are recorded, and the distance data corresponding to each angle is calculated to obtain a multi-angle laser ranging data set.
[0054] Optionally, the laser ranging data set between the robot and the work object is obtained by controlling the laser ranging device to emit a ranging laser signal based on a preset angle interval and receiving each reflected laser signal of the work object, and determining laser ranging data of each angle based on the ranging laser signal and the ranging laser signal corresponding to each angle, wherein the laser ranging data of each angle corresponds to a data label respectively.
[0055] The preset angle interval can be understood as the angle interval between adjacent laser beams emitted by the laser ranging device recorded by the laser ranging device. The preset angle interval of the laser ranging device can be set by the robot control system. The preset angle interval can be set according to actual conditions. It can be known that the smaller the preset angle interval, the more accurate the positioning. For example, the preset angle interval can be set to 1°. If the laser ranging device emits a laser beam with a range of 180°, the laser ranging device records the ranging laser signal corresponding to 0°, 1°, 2°, …, 180° from left to right. The data label can be understood as an index value set to distinguish each angle and the corresponding laser ranging data. An integer can be set as the data label. For example, the data label of 0° is 1, and the data label of 1° is 2. Each time the preset angle interval increases by one, the data label is incremented by one. In some embodiments, the data label can also be the angle sequence number corresponding to each laser ranging data. According to the order of the angle corresponding to the laser ranging data, the angle sequence number is set in sequence. The angle sequence number is a positive integer, and the difference between adjacent angle sequence numbers is 1. For example, the laser ranging device records the ranging laser signal corresponding to 0°, 2°, 4°, …, 180° from left to right. Correspondingly, the data label can be 1, 2, 3, … in sequence. Here, the data label is not directly related to the angle data of the ranging laser signal, but is related to the order of the ranging laser signal.
[0056] Specifically, the laser ranging device emits a ranging laser signal, the robot control system sets a preset angle interval as a, and sets the variable name corresponding to the data tag as id. The ranging laser signal is reflected after being emitted to the work object or the obstacle, the laser receiving system of the robot receives each reflected laser signal, the laser ranging device records the time interval between the emission time and the receiving time of each angle laser signal, and calculates the distance between the robot and the work object or the obstacle at each angle according to the speed of light and the time interval. During data recording, a data tag is set for each angle and its corresponding distance, and this data tag is unique and cannot be repeated. For example: the ranging data recording is sequentially recorded from left to right in the emission range, starting from 0°, the data tag is set as 1, the corresponding distance measured by the laser ranging device is recorded, the preset interval angle is a, the next record is the data tag 2, the distance measured by the laser ranging device corresponding to the laser emission angle a is recorded, and so on. The laser beams emitted at an angle interval of a in the laser emission range are measured, and the distances measured by the laser ranging device at each angle and the corresponding distances are recorded to form a laser ranging data set.
[0057] In the embodiment, the laser ranging device emits a laser signal according to a preset angle interval, records the emission time and receiving time of the laser signal at each angle, calculates the distance between the robot and the obstacle or the distance between the robot and the front reflector plate of the work object corresponding to each angle, sets a corresponding unique data tag for each angle, forms a laser ranging data set, and provides a reliable data basis for efficient positioning of the robot later.
[0058] S120, in the case that the laser ranging data set includes a preset distance value, determining the center data tag corresponding to the preset distance value in the laser ranging data set, and determining the edge data tag corresponding to the edge of the reflector plate based on each laser ranging data in the laser ranging data set.
[0059] The preset distance value can be understood as the vertical distance between the preset working position of the robot and the reflector in front of the working object, or the shortest distance between the preset working position and the reflector in front of the working object, and can be measured by the laser ranging device. The preset distance value is included in the laser ranging data set, indicating that the vertical distance between the robot and the working object meets the vertical condition of the preset working position, and further verifying whether the robot meets the lateral condition of the preset working position in the lateral direction. The lateral condition of the preset working position can be that the lateral position of the robot is located at the center corresponding position of the reflector. The center data label refers to the data label corresponding to the laser ranging data equal to the preset distance value. The edge data label refers to the data label corresponding to the laser ranging data measured by the laser ray falling on the left and right edges of the reflector with a certain thickness. The thickness of the reflector can be determined according to the working environment of the robot, or can be set according to some experimental data.
[0060] Optionally, the edge laser ranging data is determined based on the difference between adjacent laser ranging data in the laser ranging data set, and the edge data label corresponding to the edge laser ranging data is determined.
[0061] Specifically, the fabs absolute value function is used to calculate the difference between two adjacent laser ranging data in the laser ranging data set. The edge laser ranging data can be determined by the size of the difference value. Because the reflector used has a certain thickness, when the laser scanning is in front of and behind the edge of the reflector, the laser ranging data corresponding to the adjacent two lasers in front of and behind the edge of the reflector will produce a large difference. By calculating and processing the difference, the edge laser ranging data is determined. The difference value can be processed by the robot control system, such as using the specific method of setting the difference threshold and the mutation threshold to determine the edge laser ranging data, and then determine the edge data label corresponding to the edge laser ranging data.
[0062] For example, the laser ranging data measured by the laser ranging device is d i , where i represents the data label corresponding to the laser ranging data, which can take any value in 0, 1, 2, …, if the adjacent laser ranging data are d i and d i+1 , then the difference Δd i between the adjacent laser ranging data is:
[0063] Δd i = fabs(d i -d i+1 )
[0064] According to the above formula, the difference between each adjacent laser ranging data is calculated. If there is a large difference, it can be determined that there is an edge laser ranging data between the two adjacent laser ranging data corresponding to the difference, and the relatively smaller laser ranging data is determined as the edge laser ranging data. The data tag corresponding to the edge laser ranging data is the edge data tag.
[0065] Optionally, after determining the edge laser ranging data based on the difference between the adjacent laser ranging data in the laser ranging data set, the method further comprises: obtaining a preset mutation threshold, wherein the mutation threshold is determined based on the thickness of the reflector plate; sequentially determining the difference between the adjacent laser ranging data, and determining the difference based on the mutation threshold; and when the difference matches the mutation threshold, determining the edge laser ranging data based on the adjacent laser ranging data corresponding to the difference.
[0066] The mutation threshold mainly represents whether the laser ranging data has a sudden change and the range of the change, including sudden increase or sudden decrease, which can be calculated and set in advance according to the thickness of the reflector plate.
[0067] Specifically, according to the thickness of the reflector plate in front of the working position, the corresponding mutation threshold is calculated and obtained, which is preset in the laser ranging device. The laser ranging device is placed directly in front of the positioning working position. The laser ranging data set obtained by the laser ranging device on the robot is obtained through the data interface built in the robot. The robot control system sequentially calculates the difference between two adjacent laser ranging data, obtains each difference and the data tag corresponding to the difference. If the difference matches the mutation threshold, it indicates that there is an edge laser ranging data between the two laser ranging data corresponding to the difference, and the smaller laser ranging data is taken as the edge laser ranging data. The data tag corresponding to the laser ranging data is the edge data tag.
[0068] Optionally, the method for determining the mutation threshold comprises: determining the angle data corresponding to the preset working position based on the lateral length of the reflector plate and a preset distance value; determining the first distance data outside the edge of the reflector plate based on the thickness of the reflector plate, the preset distance value and the angle data; determining the second distance data inside the edge of the reflector plate based on the lateral length of the reflector plate and the preset distance value; and determining the mutation threshold based on the first distance data and the second distance data.
[0069] The angle data corresponding to the preset working position can be understood as the included angle between the laser beam emitted by the laser ranging device in the direction of the vertical center line of the reflector plate and the laser beam at the edge of the reflector plate. The first distance data and the second distance data can be understood as the adjacent laser ranging data at the edge of the reflector plate, and can be understood as the adjacent laser ranging data corresponding to the difference matching the mutation threshold.
[0070] Specifically, the mutation threshold is denoted by Δd. The thickness of the reflector plate is H, and the length is b. When the laser ranging device scans the three-dimensional reflector plate, due to the thickness of the three-dimensional reflector plate, there will be two adjacent distance data in the laser ranging device data set. By geometric calculation, the mutation threshold Δd is obtained.
[0071] As shown in the accompanying drawings, Figure 2 Figure 2 is a laser ranging schematic diagram of a robot operation positioning method provided by an embodiment of the application, which includes an operation object 100, a reflector plate 200, a laser ranging device 300, and the like. The distance between the laser ranging device 300 and the reflector plate 200 measured by the laser on the vertical center line of the reflector plate 200 is d, and the distance measured by the laser emitted to the right edge of the reflector plate 200 is d1, that is, the first distance data. The included angle between the laser beam on the vertical center line and the laser beam corresponding to the first distance data is β, and the distance measured by the next laser emitted to the right edge of the reflector plate 200 is d2, that is, the second distance data. Specifically, since the included angle between the laser beams emitted by the laser ranging device is very small, it can be ignored when calculating the mutation threshold, and the relationship between the above variables can be obtained as follows:
[0072]
[0073]
[0074] It should be noted that in the actual working process of the robot in the factory, in order to make the positioning effect better, the set mutation threshold is generally less than or equal to the Δd value. The size of the mutation threshold can be determined by multiplying a certain fault tolerance coefficient on the basis of the calculated Δd value. For example, the fault tolerance coefficient can be set to 1 or 0.95, etc.
[0075] In some embodiments, the data tag of the vertical center line of the reflector plate 200 is set as mid_id, and the distance d from the laser ranging device 300 to the vertical center line of the reflector plate 200 is obtained, that is, the shortest distance d from the laser ranging device 300 to the reflector plate 200. The difference between two adjacent laser ranging data is calculated by the fabs function to obtain the laser ranging mutation value error_dis of the edge of the reflector plate 200. The ranging mutation value exists in the front and back directions of the robot movement. Taking the vertical center line data tag mid_id of the reflector plate 200 as the starting point, the minimum data tag min_id and the maximum data tag max_id of the data tag search range are set, and the two ranging mutation values error_dis in the laser ranging data set are searched. The value of error_dis is determined by the following formula.
[0076]
[0077] Wherein, i and j take positive integers, the difference between the laser ranging data corresponding to the adjacent two data tags between the minimum data tag min_id and the maximum data tag max_id is obtained according to the above formula, and the laser ranging data difference corresponding to the data tags between 0 and max_id-min_id of i value is obtained with mid_id as the starting point. When the calculated ranging mutation value error_dis is equal to or greater than the mutation threshold Δd for the first time, it can be considered that the position of the laser scanning corresponding to the data tag is the rear edge of the reflector plate 200. Similarly, the laser ranging data difference corresponding to the data tags between 0 and mid_id-min_id of j value is obtained with mid_id as the starting point. When the calculated ranging mutation value error_dis is equal to or greater than the mutation threshold Δd for the first time, it can be considered that the position of the laser scanning corresponding to the data tag is the front edge of the reflector plate 200. If the front and rear mutation is found, the data tags at this time are recorded as the front edge data tag front_id of the reflector plate 200 and the rear edge data tag end_id of the reflector plate 200.
[0078] In this embodiment, the laser ranging data equal to the preset distance value is searched in the laser ranging data set, and if the laser ranging data exists, the center data tag can be determined, and the edge data tag is obtained by determining the difference between the adjacent two laser ranging data in the laser ranging data set and combining the mutation threshold for judgment. In this way, only the reflector plate with a certain thickness can determine the center data tag and the edge data tag, so as to position the robot, thereby laying a foundation for determining whether the robot is in the working position.
[0079] S130, based on the center data tag and the edge data tag, determining whether the current position of the robot is located at the preset working position.
[0080] Wherein, the preset working position refers to the position on the vertical center line of the reflector plate, which is determined according to the data relationship between the center data tag and the edge data tag, such as whether the absolute value of the difference between the center data tag and the edge data tag is equal or whether the difference is within the preset error range. If it is satisfied, it can be determined that the current position of the robot is located at the preset working position, otherwise, the robot is not at the preset working position.
[0081] Optionally, the edge data tag includes a first edge data tag and a second edge data tag;
[0082] The method comprises: determining whether the current position of the robot is located at the preset working position based on the center data label and the edge data label, and the determination comprises: determining a center error based on a first difference between the center data label and a first edge data label and a difference between the center data label and a second edge data label; and determining that the current position of the robot is located at the preset working position if the center error is less than an error threshold.
[0083] The first edge data label and the second edge data label can be understood as data labels corresponding to edge laser ranging data on two sides of the reflector plate. The center error refers to a difference between a data label located between the first edge data label and the second edge data label and the center data label, and can be calculated by using an abs absolute value function.
[0084] Specifically, a three-dimensional reflector plate is arranged at a related working point in a moving direction of the robot, and when the robot moves to a region directly in front of the reflector plate, if the laser ranging device finds that the laser ranging data collected in a ranging process is equal to the distance data d set in advance, it is considered that the robot has entered the region directly in front of the reflector plate. At this time, whether the robot reaches the center of the reflector plate is determined by calculating the relative relationship between a front edge data label front_id of the reflector plate and a rear edge data label end_id of the three-dimensional reflector plate and a vertical center line data label mid_id of the reflector plate. If the vertical center line data label mid_id of the three-dimensional reflector plate is located in the middle of the front edge data label front_id and the rear edge data label end_id of the reflector plate, it is considered that the robot has reached the front center of the three-dimensional reflector plate. The relative relationship is calculated by using an abs absolute value function. error_id=abs(abs(front_id-mid_id)-abs(end_id-mid_id))
[0085] If error_id=0, that is, the vertical center line data label of the reflector plate is located in the middle of the front edge data label and the rear edge data label of the reflector plate. If error_id=2, that is, the vertical center line data label of the reflector plate is different from the middle value of the front edge data label and the rear edge data label of the reflector plate by one data label. Since the angular resolution of the laser ranging device is extremely high, the data set obtained by scanning one circle of the laser ranging device is as high as thousands of data, so it is considered that the robot has reached the center of the reflector plate if error_id<3.
[0086] Further, the robot working positioning method further comprises: if the current position of the robot is not located at the preset working position, adjusting the position of the robot in a transverse direction and re-determining the preset working position.
[0087] Specifically, if the current position of the robot is only in the front area of the reflector plate and is not in the preset work position, that is, the laser ranging device finds that the ranging distance is equal to the set distance data d in the ranging process, the robot will continue to move until the reflector plate edge ranging mutation index values front_id and end_id are symmetrically distributed about mid_id.
[0088] In this embodiment, the current position of the robot is determined based on the center data label and the edge data label, and the robot is positioned. If the robot does not reach the preset work position, the position of the robot can be continuously adjusted in real time by the controller until the measured reflector plate edge ranging mutation index values front_id and end_id are symmetrically distributed about mid_id, that is, the robot is located at the preset work position. Through such a control process, the robot that does not meet the work requirements can be quickly adjusted, and the positioning efficiency is improved.
[0089] In some embodiments, a three-dimensional reflector plate is used for positioning, that is, the geometric information of the robot and the three-dimensional reflector plate is extracted by using the laser radar ranging data of the composite robot to position the robot. This positioning method is simple and can be used with any robot path planning algorithm and related navigation method to complete the positioning requirements of the composite robot in a complex factory environment. For example, the composite robot mobile chassis usually uses electromagnetic navigation, magnetic strip navigation and other navigation methods. The electromagnetic navigation method needs a guide line. The guide line is a wire laid under the specified travel path of the robot mobile chassis. The specific frequency, specific voltage and specific current of alternating current pass through the wire, and an alternating electromagnetic field is formed around due to the alternating current. The electromagnetic sensor equipped on the mobile chassis senses the electromagnetic field and feeds back information to the mobile chassis control system. The mobile chassis control system controls the composite robot to travel along the specified path according to the feedback information. The working principle of the magnetic strip navigation method is similar to that of the electromagnetic navigation method, and the difference lies in that the guide line of the magnetic strip navigation method is a magnetic strip, and the electromagnetic sensor is provided with an excitation coil. Since the work route of the composite work robot is usually planned in advance, this positioning algorithm can be combined with the robot path planning, and only a reflector with a certain thickness needs to be placed in front of the work positioning point to complete the robot positioning.
[0090] In the technical scheme of the embodiment, the light-reflecting plate with a certain thickness is placed in front of the working device, and the direction is towards the robot, laser ranging data sets are obtained by using a laser ranging device, the laser ranging data sets are processed by the robot control system to obtain center data labels and edge data labels, and whether the robot is located at the preset working position is determined, if not, the robot is controlled to move to adjust the position until the robot is moved to the preset working position. The robot is quickly positioned and the position is adjusted by the method, the positioning method of the prior art is simplified, the requirements for the working environment of the robot are reduced, and the positioning efficiency of the robot is improved.
[0091] Embodiment two
[0092] Figure 3 is a structural schematic diagram of a robot working positioning device provided by the embodiment two of the application. As shown in the figure, the device comprises: Figure 3
[0093] The laser ranging data set acquisition module 310 is configured to acquire laser ranging data sets between the robot and the working object during movement of the robot towards the working object, wherein the laser ranging data sets comprise multi-angle laser ranging data between the robot and the working object, and the light-reflecting plate is arranged on the working object and in the direction of the working object towards the robot.
[0094] The data label determination module 320 is configured to determine a center data label corresponding to a preset distance value in the laser ranging data sets, and determine an edge data label corresponding to an edge of the light-reflecting plate based on each laser ranging data in the laser ranging data sets.
[0095] The working position determination module 330 is configured to determine whether the current position of the robot is located at the preset working position based on the center data label and the edge data label.
[0096] Optionally, the data label determination module 320 is specifically configured to:
[0097] Optionally, the edge laser ranging data is determined based on the difference between adjacent laser ranging data in the laser ranging data sets, and the edge data label corresponding to the edge laser ranging data is determined.
[0098] After the edge laser ranging data is determined based on the difference between adjacent laser ranging data in the laser ranging data sets, the method further comprises:
[0099] The preset mutation threshold is acquired, wherein the mutation threshold is determined based on the thickness of the light-reflecting plate.
[0100] Determine the difference between the adjacent laser ranging data in sequence, and determine the difference based on the mutation threshold;
[0101] In the case that the difference matches the mutation threshold, determine the edge laser ranging data based on the adjacent laser ranging data corresponding to the difference.
[0102] The method for determining the mutation threshold comprises:
[0103] Determine the angle data corresponding to the preset working position based on the transverse length of the reflector plate and the preset distance value;
[0104] Determine the first distance data outside the edge of the reflector plate based on the thickness of the reflector plate, the preset distance value and the angle data, and determine the second distance data inside the edge of the reflector plate based on the transverse length of the reflector plate and the preset distance value;
[0105] Determine the mutation threshold based on the first distance data and the second distance data.
[0106] Optionally, the working position determining module 330 is specifically configured to:
[0107] The edge data label comprises a first edge data label and a second edge data label;
[0108] Determine whether the current position of the robot is located at the preset working position based on the center data label and the edge data label, comprising:
[0109] Determine the center error based on the first difference between the center data label and the first edge data label, and the difference between the center data label and the second edge data label;
[0110] If the center error is less than the error threshold, it is determined that the current position of the robot is located at the preset working position.
[0111] The robot working positioning method further comprises:
[0112] If the current position of the robot is not located at the preset working position, adjust the position of the robot in the transverse direction, and re-determine the preset working position.
[0113] The robot working positioning device provided in the embodiments of the present application can execute the robot working positioning method provided in any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0114] Embodiment three
[0115] Figure 4This is a schematic diagram of the structure of an electronic device provided in Embodiment 3 of the present invention. The electronic device 10 is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (such as helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0116] like Figure 4 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0117] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0118] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as robot task localization methods.
[0119] In some embodiments, the robot job positioning method can be implemented as a computer program tangibly embodied in a computer readable storage medium, e.g., storage unit 18. In some embodiments, parts or all of the computer program can be loaded and / or installed onto electronic device 10 via, e.g., ROM 12 and / or communication unit 19. When the computer program is loaded onto RAM 13 and executed by processor 11, one or more steps of the robot job positioning method described above can be performed. Alternatively, in other embodiments, processor 11 can be configured to perform the robot job positioning method by way of other means, e.g., with the aid of firmware.
[0120] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, specially designed application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0121] Computer programs used to implement the robot job positioning method of the present application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program running on the processor implements the functions / operations specified in the flowcharts and / or the block diagrams. The computer program can be executed entirely on a machine, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0122] Embodiment Five
[0123] Embodiment five of the present application also provides a computer readable storage medium, which stores computer instructions for causing a processor to execute a robot job positioning method, the method comprising:
[0124] In the movement of the robot to the work object, a laser ranging data set between the robot and the work object is acquired, wherein the laser ranging data set includes multi-angle laser ranging data between the robot and the work object, and a reflecting plate is arranged on the work object and faces the robot;
[0125] In the case that the laser ranging data set includes a preset distance value, a center data label corresponding to the preset distance value in the laser ranging data set is determined, and an edge data label corresponding to an edge of the reflecting plate is determined based on each laser ranging data in the laser ranging data set;
[0126] Based on the center data label and the edge data label, it is determined whether the current position of the robot is located at a preset work position.
[0127] In the context of the present application, the computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the above. Alternatively, the computer-readable storage medium can be a machine-readable signal medium. More specific examples of the machine-readable storage medium will include one or more wires, portable computer disks, hard disk drives, random access memories (RAM), read-only memories (ROM), erasable programmable read-only memories (EPROM or flash memory), optical fibers, portable compact disc read-only memories (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above.
[0128] To provide for interaction with a user, the systems and techniques described here can be implemented on an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the electronic device. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0129] The systems and techniques described herein can be implemented in a computing system that includes a back end component, e.g., as a data server, or that includes a middleware component, e.g., an application server, or that includes a front end component, e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described herein, or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0130] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. A server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0131] It should be understood that the various forms of flow shown above can be re-ordered, added to, or deleted from without departing from the scope of the present disclosure. For example, the steps recited in the present disclosure can be performed in parallel, in series, or in a different order, and the present disclosure is not limited herein as long as the desired results of the technical solutions of the present disclosure can be achieved.
[0132] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements, and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A robot operation positioning method, characterized in that, include: During the movement of the robot toward the work object, a laser ranging dataset between the robot and the work object is acquired. The laser ranging dataset includes multi-angle laser ranging data between the robot and the work object. A reflector is set on the work object, and the reflector is set in the direction of the work object toward the robot. When the laser ranging dataset includes a preset distance value, determine the center data label corresponding to the preset distance value in the laser ranging dataset, and determine the edge data label corresponding to the edge of the reflector based on each laser ranging data in the laser ranging dataset; Based on the central data tag and the edge data tag, determine whether the robot's current position is located at the preset work position; The determination of edge data labels corresponding to the reflector edge based on each laser ranging data in the laser ranging dataset includes: Edge laser ranging data is determined based on the difference between adjacent laser ranging data in the laser ranging dataset, and the edge data label corresponding to the edge laser ranging data is determined. The edge data tag includes a first edge data tag and a second edge data tag; determining whether the robot's current position is located at a preset work position based on the center data tag and the edge data tag includes: The center error is determined based on the first difference between the center data label and the first edge data label, and the difference between the center data label and the second edge data label; If the center error is less than the error threshold, then the robot's current position is determined to be at the preset working position.
2. The method according to claim 1, characterized in that, The step of obtaining the laser ranging dataset between the robot and the work object includes: The laser ranging device is controlled to send ranging laser signals at preset angle intervals and receive each reflected laser signal from the work object. Based on the ranging laser signal corresponding to each angle and the ranging laser signal, the laser ranging data for each angle is determined, wherein the laser ranging data for each angle corresponds to a data tag.
3. The method according to claim 1, characterized in that, After determining the edge laser ranging data based on the difference between adjacent laser ranging data in the laser ranging dataset, the method further includes: Obtain a pre-set mutation threshold, wherein the mutation threshold is determined based on the thickness of the reflector; The differences between adjacent laser ranging data are determined sequentially, and the differences are judged based on the abrupt change threshold; When the difference is matched with the mutation threshold, edge laser ranging data is determined based on the adjacent laser ranging data corresponding to the difference.
4. The method according to claim 3, characterized in that, The method for determining the mutation threshold includes: Based on the lateral length of the reflector and the preset distance value, determine the angle data corresponding to the preset working position; A first distance data outside the edge of the reflector is determined based on the thickness of the reflector, the preset distance value, and the angle data; and a second distance data inside the edge of the reflector is determined based on the lateral length of the reflector and the preset distance value. The mutation threshold is determined based on the first distance data and the second distance data.
5. The method according to claim 1, characterized in that, The method further includes: If the robot's current position is not in the preset working position, the robot's position is adjusted laterally, and the preset working position is re-determined.
6. A robot operation positioning device, characterized in that, include: A laser ranging dataset acquisition module is used to acquire a laser ranging dataset between the robot and the work object during the robot's movement toward the work object. The laser ranging dataset includes multi-angle laser ranging data between the robot and the work object. A reflector is provided on the work object, and the reflector is positioned in the direction of the work object toward the robot. The data label determination module is used to determine the center data label corresponding to the preset distance value in the laser ranging dataset when the laser ranging dataset includes a preset distance value, and to determine the edge data label corresponding to the edge of the reflector based on each laser ranging data in the laser ranging dataset. The job position determination module is used to determine whether the robot's current position is located at a preset job position based on the center data tag and the edge data tag; Specifically, the data label determination module is used to determine edge laser ranging data based on the difference between adjacent laser ranging data in the laser ranging dataset, and to determine the edge data label corresponding to the edge laser ranging data. The edge data tags include a first edge data tag and a second edge data tag; the job position determination module is specifically used to determine the center error based on the first difference between the center data tag and the first edge data tag, and the difference between the center data tag and the second edge data tag; if the center error is less than the error threshold, then the robot's current position is determined to be located at the preset job position.
7. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor, the computer program being executed by the at least one processor to enable the at least one processor to perform the robot job positioning method according to any one of claims 1-5.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the robot job localization method according to any one of claims 1-5.