CN115191213A - Robot positioning method, robot positioning device, mowing robot and storage medium - Google Patents

Robot positioning method, robot positioning device, mowing robot and storage medium Download PDF

Info

Publication number
CN115191213A
CN115191213A CN202210862359.4A CN202210862359A CN115191213A CN 115191213 A CN115191213 A CN 115191213A CN 202210862359 A CN202210862359 A CN 202210862359A CN 115191213 A CN115191213 A CN 115191213A
Authority
CN
China
Prior art keywords
initial
acquisition
pose
map
graphic code
Prior art date
Legal status (The legal status 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 status listed.)
Pending
Application number
CN202210862359.4A
Other languages
Chinese (zh)
Inventor
罗元泰
魏基栋
韩明名
邱朦文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Songling Robot Chengdu Co ltd
Agilex Robotics Shenzhen Lt
Original Assignee
Songling Robot Chengdu Co ltd
Agilex Robotics Shenzhen Lt
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 Songling Robot Chengdu Co ltd, Agilex Robotics Shenzhen Lt filed Critical Songling Robot Chengdu Co ltd
Priority to CN202210862359.4A priority Critical patent/CN115191213A/en
Publication of CN115191213A publication Critical patent/CN115191213A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A01AGRICULTURE; FORESTRY; ANIMAL HUSBANDRY; HUNTING; TRAPPING; FISHING
    • A01DHARVESTING; MOWING
    • A01D34/00Mowers; Mowing apparatus of harvesters
    • A01D34/006Control or measuring arrangements
    • A01D34/008Control or measuring arrangements for automated or remotely controlled operation

