WO2022088613A1 - 一种机器人的定位方法及装置、设备、存储介质 - Google Patents

一种机器人的定位方法及装置、设备、存储介质 Download PDF

Info

Publication number
WO2022088613A1
WO2022088613A1 PCT/CN2021/085942 CN2021085942W WO2022088613A1 WO 2022088613 A1 WO2022088613 A1 WO 2022088613A1 CN 2021085942 W CN2021085942 W CN 2021085942W WO 2022088613 A1 WO2022088613 A1 WO 2022088613A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
moment
position information
image
simulated
Prior art date
Application number
PCT/CN2021/085942
Other languages
English (en)
French (fr)
Inventor
姚达琛
何悦
李�诚
Original Assignee
北京市商汤科技开发有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京市商汤科技开发有限公司 filed Critical 北京市商汤科技开发有限公司
Priority to KR1020217038571A priority Critical patent/KR20220058846A/ko
Priority to JP2021566028A priority patent/JP2023503750A/ja
Publication of WO2022088613A1 publication Critical patent/WO2022088613A1/zh

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10004Still image; Photographic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]

Definitions

  • the present disclosure relates to the technical field of artificial intelligence, and in particular, to a robot positioning method and device, equipment, and storage medium.
  • artificial intelligence has gradually become popular, which involves a variety of functions, and its integrated positioning system is increasingly used in various fields.
  • artificial intelligence Artificial Intelligence, AI
  • the most basic and most important part is the positioning system of the robot.
  • the present disclosure provides a positioning method, device, device and storage medium for a robot.
  • the first technical solution provided by the present disclosure is to provide a method for positioning a robot, including: obtaining first position information of the robot at a first moment; obtaining a second image of the robot at a second moment, and The second image obtains the first estimated position information of the robot at the second moment; collects the movement parameters of the robot during the process from the first moment to the second moment; based on the first position information and the movement parameters The second estimated position information of the robot at the second moment is obtained by calculation; the second estimated position information of the robot at the second moment is obtained through the first estimated position information and the second estimated position information. location information.
  • the detection results of the vision system and the detection results of the dynamic system are fused, so that the acquired position information is more accurate.
  • the obtaining the first position information of the robot at the first moment includes: obtaining a first image of the robot at the first moment; obtaining the first image based on the first image the first position information of the robot at the first moment.
  • the first image includes a first reference object
  • the obtaining the first position information of the robot at the first moment based on the first image includes: obtaining a simulation the first reference object on the sand table; determine the pixel position of the first reference object in the first image and the first pixel position of the robot; determine that the first reference object is in the The simulated position of the simulated sand table; the first projection relationship is obtained by calculating the pixel position of the first reference object and the simulated position of the first reference object on the simulated sand table; based on the first projection relationship and the robot's The first pixel position is calculated to obtain the simulated position of the robot on the simulated sand table; the first position information of the robot at the first moment is determined by using the simulated position of the robot on the simulated sand table.
  • the second image includes a second reference object
  • the obtaining, based on the second image, the first estimated position information of the robot at the second moment includes: obtaining a simulation the second reference object on the sand table; determine the pixel position of the second reference object in the second image and the second pixel position of the robot; determine that the second reference object is in the The simulated position of the simulated sand table; the second projection relationship is obtained by calculating the pixel position of the second reference object and the simulated position of the second reference object on the simulated sand table; based on the second projection relationship and the robot’s
  • the second pixel position is calculated to obtain the simulated position of the robot on the simulated sand table; the first estimated position information of the robot at the second moment is determined by using the simulated position of the robot on the simulated sand table.
  • the determining the pixel position of the first reference object in the first image and the first pixel position of the robot includes: using a first deep learning network to analyze the first image performing identification to determine the pixel position of the first reference object in the first image and the first pixel position of the robot; determining the pixel position of the second reference object in the second image and the pixel position of the robot
  • the second pixel position of the robot includes: using the first deep learning network to identify the second image to determine the pixel position of the second reference object in the second image and the second pixel position of the robot ; wherein, the first deep learning network includes one or any combination of the RCNN deep network structure, the SSD deep network structure, the Yolo deep network structure, and the RetinaNet network structure.
  • the acquiring the first image of the robot at the first moment further includes: acquiring the orientation of the robot at the first moment based on the first image.
  • acquiring the orientation of the robot at the first moment based on the first image includes: using a second deep learning network to identify the image of the area where the robot is located, so as to confirm the orientation of the robot; wherein, The second deep learning network includes one or any combination of ResNet deep network structure, MobileNet deep network structure, ghostNet deep network structure, and EfficientNet deep network structure.
  • the positioning method further includes: acquiring historical movement parameters of the robot at the first moment; acquiring the movement parameters of the robot during the process from the first moment to the second moment includes: : obtain the current movement parameters of the robot at the second moment; obtain the movement parameters of the robot during the process from the first moment to the second moment by calculating the historical movement parameters and the current movement parameters.
  • the moving distance of the robot from the first moment to the second moment is calculated, combined with the orientation of the robot, so that when the position information of the robot is subsequently calculated by the dynamic system, the obtained result is more accurate.
  • calculating and obtaining the second estimated position information of the robot at the second moment based on the first position information and the movement parameter includes: The movement parameters in the process from the moment to the second moment, and the second estimated position information of the robot at the second moment is obtained in combination with the orientation of the robot at the first moment.
  • the dynamic system is used to detect the position information of the robot at the second moment, thereby reducing the hardware cost.
  • the obtaining the second position information of the robot at the second moment by using the first estimated position information and the second estimated position information includes: using Kalman filtering A weighted average is performed on the first estimated position information and the second estimated position information in a manner to obtain the second position information of the robot at the second moment.
  • the position information obtained by the vision system and the position information obtained by the dynamic system are fused to obtain the position information of the robot at the second moment, which improves the positioning accuracy and increases the ease of deployment of the system.
  • the second technical solution provided by the present disclosure is to provide a robot positioning device, comprising: a first position acquisition part configured to acquire the first position information of the robot at the first moment, and to acquire the position information of the robot at the second time.
  • the parameter acquisition part is configured to collect the movement parameters of the robot in the process from the first moment to the second moment;
  • the second position acquisition part is configured to be based on the first position information and
  • the movement parameter is calculated to obtain the second estimated position information of the robot at the second moment;
  • the calibration part is configured to obtain the robot through the first estimated position information and the second estimated position information second location information at said second time instant.
  • a third technical solution provided by the present disclosure is: a robot positioning device, comprising: a memory and a processor, wherein the memory stores program instructions, and the processor calls the program instructions from the memory to execute The above robot positioning method.
  • the fourth technical solution provided by the present disclosure is: a computer-readable storage medium, a memory, and a processor, wherein the memory stores program instructions, and the processor calls the program instructions from the memory to execute The above robot positioning method.
  • a fifth technical solution provided by the present disclosure is: a computer program, comprising computer-readable codes, when the computer-readable codes are executed in a robot positioning device and executed by a processor in the robot positioning device , to perform the above robot positioning method.
  • the robot positioning method provided by the present disclosure obtains the position information of the robot by fusing the positioning results of the robot obtained in two different ways, that is, fusing the detection result of the vision system and the detection result of the dynamic system, and the positioning method makes The obtained position information is more accurate, which effectively improves the positioning accuracy of the robot.
  • FIG. 1 is a schematic flowchart of an embodiment of a method for positioning a robot according to an embodiment of the present disclosure
  • FIG. 2 is a schematic flowchart of an embodiment of step S11 in FIG. 1 proposed by an embodiment of the present disclosure
  • FIG. 3 is a schematic flowchart of an embodiment of step S12 in FIG. 1 proposed by an embodiment of the present disclosure
  • FIG. 4 is a schematic flowchart of an embodiment of step S13 in FIG. 1 proposed by an embodiment of the present disclosure
  • FIG. 5 is a schematic diagram of the principle of a positioning method of a robot proposed by an embodiment of the present disclosure
  • FIG. 6 is a schematic structural diagram of an embodiment of a robot positioning device proposed by an embodiment of the present disclosure.
  • FIG. 7 is a schematic structural diagram of an embodiment of a robot positioning device proposed by an embodiment of the present disclosure.
  • FIG. 8 is a schematic structural diagram of a computer-readable storage medium provided by an embodiment of the present disclosure.
  • first”, “second” and “third” in the present disclosure are only used for descriptive purposes, and should not be construed as indicating or implying relative importance or implying the number of indicated technical features. Thus, a feature defined as “first”, “second”, “third” may expressly or implicitly include at least one of that feature.
  • “plurality” means at least two, such as two, three, etc., unless expressly and specifically defined otherwise. All directional indications (such as up, down, left, right, front, back, etc.) in the embodiments of the present disclosure are only used to explain the relative positional relationship between various components under a certain posture (as shown in the accompanying drawings).
  • the deployment difficulty of the positioning system needs to be considered. Spending a lot of time on environment modeling often leads to poor user experience and wastes more time.
  • the positioning system requires a lot of computing resources. However, it is often lacking in accuracy and costly. For example, a large number of robots are usually used in schools for teaching. If high-performance computing equipment is embedded in the robot to support various positioning algorithms, the cost of the robot will increase significantly, and it is difficult to achieve high performance at low cost. Therefore, we need to use limited hardware resources to achieve better positioning effect and obtain a set of high-precision, low-cost, and easy-to-deploy robot positioning system.
  • Embodiments of the present disclosure provide a positioning method, device, device, and storage medium for a robot. It acquires the first position information of the robot at the first moment and the first estimated position information at the second moment, collects the movement parameters of the robot from the first moment to the second moment, and calculates it based on the first position information and the movement parameters.
  • the second estimated position information of the robot at the second moment; the second position information of the robot at the second moment is obtained through the first estimated position information and the second estimated position information.
  • the visual positioning system and the dynamic positioning system are combined and fused to obtain the positioning result of the robot with high precision.
  • the visual positioning system performs positioning based on the images obtained by the camera, and the dynamic positioning system performs positioning based on the initial position of the robot and the walking parameters of the robot.
  • the camera obtains the second image of the robot at the second moment, and based on the second image and the simulated sand table, the first estimated position information of the robot on the simulated sand table is determined;
  • the dynamic positioning system performs positioning , obtain the movement parameters of the robot from the first moment to the second moment, and the orientation of the robot, that is, the driving distance of the robot beyond a certain direction can be determined by the orientation and movement parameters of the robot, combined with the first moment of the robot at the first moment.
  • the second estimated position information of the robot at the second moment can be obtained.
  • Kalman filtering is used to fuse the first estimated position information obtained by the visual positioning system with the second estimated position information obtained by the dynamic positioning system, that is, weighted average, and finally obtain a more accurate position.
  • the second position information of the robot at the second moment is used to fuse the first estimated position information obtained by the visual positioning system with the second estimated position information obtained by the dynamic positioning system, that is, weighted average, and finally obtain a more accurate position.
  • the execution subject of the robot positioning method may be a robot positioning device.
  • the robot positioning method may be executed by a terminal device or a server or other processing device, wherein the terminal device may be a user equipment (User Equipment, UE), a mobile device, a user terminal, Terminals, cellular phones, cordless phones, Personal Digital Assistant (PDA), handheld devices, computing devices, in-vehicle devices, wearable devices, etc.
  • the robot positioning method may be implemented by the processor calling computer-readable instructions stored in the memory.
  • FIG. 1 is a schematic flowchart of an embodiment of a method for positioning a robot according to an embodiment of the present disclosure. include:
  • Step S11 Obtain the first position information of the robot at the first moment.
  • the positioning system when positioning the robot, can be used to directly obtain the first position information of the robot at the first moment, and the first estimated position information of the robot at the second moment, and the positioning system It can be a global positioning system (Global Positioning, GPS) positioning system.
  • Global Positioning, GPS Global Positioning, GPS
  • the first image of the robot at the first moment may also be acquired through a camera device such as a camera.
  • the robot is a mechanical device or intelligent device that can move, such as a forklift, a mechanical trolley, and the like.
  • a timer may be integrated in the camera, and when the timing time of the timer reaches the first moment, the camera takes a picture of the robot to acquire the first image.
  • the position of the camera can be fixed or not; the shooting angle of the camera can be fixed or not; here, the camera can be installed in a certain position and cannot be rotated, that is, its shooting range is fixed; the camera can also be installed in a certain position
  • One position and rotatable, that is, its reflection range is variable; of course, the camera can also be installed on a movable device.
  • the present disclosure does not limit the position and shooting range of the camera, as long as the robot can be photographed.
  • the first image obtained by the camera can be uploaded to the robot positioning device, for example, the robot positioning device is connected to the camera for communication, and after the camera obtains the first image, the first image is sent to the robot positioning device through the communication connection.
  • the first image obtained by the camera can also be saved to a memory card, and then uploaded to the robot positioning device, which is not limited in detail, as long as the robot positioning device can obtain the first image. .
  • uploading the first image to the robot positioning device enables the robot positioning device to obtain the first position information of the robot at the first moment based on the first image by using the vision system.
  • the vision system For details, please continue to refer to FIG. 1 .
  • the robot positioning device uses the vision system to obtain the first position information of the robot at the first moment based on the first image.
  • the first image can be combined by way of scene modeling to determine the first position information of the robot, Please refer to FIG. 2 here, which is a schematic flowchart of an embodiment of step S11 in FIG. 1 proposed by an embodiment of the present disclosure, which specifically includes:
  • Step S111 Acquire the first reference object on the simulated sand table.
  • the first position information of the robot is determined by establishing a simulated sand table. It can be understood that the established simulation sand table is the simulation design drawing of the space where the robot is located.
  • the simulated sand table is established according to the scene where the robot is located, and the simulated sand table can be established in a 1:1 ratio with the scene where the robot is located.
  • the size, position, coordinates of all objects on the simulated sand table and all objects in the scene where the robot is located The size, position and coordinates are the same.
  • the simulated sand table can also be established in a 1:2 ratio.
  • the size, position and coordinates of all objects on the simulated sand table are 2 times or 1/2 of the size, position and coordinates of all objects in the scene where the robot is located.
  • the simulated sand table can also be established in other proportions, which is not limited in this disclosure.
  • a simulated sand table may be established with a ratio of 1:1, so that scale conversion is not required in the subsequent calculation process, thereby reducing the amount of calculation.
  • the simulated sand table can be established in a ratio of 1:2, 1:3, 1:4, etc. to reduce the occupation of the simulated sand table space.
  • all the above processes can be performed in the robot positioning device, and a simulated sand table is established in the robot positioning device.
  • the robot positioning device uses the vision system based on the simulated sand table and the first image. Determine the first position information of the robot.
  • both the first image and the simulated sand table need to have a first reference object, and the first reference object can be used to calculate the first projection relationship between the first image and the simulated sand table.
  • the first reference object can be selected according to the first image. For example, if the first image includes the same table as the simulated sand table in addition to the robot, the table can be used as the first reference object. In addition to the robot, if the same TV as that on the simulated sand table is included, the TV can be used as the first reference object, that is, the first reference object is an object shared by the first image and the simulated sand table.
  • Step S112 Determine the pixel position of the first reference object and the first pixel position of the robot in the first image.
  • the first deep learning network may be used to identify the first image, and then determine the pixel position of the first reference object in the first image and the first pixel position of the robot.
  • the first deep learning network may be a model that integrates a deep learning network with a positioning function, the first image is input into the model, and the model identifies the first image, and then obtains the first reference. The pixel position of the object in the first image and the first pixel position of the robot in the first image.
  • the first deep learning network is used to detect the first image to determine the pixel position of the first reference object in the first image and the first pixel position of the robot in the first image
  • Its first deep learning network may include a target detection (Region-CNN, RCNN) deep network structure, a target detection (Single Shot MultiBox Detector, SSD) deep network structure, a target detection (You Only Look Once, Yolo) deep network structure and RetinaNet network structure, etc.
  • the position coordinate detection can be performed through the Yolo deep network structure.
  • the Yolo-tiny deep network structure in the Yolo deep network structure can be used for detection.
  • the idea of the algorithm is to divide the whole image into some squares, predict some possible bounding boxes of objects whose centers fall in the grids in the cells, and give the confidence, so that the algorithm can be obtained in one step.
  • the result of the object detection frame is faster than the two-stage Faster-RCNN series of algorithms. Since the shape and color of the objects to be detected in the application scene are relatively fixed, this fast algorithm has a high detection accuracy with a small network structure, and at the same time, it occupies less computing resources, and can be used in the CPU with a slower computing speed on the mobile terminal. (central processing unit, CPU), such as the Raspberry Pi to achieve the required real-time detection effect, the cost is lower.
  • the pixel position of the first reference object obtained on the first image and the first pixel position of the robot may be representative points, for example, the center point of the first reference object may be obtained on the first image.
  • the pixel position, and the pixel position of the center point of the robot, the pixel position of the frame of the first reference object, and the pixel position of the frame of the robot can also be obtained, and the pixel position of the diagonal of the frame of the first reference object can also be selected, and
  • the pixel position of the diagonal line of the frame of the robot is not specifically limited.
  • the robot Since the image is composed of several R (red sub-pixels), G (green sub-pixels), and B (blue sub-pixels) pixels superimposed to produce different colors, the robot and The pixel position of the first reference object in the first image, where the first pixel position of the robot in the first image is the position of the sub-pixel in the image.
  • Step S113 Determine the simulated position of the first reference object on the simulated sand table at the first moment.
  • the first reference object selected in the first image and the first reference object selected on the simulated sand table are the same object. After the simulated sand table is established, the simulated positions of all objects on the simulated sand table are known.
  • the pixel position corresponding to the first reference object needs to be determined.
  • the acquired pixel position of the first reference object is the pixel position of the center point of the first reference object
  • the acquired simulated position of the first reference object is the center point of the first reference object
  • the obtained simulated position of the first reference object is the simulated position of the frame of the first reference object .
  • Step S114 Calculate and obtain a first projection relationship by using the pixel position of the first reference object and the simulated position of the first reference object on the simulated sand table.
  • the first reference object can be used in the first
  • the pixel position in the image and the simulated position of the first reference object on the simulated sand table are calculated to obtain the first projection relationship.
  • the acquired pixel position of the first reference object in the first image is the pixel position of the center point of the first reference object
  • the simulated position of the first reference object on the simulated sand table is the first reference object.
  • the simulated location of the center point of is (u, v, w)
  • the pixel position of the center point of the first reference object is (u, v, w)
  • the simulated position of the center point of the first reference object x', y', w'
  • the pixel positions of the center points of the multiple reference objects on the first image and the simulated position on the simulated sand table can be obtained respectively, and then the above formula ( 1) to establish multiple sets of relational equations and solve them.
  • multiple projection relationships can be processed by methods such as weighted average to obtain accurate results.
  • the first projection relationship of different first reference objects projected onto the simulated sand table on the same first image is the same.
  • the acquired position coordinates of the first reference object on the first image are also two-dimensional coordinates. Therefore, the pixel position of the first reference object in the first image is w in (u, v, w) is a constant, which is not a number represented by the Z coordinate.
  • w can be 1.
  • the simulation sand table established in this scheme is a 2-dimensional simulation sand table, so the simulation position (x', y', w') of the first reference object on the simulation sand table is also two
  • the dimensional coordinate, ie w', is also a constant, which is also not a number represented by the Z coordinate.
  • w' can also be 1. Therefore, the number a_33 in the lower right corner in the first projection relationship described in formula (1) is always 1.
  • each pair of coordinates includes a pixel position in the first image and a simulated position on the simulated sand table.
  • the four pairs of coordinates can be selected on the same first reference object, and four pixel positions in the first image can be selected on the same first reference object, and then four simulated positions on the simulated sand table can be selected.
  • the first reference object may be the same first reference object as the first reference object used when establishing the relational equation, or it may be a different first reference object, and the four selected points may be the same as those used when establishing the relational equation
  • the points selected in the first reference object are the same or may be different.
  • a random sampling consistency algorithm may be used for calculation, and finally the first projection relation is output.
  • the random sampling consistency algorithm can estimate the parameters of the mathematical model in an iterative manner from a set of observation data sets containing "outliers", which can improve the accuracy and robustness of the calculation of the first projection relationship.
  • the embodiment of the present disclosure establishes a relationship equation based on the pixel position of the first reference object in the first image and the simulated position in the simulated sand table, and solves the relationship equation, thereby obtaining the first projection relationship.
  • the calculation accuracy and robustness of the first projection relationship are improved by combining the random sampling consistency algorithm for calculation.
  • Step S115 Calculate the simulated position of the robot on the simulated sand table based on the first projection relationship and the first pixel position of the robot.
  • step S112 the first pixel position of the robot in the first image has been acquired, and in the case where the first projection relationship of the first image projected to the simulated sand table has been acquired in step S114,
  • the simulated position of the robot on the simulated sand table can be obtained by calculating the first projection relationship and the first pixel position of the robot.
  • the simulated position of the robot in the simulated sand table is determined by the above formula (1).
  • Step S116 Determine the first position information of the robot at the first moment by using the simulated position of the robot on the simulated sand table.
  • the simulated position of the robot on the simulated sand table that can be calculated is the first position information of the robot at the first moment; and
  • the simulated sand table is established in a ratio of 1:2 of the real scene, after calculating the simulated position of the robot on the simulated sand table, it is necessary to convert the relevant ratio to obtain the first time of the robot at the first moment. location information.
  • the method does not require additional markers on the sand table, which simplifies the operation; and it is recognized by deep learning.
  • the pixel position of the robot on the first image is combined with the first projection relationship to determine the simulated position of the robot on the simulated sand table, and then the first position information of the robot at the first moment is determined.
  • the positioning process of this robot simplifies operations, reduces costs, and greatly improves user experience.
  • the orientation of the robot can be detected through the angular pose estimation model.
  • the first image is recognized by the first deep learning network, and the position of the robot is obtained in the first image; then the regional image of the robot's position is extracted, and the extracted regional image is input to the angle pre-
  • the angle estimation model is used to detect the angle of the robot to obtain the orientation of the robot.
  • the moving direction of the robot from the first moment to the second moment can be known.
  • a second deep learning network can be integrated into the angle estimation model, and the second deep learning network can be used to identify the image of the area where the robot is located, so as to confirm the orientation of the robot.
  • the second deep learning network may be a convolutional neural network structure used for numerical regression in the related art, for example, a ResNet deep network structure, a MobileNet deep network structure, a ghostNet deep network structure, an EfficientNet deep network structure, and the like.
  • Step S12 Obtain a second image of the robot at the second moment, and obtain first estimated position information of the robot at the second moment based on the second image.
  • the first estimated position information of the robot at the second moment may be continuously obtained.
  • the camera may be used to obtain the second image of the robot at the second moment, and then the first estimated position information of the robot at the second moment may be obtained based on the second image.
  • FIG. 3 is a schematic flowchart of an embodiment of step S12 in FIG. 1 proposed by an embodiment of the present disclosure, which specifically includes:
  • Step S121 Acquire the second reference object on the simulated sand table.
  • Step S122 Determine the pixel position of the second reference object in the second image and the second pixel position of the robot.
  • Step S123 Determine the simulated position of the second reference object on the simulated sand table at the second moment.
  • Step S124 Calculate the second projection relationship by using the pixel position of the second reference object and the simulated position of the second reference object on the simulated sand table.
  • Step S125 Calculate the simulated position of the robot on the simulated sand table based on the second projection relationship and the second pixel position of the robot.
  • Step S126 Use the simulated position of the robot on the simulated sand table to determine the first estimated position information of the robot at the second moment.
  • steps S121 to S126 are the same as the specific processes of steps S111 to S116 shown in FIG. 2 , and are not repeated here.
  • the robot positioning method uses the vision system to establish a simulated sand table to first obtain the projection relationship, and then obtain the first position information of the robot at the first moment and the first position information at the second moment.
  • Estimated position information on the other hand, using the dynamic system, obtains the second estimated position information of the robot at the second moment by detecting the initial orientation of the robot, the moving distance from the first moment to the second moment, and the initial position information; Then, the results of the vision system and the results of the dynamic system are fused by Kalman filtering to determine the second position information of the robot, that is, the final position information.
  • Step S13 Collect the movement parameters of the robot in the process from the first moment to the second moment.
  • the movement parameters of the robot are acquired during the process from the first moment to the second moment.
  • FIG. 4 is an example of step S13 in FIG. 1 proposed in this embodiment of the present disclosure. Schematic diagram of the process, including:
  • Step S131 Acquire historical movement parameters of the robot at the first moment.
  • the robot positioning device can record the historical walking information of the robot, that is, the historical movement parameters, through the encoder and the steering gear of the robot.
  • the historical movement parameters of the robot may be acquired while taking the first image of the robot.
  • Step S132 Acquire the current movement parameters of the robot at the second moment.
  • the encoder and steering gear information of the robot is read again, so as to obtain the current movement parameters of the robot.
  • the historical movement parameter includes the historical movement distance of the robot, such as the historical rotation number of the wheel of the robot, etc.
  • the current movement parameter may be the rotation number of the wheel of the robot at the second moment.
  • Step S133 Calculate and obtain the movement parameters of the robot during the process from the first moment to the second moment by using the historical movement parameters and the current movement parameters.
  • the historical movement parameter of the robot at the first moment is 100 meters
  • the current movement parameter detected at the second moment is 101 meters
  • the historical movement parameter of the robot at the first moment is that the historical number of rotations of the wheel is 200
  • the current movement parameter at the second moment is that the number of rotations of the wheel is 250
  • the total distance moved by the robot from the first moment to the second moment can be calculated from the diameter of the wheel.
  • the moving distance of the robot from the first moment to the second moment is also known, and the first position information of the robot at the first moment is known.
  • the second estimated position information of the robot at the second moment can be obtained.
  • the robot positioning method uses a vision system to establish a simulated sand table to first obtain the projection relationship, and then obtain the first position information of the robot at the first moment and the first position information at the second moment.
  • Estimated position information on the other hand, the dynamic system is also used to obtain the second estimated position information of the robot at the second moment by detecting the initial orientation of the robot, the moving distance from the first moment to the second moment, and the initial position information ; and then fuse the results of the vision system and the dynamic system through Kalman filtering to determine the second position information of the robot, that is, the final position information.
  • Step S14 Calculate and obtain the second estimated position information of the robot at the second moment based on the first position information and the movement parameter.
  • the moving distance of the robot from the first moment to the second moment is also known, and the first moment of the robot at the first moment is known.
  • the moving distance and orientation can be combined on the basis of the first position information, that is, the second estimated position information of the robot at the second moment can be obtained through the dynamic system calculation.
  • the interval between the first moment and the second moment is very short, for example, the interval may be 1s.
  • the robot when the direction of the robot changes from the first moment to the second moment, the robot is continuously photographed during the process from the first moment to the second moment, and based on the captured images Detects the orientation of the robot. Wherein, when the robot is photographed, the moving distance of the robot can be detected at the same time, so that the moving distance in each direction can be recorded in real time when the orientation of the robot changes.
  • the interval between the first moment and the second moment can be set as short as possible, so that it can be considered that the direction of the robot is different from the first moment to the second moment. will change.
  • At least one camera can be set at the site where the robot is located, and the camera is connected to the robot positioning device, the robot positioning device or the camera is provided with a timer, and the interval from the first moment to the second moment is set as the timing of the timer. time.
  • the camera obtains the image of the robot and the movement parameters of the robot, and transmits the image to the robot positioning device.
  • the robot positioning device uses the vision system to obtain the first estimate of the robot at the second moment by the method shown in Figure 3 above. position information, and use the dynamic system to combine the initial position information of the robot (ie the first position information), the orientation and movement parameters of the robot to calculate the second estimated position information of the robot at the second moment.
  • the method of using the second image to obtain the first estimated position information of the robot at the second moment is the same as the method of using the first image to obtain the first position information of the robot at the first moment, that is, the simulated sand table and the second image are both Including the second reference object; firstly obtain the pixel position of the second reference object and the second pixel position of the robot from the second image, and obtain the simulated position of the second reference object from the simulated sand table; and based on the pixels of the second reference object
  • the second projection relationship is obtained by calculating the simulated position of the position and the second reference object; then the simulated position of the robot on the simulated sand table is obtained by calculating the second projection relationship and the second pixel position of the robot;
  • the simulated position of the sand table determines the first estimated position information of the robot at the second moment.
  • FIG. 3 which will not be repeated here.
  • Step S15 Obtain the second position information of the robot at the second moment through the first estimated position information and the second estimated position information.
  • Kalman filtering may be used to perform a weighted average on the first estimated position information and the second estimated position information, so as to obtain the second position information of the robot at the second moment.
  • the first estimated location information and the second estimated location information can also be fused by means of mean statistics method and Gaussian Mixture Model (GMM) to obtain the second location information .
  • GMM Gaussian Mixture Model
  • Kalman filtering may be used to perform a weighted average of the first estimated position information and the second estimated position information, so as to obtain the second position information of the robot at the second moment.
  • the first estimated position information obtained by the visual positioning system is known, and the second estimated position information obtained by the dynamic system is known, therefore, the first estimated position information and the second estimated position can be analyzed first.
  • the state prediction is performed to obtain the covariance prediction result, and then the covariance prediction result is updated to obtain the updated covariance, and then the second position information is obtained through the updated covariance.
  • the present invention can obtain the position estimation of the extended Kalman filter at different time nodes through evolution in discrete time.
  • FIG. 5 is a schematic diagram of the principle of the positioning method of the robot proposed by the embodiment of the present disclosure.
  • the positioning process of the visual positioning system mainly includes: (1) the camera reads the image; (2) the detector YOLO-tiny performs vehicle detection, namely The vehicle, that is, the robot, is detected in the image, and the coordinates of the region in the image where the robot is located are obtained; (3) Mobilenet performs angle calculation; that is, the image of the region where the robot is located is extracted, and passed into the attitude estimation module to realize attitude estimation; (4) ) Planar vision positioning, that is, using the calibration parameters to map the pose and coordinates in the image back to the real coordinates.
  • the positioning process of the dynamic positioning system mainly includes: (1) Obtaining the information of the vehicle encoder and steering gear; that is, obtaining the historical movement parameters and current moving parameters of the robot based on this information, that is, the walking information of the robot; (2) ) Estimating the position through the vehicle dynamics model; that is, estimating the current position information of the robot based on the historical movement parameters and the current movement parameters through the model. Then, the results obtained by the video positioning system and the results obtained by the dynamic system are fused by extended Kalman filtering, so as to realize the accurate positioning of the robot.
  • the robot positioning method uses the vision system to establish a simulated sand table to first obtain the projection relationship, and then obtain the first position information of the robot at the first moment and the first prediction at the second moment.
  • the second estimated position information of the robot at the second moment is obtained by detecting the initial orientation of the robot, the moving distance from the first moment to the second moment, and the initial position information; and then Through Kalman filtering, the results of the vision system and the results of the dynamic system are fused to determine the second position information of the robot, that is, the final position information.
  • the positioning method adopts a multi-terminal fusion method, which not only improves the accuracy of global positioning, reduces the hardware cost, but also facilitates the deployment of the system.
  • a simulated sand table is established, which does not require additional calibration reference objects, thereby reducing the calibration time.
  • FIG. 6 is a schematic structural diagram of an embodiment of the disclosed robot positioning device, including: a first position acquisition part 41 , a parameter acquisition part 42 , a second position acquisition part 43 and a calibration part 44 .
  • the first position acquisition part 41 is configured to acquire the first position information of the robot at the first moment, and the first position acquisition part 41 is further configured to acquire the second image of the robot at the second moment, and based on the The second image acquires the first estimated position information of the robot at the second moment.
  • the first position information of the robot at the first moment and the first estimated position information of the robot at the second moment may be directly obtained by using the positioning system, and the positioning system may be GPS positioning. system.
  • the first image of the robot at the first moment may also be acquired through a camera device such as a camera.
  • the robot is a movable mechanical device or a robot positioning device, such as a forklift, a mechanical trolley, and the like.
  • a timer may be integrated in the camera, and when the timing time of the timer reaches the first moment, the camera takes a picture of the robot to obtain the first image.
  • the position of the camera can be fixed or not; the shooting angle of the camera can be fixed or not; here, the camera can be installed in a certain position and cannot be rotated, that is, its shooting range is fixed; the camera can also be installed in a certain position A position and rotatable, that is, its reflection range is variable; of course, the camera can also be installed on a movable device.
  • the present disclosure does not limit the position and shooting range of the camera, as long as it can shoot the robot.
  • the first position acquisition part 41 is further configured to acquire a first image of the robot at the first moment; and to acquire the robot at the first moment based on the first image first location information.
  • the first image obtained by the camera can be uploaded to the robot positioning device, for example, the robot positioning device is connected to the camera in communication, and after the camera obtains the first image, the first image is sent to the robot positioning device through the communication connection , in another embodiment, the first image obtained by the camera may also be saved in a memory card and then uploaded to the robot positioning device, which is not particularly limited, as long as the robot positioning device can obtain the first image.
  • the first position acquiring part 41 is further configured to acquire the first reference object on the simulated sand table, and determine the first position information of the robot by establishing the simulated sand table. It can be understood that the established simulated sand table is the robot A mock-up plan of the space in which it is located. Determine the pixel position of the first reference object in the first image and the first pixel position of the robot.
  • the first deep learning network may be used to identify the first image, thereby determining the pixel position of the first reference object in the first image and the first pixel position of the robot.
  • the first deep learning network may be a model integrating a deep learning network with a localization function, the first image is input into the model, and the model recognizes the first image, and then obtains the first reference The pixel position of the object in the first image and the first pixel position of the robot in the first image.
  • the first deep learning network is used to detect the first image to determine the pixel position of the first reference object in the first image and the first pixel position of the robot in the first image.
  • the feasible first deep learning network includes: RCNN deep network structure, SSD deep network structure, Yolo deep network structure RetinaNet network structure, etc.
  • the position coordinate detection can be performed through the Yolo deep network structure; among them, the Yolo-tiny deep network structure in the Yolo deep network structure can be used for detection.
  • the idea of the algorithm is to divide the whole image into some squares, predict some possible bounding boxes of objects whose centers fall in the grids in the cells, and give the confidence, so that the algorithm can be obtained in one step.
  • the result of the object detection frame is faster than the two-stage Faster-RCNN series of algorithms. Since the shape and color of the objects to be detected in the application scenario are relatively fixed, this fast algorithm has a high detection accuracy with a small network structure, and at the same time occupies less computing resources, it can be used on a CPU with a slower computing speed on the mobile terminal, such as The required real-time detection effect is achieved on the Raspberry Pi, and the cost is lower.
  • the simulated position of the first reference object needs to be obtained by determining the pixel position of the first reference object, and calculated by using the pixel position of the first reference object and the simulated position of the first reference object on the simulated sand table The first projection relationship.
  • the first position acquisition part 41 is further configured to acquire the second reference object on the simulated sand table.
  • a pixel position of the second reference object in the second image and a second pixel position of the robot are determined.
  • a second projection relationship is obtained by calculating the pixel position of the second reference object and the simulated position of the second reference object on the simulated sand table.
  • the simulated position of the robot on the simulated sand table is calculated based on the second projection relationship and the second pixel position of the robot.
  • the first estimated position information of the robot at the second moment is determined by using the simulated position of the robot on the simulated sand table.
  • a simulated sand table is established, and the object existing on the simulated sand table is used as a reference to calculate the first projection relationship, which does not require additional markers on the sand table, which simplifies the operation;
  • the pixel positions on the first image are combined with the first projection relationship to determine the simulated position of the robot on the simulated sand table, and then the first position information of the robot at the first moment is determined.
  • the positioning process of this robot simplifies operations, reduces costs, and greatly improves user experience.
  • the first position acquisition part 41 is further configured to detect the orientation of the robot, that is, to detect the angle of the robot, when acquiring the first position information of the robot at the first moment.
  • the orientation of the robot can be detected through the angular pose estimation model.
  • the first image is recognized by the first deep learning network, and then the position of the robot is obtained in the first image, and then the regional image of the robot's position is extracted, and the extracted regional image is input to the angle Prediction model.
  • the angle of the robot is detected by the angle prediction model to obtain the orientation of the robot.
  • the moving direction of the robot from the first moment to the second moment can be known.
  • a second deep learning network may be integrated into the angle estimation model, and the second deep learning network is used to identify the image of the area where the robot is located, so as to confirm the orientation of the robot.
  • the second deep learning network may be a convolutional neural network structure used for numerical regression in the related art, for example, a ResNet deep network structure, a MobileNet deep network structure, a ghostNet deep network structure, an EfficientNet deep network structure, and the like.
  • the parameter acquisition part 42 is configured to acquire the movement parameters of the robot during the process from the first moment to the second moment. Among them, the historical movement parameters of the robot are obtained at the first moment.
  • the robot positioning device records the historical walking information of the robot, that is, the historical moving parameters, through the encoder and the steering gear of the robot.
  • the historical movement parameters of the robot may be acquired while taking the first image of the robot.
  • the robot positioning device can read the encoder and steering gear information of the robot again to obtain the current movement parameters of the robot.
  • the historical movement parameter includes the historical movement distance of the robot, such as the historical rotation number of the wheel of the robot, etc.
  • the current movement parameter may be the rotation number of the wheel of the robot at the second moment.
  • the movement parameters of the robot in the process from the first moment to the second moment are obtained by calculating the historical movement parameters and the current movement parameters.
  • the historical movement parameter of the robot at the first moment is 100 meters
  • the current movement parameter detected at the second moment is 101 meters
  • the historical movement parameter of the robot at the first moment is that the historical number of rotations of the wheel is 200
  • the current movement parameter at the second moment is that the number of rotations of the wheel is 250
  • the robot rotates 50 times from the first moment to the second moment, and the total distance moved by the robot from the first moment to the second moment can be calculated from the diameter of the wheel.
  • the second position acquisition part 43 is configured to calculate and obtain the second estimated position information of the robot at the second moment based on the first position information and the movement parameter.
  • the orientation of the robot at the first moment is known
  • the moving distance of the robot from the first moment to the second moment is also known
  • the first position information of the robot at the first moment is known.
  • the second estimated position information of the robot at the second moment can be calculated by the dynamic system.
  • the interval between the first moment and the second moment is very short, for example, the interval may be 1s.
  • the robot when the direction of the robot changes from the first moment to the second moment, the robot is continuously photographed during the process from the first moment to the second moment, and based on the captured images Detects the orientation of the robot. Wherein, when the robot is photographed, the moving distance of the robot can be detected at the same time, so that the moving distance in each direction can be recorded in real time when the orientation of the robot changes.
  • the interval between the first moment and the second moment can be set as short as possible, so that it can be considered that the direction of the robot is not equal in the process from the first moment to the second moment. will not change.
  • At least one camera may be set at the site where the robot is located, and the camera is connected to the robot positioning device, a timer is set in the robot positioning device or the camera, and the interval from the first moment to the second moment is set as the Timing time.
  • the camera acquires the image of the robot and the movement parameters of the robot, and transmits the image to the robot positioning device.
  • the robot positioning device uses the vision system to obtain the first estimate of the robot at the second moment by the method shown in Figure 3 above. position information, and use the dynamic system to combine the initial position information of the robot (ie the first position information), the orientation and movement parameters of the robot to calculate the second estimated position information of the robot at the second moment.
  • the calibration part 44 is configured to obtain the second position information of the robot at the second moment through the first estimated position information and the second estimated position information.
  • Kalman filtering may be used to perform a weighted average on the first estimated position information and the second estimated position information, so as to obtain the robot at the second moment. second location information.
  • the first estimated location information and the second estimated location information may also be fused by means of mean statistics, Gaussian mixture model (GMM), to obtain the second location information.
  • GMM Gaussian mixture model
  • the robot positioning method uses a vision system to establish a simulated sand table to first obtain the projection relationship, and then obtain the first position information of the robot at the first moment and the first position information at the second moment.
  • Estimated position information on the other hand, using the dynamic system, obtains the second estimated position information of the robot at the second moment by detecting the initial orientation of the robot, the moving distance from the first moment to the second moment, and the initial position information; Then, the results of the vision system and the results of the dynamic system are fused by Kalman filtering to determine the second position information of the robot, that is, the final position information.
  • the positioning method adopts a multi-terminal fusion method, which not only improves the accuracy of global positioning, reduces the hardware cost, but also facilitates the deployment of the system.
  • a simulated sand table is established, which does not require additional calibration reference objects and reduces the calibration time.
  • FIG. 7 is a schematic structural diagram of an embodiment of a robot positioning device according to an embodiment of the present disclosure.
  • the interconnected memory 52 and processor 51 are included.
  • the memory 52 is used to store program instructions for implementing any one of the above-mentioned robot positioning methods.
  • the processor 51 is used to execute program instructions stored in the memory 52 .
  • the processor 51 may also be referred to as a CPU.
  • the processor 51 may be an integrated circuit chip with signal processing capability.
  • the processor 51 may also be a general-purpose processor, a digital signal processor (Digital Signal Processing, DSP), an application specific integrated circuit (Application Specific Integrated Circuit, ASIC), a field programmable gate array (Field Programmable Gate Array, FPGA) or other Programming logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP Digital Signal Processing
  • ASIC Application Specific Integrated Circuit
  • FPGA Field Programmable Gate Array
  • a general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
  • the memory 52 can be a memory stick, a TF card, etc., and can store all the information in the robot positioning device, including input original data, computer programs, intermediate running results and final running results, all stored in the memory. It stores and retrieves information according to the location specified by the controller. With the memory, the robot positioning device has the memory function to ensure normal operation.
  • the memory of robot positioning equipment can be divided into main memory (memory) and auxiliary memory (external memory) according to the purpose, and there are also classification methods into external memory and internal memory. External storage is usually a magnetic medium or an optical disc, etc., which can store information for a long time.
  • Memory refers to the storage components on the motherboard, which are used to store the data and programs currently being executed, but are only used to temporarily store programs and data. When the power is turned off or powered off, the data will be lost.
  • An embodiment of the present disclosure provides a computer program, including computer-readable codes, which, when the computer-readable codes run in a robot positioning device and are executed by a processor in the robot positioning device, realize the above-mentioned robot positioning method.
  • the disclosed method and apparatus may be implemented in other manners.
  • the apparatus implementations described above are only illustrative, for example, the division of modules or units is only a logical function division, and there may be other divisions in actual implementation, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored, or not implemented.
  • the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in electrical, mechanical or other forms.
  • Units described as separate components may or may not be physically separated, and components shown as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution in this implementation manner.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, or each unit may exist physically alone, or two or more units may be integrated into one unit.
  • the above-mentioned integrated units may be implemented in the form of hardware, or may be implemented in the form of software functional units.
  • the integrated unit if implemented as a software functional unit and sold or used as a stand-alone product, may be stored in a computer-readable storage medium.
  • the technical solutions of the present disclosure can be embodied in the form of software products in essence, or the part that contributes to the prior art, or all or part of the technical solutions, and the computer software product is stored in a storage medium , including several instructions for causing a computer device (which may be a personal computer, a system server, or a network device, etc.) or a processor to execute all or part of the steps of the methods in the various embodiments of the present disclosure.
  • a computer device which may be a personal computer, a system server, or a network device, etc.
  • FIG. 8 is a schematic structural diagram of a computer-readable storage medium according to an embodiment of the present disclosure.
  • the storage medium of the present disclosure stores a program file 61 capable of implementing all the above-mentioned robot positioning methods, wherein the program file 61 can be stored in the above-mentioned storage medium in the form of a software product, and includes several instructions to make a computer device (which can It is a personal computer, a server, or a network device, etc.) or a processor that executes all or part of the steps of the methods of the various embodiments of the present disclosure.
  • a computer device which can It is a personal computer, a server, or a network device, etc.
  • the aforementioned storage devices include: U disk, mobile hard disk, Read-Only Memory (ROM, Read-Only Memory), Random Access Memory (RAM, Random Access Memory), magnetic disk or optical disk and other media that can store program codes , or terminal devices such as computers, servers, mobile phones, and tablets.
  • the first position information of the robot at the first moment is obtained, the second image of the robot at the second moment is obtained, and the first position of the robot at the second moment is obtained based on the second image.
  • an estimated position information collecting the movement parameters of the robot from the first moment to the second moment; calculating the first position of the robot at the second moment based on the first position information and the movement parameters
  • Two estimated position information the second position information of the robot at the second moment is obtained through the first estimated position information and the second estimated position information. It effectively improves the positioning accuracy by fusing the positioning results of the robot obtained in two different ways to obtain precise position information.

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Automation & Control Theory (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

一种机器人的定位方法,包括:获取到机器人在第一时刻的第一位置信息,获取机器人在第二时刻的第二图像,并基于第二图像获取到机器人再第二时刻的第一预估位置信息;采集机器人自第一时刻到第二时刻的过程中的移动参数;基于第一位置信息及移动参数计算得到机器人在第二时刻的第二预估位置信息;通过第一预估位置信息及第二预估位置信息得到机器人在第二时刻的第二位置信息。该定位方法通过将两种不同方式获取的机器人的定位结果进行融合,即融合视觉系统的检测结果与动力学系统的检测结果,进而得到机器人的位置信息,该定位方法使得获取的位置信息更加准确,有效提高了机器人的定位精度。还提供一种机器人的定位装置、设备、存储装置。

Description

一种机器人的定位方法及装置、设备、存储介质
相关申请的交叉引用
本公开基于申请号为202011157118.7、申请日为2020年10月26日、申请名称为“一种机器人的定位方法及装置、设备、存储介质”的中国专利申请提出,并要求该中国专利申请的优先权,该中国专利申请的全部内容在此引入本公开作为参考。
技术领域
本公开涉及人工智能技术领域,具体涉及一种机器人的定位方法及装置、设备、存储介质。
背景技术
近年来,人工智能逐渐变得火热,其涉及到多种功能,其集成的定位系统在各种领域中的应用也越来越普遍,例如,在人工智能(Artificial Intelligence,AI)教育中,教学双方往往要接触到定位、规划、控制、多智能体等内容,其中最基础也是最重要的一部分就是机器人的定位系统。
发明内容
本公开提供一种机器人的定位方法及装置、设备、存储介质。
本公开提供的第一个技术方案为:提供一种机器人的定位方法,包括:获取到机器人在第一时刻的第一位置信息;获取机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在第二时刻的第一预估位置信息;采集所述机器人自第一时刻到第二时刻的过程中的移动参数;基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
这样,融合视觉系统的检测结果与动力学系统的检测结果,使得获取的位置信息更加准确。
在本公开的一些实施例中,所述获取到机器人在第一时刻的第一位置信息包括:获取所述机器人在所述第一时刻的第一图像;基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
在本公开的一些实施例中,所述第一图像包括第一参照物,所述基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息包括:获取模拟沙盘上的所述第一参照物;确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第一时刻的所述第一位置信息。
这样,利用视觉系统通过模拟沙盘的方式确定机器人的初始位置,不需要额外标定参照物,减少额外的标定时刻。
在本公开的一些实施例中,所述第二图像包含第二参照物;所述基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息包括:获取模拟沙盘上的所述第二参照物;确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;确 定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置;利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
这样,利用视觉系统通过模拟沙盘的方式确定机器人的终点位置,不需要额外标定参照物,减少额外的标定时刻。
在本公开的一些实施例中,所述确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置包括:利用第一深度学习网络对所述第一图像进行识别,以确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;所述确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置包括:利用第一深度学习网络对所述第二图像进行识别,以确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
在本公开的一些实施例中,所述获取所述机器人在所述第一时刻的第一图像还包括:基于所述第一图像获取所述机器人在所述第一时刻的朝向。
其中,基于所述第一图像获取所述机器人在所述第一时刻的朝向包括:利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向;其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。
这样,检测机器人的朝向,以使得后续通过动力学系统计算机器人的位置信息时,所得结果更加准确。
在本公开的一些实施例中,所述定位方法还包括:在所述第一时刻获取所述机器人的历史移动参数;采集所述机器人自第一时刻到第二时刻的过程中的移动参数包括:在所述第二时刻获取所述机器人的当前移动参数;通过所述历史移动参数及所述当前移动参数计算获取所述机器人自第一时刻到第二时刻的过程中的移动参数。
这样,计算机器人从第一时刻到第二时刻的移动距离,结合机器人的朝向,以使得后续通过动力学系统计算机器人的位置信息时,所得结果更加准确。
在本公开的一些实施例中,基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息包括:通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。
这样,利用动力学系统检测机器人在第二时刻的位置信息,降低硬件成本。
在本公开的一些实施例中,所述通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息包括:利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。
这样,对视觉系统获取的位置信息及动力学系统获取的位置信息进行融合,以得到机器人在第二时刻的位置信息,提高定位精度,并且增加了系统的易部署性。
本公开提供的第二个技术方案为:提供一种机器人定位装置,包括:第一位置获取部分,配置为获取到机器人在第一时刻的第一位置信息,及获取到所述机器人在第二时刻的第一预估位置信息;参数获取部分,配置为采集所述机器人自第一时刻到第二时刻的过程中的移动参数;第二位置获取部分,配置为基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;校准部分,配置为通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
本公开提供的第三个技术方案为:一种机器人定位设备,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行上述机器人定位方法。
本公开提供的第四个技术方案为:一种计算机可读存储介质,存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行上述机器人定位方法。
本公开提供的第五个技术方案为:一种计算机程序,包括计算机可读代码,在所述计算机可读代码在机器人定位设备中运行,被所述机器人定位设备中的处理器执行的情况下,以执行上述机器人定位方法。
本公开提供的机器人定位方法,其通过将两种不同方式获取的机器人的定位结果进行融合,即融合视觉系统的检测结果与动力学系统的检测结果,进而得到机器人的位置信息,该定位方法使得获取的位置信息更加准确,有效提高了机器人的定位精度。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本公开实施例提出的机器人的定位方法的一实施例的流程示意图;
图2是本公开实施例提出的图1中步骤S11的一实施例的流程示意图;
图3是本公开实施例提出的图1中步骤S12的一实施例的流程示意图;
图4是本公开实施例提出的图1中步骤S13的一实施例的流程示意图;
图5为本公开实施例提出的机器人的定位方法的原理示意图;
图6是本公开实施例提出的机器人定位装置的一实施例的结构示意图;
图7是本公开实施例提出的机器人定位设备的一实施例的结构示意图;
图8是本公开实施例提出的计算机可读存储介质的结构示意图。
具体实施方式
以下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本公开实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含 在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
由于应用场景的多样性,定位系统的部署难度需要被考量,花费大量的时间进行环境建模往往会导致用户体验变差,且浪费时间较多,另外,定位系统所需的计算资源非常多,但往往会在精度方面有所欠缺,且成本高。例如,在学校通常会使用非常多的机器人用以教学,若在机器人内部嵌入高性能的计算设备来支持各种定位算法,会使得机器人的成本大幅度上升,而低成本是难以做出高性能的嵌入式定位设备的,因此,我们需要利用有限的硬件资源实现较好的定位效果,得到一套高精度、低成本、易部署的机器人定位系统。
本公开实施例提供一种机器人的定位方法及装置、设备、存储介质。其通过获取机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息,采集机器人从第一时刻到第二时刻的移动参数,基于第一位置信息及移动参数计算得到机器人在第二时刻的第二预估位置信息;通过第一预估位置信息及第二预估位置信息得到机器人在第二时刻的第二位置信息。本公开实施例通过将视觉定位系统与动力学定位系统相结合,并进行融合以得到精度较高的机器人的定位结果。
其中,视觉定位系统基于摄像头获取的图像进行定位,而动力学定位系统基于机器人的初始位置及机器人的行走参数进行定位。视觉定位系统进行定位时,通过摄像头获取机器人在第二时刻的第二图像,基于第二图像结合模拟沙盘,确定出机器人在模拟沙盘上的第一预估位置信息;动力学定位系统进行定位时,获取机器人从第一时刻到第二时刻的移动参数,及机器人的朝向,即,通过机器人的朝向及移动参数即可确定机器人超某个方向的行驶距离,结合机器人在第一时刻的第一位置信息,即可获取机器人在第二时刻的第二预估位置信息。这里,为了精确机器人的定位位置,通过卡尔曼滤波将视觉定位系统获取的第一预估位置信息与动力学定位系统获取的第二预估位置信息进行融合,即加权平均,最终获取到较为精确的机器人在第二时刻的第二位置信息。
机器人定位方法的执行主体可以是机器人定位设备,例如,机器人定位方法可以由终端设备或服务器或其它处理设备执行,其中,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等。在一些可能的实现方式中,该机器人定位方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。”
下面结合附图和实施例对本公开进行详细的说明。
请参见图1,为本公开实施例提出的机器人的定位方法的一实施例的流程示意图。包括:
步骤S11:获取到机器人在第一时刻的第一位置信息。
在本公开实施例一实施方式中,在进行机器人定位时,可以直接利用定位系统获取到机器人在第一时刻的第一位置信息,以及机器人在第二时刻的第一预估位置信息,定位系统可以为全球定位系统(Global Positioning,GPS)定位系统。
在本公开实施例一实施方式中,还可以通过摄像装置如摄像头获取机器人在第一时刻的第一图像。其中,机器人为能够移动的机械设备或智能设备,例如叉车、机械小车等。
在一可行实施例中,摄像头内可以集成有定时器,在定时器的定时时间到达第一时刻时,摄像头对机器人进行拍照,以获取到第一图像。其中,摄像头的位置可以固定,也可以不固定;摄像头的拍摄角度可以固定,也可以不固定;这里,摄像头可以安装在某一位置且不可旋转,即其拍摄范围固定;摄像头还可以安装在某一位置且可旋转,即其反射范围可变;当然摄像头还可以安装在可移动的设备上。本公开对摄像头的位置和拍摄范围不 做限定,其只要能够拍摄到机器人即可。
在一可行实施例中,可以将摄像头获取的第一图像上传至机器人定位设备,例如机器人定位设备与摄像头通信连接,在摄像头获取到第一图像后,通过通信连接将第一图像发送至机器人定位设备,在另一实施例中,还可以将摄像头获取的第一图像保存至存储卡中,再上传至机器人定位设备中,具体不做限定,只要能够使得机器人定位设备获取到第一图像即可。
这里,将第一图像上传至机器人定位设备,可以使得机器人定位设备利用视觉系统基于第一图像获取到机器人在第一时刻的第一位置信息,具体请继续参照图1。
机器人定位设备利用视觉系统基于第一图像获取机器人在第一时刻的第一位置信息,在一可行实施例中,可以通过场景建模的方式结合第一图像,以确定机器人的第一位置信息,这里请参见图2,为本公开实施例提出的图1中步骤S11的一实施例的流程示意图,具体包括:
步骤S111:获取模拟沙盘上的第一参照物。
在本公开实施例一实施方式中,通过建立模拟沙盘的方式确定机器人的第一位置信息。可以理解的,建立的模拟沙盘即为机器人所在空间的模拟设计图。
其中,模拟沙盘根据机器人所在的场景进行建立,模拟沙盘可以与机器人所在场景按照1:1的比例建立,例如,模拟沙盘上的所有物体的尺寸、位置、坐标与机器人所在的场景中的所有物体的尺寸、位置、坐标相同。当然,模拟沙盘还可以按照1:2的比例建立,例如,模拟沙盘上的所有物体的尺寸、位置、坐标是机器人所在的场景中的所有物体的尺寸、位置、坐标的2倍或1/2倍,当然,其还可以按照其他比例建立模拟沙盘,本公开在此不做限定。
在一可行实施例中,考虑到计算的简便性,可以采用1:1的比例建立模拟沙盘,以此在后续计算过程中不需要进行比例换算,减少计算量。在另一实施例中,考虑到模拟沙盘的占用空间,例如,若机器人所在场景过大时,可以采用1:2、1:3、1:4等比例建立模拟沙盘,以减少模拟沙盘的占用空间。例如,上述所有过程可以在机器人定位设备中进行,在机器人定位设备中建立模拟沙盘,在机器人定位设备自摄像头获取到第一图像的情况下,机器人定位设备利用视觉系统基于模拟沙盘及第一图像确定机器人的第一位置信息。
其中,利用视觉系统对机器人进行定位时,第一图像和模拟沙盘上需要同时具有一个第一参照物,该第一参照物可以用于计算第一图像投影至模拟沙盘上的第一投影关系。这里,第一参照物可以根据第一图像进行选取,例如,若第一图像除机器人外还包括与模拟沙盘上相同的桌子,则可以将桌子作为第一参照物,再例如,若第一图像除了机器人外还包括与模拟沙盘上相同的电视,则可以将电视作为第一参照物,即第一参照物是第一图像及模拟沙盘上共有的物体。
步骤S112:确定第一图像中第一参照物的像素位置及机器人的第一像素位置。
在一实施例中,可以利用第一深度学习网络对第一图像进行识别,进而确定出第一图像中个第一参照物的像素位置,和机器人的第一像素位置。
在一实施例中,第一深度学习网络可以是一个集成了具有定位功能的深度学习网络的模型,将第一图像输入至该模型中,该模型对第一图像进行识别,进而获得第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置。
在一实施例的一实施方式中中,利用第一深度学习网络对第一图像进行检测以确定第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置,其第一深度学习网络可以包括目标检测(Region-CNN,RCNN)深度网络结构、目标检测(Single Shot MultiBox Detector,SSD)深度网络结构、目标检测(You Only Look Once,Yolo)深度网 络结构以及RetinaNet网络结构等。
在一实施例的实施方式中,考虑到成本与位置坐标检测的准确性,可以通过Yolo深度网络结构进行位置坐标的检测。其中,可以用Yolo深度网络结构中的Yolo-tiny深度网络结构进行检测。
Yolo深度网络结构中,其算法的思路是将全图分为一些方格,在单元格中预测中心落在格子内物体的一些可能的边界框,并给出置信度,这样算法一步就可以得到物体检测框的结果,相比两阶段的Faster-RCNN系列算法速度更快。由于应用场景中需要检测的物体外形、颜色相对固定,这种快速算法配合小网络结构的检测准确率较高,同时对计算资源的占用较小,可以在移动端运算速度较慢的中央处理器(central processing unit,CPU),如树莓派上达到所需的实时检测的效果,所需成本更低。
其中,在第一图像上获取的第一参照物的像素位置及所述机器人的第一像素位置可以为的具有代表性的点,例如可以在第一图像上获取第一参照物的中心点的像素位置,及机器人的中心点的像素位置,还可以获取第一参照物的边框的像素位置,及机器人的边框的像素位置,还可以选择第一参照物边框的对角线的像素位置,及机器人的边框的对角线的像素位置,具体不做限定。
由于图像是由若干个R(红色子像素)、G(绿色子像素)、B(蓝色子像素)像素点叠加产生不同的颜色进而组成的,因此可以利用第一深度学习网络获得的机器人以及第一参照物在第一图像中的像素位置,这里,机器人在第一图像中的第一像素位置就是图像中的子像素的位置。
步骤S113:确定在第一时刻第一参照物在模拟沙盘的模拟位置。
其中,在第一图像中选取的第一参照物与模拟沙盘上选取的第一参照物为同一物体,在建立好模拟沙盘后,模拟沙盘上所有物体的模拟位置都是已知的。
在本公开实施例中,在获取第一参照物的模拟位置时,需要对应第一参照物的像素位置进行确定。例如,在一实施例中,在获取的第一参照物的像素位置为第一参照物的中心点的像素位置的情况下,获取的第一参照物的模拟位置就是第一参照物的中心点的模拟位置;再例如,在获取的第一参照物的像素位置为第一参照物的边框的像素位置的情况下,获取的第一参照物的模拟位置就是第一参照物的边框的模拟位置。
步骤S114:利用第一参照物的像素位置及第一参照物在模拟沙盘的模拟位置计算得到第一投影关系。
这里,通过上述步骤S112及步骤S113的方式确定了第一参照物在第一图像中的像素位置,及第一参照物在模拟沙盘中的模拟位置之后,便可以利用第一参照物在第一图像中的像素位置以及第一参照物在模拟沙盘上的模拟位置计算得到第一投影关系。
在一实施例中,假设获取的第一参照物在第一图像中的像素位置为第一参照物的中心点的像素位置,及第一参照物在模拟沙盘上的模拟位置为第一参照物的中心点的模拟位置。其中,假设第一参照物的中心点的像素位置为(u,v,w),第一参照物的中心点的模拟位置(x’,y’,w’),基于第一参照物的中心点的像素位置(u,v,w)及第一参照物的中心点的模拟位置建立关系方程。
通过第一参照物的中心点的像素位置(u,v,w)及第一参照物的中心点的模拟位置建立关系方程如下公式(1)所示:
(x’,y’,w’)=(u,v,w)[■(a_11&a_12&a_13@a_21&a_22&a_23@a_31&a_32&a_33)](1)
其中,公式(1)中,[■(a_11&a_12&a_13@a_21&a_22&a_23@a_31&a_32&a_33)]为第一投影关系。
在本公开实施例中,需选取的参照物为三个以上个,可以分别获取多个参照物的中心点在第一图像上的像素位置和在模拟沙盘上的模拟位置,进而通过上述公式(1)的方式 建立多组关系方程,并求解。在求得的结果不一致的情况下,可以通过加权平均等方法对多个投影关系进行处理,以获取到精确的结果。这里,同一第一图像上、不同的第一参照物投影至模拟沙盘上的第一投影关系相同。
在一实施例中,由于第一图像为二维图像,其获取的第一参照物在第一图像上的位置坐标也为二维坐标,因此,第一参照物在第一图像中的像素位置(u,v,w)中的w为常数,其不是Z坐标表示的数。这里,w可以为1。具体的,因为所有物体均相对于地面设置,因此,本方案建立的模拟沙盘为2维模拟沙盘,因此第一参照物在模拟沙盘上的模拟位置(x’,y’,w’)也是二维坐标,即w’也为常数,其同样不是Z坐标表示的数。这里,w’也可以为1。因此公式(1)中所述的第一投影关系中的右下角的数a_33恒为1。
可知公式(1)中的投第一影关系中共有八个未知数,要求得这8个未知数的结果,需要4对坐标进行计算。其中,每对坐标包含一个在第一图像中的像素位置和一个模拟沙盘上的模拟位置。该4对坐标可以选取在同一第一参照物上,并在同一第一参照物上选取4个其在第一图像中的像素位置,再选取4个在模拟沙盘上的模拟位置。这里,该第一参照物可以与建立关系方程时所用的第一参照物为同一第一参照物,也可以为不同第一参照物,其选取的4个点,可以与建立关系方程时所用的第一参照物中选取的点相同,也可以不同。
这里,在求解关系方程时,为了有效提高第一投影关系的计算结果的精度及鲁棒性,可以利用随机抽样一致性算法进行计算,最后输出第一投影关系。其中,随机抽样一致性算法可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数,其能够提高第一投影关系计算的精度及鲁棒性。
本公开实施例通过第一参照物在第一图像中的像素位置及在模拟沙盘中的模拟位置建立关系方程,并求解该关系方程,从而得到第一投影关系。其中,通过结合随机抽样一致性算法进行计算,提高了第一投影关系的计算精度及鲁棒性。
步骤S115:基于第一投影关系及机器人的第一像素位置计算得到机器人在模拟沙盘上的模拟位置。
在本公开实施例中,在步骤S112中已获取到机器人在第一图像中的第一像素位置,在步骤S114中已获取到第一图像投影至模拟沙盘中的第一投影关系的情况下,可通过第一投影关系及机器人的第一像素位置计算得到机器人在模拟沙盘上的模拟位置。其中,通过上述公式(1)的方式确定机器人在模拟沙盘中的模拟位置。
步骤S116:利用机器人在所述模拟沙盘的模拟位置确定机器人在第一时刻的第一位置信息。
在一实施例中,在模拟沙盘是以现实场景的1:1的比例建立的情况下,可以计算得出的机器人在模拟沙盘上的模拟位置就是机器人在第一时刻的第一位置信息;而在模拟沙盘是以现实场景的1:2的比例建立的情况下,在计算得出机器人在模拟沙盘上的模拟位置之后,还需要通过相关比例进行换算,进而得到机器人在第一时刻的第一位置信息。
本公开实施例通过建立模拟沙盘,并根据模拟沙盘上存在的物体作为参照物进行第一投影关系的计算,该方法不需要在沙盘上额外设置标记物,简化了操作;且其通过深度学习识别机器人在第一图像上的像素位置,并结合第一投影关系确定出机器人在模拟沙盘上的模拟位置,进而确定出机器人在第一时刻的第一位置信息。这一机器人的定位过程简化了操作,降低了成本,大幅度提升了用户体验。
在一实施例中,在获取机器人在第一时刻的第一位置信息时,还需要检测机器人的朝向,即检测机器人的角度。
这里,可通过角度姿态预估模型检测机器人的朝向。其中,先利用第一深度学习网络对第一图像进行识别,在第一图像中获取到机器人的所在位置;然后提取出机器人的所在 位置的区域图像,并将提取到的区域图像输入至角度预估模型,通过该角度预估模型对机器人的角度进行检测,从而得到机器人的朝向。这里,在获取到机器人的朝向后,便可知道机器人从第一时刻至第二时刻内的移动方向。
其中,角度预估模型中可以集成有第二深度学习网络,利用第二深度学习网络对机器人所在的区域图像进行识别,以确认出机器人的朝向。其中,第二深度学习网络可以为相关技术中的用于数值回归的卷积神经网络结构,例如,ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构等。
步骤S12:获取机器人在第二时刻的第二图像,并基于第二图像获取到机器人在第二时刻的第一预估位置信息。
本公开实施例中,在获取到机器人在第一时刻的第一位置信息之后,还可以继续获取机器人在第二时刻的第一预估位置信息。其中,可以利用摄像头获取机器人在第二时刻的第二图像,进而基于第二图像获取到机器人在第二时刻的第一预估位置信息。具体请参见图3,为本公开实施例提出的图1中步骤S12的一实施例的流程示意图,具体包括:
步骤S121:获取模拟沙盘上的所述第二参照物。
步骤S122:确定第二图像中所述第二参照物的像素位置及机器人的第二像素位置。
步骤S123:确定在第二时刻第二参照物在模拟沙盘的模拟位置。
步骤S124:利用第二参照物的像素位置及第二参照物在模拟沙盘的模拟位置计算得到第二投影关系。
步骤S125:基于第二投影关系及机器人的第二像素位置计算得出机器人在模拟沙盘上的模拟位置。
步骤S126:利用机器人在模拟沙盘的模拟位置确定机器人在第二时刻的第一预估位置信息。
其中,步骤S121~步骤S126与图2中所示的步骤S111~步骤S116的具体过程相同,在此不再赘述。
本公开实施例提供的机器人定位方法,其一方面利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;另一方面利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;进而通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的方式进行定位,提高了全局定位的精度、降低了硬件成本、且系统的容易部署。并且其在通过视觉系统求得第一预估位置信息时,建立了模拟沙盘,并且不需要额外标定参照物,从而减少了标定时间。
步骤S13:采集机器人自第一时刻到第二时刻的过程中的移动参数。
在本公开实施例一实施方式中,在第一时刻到第二时刻的过程中,获取机器人的移动参数,具体请参见图4,为本公开实施例提出的图1中步骤S13的一实施例的流程示意图,具体包括:
步骤S131:在第一时刻获取机器人的历史移动参数。
可以理解的是,由于机器人在移动时,机器人内部的编码器会记录机器人的行走距离,并且机器人的历史行走距离会在舵机中反应。因此,在本公开一实施例中,在第一时刻,机器人定位设备可以通过机器人的编码器及舵机记录机器人的历史行走信息,即历史移动参数。这里,可以在拍摄机器人的第一图像的同时获取机器人的历史移动参数。
步骤S132:在第二时刻获取机器人的当前移动参数。
在本公开实施例一实施方式中,在到达第二时刻,再次读取机器人的编码器及舵机信息,进而得到机器人的当前移动参数。
其中,历史移动参数包括机器人的历史移动距离,例如可以为机器人的轮子的历史转动圈数等,当前移动参数可以为机器人在第二时刻时的轮子的转动圈数。
步骤S133:通过历史移动参数及当前移动参数计算获取机器人的自第一时刻到第二时刻的过程中的移动参数。
例如,假设机器人在第一时刻的历史移动参数为100米,在第二时刻检测到的当前移动参数为101米,则可求得机器人在第一时刻到第二时刻共移动了1米。或者,假设机器人在第一时刻的历史移动参数为轮子的历史转动圈数为200圈,在第二时刻的当前移动参数为轮子的转动圈数为250圈,即可知,机器人从第一时刻到第二时刻转动了50圈,即可通过轮子的直径等计算得出机器人在第一时刻到第二时刻共移动的距离。
本公开实施例中,在已得到机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息的情况下,即可求得机器人在第二时刻的第二预估位置信息。具体的,请继续参见图1。
本公开实施例提供的机器人定位方法,其一方面利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;另一方面还利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;进而通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的定位方式,不仅提高了全局定位的精度、降低了硬件成本,而且系统的容易部署。并且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
步骤S14:基于第一位置信息及所述移动参数计算得到机器人在第二时刻的第二预估位置信息。
在本公开实施例中,通过上述步骤,在已知机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息的情况下,可以在第一位置信息的基础上结合移动距离及朝向,即可以通过动力学系统计算得出机器人在第二时刻的第二预估位置信息。
在一实施例中,为了实时检测机器人的位置信息,第一时刻到第二时刻间隔很短,例如间隔时刻可以为1s。在另一实施例中,在机器人从第一时刻到第二时刻的过程中,方向发生变化的情况下,在第一时刻到第二时刻的过程中连续对机器人进行拍照,并基于拍摄的图像检测机器人的朝向。其中,在对机器人进行拍照时,可以同时检测机器人的移动距离,以此可以在机器人的朝向发生改变的情况下,实时记录每一方向的移动距离。
可以理解的是,为了精确的获取到机器人的位置,可以将第一时刻到第二时刻的间隔时刻设置越短越好,从而可以认为第一时刻到第二时刻的过程中,机器人的方向不会发生改变。
在一实施中,机器人所在场地可以设置至少一个摄像头,且摄像头与机器人定位设备建立连接,机器人定位设备或摄像头内设置有定时器,第一时刻到第二时刻的间隔时刻设置为定时器的定时时刻。在到达定时时刻,摄像头获取机器人的图像和机器人的移动参数,并将图像传输至机器人定位设备,机器人定位设备利用视觉系统通过上述图3所示的方式获得机器人在第二时刻的第一预估位置信息,并利用动力学系统结合机器人的初始位置信息(即第一位置信息)、机器人的朝向及移动参数计算求得机器人在第二时刻的第二预估位置信息。
其中,利用第二图像获取机器人在第二时刻的第一预估位置信息的方式,与利用第一图像获取机器人在第一时刻的第一位置信息的方式相同,即模拟沙盘及第二图像均包含第二参照物;先从第二图像中获取第二参照物的像素位置及机器人的第二像素位置,以及从 模拟沙盘上获取第二参照物的模拟位置;并基于第二参照物的像素位置及第二参照物的模拟位置计算获取第二投影关系;然后通过第二投影关系及所述机器人的第二像素位置计算得出机器人在所述模拟沙盘上的模拟位置;进而利用机器人在模拟沙盘的模拟位置确定机器人在第二时刻的第一预估位置信息。具体请参见图3,在此不再赘述。
步骤S15:通过第一预估位置信息及第二预估位置信息得到机器人在第二时刻的第二位置信息。
在一实施例中,可以利用卡尔曼滤波的方式对第一预估位置信息及第二预估位置信息进行加权平均,以得到机器人在第二时刻的第二位置信息。
在另一实施例中,还可以通过均值统计法,高斯混合模型(Gaussian Mixture Model,GMM),对第一预估位置信息及所述第二预估位置信息进行融合,进而得到第二位置信息。
本公开实施例所示的定位方法中,可以使用卡尔曼滤波的方式对第一预估位置信息及第二预估位置信息进行加权平均,进而得到机器人在第二时刻的第二位置信息。这里,由于视觉定位系统获取到的第一预估位置信息已知,动力学系统获取到的第二预估位置信息已知,因此,可以先对第一预估位置信息与第二预估位置进行状态预测,得到协方差预测结果,然后对协方差预测结果进行更新,得到更新后的协方差,进而通过更新后的协方差得到第二位置信息。
本发明通过在分立时间上的演化,可以得到不同时间节点上扩展卡尔曼滤波的位置估计。
可见,本公开实施例通过将视觉定位系统与动力学定位系统相结合,并进行定位结果融合进而得到精度较高的机器人的定位结果。请参见图5,为本公开实施例提出的机器人的定位方法的原理示意图,视觉定位系统的定位过程主要包括:(1)摄像头读取图像;(2)检测器YOLO-tiny进行车辆检测,即在图像中进行车辆,也就是机器人的检测,得到机器人所在图像中的区域坐标;(3)Mobilenet进行角度计算;即提取机器人所在区域图像,传入姿态预估模块,实现姿态预估;(4)平面视觉定位,即利用标定参数将图像中的姿态和坐标映射回现实坐标。另一方面,动力学定位系统的定位过程主要包括:(1)获取车辆编码器与舵机信息;即基于该信息得到机器人的历史移动参数以及当前移动参数,也就是机器人的行走信息;(2)通过车辆动力学模型估计位置;即通过模型基于历史移动参数和当前移动参数估计出机器人当前的位置信息。接着,对通过视频定位系统获得的结果与通过动力学系统获得的结果通过扩展卡尔曼滤波进行融合,进而实现机器人的准确定位。
本公开实施例提供的机器人定位方法,一方面利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;另一方面利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;进而通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。该定位方式采用多端融合的方式,不仅提高了全局定位的精度、降低了硬件成本,而且系统的容易部署。并且在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
请参见图6,为本公开机器人定位装置的一实施例的结构示意图,包括:第一位置获取部分41、参数获取部分42、第二位置获取部分43及校准部分44。
其中,第一位置获取部分41配置为获取到机器人在第一时刻的第一位置信息,及第一位置获取部分41还配置为获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在第二时刻的第一预估位置信息。
在一些实施例中,在进行机器人定位时,可以直接利用定位系统获取到机器人在第一时刻的第一位置信息,以及机器人在第二时刻的第一预估位置信息,定位系统可以为GPS 定位系统。
在一些实施例中,还可以通过摄像装置如摄像头获取机器人在第一时刻的第一图像。其中,机器人为能够移动的机械设备或机器人定位设备,例如叉车、机械小车等。
在一些实施例中,摄像头内可以集成有定时器,在定时器的定时时间到达第一时刻时,摄像头对机器人进行拍照,以获取到第一图像。其中,摄像头的位置可以固定,也可以不固定;摄像头的拍摄角度可以固定,也可以不固定;这里,摄像头可以安装在某一位置且不可旋转,即其拍摄范围固定;摄像头还可以安装在某一位置且可旋转,即其反射范围可变;当然摄像头还可以安装在可移动的设备上,本公开对摄像头的位置和拍摄范围不做限定,其只要能够拍摄到机器人即可。
在一些实施例中,第一位置获取部分41还配置为获取所述机器人在所述第一时刻的第一图像;基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
在一些实施例中,可以将摄像头获取的第一图像上传至机器人定位设备,例如机器人定位设备与摄像头通信连接,在摄像头获取到第一图像后,通过通信连接将第一图像发送至机器人定位设备,在另一实施例中,还可以将摄像头获取的第一图像保存至存储卡中,再上传至机器人定位设备中,具体不做限定,只要能够使得机器人定位设备获取到第一图像即可。
在一些实施例中,第一位置获取部分41还配置为获取模拟沙盘上的第一参照物,通过建立模拟沙盘的方式确定机器人的第一位置信息,可以理解的,建立的模拟沙盘即为机器人所在空间的模拟设计图。确定第一图像中第一参照物的像素位置及机器人的第一像素位置。
在一些实施例中,可以利用第一深度学习网络对第一图像进行识别,进而确定出第一图像中个第一参照物的像素位置,以及机器人的第一像素位置。
在一些实施例中,第一深度学习网络可以是一个集成了具有定位功能的深度学习网络的模型,将第一图像输入至该模型中,该模型对第一图像进行识别,进而获得第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置。
这里,利用第一深度学习网络对第一图像进行检测以确定第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置,其可行的第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构RetinaNet网络结构等。
考虑到成本与位置坐标检测的准确性,可以通过Yolo深度网络结构进行位置坐标的检测;其中,可以用Yolo深度网络结构中的Yolo-tiny深度网络结构进行检测。
Yolo深度网络结构中,其算法的思路是将全图分为一些方格,在单元格中预测中心落在格子内物体的一些可能的边界框,并给出置信度,这样算法一步就可以得到物体检测框的结果,相比两阶段的Faster-RCNN系列算法速度更快。由于应用场景中需要检测的物体外形、颜色相对固定,这种快速算法配合小网络结构的检测准确率较高,同时对计算资源的占用较小,可以在移动端运算速度较慢的CPU,如树莓派上达到所需的实时检测的效果,所需成本更低。
在一些实施例中,需要通过对第一参照物的像素位置的确定来获取第一参照物的模拟位置,并利用第一参照物的像素位置及第一参照物在模拟沙盘的模拟位置计算得到第一投影关系。
在一些实施例中,第一位置获取部分41还配置为获取模拟沙盘上的所述第二参照物。确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置。确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置。利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系。基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置。利用所 述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
本公开实施例通过建立模拟沙盘,以模拟沙盘上存在的物体作为参照物进行第一投影关系的计算,其不需要在沙盘上额外设置标记物,简化了操作;且其通过深度学习识别机器人在第一图像上的像素位置,并结合第一投影关系以确定出机器人在模拟沙盘上的模拟位置,进而确定出机器人在第一时刻的第一位置信息。这一机器人的定位过程简化了操作,降低了成本,大幅度提升了用户体验。
在一些实施例中,第一位置获取部分41还配置为在获取机器人在第一时刻的第一位置信息时,还需要检测机器人的朝向,即检测机器人的角度。这里可以通过角度姿态预估模型检测机器人的朝向。
其中,先利用第一深度学习网络对第一图像进行识别,进而在第一图像中获取到机器人的所在位置,然后提取出机器人的所在位置的区域图像,并将提取到的区域图像输入至角度预估模型,通过该角度预估模型对机器人的角度进行检测,从而得到机器人的朝向,这里,在获取到机器人的朝向后,便可知道机器人从第一时刻至第二时刻内的移动方向。
在一些实施例中,角度预估模型中可以集成有第二深度学习网络,利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向。其中,第二深度学习网络可以为相关技术中用于数值回归的卷积神经网络结构,例如,ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构等。
在一些实施例中,参数获取部分42配置为采集所述机器人自第一时刻到第二时刻的过程中的移动参数。其中,先在第一时刻获取机器人的历史移动参数。
由于机器人在移动时,机器人内部的编码器会记录机器人的行走距离,并且机器人的历史行走距离会在舵机中反应。因此,在第一时刻,机器人定位设备通过机器人的编码器及舵机记录机器人的历史行走信息,即历史移动参数。这里,可以在拍摄机器人的第一图像的同时获取机器人的历史移动参数。
接着,继续在第二时刻获取机器人的当前移动参数。其中,在到达第二时刻时,机器人定位设备可以再次读取机器人的编码器及舵机信息,以得到机器人的当前移动参数。
其中,历史移动参数包括机器人的历史移动距离,例如可以为机器人的轮子的历史转动圈数等,当前移动参数可以为机器人在第二时刻时的轮子的转动圈数。通过历史移动参数及当前移动参数计算获取机器人的自第一时刻到第二时刻的过程中的移动参数。这里,假设机器人在第一时刻的历史移动参数为100米,在第二时刻检测到的当前移动参数为101米,则可求得机器人在第一时刻到第二时刻共移动了1米。或者,在另一实施例中,假设机器人在第一时刻的历史移动参数为轮子的历史转动圈数为200圈,在第二时刻的当前移动参数为轮子的转动圈数为250圈,即可知,机器人从第一时刻到第二时刻转动了50圈,即可通过轮子的直径等计算得出机器人在第一时刻到第二时刻共移动的距离。
第二位置获取部分43配置为基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息。这里,在已知机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息的情况下,可以在第一位置信息的基础上结合移动距离及朝向,即可以通过动力学系统计算得出机器人在第二时刻的第二预估位置信息。
在一些实施例中,为了实时检测机器人的位置信息,第一时刻到第二时刻间隔很短,例如间隔时刻可以为1s。在另一实施例中,在机器人从第一时刻到第二时刻的过程中,方向发生变化的情况下,在第一时刻到第二时刻的过程中连续对机器人进行拍照,并基于拍摄的图像检测机器人的朝向。其中,在对机器人进行拍照时,可以同时检测机器人的移动距离,以此可以在机器人的朝向发生改变的情况下,实时记录每一方向的移动距离。
可以理解的是,为了精确的获取到的机器人的位置,可以将第一时刻到第二时刻的间 隔时刻设置越短越好,从而可以认为第一时刻到第二时刻的过程中,机器人的方向不会发生改变。
在一些实施例中,机器人所在场地可以设置至少一个摄像头,且摄像头与机器人定位设备建立连接,机器人定位设备或摄像头内设置有定时器,第一时刻到第二时刻的间隔时刻设置为定时器的定时时刻。在到达定时时刻,摄像头获取机器人的图像和机器人的移动参数,并将图像传输至机器人定位设备,机器人定位设备利用视觉系统通过上述图3所示的方式获得机器人在第二时刻的第一预估位置信息,并利用动力学系统结合机器人的初始位置信息(即第一位置信息)、机器人的朝向及移动参数计算求得机器人在第二时刻的第二预估位置信息。
校准部分44配置为通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。在本公开的一些实施例中,可以利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,进而得到所述机器人在所述第二时刻的第二位置信息。
在另一些实施例中,还可以通过均值统计法,高斯混合模型(GMM),对第一预估位置信息及所述第二预估位置信息进行融合,进而得到第二位置信息。
本公开实施例提供的机器人定位方法,其一方面利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;另一方面利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;进而通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。该定位方式采用多端融合的方式,不仅提高了全局定位的精度,降低了硬件成本,而且系统的容易部署。并且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
请参见图7,为本公开实施例提出的机器人定位设备的一实施例的结构示意图。包括相互连接的存储器52和处理器51。
存储器52用于存储实现上述任意一项的机器人定位方法的程序指令。
处理器51用于执行存储器52存储的程序指令。
其中,处理器51还可以称为CPU。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(Digital Signal Processing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以为内存条、TF卡等,可以存储机器人定位设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,机器人定位设备才有记忆功能,才能保证正常工作。机器人定位设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
本公开实施例提供了一种计算机程序,包括计算机可读代码,在所述计算机可读代码在机器人定位设备中运行,被所述机器人定位设备中的处理器执行的情况下,实现上述的机器人定位方法。
在本公开所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它 的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本公开各个实施方式方法的全部或部分步骤。
请参阅图8,为本公开实施例提出的计算机可读存储介质的结构示意图。本公开的存储介质存储有能够实现上述所有机器人定位方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本公开各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本公开的实施方式,并非因此限制本公开的专利范围,凡是利用本公开说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的专利保护范围内。
工业实用性
本公开实施例中,获取到机器人在第一时刻的第一位置信息,获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人再第二时刻的第一预估位置信息;采集所述机器人自第一时刻到第二时刻的过程中的移动参数;基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。其通过将将两种不同方式获取的机器人的定位结果进行融合,以得到精确的位置信息,有效提高了定位精度。

Claims (23)

  1. 一种机器人的定位方法,所述方法包括:
    获取到机器人在第一时刻的第一位置信息;
    获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息;
    采集所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数;
    基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;
    通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
  2. 根据权利要求1所述的定位方法,其中,所述获取到机器人在第一时刻的第一位置信息包括:
    获取所述机器人在所述第一时刻的第一图像;
    基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
  3. 根据权利要求2所述的定位方法,其中,所述第一图像包括第一参照物,所述基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息包括:
    获取模拟沙盘上的所述第一参照物;
    确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;
    确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;
    利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;
    基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;
    利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在所述第一时刻的所述第一位置信息。
  4. 根据权利要求1所述的定位方法,其中,所述第二图像包含第二参照物;所述基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息包括:
    获取模拟沙盘上的所述第二参照物;
    确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;
    确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置;
    利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;
    基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;
    利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在所述第二时刻的所述第一预估位置信息。
  5. 根据权利要求4所述的定位方法,其中,所述确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置包括:
    利用第一深度学习网络对所述第二图像进行识别,确定出所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;
    其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
  6. 根据权利要求2所述的定位方法,其中,所述获取所述机器人在所述第一时刻的第一图像之后,所述方法还包括:
    基于所述第一图像获取所述机器人在所述第一时刻的朝向。
  7. 根据权利要求6所述的定位方法,其中,所述基于所述第一图像获取所述机器人在所述第一时刻的朝向包括:
    利用第二深度学习网络对所述机器人所在的区域图像进行识别,确认出所述机器人的朝向;
    其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。
  8. 根据权利要求6所述的定位方法,其中,所述定位方法还包括:
    在所述第一时刻获取所述机器人的历史移动参数;
    采集所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数包括:
    在所述第二时刻获取所述机器人的当前移动参数;
    通过所述历史移动参数及所述当前移动参数计算获取所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数。
  9. 根据权利要求6所述的定位方法,其中,所述基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息包括:
    通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。
  10. 根据权利要求1所述的定位方法,其中,所述通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息包括:
    利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,得到所述机器人在所述第二时刻的所述第二位置信息。
  11. 一种机器人定位装置,所述装置包括:
    第一位置获取部分,配置为获取到机器人在第一时刻的第一位置信息,及获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息;
    参数获取部分,配置为采集所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数;
    第二位置获取部分,配置为基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;
    校准部分,配置为通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
  12. 根据权利要求11所述的机器人定位装置,其中,
    所述第一位置获取部分,具体配置为获取所述机器人在所述第一时刻的第一图像;以及基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
  13. 根据权利要求12所述的机器人定位装置,其中,所述第一图像包括第一参照物,
    所述第一位置获取部分,还具体配置为获取模拟沙盘上的所述第一参照物;以及确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;以及确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;以及利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;以及基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;以及利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在所述第一时刻的所述第一位置信息。
  14. 根据权利要求11所述的机器人定位装置,其中,所述第二图像包含第二参照物,
    所述第一位置获取部分,还具体配置为获取模拟沙盘上的所述第二参照物;以及确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;以及确定在第 二时刻所述第二参照物在所述模拟沙盘的模拟位置;以及利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;以及基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;以及利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在所述第二时刻的所述第一预估位置信息。
  15. 根据权利要求14所述的机器人定位装置,其中,
    所述第一位置获取部分,还具体配置为利用第一深度学习网络对所述第二图像进行识别,确定出所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
  16. 根据权利要求11所述的机器人定位装置,其中,
    所述第一位置获取部分,还具体配置为在获取所述机器人在所述第一时刻的第一图像之后,基于所述第一图像获取所述机器人在所述第一时刻的朝向。
  17. 根据权利要求16所述的机器人定位装置,其中,
    所述第一位置获取部分,还具体配置为利用第二深度学习网络对所述机器人所在的区域图像进行识别,确认出所述机器人的朝向;其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。
  18. 根据权利要求16所述的机器人定位装置,其中,
    所述参数获取部分,具体配置为在所述第一时刻获取所述机器人的历史移动参数;以及采集所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数包括:以及在所述第二时刻获取所述机器人的当前移动参数;以及通过所述历史移动参数及所述当前移动参数计算获取所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数。
  19. 根据权利要求16所述的机器人定位装置,其中,
    所述第二位置获取部分,具体配置为通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。
  20. 根据权利要求11所述的机器人定位装置,其中,
    所述校准部分,具体配置为通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
  21. 一种机器人定位设备,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行如权利要求1至10任一项所述的机器人定位方法。
  22. 一种计算机可读存储介质,存储有程序文件,所述程序文件能够被执行以实现如权利要求1至10任一项所述的机器人定位方法。
  23. 一种计算机程序,包括计算机可读代码,在所述计算机可读代码在机器人定位设备中运行,被所述机器人定位设备中的处理器执行的情况下,实现权利要求1至10任一项所述的机器人定位方法。
PCT/CN2021/085942 2020-10-26 2021-04-08 一种机器人的定位方法及装置、设备、存储介质 WO2022088613A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020217038571A KR20220058846A (ko) 2020-10-26 2021-04-08 로봇 포지셔닝 방법 및 장치, 기기, 저장 매체
JP2021566028A JP2023503750A (ja) 2020-10-26 2021-04-08 ロボットの位置決め方法及び装置、機器、記憶媒体

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202011157118.7 2020-10-26
CN202011157118.7A CN112405526A (zh) 2020-10-26 2020-10-26 一种机器人的定位方法及装置、设备、存储介质

Publications (1)

Publication Number Publication Date
WO2022088613A1 true WO2022088613A1 (zh) 2022-05-05

Family

ID=74840550

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2021/085942 WO2022088613A1 (zh) 2020-10-26 2021-04-08 一种机器人的定位方法及装置、设备、存储介质

Country Status (4)

Country Link
JP (1) JP2023503750A (zh)
KR (1) KR20220058846A (zh)
CN (1) CN112405526A (zh)
WO (1) WO2022088613A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405526A (zh) * 2020-10-26 2021-02-26 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质
CN113473357B (zh) * 2021-06-15 2024-05-28 深圳优地科技有限公司 辅助定位方法、装置、设备和存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103438904A (zh) * 2013-08-29 2013-12-11 深圳市宇恒互动科技开发有限公司 一种使用视觉辅助校正的惯性定位方法及系统
US20150005987A1 (en) * 2011-03-31 2015-01-01 King Abdulaziz City for Science & Technology Matrix code symbols for accurate robot tracking
CN105698784A (zh) * 2016-03-22 2016-06-22 成都电科创品机器人科技有限公司 一种室内机器人定位系统及方法
CN111319041A (zh) * 2020-01-17 2020-06-23 深圳市优必选科技股份有限公司 一种机器人位姿确定方法、装置、可读存储介质及机器人
CN112405526A (zh) * 2020-10-26 2021-02-26 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102172602B1 (ko) * 2017-10-23 2020-11-02 주식회사 유진로봇 라이다를 이용한 위치 인식 및 지도 작성에 관한 방법 및 장치
CN106871904A (zh) * 2017-03-02 2017-06-20 南阳师范学院 一种基于机器视觉的移动机器人码盘定位修正方法
CN109959381B (zh) * 2017-12-22 2021-06-04 深圳市优必选科技有限公司 一种定位方法、装置、机器人及计算机可读存储介质
CN108481327B (zh) * 2018-05-31 2023-11-07 珠海一微半导体股份有限公司 一种增强视觉的定位装置、定位方法及机器人
US10373322B1 (en) * 2018-07-16 2019-08-06 Accel Robotics Corporation Autonomous store system that analyzes camera images to track people and their interactions with items
CN110712187A (zh) * 2019-09-11 2020-01-21 珠海市众创芯慧科技有限公司 一种基于多传感技术融合一体的智能行走机器人
CN110530372B (zh) * 2019-09-26 2021-06-22 上海商汤智能科技有限公司 定位方法、路径确定方法、装置、机器人及存储介质
CN110774319B (zh) * 2019-10-31 2021-07-23 深圳市优必选科技股份有限公司 一种机器人及其定位方法和装置
CN110977985B (zh) * 2019-12-23 2021-10-01 中国银联股份有限公司 一种定位的方法及装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150005987A1 (en) * 2011-03-31 2015-01-01 King Abdulaziz City for Science & Technology Matrix code symbols for accurate robot tracking
CN103438904A (zh) * 2013-08-29 2013-12-11 深圳市宇恒互动科技开发有限公司 一种使用视觉辅助校正的惯性定位方法及系统
CN105698784A (zh) * 2016-03-22 2016-06-22 成都电科创品机器人科技有限公司 一种室内机器人定位系统及方法
CN111319041A (zh) * 2020-01-17 2020-06-23 深圳市优必选科技股份有限公司 一种机器人位姿确定方法、装置、可读存储介质及机器人
CN112405526A (zh) * 2020-10-26 2021-02-26 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质

Also Published As

Publication number Publication date
KR20220058846A (ko) 2022-05-10
CN112405526A (zh) 2021-02-26
JP2023503750A (ja) 2023-02-01

Similar Documents

Publication Publication Date Title
CN112894832B (zh) 三维建模方法、装置、电子设备和存储介质
CN108955718B (zh) 一种视觉里程计及其定位方法、机器人以及存储介质
CN109598765B (zh) 基于球形标定物的单目相机与毫米波雷达外参联合标定方法
CN109559349B (zh) 一种用于标定的方法和装置
CN110176032B (zh) 一种三维重建方法及装置
JP7247186B2 (ja) 室内位置決め方法、室内位置決めシステム、室内位置決めデバイスおよびコンピュータ読み取り可能媒体
CN111199564A (zh) 智能移动终端的室内定位方法、装置与电子设备
CN111121754A (zh) 移动机器人定位导航方法、装置、移动机器人及存储介质
KR20180044279A (ko) 깊이 맵 샘플링을 위한 시스템 및 방법
CN110470333B (zh) 传感器参数的标定方法及装置、存储介质和电子装置
CN110501036A (zh) 传感器参数的标定检查方法及装置
CN110073362A (zh) 用于车道标记检测的系统及方法
WO2022088613A1 (zh) 一种机器人的定位方法及装置、设备、存储介质
US10902610B2 (en) Moving object controller, landmark, and moving object control method
CN113870379A (zh) 地图生成方法、装置、电子设备及计算机可读存储介质
CN112348909A (zh) 一种目标定位方法、装置、设备及存储介质
CN112562005A (zh) 一种空间标定方法和系统
CN112348887A (zh) 终端位姿确定方法以及相关装置
WO2023087758A1 (zh) 定位方法、定位装置、计算机可读存储介质和计算机程序产品
CN115830142A (zh) 相机标定和相机的目标检测与定位方法、装置及电子设备
WO2016187752A1 (zh) 一种测量天线姿态的方法和装置
TW202247108A (zh) 視覺定位方法、設備及電腦可讀儲存媒體
CN114092668A (zh) 虚实融合方法、装置、设备及存储介质
CN115578432B (zh) 图像处理方法、装置、电子设备及存储介质
CN114882115B (zh) 车辆位姿的预测方法和装置、电子设备和存储介质

Legal Events

Date Code Title Description
ENP Entry into the national phase

Ref document number: 2021566028

Country of ref document: JP

Kind code of ref document: A

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

Ref document number: 21884357

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 21884357

Country of ref document: EP

Kind code of ref document: A1