Landscapes

  • Life Sciences & Earth Sciences (AREA)
  • Environmental Sciences (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

The embodiment of the application discloses a robot positioning method, a robot positioning device, a mowing robot and a storage medium, wherein the robot positioning device comprises: acquiring an initial map containing a plurality of initial points, wherein the initial map is generated according to graphic codes acquired by a mowing robot, and each initial point corresponds to one graphic code; controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, wherein the acquisition data comprises a plurality of acquisition points and acquisition pose information corresponding to each acquisition point; and constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map so as to position the mowing robot according to the target map.

Description

Robot positioning method, robot positioning device, mowing robot and storage medium
Technical Field
The application relates to the technical field of computers, in particular to a robot positioning method and device, a mowing robot and a storage medium.
Background
The mowing robot is widely applied to maintenance of home courtyard lawns and trimming of large lawns. The mowing robot integrates technologies such as motion control, multi-sensor fusion and path planning. In order to control the mowing robot to perform mowing operation, a mowing path of the mowing robot needs to be planned so as to completely cover all working areas.
At present, the problem of positioning And environment Mapping of a mowing robot is often solved by adopting a Simultaneous Localization And Mapping (SLAM) technology, the SLAM technology can estimate position information in the surrounding environment according to position And attitude information of the mowing robot in a world coordinate system, and however, when the mowing robot is located And has the problems that buildings, trees block satellite signals, radio interference And the like, the positioning accuracy of the mowing robot is reduced.
Disclosure of Invention
The embodiment of the application provides a robot positioning method and device, a mowing robot and a storage medium, and the positioning precision of the mowing robot can be improved.
In a first aspect, an embodiment of the present application provides a robot positioning method, including:
acquiring an initial map containing a plurality of initial points, wherein the initial map is generated according to graphic codes acquired by a mowing robot, and each initial point corresponds to one graphic code;
controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, wherein the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point;
and constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map so as to position the mowing robot according to the target map.
Optionally, in some embodiments, the constructing a target map according to the graphic code identifier corresponding to the acquisition point, the acquisition pose information, and the initial map includes:
acquiring initial pose information corresponding to the graphic code identification according to the graphic code identification corresponding to the acquisition point;
and constructing a target map according to the initial pose information, the collected pose information and the initial map.
Optionally, in some embodiments, the constructing a target map according to the initial pose information, the collected pose information, and the initial map includes:
extracting a first initial pose corresponding to the graphic code and a second initial pose corresponding to the mowing robot from the initial pose information;
extracting a first acquisition pose corresponding to the graphic code and a second acquisition pose corresponding to the mowing robot from the acquisition pose information;
estimating the current pose of the mowing robot based on the first initial pose, the second initial pose and the first acquisition pose;
and calculating a pose error between the second acquisition pose and the current pose, and constructing a target map according to the pose error.
Optionally, in some embodiments, estimating the current pose of the lawn mowing robot based on the first initial pose, the second initial pose, and the first captured pose includes:
determining the camera coordinate when the graphic code is acquired, and;
determining world coordinates corresponding to the mowing robot;
and estimating the current pose of the mowing robot according to the transformation external parameter between the camera coordinate and the world coordinate, the first initial pose, the second initial pose and the first acquisition pose.
Optionally, in some embodiments, the constructing the object map according to the pose error comprises:
performing nonlinear optimization on the attitude error;
and updating the initial map according to the optimized pose error to obtain a target map.
Optionally, in some embodiments, before the obtaining the initial map including the plurality of initial points, the method further includes:
setting a plurality of graphic codes in a preset mowing area;
controlling the mowing robot to collect graphic codes in a visual field range to obtain initial points corresponding to the graphic codes;
and binding the initial point and the pose corresponding to the graphic code into map node information, and generating an initial map based on the map node information.
Optionally, in some embodiments, the controlling the mowing robot to acquire the graphic codes within the visual field range, and obtaining an initial point corresponding to each of the graphic codes includes:
controlling the mowing robot to recognize the graphic code in the visual field range;
and extracting the pose information and the graphic code identification of the graphic code in a camera coordinate system, and marking the identified graphic code as an effective graphic code.
In a second aspect, an embodiment of the present application provides a robot positioning device, including:
the system comprises an acquisition module, a display module and a control module, wherein the acquisition module is used for acquiring an initial map containing a plurality of initial points, the initial map is generated according to graphic codes acquired by a mowing robot, and each initial point corresponds to one graphic code;
the acquisition module is used for controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, and the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point;
the construction module is used for constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map;
and the positioning module is used for positioning the mowing robot according to the target map.
According to the method and the device for positioning the mowing robot, after an initial map containing a plurality of initial points is obtained, the initial map is generated according to a graphic code acquired by the mowing robot, each initial point corresponds to one graphic code, the mowing robot is controlled to execute a graphic code acquisition operation in the initial map, acquisition data corresponding to the graphic code acquisition operation are obtained, the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point, finally, a target map is constructed according to a graphic code identifier corresponding to the acquisition points, the acquisition pose information and the initial map, the mowing robot is positioned according to the target map, in the robot positioning scheme provided by the application, the initial map is generated in advance according to the graphic code acquired by the mowing robot, the mowing robot is controlled to execute the graphic code acquisition operation in the initial map, and finally, a high-precision graphic code identifier corresponding to the acquisition points, the acquisition pose information and the initial map are constructed, so that the mowing robot can be positioned according to the target map.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the description of the embodiments are briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1a is a schematic view of a scene of a robot positioning method according to an embodiment of the present application;
fig. 1b is a schematic flowchart of a robot positioning method according to an embodiment of the present application;
FIG. 2 is a schematic structural diagram of a robot positioning device according to an embodiment of the present disclosure;
fig. 3 is a schematic structural diagram of an electronic device provided in an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present application will be described clearly and completely with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only some embodiments of the present application, and not all embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
It will be understood that when an element is referred to as being "secured to" or "disposed on" another element, it can be directly on the other element or be indirectly on the other element. When an element is referred to as being "connected to" another element, it can be directly connected to the other element or be indirectly connected to the other element. In addition, the connection may be for either a fixing function or a circuit connection function.
It is to be understood that the terms "length," "width," "upper," "lower," "front," "rear," "left," "right," "vertical," "horizontal," "top," "bottom," "inner," "outer," and the like are used in an orientation or positional relationship indicated in the drawings for convenience in describing the embodiments of the present invention and to simplify the description, and are not intended to indicate or imply that the referenced device or element must have a particular orientation, be constructed in a particular orientation, and be in any way limiting of the present invention.
Furthermore, the terms "first", "second" and "first" are used for descriptive purposes only and are not to be construed as indicating or implying relative importance or to implicitly indicate the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include one or more of that feature. In the description of the embodiments of the present application, "a plurality" means two or more unless specifically defined otherwise.
The embodiment of the application provides a robot positioning method and device, a mowing robot and a storage medium.
The robot positioning device may be integrated in a Micro Controller Unit (MCU) of the mowing robot, or may be integrated in an intelligent terminal or a server, the MCU is also called a Single Chip Microcomputer (Single Chip Microcomputer) or a Single Chip Microcomputer (Single Chip Microcomputer), and is configured to appropriately reduce the frequency and specification of a Central Processing Unit (CPU), and form a Chip-level computer by using peripheral interfaces such as a memory, a counter (Timer), a USB, an analog-to-digital conversion/digital-to-analog conversion, a UART, a PLC, and a DMA, so as to perform different combination controls for different application occasions. The robot of mowing can walk voluntarily, and the collision prevention returns automatically within the scope and charges, possesses safety inspection and battery power detection, possesses certain climbing ability, is particularly suitable for places such as family's courtyard, public greenery patches to carry out the lawn mowing maintenance, and its characteristics are: automatic mowing, cleaning grass scraps, automatic rain sheltering, automatic charging, automatic obstacle sheltering, small and exquisite appearance, electronic virtual fence, network control and the like.
The terminal may be, but is not limited to, a smart phone, a tablet computer, a notebook computer, a desktop computer, a smart watch, and the like. The terminal and the server may be directly or indirectly connected through a wired or wireless communication manner, the server may be an independent physical server, may also be a server cluster or a distributed system formed by a plurality of physical servers, and may also be a cloud server that provides basic cloud computing services such as a cloud service, a cloud database, cloud computing, a cloud function, cloud storage, a network service, cloud communication, middleware service, a domain name service, a security service, a CDN, and a big data and artificial intelligence platform, which is not limited herein.
For example, referring to fig. 1a, the present application provides a mowing system, which includes a mowing robot 10, a server 20 and a user device 30, which are in communication connection with each other, wherein the mowing robot 10 is installed with a vision sensor P, and the vision sensor P is located behind an ultrasonic sensor, so that the ultrasonic sensor is prevented from being shielded, and the obstacle avoidance function of the following mowing robot 10 is prevented from being affected. The user may control the mowing robot 10 to move through the user device 30 in advance, set a mowing area based on a moving track, and synchronize data corresponding to the mowing area to the mowing robot 10 and the server 20. In addition, in the mowing area, a plurality of graphic codes can be preset, after the graphic codes are set, the mowing robot is controlled to collect the set positions, postures and graphic code identifications of the graphic codes, then the mowing robot 10 is controlled to execute graphic code collection operation in an initial map, and finally, a target map is constructed according to the graphic code identifications corresponding to the collection points, the collected pose information and the initial map so as to position the mowing robot 10 according to the target map.
According to the robot positioning scheme, an initial map is generated in advance according to the graphic code acquired by the mowing robot, the mowing robot is controlled to execute graphic code acquisition operation in the initial map, and finally, a high-precision target map is constructed according to the graphic code identification, the acquisition pose information and the initial map corresponding to the acquisition point, so that the mowing robot can be positioned according to the target map in the following process, and therefore the positioning precision of the mowing robot can be improved.
The following are detailed below. It should be noted that the description sequence of the following embodiments is not intended to limit the priority sequence of the embodiments.
A robot positioning method, comprising: the method comprises the steps of obtaining an initial map containing a plurality of initial points, controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, and constructing a target map according to graphic code identification, acquisition pose information and the initial map corresponding to the acquisition points so as to position the mowing robot according to the target map.
Referring to fig. 1b, fig. 1b is a schematic flowchart illustrating a robot positioning method according to an embodiment of the present disclosure. The specific flow of the robot positioning method can be as follows:
101. an initial map is obtained that includes a plurality of initial points.
The system comprises an initial map, a mowing robot, a data symbol information acquisition unit and a data symbol information acquisition unit, wherein the initial map is generated according to graphic codes acquired by the mowing robot, each initial point corresponds to one graphic code, and the graphic codes are graphs which are distributed in a preset area by using a certain specific geometric figure according to a certain rule, alternate in black and white and record data symbol information; the concept of "0" and "1" bit stream which forms the internal logic base of computer is used ingeniously in coding, and several geometric forms correspondent to binary system are used to represent literal numerical value information, and can be automatically read by means of image input equipment or photoelectric scanning equipment so as to implement automatic information processing. The graphic code may be aprilat two-dimensional code, arUco two-dimensional code, ARTag two-dimensional code, or TopoTag two-dimensional code, and optionally, in some embodiments, the graphic code of the present application is aprilat two-dimensional code, and aprilat two-dimensional code has good robustness to rotation, illumination, and blur, and thus is widely applied to the fields of target tracking, augmented reality, and the like.
Optionally, in some embodiments, a plurality of AprilTag two-dimensional codes may be set in the mowing area in advance, and then the mowing robot is controlled to acquire the two-dimensional codes within the visual field range of the mowing robot, so as to generate an initial map, that is, the step "acquiring an initial map including a plurality of initial points" may specifically include:
(11) Setting a plurality of graphic codes in a preset mowing area;
(12) Controlling the mowing robot to collect graphic codes in a visual field range to obtain initial points corresponding to each graphic code;
(13) And binding the initial point and the pose corresponding to the graphic code to map node information, and generating an initial map based on the map node information.
For example, specifically, the position and the posture of the two-dimensional code under the current camera coordinate system can be recognized by adopting a mature apriltag two-dimensional code recognition technology, and the specific principle is as follows:
1. detecting line segments
Calculating the gradient magnitude and direction at each pixel;
clustering the pixels into a component with similar gradient direction and magnitude by using a clustering algorithm;
fitting the components into a line segment by using a weighted least square method, wherein the weight of each point is the strength of the gradient of the point;
2. detecting rectangle (depth-based priority search)
The depth is 1: consider all line segments;
the depth is 2-4: consider a segment close enough to the end of the last segment, and a segment from the counterclockwise direction.
3. Homography transformation and extrinsic parameter estimation
Due to the relationship between world coordinates and image coordinates, they can be linked together by a homography H (homography), as follows:
Figure BDA0003756325450000071
where s represents depth information, [ u, v,1 [ ]]Represents an image coordinate system, [ x ] w ,y w ,1] T Represents Z w A world coordinate system of =0, obtained by matrix-converting the matrix and removing the depth information s:
Figure BDA0003756325450000072
finally, a matrix solving problem with Ah =0 is generated, four point pairs are formed according to four corner points extracted from an image coordinate system of the AprilTag two-dimensional code and four point pairs assumed in a world coordinate system, and then the linear equation set is solved by adopting a direct linear method.
After the homography matrix H is obtained, the physical dimensions of the camera internal reference and AprilTag two-dimensional codes are also needed, based on which, a rotation matrix and a translation matrix which are converted from a world coordinate system to a camera coordinate system, i.e. an external reference matrix of the camera, are obtained by solving, and the solving process is not the key point of the application and is not repeated herein.
3. Decoding content
Two threshold models (above which a "1" is considered, and below which a "0" is considered) are established, one based on the spatial variation of the intensity of the "black" pixels, and one based on the spatial variation of the intensity of the "white" pixels:
I(x,y)=Ax+Bxy+Cy+D
the model has four parameters and can be solved by least squares regression. The final threshold size is obtained from the average of the two model predictions. And decoding the label according to different black and white color blocks to obtain different code patterns, comparing the code patterns obtained by decoding with a local code pattern library, eliminating the interference of other code patterns, and judging whether the two-dimensional code is a correct two-dimensional code.
4. Pose resolving
In this process, the position of the camera in the world coordinate system and the position of the two-dimensional code in the camera coordinate system may be estimated according to a rotation matrix and a translation matrix from the world coordinate system to the camera coordinate system, that is, optionally, in some embodiments, the step "controlling the mowing robot to collect the graphic codes within the field of view to obtain an initial point corresponding to each graphic code" may specifically include:
(21) Controlling the mowing robot to recognize the graphic code in the visual field range;
(22) And extracting the pose information and the graphic code identification of the graphic code in a camera coordinate system, and marking the identified graphic code as an effective graphic code.
102. And controlling the mowing robot to execute the graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation.
For convenience of description, a graphic code acquisition operation for generating an initial map is called as 1 st acquisition, a graphic code acquisition operation for controlling the mowing robot to execute in the initial map is called as nth acquisition, and n is an integer greater than 1, so that the error accumulated by the inertia detection unit is larger as the acquisition times are increased, namely the error corresponding to the nth acquisition operation is larger than that of the 1 st acquisition, and therefore, the data acquired by the n can be corrected by using the data acquired by the 1 st acquisition subsequently.
103. And constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map so as to position the mowing robot according to the target map.
When the mowing robot repeatedly moves to the effective two-dimensional code, the two-dimensional code identifier and the two-dimensional code relative pose corresponding to the current two-dimensional code can be extracted, the relative pose when the two-dimensional code is acquired by using the two-dimensional code identifier and the world coordinate pose corresponding to the mowing robot, and then, a target map is constructed according to the acquired pose and the initial map, that is, optionally, in some embodiments, the steps of "constructing the target map according to the graphic code identifier corresponding to the acquisition point, acquiring pose information and the initial map, and positioning the mowing robot according to the target map" may specifically include:
(31) Acquiring initial pose information corresponding to the graphic code identifier according to the graphic code identifier corresponding to the acquisition point;
(32) And constructing a target map according to the initial pose information, the collected pose information and the initial map.
For example, for the result of repeated observation of a single two-dimensional code, the current pose of the mowing robot can be estimated by using the relative pose of the two-dimensional code in the camera coordinate system and the pose of the mowing robot in the world coordinate system, and then a target map is constructed based on the current pose, that is, optionally, the step of "constructing the target map according to the initial pose information, the collected pose information and the initial map" may specifically include:
(41) Extracting a first initial pose corresponding to the graphic code and a second initial pose corresponding to the mowing robot from initial pose information;
(42) Extracting a first acquisition pose corresponding to the graphic code and a second acquisition pose corresponding to the mowing robot from the acquisition pose information;
(43) Estimating the current pose of the mowing robot based on the first initial pose, the second initial pose and the first acquisition pose;
(44) And calculating a pose error between the second acquisition pose and the current pose, and constructing a target map according to the pose error.
Specifically, a coordinate system transformation relationship may be established by transformation extrinsic parameters of the two-dimensional code between the relative pose of the camera coordinate system (the first initial pose and the first collected pose), the relative pose of the mowing robot under the world coordinate system (the second initial pose), and the center coordinate system of the camera coordinate system and the mowing robot, whereby the current pose of the mowing robot is estimated, and there is an error term between the current pose and the second collected pose, i.e., error term Terror = second collected pose — current pose, i.e., optionally, in some embodiments, the step "estimating the current pose of the mowing robot based on the first initial pose, the second initial pose, and the first collected pose" may specifically include:
(51) Determining a camera coordinate when the graphic code is acquired and determining a world coordinate corresponding to the mowing robot;
(52) And estimating the current pose of the mowing robot according to the transformed external parameters, the first initial pose, the second initial pose and the first acquisition pose between the camera coordinate and the world coordinate.
After obtaining a plurality of error terms, constructing a least square problem, and then performing nonlinear optimization on the error terms to construct a target map, that is, optionally, in some embodiments, the step "constructing a target map according to a pose error" may specifically include:
(61) Performing nonlinear optimization on the pose error;
(62) And updating the initial map according to the optimized pose error to obtain a target map.
The pose errors can be subjected to nonlinear optimization by adopting a nonlinear optimization algorithm or a nonlinear optimization library, for example, the pose errors can be subjected to nonlinear optimization by adopting a Gaussian Newton algorithm, and the pose errors can also be subjected to nonlinear optimization by adopting an LM algorithm; for another example, a ceres nonlinear optimization library is used to perform nonlinear optimization on the pose errors, which can be specifically selected according to actual situations.
It should be noted that, the pose error is optimized nonlinearly, and actually, the pose is optimized, so that the pose error is as small as possible, specifically, the pose can be optimized by using the coordinate function and the loss function in the ceres nonlinear optimization library to reduce the pose error, and finally, the initial map can be updated by using the space name of the nonlinear algorithm in the nonlinear optimization library, and the target map is finally obtained.
And after the target map is obtained, responding to the positioning operation aiming at the mowing robot, and positioning the mowing robot according to the target map, thereby completing the robot positioning process.
According to the method and the device, after an initial map containing a plurality of initial points is obtained, the initial map is generated according to graphic codes acquired by a mowing robot, each initial point corresponds to one graphic code, the mowing robot is controlled to execute graphic code acquisition operation in the initial map, acquisition data corresponding to the graphic code acquisition operation are obtained, the acquisition data comprise a plurality of acquisition points and acquisition position and attitude information corresponding to each acquisition point, finally, a target map is constructed according to the graphic code identification, the acquisition position and attitude information and the initial map corresponding to the acquisition points, the mowing robot is positioned according to the target map, in the robot positioning scheme provided by the application, the initial map is generated in advance according to the graphic codes acquired by the mowing robot, the robot is controlled to execute the graphic code acquisition operation in the initial map, and finally, a high-precision target map is constructed according to the graphic code identification, the acquisition position and attitude information and the initial map corresponding to the acquisition points, so that the mowing robot can be positioned according to the target map later, and therefore the positioning precision of the mowing robot can be improved.
Referring to fig. 2, fig. 2 is a schematic structural diagram of a robot positioning device according to an embodiment of the present disclosure, where the robot positioning device may include an obtaining module 201, an acquiring module 202, a constructing module 203, and a positioning module 204, which may specifically be as follows:
the obtaining module 201 is configured to obtain a preset mowing area.
The initial map is generated according to the graphic codes acquired by the mowing robot, and each initial point corresponds to one graphic code. Optionally, in some embodiments, a plurality of AprilTag two-dimensional codes may be set in the mowing area in advance, and then the mowing robot is controlled to acquire the two-dimensional codes within the visual field of the mowing robot, so as to generate an initial map, that is, optionally, in some embodiments, the obtaining module 201 may be specifically configured to: setting a plurality of graphic codes in a preset mowing area; controlling the mowing robot to collect graphic codes in a visual field range to obtain initial points corresponding to each graphic code; and binding the initial point and the pose corresponding to the graphic code to map node information, and generating an initial map based on the map node information.
And the acquisition module 202 is used for controlling the mowing robot to execute the graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation.
The acquisition data comprises a plurality of acquisition points and acquisition pose information corresponding to each acquisition point.
And the constructing module 203 is used for constructing a target map according to the graphic code identifier corresponding to the acquisition point, the acquisition pose information and the initial map.
When the mowing robot repeatedly moves to the effective two-dimensional code, the two-dimensional code identifier and the two-dimensional code relative pose corresponding to the current two-dimensional code can be extracted, the relative pose when the two-dimensional code is acquired by using the two-dimensional code identifier and the world coordinate pose corresponding to the mowing robot, and then, a target map is constructed according to the acquired pose and the initial map, that is, optionally, in some embodiments, the construction module 203 body may include:
the acquisition unit is used for acquiring initial pose information corresponding to the graphic code identifier according to the graphic code identifier corresponding to the acquisition point;
and the construction unit is used for constructing the target map according to the initial pose information, the collected pose information and the initial map.
Optionally, in some embodiments, the building unit may specifically include:
the extraction subunit is used for extracting a first initial pose corresponding to the graphic code and a second initial pose corresponding to the mowing robot from the initial pose information, and extracting a first acquisition pose corresponding to the graphic code and a second acquisition pose corresponding to the mowing robot from the acquired pose information;
the estimating subunit is used for estimating the current pose of the mowing robot based on the first initial pose, the second initial pose and the first acquisition pose;
the calculating subunit is used for calculating a pose error between the second acquisition pose and the current pose;
and the construction subunit is used for constructing the target map according to the pose error.
Optionally, in some embodiments, the predictor subunit may specifically be configured to: determining a camera coordinate when the graphic code is acquired, and determining a world coordinate corresponding to the mowing robot; and estimating the current pose of the mowing robot according to the transformation external parameter, the first initial pose, the second initial pose and the first acquisition pose between the camera coordinate and the world coordinate.
Optionally, in some embodiments, the building subunit may be specifically configured to: performing nonlinear optimization on the pose errors; and updating the initial map according to the optimized pose error to obtain a target map.
And the positioning module 204 is used for positioning the mowing robot according to the target map.
According to the robot positioning device, after an acquisition module 201 acquires an initial map containing a plurality of initial points, the initial map is generated according to a graphic code acquired by a mowing robot, each initial point corresponds to one graphic code, an acquisition module 202 controls the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point, finally, a construction module 203 constructs a target map according to the graphic code identification, the acquisition pose information and the initial map corresponding to the acquisition points so that a positioning module 204 can position the mowing robot according to the target map.
In addition, the embodiment of the present application also provides a robot mower, as shown in fig. 3, which shows a schematic structural diagram of the robot mower according to the embodiment of the present application, and specifically:
the mowing robot may include components such as a control module 301, a travel mechanism 302, a cutting module 303, and a power supply 304. Those skilled in the art will appreciate that the electronic device configuration shown in fig. 3 does not constitute a limitation of the electronic device and may include more or fewer components than shown, or some components may be combined, or a different arrangement of components. Wherein:
the control module 301 is a control center of the lawn mowing robot, and the control module 301 may specifically include a Central Processing Unit (CPU), a memory, an input/output port, a system bus, a timer/counter, a digital-to-analog converter, an analog-to-digital converter, and other components, where the CPU executes various functions and processes data of the lawn mowing robot by running or executing software programs and/or modules stored in the memory and calling data stored in the memory; preferably, the CPU may integrate an application processor, which mainly handles an operating system, application programs, and the like, and a modem processor, which mainly handles wireless communication. It will be appreciated that the modem processor described above may not be integrated into the CPU.
The memory may be used to store software programs and modules, and the CPU executes various functional applications and data processing by operating the software programs and modules stored in the memory. The memory may mainly include a storage program area and a storage data area, wherein the storage program area may store an operating system, an application program required by at least one function (such as a sound playing function, an image playing function, etc.), and the like; the storage data area may store data created according to use of the electronic device, and the like. Further, the memory may include high speed random access memory, and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other volatile solid state storage device. Accordingly, the memory may also include a memory controller to provide the CPU access to the memory.
The traveling mechanism 302 is electrically connected to the control module 301, and is configured to adjust a traveling speed and a traveling direction of the mowing robot in response to a control signal transmitted by the control module 301, so as to implement a self-moving function of the mowing robot.
The cutting module 303 is electrically connected with the control module 301, and is used for adjusting the height and the rotating speed of the cutter disc in response to a control signal transmitted by the control module, so as to realize mowing operation.
The power supply 304 may be logically connected to the control module 301 through a power management system, so as to implement functions of managing charging, discharging, and power consumption through the power management system. The power supply 304 may also include any component including one or more dc or ac power sources, recharging systems, power failure detection circuitry, power converters or inverters, power status indicators, and the like.
Although not shown, the mowing robot may further include a communication module, a sensor module, a prompt module, and the like, which are not described in detail herein.
The communication module is used for receiving and sending signals in the process of receiving and sending information, and realizes the signal receiving and sending with the user equipment, the base station or the server by establishing communication connection with the user equipment, the base station or the server.
The sensor module is used for collecting internal environment information or external environment information, and feeding collected environment data back to the control module for decision making, so that the accurate positioning and intelligent obstacle avoidance functions of the mowing robot are realized. In the embodiment of the application, the sensor module at least comprises a visual sensor and is used for collecting graphic codes in the working environment. Optionally, the sensor module may further include: ultrasonic sensors, infrared sensors, collision sensors, rain sensors, lidar sensors, inertial measurement units, wheel speed gauges, position sensors, and other sensors, without limitation.
The prompting module is used for prompting the working state of the current mowing robot of a user. In this scheme, the prompt module includes but is not limited to pilot lamp, bee calling organ etc.. For example, the mowing robot can prompt a user about the current power state, the working state of the motor, the working state of the sensor and the like through the indicator lamp. For another example, when the mowing robot is detected to be out of order or stolen, the warning prompt can be realized through the buzzer.
Specifically, in this embodiment, the processor in the control module 301 loads the executable file corresponding to the process of one or more application programs into the memory according to the following instructions, and the processor runs the application programs stored in the memory, so as to implement various functions, as follows:
the method comprises the steps of obtaining an initial map containing a plurality of initial points, controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, and constructing a target map according to graphic code identification, acquisition pose information and the initial map corresponding to the acquisition points so as to position the mowing robot according to the target map.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
According to the method and the device, after an initial map containing a plurality of initial points is obtained, the initial map is generated according to a graphic code acquired by a mowing robot, each initial point corresponds to one graphic code, the mowing robot is controlled to execute graphic code acquisition operation in the initial map, acquisition data corresponding to the graphic code acquisition operation are obtained, the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point, finally, a target map is constructed according to graphic code identification, acquisition pose information and the initial map corresponding to the acquisition points, the mowing robot is positioned according to the target map, in the robot positioning scheme provided by the application, the initial map is generated in advance according to the graphic code acquired by the mowing robot, the mowing robot is controlled to execute the graphic code acquisition operation in the initial map, and finally, a high-precision target map is constructed according to the graphic code identification, the acquisition pose information and the initial map corresponding to the acquisition points, so that the mowing robot can be positioned according to the target map later, and therefore the positioning precision of the mowing robot can be improved.
It will be understood by those skilled in the art that all or part of the steps of the methods of the above embodiments may be performed by instructions or by associated hardware controlled by the instructions, which may be stored in a computer readable storage medium and loaded and executed by a processor.
To this end, the embodiments of the present application provide a storage medium, in which a plurality of instructions are stored, where the instructions can be loaded by a processor to execute the steps in any one of the robot positioning methods provided in the embodiments of the present application. For example, the instructions may perform the steps of:
the method comprises the steps of obtaining an initial map containing a plurality of initial points, controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, and constructing a target map according to graphic code identification, acquired pose information and the initial map corresponding to the acquisition points so as to position the mowing robot according to the target map.
The above operations can be implemented in the foregoing embodiments, and are not described in detail herein.
Wherein the storage medium may include: read Only Memory (ROM), random Access Memory (RAM), magnetic or optical disks, and the like.
Since the instructions stored in the storage medium can execute the steps in any of the robot positioning methods provided in the embodiments of the present application, the beneficial effects that can be achieved by any of the robot positioning methods provided in the embodiments of the present application can be achieved, which are detailed in the foregoing embodiments and will not be described again here.
The robot positioning method, the device, the mowing robot and the storage medium provided by the embodiment of the application are described in detail, a specific example is applied to the description to explain the principle and the implementation of the application, and the description of the embodiment is only used for helping to understand the method and the core idea of the application; meanwhile, for those skilled in the art, according to the idea of the present application, there may be variations in the specific embodiments and the application scope, and in summary, the content of the present specification should not be construed as a limitation to the present application.

Claims (10)

1. A robot positioning method, comprising:
acquiring an initial map containing a plurality of initial points, wherein the initial map is generated according to graphic codes acquired by a mowing robot, and each initial point corresponds to one graphic code;
controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, wherein the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point;
and constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map so as to position the mowing robot according to the target map.
2. The method according to claim 1, wherein the constructing a target map according to the graphic code identifier corresponding to the acquisition point, the acquisition pose information and the initial map comprises:
acquiring initial pose information corresponding to the graphic code identification according to the graphic code identification corresponding to the acquisition point;
and constructing a target map according to the initial pose information, the collected pose information and the initial map.
3. The method of claim 2, wherein constructing a target map from the initial pose information, the capture pose information, and the initial map comprises:
extracting a first initial pose corresponding to the graphic code and a second initial pose corresponding to the mowing robot from the initial pose information;
extracting a first acquisition pose corresponding to the graphic code and a second acquisition pose corresponding to the mowing robot from the acquisition pose information;
estimating the current pose of the mowing robot based on the first initial pose, the second initial pose and the first acquisition pose;
and calculating a pose error between the second acquisition pose and the current pose, and constructing a target map according to the pose error.
4. The method of claim 3, wherein estimating the current pose of the lawn mowing robot based on the first initial pose, the second initial pose, and the first captured pose comprises:
determining the camera coordinate when the graphic code is acquired, and;
determining world coordinates corresponding to the mowing robot;
and estimating the current pose of the mowing robot according to the transformation external parameter between the camera coordinate and the world coordinate, the first initial pose, the second initial pose and the first acquisition pose.
5. The method of claim 3, wherein the constructing the target map from the pose errors comprises:
performing nonlinear optimization on the attitude error;
and updating the initial map according to the optimized pose error to obtain a target map.
6. The method of any of claims 1 to 5, wherein prior to obtaining the initial map comprising the plurality of initial points, further comprising:
setting a plurality of graphic codes in a preset mowing area;
controlling the mowing robot to collect graphic codes in a visual field range to obtain initial points corresponding to the graphic codes;
and binding the initial point and the pose corresponding to the graphic code to map node information, and generating an initial map based on the map node information.
7. The method as claimed in claim 6, wherein the controlling the mowing robot to collect the graphic codes within the visual field range to obtain an initial point corresponding to each graphic code comprises:
controlling the mowing robot to recognize the graphic code in the visual field range;
and extracting the pose information and the graphic code identification of the graphic code in a camera coordinate system, and marking the identified graphic code as an effective graphic code.
8. A robot positioning device, comprising:
the system comprises an acquisition module, a display module and a control module, wherein the acquisition module is used for acquiring an initial map containing a plurality of initial points, the initial map is generated according to graphic codes acquired by a mowing robot, and each initial point corresponds to one graphic code;
the acquisition module is used for controlling the mowing robot to execute graphic code acquisition operation in the initial map to obtain acquisition data corresponding to the graphic code acquisition operation, and the acquisition data comprise a plurality of acquisition points and acquisition pose information corresponding to each acquisition point;
the construction module is used for constructing a target map according to the graphic code identification corresponding to the acquisition point, the acquisition pose information and the initial map;
and the positioning module is used for positioning the mowing robot according to the target map.
9. A lawn mowing robot comprising a memory, a processor and a computer program stored on the memory and executable on the processor, wherein the processor when executing the program implements the steps of the robot positioning method according to claims 1-7.
10. A storage medium having stored thereon a computer program, wherein the computer program realizes the steps of the robot positioning method according to claims 1-7 when executed by a processor.
CN202210862359.4A 2022-07-20 2022-07-20 Robot positioning method, robot positioning device, mowing robot and storage medium Pending CN115191213A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210862359.4A CN115191213A (en) 2022-07-20 2022-07-20 Robot positioning method, robot positioning device, mowing robot and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210862359.4A CN115191213A (en) 2022-07-20 2022-07-20 Robot positioning method, robot positioning device, mowing robot and storage medium

Publications (1)

Publication Number Publication Date
CN115191213A true CN115191213A (en) 2022-10-18

Family

ID=83583432

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210862359.4A Pending CN115191213A (en) 2022-07-20 2022-07-20 Robot positioning method, robot positioning device, mowing robot and storage medium

Country Status (1)

Country Link
CN (1) CN115191213A (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103487061A (en) * 2013-08-30 2014-01-01 上海邮电设计咨询研究院有限公司 Public space positioning and navigation method and system based on two-dimension code and intelligent terminal
CN107830854A (en) * 2017-11-06 2018-03-23 深圳精智机器有限公司 Vision positioning method based on sparse cloud of ORB and Quick Response Code
CN108363386A (en) * 2017-12-30 2018-08-03 杭州南江机器人股份有限公司 Position Method for Indoor Robot, apparatus and system based on Quick Response Code and laser
CN110972679A (en) * 2019-11-15 2020-04-10 江苏若博机器人科技有限公司 UWB positioning mowing robot

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103487061A (en) * 2013-08-30 2014-01-01 上海邮电设计咨询研究院有限公司 Public space positioning and navigation method and system based on two-dimension code and intelligent terminal
CN107830854A (en) * 2017-11-06 2018-03-23 深圳精智机器有限公司 Vision positioning method based on sparse cloud of ORB and Quick Response Code
CN108363386A (en) * 2017-12-30 2018-08-03 杭州南江机器人股份有限公司 Position Method for Indoor Robot, apparatus and system based on Quick Response Code and laser
CN110972679A (en) * 2019-11-15 2020-04-10 江苏若博机器人科技有限公司 UWB positioning mowing robot

Similar Documents

Publication Publication Date Title
CN104520732B (en) The method and relevant device of alignment sensor
CN113296495B (en) Path forming method and device of self-mobile equipment and automatic working system
CN108369420A (en) Device and method for autonomous positioning
CN112179330A (en) Pose determination method and device of mobile equipment
Maier et al. Self-supervised obstacle detection for humanoid navigation using monocular vision and sparse laser data
CN111198378B (en) Boundary-based autonomous exploration method and device
CN111199677B (en) Automatic work map establishing method and device for outdoor area, storage medium and working equipment
CN114683290B (en) Method and device for optimizing pose of foot robot and storage medium
CN108122412B (en) Method for monitoring robot to detect vehicle disorderly stop
CN113359782A (en) Unmanned aerial vehicle autonomous addressing landing method integrating LIDAR point cloud and image data
CN112684430A (en) Indoor old person walking health detection method and system, storage medium and terminal
CN115423865A (en) Obstacle detection method, obstacle detection device, mowing robot, and storage medium
CN115039561A (en) Mowing method, mowing device, mowing robot and storage medium
CN113807309B (en) Deep learning-based orchard machine walking route planning method
CN114924287A (en) Map construction method, apparatus and medium
CN113158779B (en) Walking method, walking device and computer storage medium
CN112667924A (en) Robot map acquisition method and device, processor and electronic device
CN115617053B (en) Obstacle traversing method, obstacle traversing device, mowing robot and storage medium
CN115235485A (en) Operation map construction method and device, mowing robot and storage medium
CN115191213A (en) Robot positioning method, robot positioning device, mowing robot and storage medium
CN114935341B (en) Novel SLAM navigation computation video identification method and device
CN113673288A (en) Idle parking space detection method and device, computer equipment and storage medium
CN116358528A (en) Map updating method, map updating device, self-mobile device and storage medium
Zhao et al. A laser-scanner-based approach toward driving safety and traffic data collection
CN115291605A (en) Path planning method and device, mowing robot and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Country or region after: China

Address after: 610000 Shuangxing Avenue, Huangjia street, Southwest Airport Economic Development Zone, Shuangliu District, Chengdu, Sichuan

Applicant after: Songling Robot (Chengdu) Co.,Ltd.

Applicant after: Shenzhen Kuma Technology Co.,Ltd.

Address before: 610000 Shuangxing Avenue, Huangjia street, Southwest Airport Economic Development Zone, Shuangliu District, Chengdu, Sichuan

Applicant before: Songling Robot (Chengdu) Co.,Ltd.

Country or region before: China

Applicant before: Songling robot (Shenzhen) Co.,Ltd.