WO2023078112A1 - Method and apparatus for determining state of robot, and storage medium and electronic apparatus - Google Patents

Method and apparatus for determining state of robot, and storage medium and electronic apparatus Download PDF

Info

Publication number
WO2023078112A1
WO2023078112A1 PCT/CN2022/127006 CN2022127006W WO2023078112A1 WO 2023078112 A1 WO2023078112 A1 WO 2023078112A1 CN 2022127006 W CN2022127006 W CN 2022127006W WO 2023078112 A1 WO2023078112 A1 WO 2023078112A1
Authority
WO
WIPO (PCT)
Prior art keywords
robot
cloud data
point cloud
short
point
Prior art date
Application number
PCT/CN2022/127006
Other languages
French (fr)
Chinese (zh)
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 追觅创新科技(苏州)有限公司
Publication of WO2023078112A1 publication Critical patent/WO2023078112A1/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • 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/10028Range image; Depth image; 3D point clouds
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Definitions

  • the present disclosure relates to the communication field, and in particular, to a method and device for determining a state of a robot, a storage medium, and an electronic device.
  • Embodiments of the present disclosure provide a method and device for determining a state of a robot, a storage medium, and an electronic device, so as to at least solve the problem in the related art that an abnormality of a robot cannot be judged in time.
  • a method for determining the state of a robot including: acquiring a first position and a second position determined by an odometer when the robot is walking, wherein the first position is the robot The position at the first time point, the second position is the position of the robot at the second time point, and the time difference between the first time point and the second time point is less than a predetermined threshold; using the The first point cloud data of the surrounding environment acquired by the robot at the first time point is used to optimize the first position to obtain a first pose, and using the first point cloud data obtained by the robot at the second time point The obtained second point cloud data of the surrounding environment optimizes the second position to obtain a second attitude; determine a first short-term change in the attitude of the robot based on the first attitude and the second attitude; Determining a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data; by comparing the first short-term variation with the second short-term variation , to determine whether the state
  • using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose includes: based on the The first point cloud data determines the target point cloud data of a predetermined area centered on the first position; matches the target point cloud data with the area map pre-generated by the robot to obtain the first pose .
  • determining the target point cloud data of a predetermined area centered on the first position based on the first point cloud data includes: extracting the predetermined point cloud data from the first point cloud data The point cloud data of the area; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; the predetermined area after each rotation The point cloud data of is determined as the target point cloud data.
  • performing multiple rotations on the point cloud data of the predetermined area according to a predetermined rotation manner includes: performing multiple rotations on the point cloud data of the predetermined area according to a rotation manner of one degree at a time.
  • determining the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data includes: Match the second point cloud data to obtain a matching result; determine the rotation information of the second point cloud data relative to the first point cloud data based on the matching result; determine the second point cloud data based on the rotation information short-term variation.
  • determining whether the state of the robot is abnormal includes: comparing the first short-term variation and the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; if it is determined that the pose incremental difference exceeds a predetermined threshold , determining that the state of the robot is an abnormal state; and determining that the state of the robot is a normal state when it is determined that the pose incremental difference does not exceed the predetermined threshold.
  • a device for determining the state of a robot including: an acquisition module, configured to acquire the first position and the second position determined by the odometer when the robot is walking, wherein the The first position is the position of the robot at the first time point, the second position is the position of the robot at the second time point, and the distance between the first time point and the second time point The time difference is less than a predetermined threshold; the optimization module is configured to use the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first posture, and use The second point cloud data of the surrounding environment acquired by the robot at the second time point optimizes the second position to obtain a second posture; a first determination module is configured to obtain a second posture based on the first posture and The second pose determines the first short-term change in the pose of the robot; the second determination module is configured to determine the first change in the pose of the robot based on the first point cloud data and the second point cloud data Two short-term
  • the optimization module includes: a determining unit configured to determine target point cloud data of a predetermined area centered on the first position based on the first point cloud data; a matching unit configured to and matching the target point cloud data with the area map pre-generated by the robot to obtain the first pose.
  • a computer-readable storage medium where the computer-readable storage medium includes a stored program, wherein, when the program runs, the program described in any one of the above-mentioned embodiments is executed. described method.
  • an electronic device including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to execute any one of the above implementations through the computer program. method described in the example.
  • FIG. 1 is a block diagram of a hardware structure of a method for determining a robot state according to an embodiment of the present disclosure
  • FIG. 2 is a flowchart of a method for determining a state of a robot according to an embodiment of the present disclosure
  • Fig. 3 is a structural block diagram of an apparatus for determining a state of a robot according to an embodiment of the present disclosure.
  • FIG. 1 is a block diagram of a hardware structure of a method for determining a state of a robot according to an embodiment of the present disclosure.
  • the mobile robot can include one or more (only one is shown in Figure 1) processor 102 (the processor 102 can include but not limited to processing devices such as microprocessor MCU or programmable logic device FPGA, etc.) and a memory 104 for storing data.
  • the above-mentioned mobile robot may also include a transmission device 106 and an input and output device 108 for communication functions.
  • the structure shown in Figure 1 is only schematic, and it does not limit the structure of the above-mentioned mobile robot.
  • the mobile robot may also include more or fewer components than those shown in FIG. 1 , or have a different configuration that is functionally equivalent to or more functionally than that shown in FIG. 1 .
  • the memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the state of the robot in the embodiment of the present disclosure, and the processor 102 runs the computer program stored in the memory 104, thereby Executing various functional applications and data processing is to realize the above-mentioned method.
  • the memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory.
  • the memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to the mobile robot through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the transmission device 106 is used to receive or transmit data via a network.
  • a specific example of the above-mentioned network may include a wireless network provided by a mobile robot's communication provider.
  • the transmission device 106 includes a network interface controller (NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet.
  • the transmission device 106 may be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet in a wireless manner.
  • RF Radio Frequency
  • the robot relies on the odometer combined with the laser point cloud for joint positioning.
  • the wheels will spin idly, causing the odometer to be inaccurate, which in turn will cause inaccurate positioning of the machine and the inability to get out of trouble in time.
  • the robot may need to drive to different areas during its work, and the road types in the path it drives may be diverse.
  • some small debris may be (For example, stones, wire balls, cables, plastic bags, etc.) are involved in the wheels, which may cause the robot to get stuck or slip.
  • the robot has the ability to drive autonomously, there are few dedicated personnel near the robot. exist. In this case, when the robot fails, it cannot be detected in time, resulting in irreversible damage to the robot.
  • an embodiment of the present disclosure proposes a method for determining the state of the robot, which can promptly confirm whether the state of the robot is abnormal.
  • the robots involved in the embodiments of the present disclosure may be sweeping robots, robots with transportation functions (for example, express transportation robots), or guide robots in shopping malls, etc., as long as they are robots with automatic driving capabilities, they can be included in this article. within the scope of public protection.
  • a method for determining the state of a robot includes the following steps:
  • S210 Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
  • the positioning result of the robot relying on the odometer can be compared with the positioning result completely relying on the laser. If the deviation of the result is large, it means that there is a big problem with the result given by the odometer. At this time, the machine may slip or be stuck in an abnormal situation. Therefore, corresponding processing can be performed in real time.
  • the aforementioned predetermined threshold can be flexibly set, for example, set to 1 second, 2 seconds, 5 seconds, 10 seconds and so on.
  • the odometer is the pulse signal of the robot's wheels.
  • the wheels will give pulse signals during walking, and the number of pulses of the left and right wheels (or other types of wheels) can be inferred how many times the left and right wheels have turned. So as to estimate the trajectory of the robot.
  • the odometry is an input data used to calculate the pose of the machine. In the above embodiment, the approximate position of the machine movement can be inferred by the odometer first.
  • the execution subject of the above-mentioned operations may be an intelligent robot (for example, a sweeping robot, a delivery robot, a guide robot, etc.), or a processor provided in an intelligent robot, or other devices with similar processing capabilities.
  • an intelligent robot for example, a sweeping robot, a delivery robot, a guide robot, etc.
  • a processor provided in an intelligent robot, or other devices with similar processing capabilities.
  • using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose includes: based on the The first point cloud data determines the target point cloud data of a predetermined area centered on the first position; matches the target point cloud data with the area map pre-generated by the robot to obtain the first pose .
  • the predetermined area centered on the first position can be a circular area, a square area, a rectangular area, or other types of areas (as for the size of the area, it can be flexibly set according to the actual scene,
  • the circular area with the first position as the center and a radius of 10 centimeters can be determined as the above-mentioned predetermined area; or, the square area obtained by taking the first position as the center and extending 5 centimeters up, down, left, and right can be determined as The above-mentioned predetermined area; alternatively, the rectangular area obtained by taking the first position as the center, extending up and down by an additional 10 cm, and left and right by an additional 15 cm can be determined as the above-mentioned predetermined area).
  • the matching method in this embodiment may be the aforementioned brute force matching method, or other matching methods, for example, selecting a predetermined number of point clouds from the target point cloud data to match with the regional map, and so on.
  • determining the target point cloud data of a predetermined area centered on the first position based on the first point cloud data includes: extracting the predetermined point cloud data from the first point cloud data The point cloud data of the area; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; the predetermined area after each rotation The point cloud data of is determined as the target point cloud data.
  • performing multiple rotations on the point cloud data in the predetermined area according to a predetermined rotation method includes: performing multiple rotations on the point cloud data in the predetermined area according to a rotation method of one degree each time, of course, other rotation methods may also be used.
  • the rotation mode can be selected at each rotation angle of 5 degrees, for example, the rotation mode of 5 degrees at a time, and the rotation mode of 10 degrees at a time. It should also be noted that the angle of each rotation can also be different. The following is a description with specific examples:
  • the robot has walked 30 cm.
  • the point cloud of the surrounding environment is acquired by the laser sensor.
  • the attitude corresponding to the point cloud is the most accurate. This attitude can be regarded as the current attitude of the robot to complete the optimization. Assume that the robot moves 30 cm from the odometer and the angle is 0 degrees.
  • determining the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data includes: Match the second point cloud data to obtain a matching result; determine the rotation information of the second point cloud data relative to the first point cloud data based on the matching result; determine the second point cloud data based on the rotation information short-term variation.
  • the iterative closest point algorithm instead of relying on the odometer, the iterative closest point algorithm (Iterative Closest Point) is used to determine the pose of the robot completely relying on laser data.
  • the ICP method is to infer the change of pose by comparing the two point clouds before and after and matching them in pairs. Assume that the machine obtains a frame of point cloud after moving 30 centimeters.
  • the point cloud before 30 centimeters is matched with the point cloud after 30 centimeters, so that the degree of overlap of the point cloud is the highest.
  • the point cloud and the point cloud The distance between point clouds is minimal.
  • the attitude of the previous frame point cloud rotated to the next frame point cloud is the estimated pose of the robot.
  • This method can isolate the influence of the odometer. It can be seen that the short-term variation of the machine's attitude can be obtained by comparing the attitude obtained by laser matching in real time with the attitude obtained by laser matching.
  • determining whether the state of the robot is abnormal includes: comparing the first short-term variation and the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; if it is determined that the pose incremental difference exceeds a predetermined threshold , determining that the state of the robot is an abnormal state; and determining that the state of the robot is a normal state when it is determined that the pose incremental difference does not exceed the predetermined threshold.
  • comparing the difference between the two short-term changes is actually comparing the pose incremental difference between the two short-term changes.
  • ICP tracks a posture change
  • brute force search tracks a posture change, which can obtain the posture change amount within a certain period of time, for example, the posture change amount within one second.
  • the attitude change of the two methods within one second should be too large, which indicates that there is a problem with the odometer or point cloud data. If the difference is greater than the preset value. It means that the a priori given by the odometer is inaccurate, and there is a problem of wheel slipping or jamming. At this time, certain means can be used to deal with this abnormal situation.
  • the robot can create a local map.
  • the state is normal, use the local map to perform small-scale relocation on the original map to calibrate the attitude.
  • the method according to the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation.
  • the technical solution of the present disclosure can be embodied in the form of a software product in essence or the part that contributes to the prior art, and the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD) contains several instructions to enable a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present disclosure.
  • a device for determining the state of a robot is also provided, and the device is used to implement the above embodiments and preferred implementation modes, and those that have been explained will not be repeated here.
  • the term "module” may be a combination of software and/or hardware that realizes a predetermined function.
  • the devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
  • Fig. 3 is a structural block diagram of a device for determining the state of a robot according to an embodiment of the present disclosure. As shown in Fig. 3 , the device includes:
  • An acquisition module 32 configured to acquire a first position and a second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the position of the robot at the first time point.
  • the position is the position of the robot at a second time point, and the time difference between the first time point and the second time point is less than a predetermined threshold;
  • An optimization module 34 configured to use the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and use the robot to The second point cloud data of the surrounding environment acquired at the second time point is optimized for the second position to obtain a second attitude;
  • a first determination module 36 configured to determine a first short-term change in the posture of the robot based on the first posture and the second posture;
  • a second determining module 38 configured to determine a second short-term change in the attitude of the robot based on the first point cloud data and the second point cloud data;
  • the third determining module 310 is configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
  • the optimization module 34 includes: a determination unit, configured to determine target point cloud data of a predetermined area centered on the first position based on the first point cloud data; a matching unit, It is used to match the target point cloud data with the area map pre-generated by the robot to obtain the first pose.
  • the determining unit is configured to determine the target point cloud data of a predetermined area centered on the first position based on the first point cloud data in the following manner: from the first The point cloud data of the predetermined area is extracted from the point cloud data; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; The point cloud data of the predetermined area after each rotation is determined as the target point cloud data.
  • the determining unit is configured to perform multiple rotations on the point cloud data of the predetermined area according to a predetermined rotation method in the following manner: the point cloud data of the predetermined area is rotated by one degree each time Cloud data undergoes multiple rotations.
  • the second determination module 38 is configured to determine the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data in the following manner : Matching the first point cloud data and the second point cloud data to obtain a matching result; determining the rotation of the second point cloud data relative to the first point cloud data based on the matching result information; determining the second short-term variation based on the rotation information.
  • the third determining module 310 is configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation in the following manner : By comparing the first short-term variation with the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; When the pose incremental difference exceeds a predetermined threshold, it is determined that the state of the robot is an abnormal state; when it is determined that the pose incremental difference does not exceed the predetermined threshold, it is determined that the state of the robot is normal state.
  • the above-mentioned modules can be realized by software or hardware. For the latter, it can be realized by the following methods, but not limited to this: the above-mentioned modules are all located in the same processor; or, the above-mentioned modules can be combined in any combination The forms of are located in different processors.
  • Embodiments of the present disclosure also provide a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
  • the above-mentioned computer-readable storage medium may be configured to store a computer program for performing the following steps:
  • S5. Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
  • the above-mentioned computer-readable storage medium may include but not limited to: U disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM) , mobile hard disk, magnetic disk or optical disk and other media that can store computer programs.
  • ROM read-only memory
  • RAM random access memory
  • mobile hard disk magnetic disk or optical disk and other media that can store computer programs.
  • Embodiments of the present disclosure also provide an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
  • the electronic device may further include a transmission device and an input and output device, wherein the transmission device is connected to the processor, and the input and output device is connected to the processor.
  • the above-mentioned processor may be configured to execute the following steps through a computer program:
  • S5. Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
  • each module or each step of the above-mentioned disclosure can be realized by a general-purpose computing device, and they can be concentrated on a single computing device, or distributed in a network composed of multiple computing devices In fact, they can be implemented in program code executable by a computing device, and thus, they can be stored in a storage device to be executed by a computing device, and in some cases, can be executed in an order different from that shown here. Or described steps, or they are fabricated into individual integrated circuit modules, or multiple modules or steps among them are fabricated into a single integrated circuit module for implementation. As such, the present disclosure is not limited to any specific combination of hardware and software.

Abstract

A method and apparatus for determining the state of a robot, and a storage medium and an electronic apparatus. The method comprises: acquiring a first position and a second position, which are determined by means of an odometer when a robot walks; optimizing the first position by using first point cloud data of a surrounding environment that is acquired by the robot at a first time point, so as to obtain a first posture; optimizing the second position by using second point cloud data of the surrounding environment that is acquired by the robot at a second time point, so as to obtain a second posture; determining a first short-time variation of the posture of the robot on the basis of the first posture and the second posture; determining a second short-time variation of the posture of the robot on the basis of the first point cloud data and the second point cloud data; and determining whether the state of the robot is abnormal by means of comparing the first short-time variation with the second short-time variation.

Description

机器人状态的确定方法和装置、存储介质、电子装置Method and device for determining robot state, storage medium, electronic device
本公开要求如下专利申请的优先权:于2021年11月5日提交中国专利局、申请号为202111309025.6、发明名称为“机器人状态的确定方法和装置、存储介质、电子装置”的中国专利申请;上述专利申请的全部内容通过引用结合在本公开中。This disclosure claims the priority of the following patent application: a Chinese patent application submitted to the China Patent Office on November 5, 2021, with the application number 202111309025.6, and the title of the invention is "method and device for determining the state of a robot, a storage medium, and an electronic device"; The entire contents of the aforementioned patent applications are incorporated by reference in this disclosure.
技术领域technical field
本公开涉及通信领域,具体而言,涉及一种机器人状态的确定方法和装置、存储介质、电子装置。The present disclosure relates to the communication field, and in particular, to a method and device for determining a state of a robot, a storage medium, and an electronic device.
背景技术Background technique
随着人工智能的快速发展,越来越多的智能机器人进入人们的生活,使得人们的生活越来越便利。With the rapid development of artificial intelligence, more and more intelligent robots have entered people's lives, making people's lives more and more convenient.
随着机器人的普及,人们在使用机器人的过程中所遇到的问题也越来越多。例如,扫地机器人在工作时,可能会遇到卡住或者打滑的情况。为了保证扫地机器人的正常使用,人们需要及时对这种异常情况进行判断,从而做出对应的处理,否则会造成定位失准,进而影响机器清扫效率和降低用户体验的问题。但是现有技术中并不存在能够及时判断机器人异常的方案。With the popularity of robots, people encounter more and more problems in the process of using robots. For example, when the sweeping robot is working, it may encounter situations of getting stuck or slipping. In order to ensure the normal use of the sweeping robot, people need to judge this abnormal situation in time, so as to make corresponding treatment, otherwise it will cause inaccurate positioning, which will affect the cleaning efficiency of the machine and reduce the user experience. However, in the prior art, there is no solution capable of judging the abnormality of the robot in time.
针对相关技术中存在的上述问题,目前尚未提出有效的解决方案。Aiming at the above-mentioned problems existing in related technologies, no effective solution has been proposed yet.
发明内容Contents of the invention
本公开实施例提供了一种机器人状态的确定方法和装置、存储介质、电子装置,以至少解决相关技术中存在的无法及时判断机器人异常的问题。Embodiments of the present disclosure provide a method and device for determining a state of a robot, a storage medium, and an electronic device, so as to at least solve the problem in the related art that an abnormality of a robot cannot be judged in time.
根据本公开的一个方面,提供了一种机器人状态的确定方法,包括:获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;通过比对所述第一 短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。According to one aspect of the present disclosure, a method for determining the state of a robot is provided, including: acquiring a first position and a second position determined by an odometer when the robot is walking, wherein the first position is the robot The position at the first time point, the second position is the position of the robot at the second time point, and the time difference between the first time point and the second time point is less than a predetermined threshold; using the The first point cloud data of the surrounding environment acquired by the robot at the first time point is used to optimize the first position to obtain a first pose, and using the first point cloud data obtained by the robot at the second time point The obtained second point cloud data of the surrounding environment optimizes the second position to obtain a second attitude; determine a first short-term change in the attitude of the robot based on the first attitude and the second attitude; Determining a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data; by comparing the first short-term variation with the second short-term variation , to determine whether the state of the robot is abnormal.
在一个示例性实施例中,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,包括:基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据;对所述目标点云数据与所述机器人预先生成的区域地图进行匹配,以得到所述第一姿态。In an exemplary embodiment, using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose includes: based on the The first point cloud data determines the target point cloud data of a predetermined area centered on the first position; matches the target point cloud data with the area map pre-generated by the robot to obtain the first pose .
在一个示例性实施例中,基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据包括:从所述第一点云数据中提取出所述预定区域的点云数据;按照预定旋转方式对所述预定区域的点云数据进行多次旋转,以得到每次旋转后的所述预定区域的点云数据;将每次旋转后的所述预定区域的点云数据确定为所述目标点云数据。In an exemplary embodiment, determining the target point cloud data of a predetermined area centered on the first position based on the first point cloud data includes: extracting the predetermined point cloud data from the first point cloud data The point cloud data of the area; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; the predetermined area after each rotation The point cloud data of is determined as the target point cloud data.
在一个示例性实施例中,按照预定旋转方式对所述预定区域的点云数据进行多次旋转包括:按照一度每次的旋转方式对所述预定区域的点云数据进行多次旋转。In an exemplary embodiment, performing multiple rotations on the point cloud data of the predetermined area according to a predetermined rotation manner includes: performing multiple rotations on the point cloud data of the predetermined area according to a rotation manner of one degree at a time.
在一个示例性实施例中,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量包括:对所述第一点云数据和所述第二点云数据进行匹配,以得到匹配结果;基于所述匹配结果确定出所述第二点云数据相对于所述第一点云数据的旋转信息;基于所述旋转信息确定所述第二短时变化量。In an exemplary embodiment, determining the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data includes: Match the second point cloud data to obtain a matching result; determine the rotation information of the second point cloud data relative to the first point cloud data based on the matching result; determine the second point cloud data based on the rotation information short-term variation.
在一个示例性实施例中,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常包括:通过比对所述第一短时变化量和所述第二短时变化量,确定所述第一短时变化量和所述第二短时变化量的位姿增量差异;在确定所述位姿增量差异超过预定阈值的情况下,确定所述机器人的状态为异常状态;在确定所述位姿增量差异不超过所述预定阈值的情况下,确定所述机器人的状态为正常状态。In an exemplary embodiment, by comparing the first short-term variation with the second short-term variation, determining whether the state of the robot is abnormal includes: comparing the first short-term variation and the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; if it is determined that the pose incremental difference exceeds a predetermined threshold , determining that the state of the robot is an abnormal state; and determining that the state of the robot is a normal state when it is determined that the pose incremental difference does not exceed the predetermined threshold.
根据本公开的另一个方面,还提供了一种机器人状态的确定装置,包括:获取模块,用于获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;优化模块,用于利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;第一确定模块,用于基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;第二确定模块,用于基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;第三确定模块,用于通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。According to another aspect of the present disclosure, there is also provided a device for determining the state of a robot, including: an acquisition module, configured to acquire the first position and the second position determined by the odometer when the robot is walking, wherein the The first position is the position of the robot at the first time point, the second position is the position of the robot at the second time point, and the distance between the first time point and the second time point The time difference is less than a predetermined threshold; the optimization module is configured to use the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first posture, and use The second point cloud data of the surrounding environment acquired by the robot at the second time point optimizes the second position to obtain a second posture; a first determination module is configured to obtain a second posture based on the first posture and The second pose determines the first short-term change in the pose of the robot; the second determination module is configured to determine the first change in the pose of the robot based on the first point cloud data and the second point cloud data Two short-term variations; a third determining module, configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
在一个示例性实施例中,所述优化模块包括:确定单元,用于基于所述第一点云数据确 定出以所述第一位置为中心的预定区域的目标点云数据;匹配单元,用于对所述目标点云数据与所述机器人预先生成的区域地图进行匹配,以得到所述第一姿态。In an exemplary embodiment, the optimization module includes: a determining unit configured to determine target point cloud data of a predetermined area centered on the first position based on the first point cloud data; a matching unit configured to and matching the target point cloud data with the area map pre-generated by the robot to obtain the first pose.
根据本公开的另一个实施例,还提供了一种计算机可读的存储介质,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述任一项实施例中所述的方法。According to another embodiment of the present disclosure, there is also provided a computer-readable storage medium, where the computer-readable storage medium includes a stored program, wherein, when the program runs, the program described in any one of the above-mentioned embodiments is executed. described method.
根据本公开的另一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行上述任一项实施例中所述的方法。According to another embodiment of the present disclosure, there is also provided an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to execute any one of the above implementations through the computer program. method described in the example.
通过本公开,可以实现将机器人依赖里程计的定位结果和完全依赖激光的定位结果进行对比,基于比对结果来及时确认机器人是否出现异常,该操作可以实时执行,且不需要额外引入其他设备,保证了机器人异常状态的实时确认,有效解决了相关技术中存在的无法及时判断机器人异常的问题,进而达到了及时确认机器人状态是否异常,保证了机器的工作效率,提高了用户体验。Through this disclosure, it is possible to compare the positioning results of the robot relying on the odometer and the positioning results completely dependent on the laser, and to confirm in time whether the robot is abnormal based on the comparison results. This operation can be performed in real time without the need to introduce additional equipment. It ensures the real-time confirmation of the abnormal state of the robot, and effectively solves the problem that the abnormality of the robot cannot be judged in time in related technologies, thereby achieving timely confirmation of whether the robot state is abnormal, ensuring the working efficiency of the machine, and improving the user experience.
附图说明Description of drawings
此处所说明的附图用来提供对本公开的进一步理解,构成本申请的一部分,本公开的示意性实施例及其说明用于解释本公开,并不构成对本公开的不当限定。在附图中:The drawings described here are used to provide a further understanding of the present disclosure, and constitute a part of the present application. The schematic embodiments of the present disclosure and their descriptions are used to explain the present disclosure, and do not constitute improper limitations to the present disclosure. In the attached picture:
图1是本公开实施例的一种机器人状态的确定方法的硬件结构框图;FIG. 1 is a block diagram of a hardware structure of a method for determining a robot state according to an embodiment of the present disclosure;
图2是根据本公开实施例的机器人状态的确定方法的流程图;2 is a flowchart of a method for determining a state of a robot according to an embodiment of the present disclosure;
图3是根据本公开实施例的机器人状态的确定装置的结构框图。Fig. 3 is a structural block diagram of an apparatus for determining a state of a robot according to an embodiment of the present disclosure.
具体实施方式Detailed ways
下文中将参考附图并结合实施例来详细说明本公开。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。Hereinafter, the present disclosure will be described in detail with reference to the accompanying drawings and embodiments. It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
需要说明的是,本公开的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It should be noted that the terms "first" and "second" in the specification and claims of the present disclosure and the above drawings are used to distinguish similar objects, but not necessarily used to describe a specific sequence or sequence.
本申请实施例所提供的方法实施例可以在移动机器人,或者类似的运算装置中执行。以运行在移动机器人上为例,图1是本公开实施例的一种机器人状态的确定方法的硬件结构框图。如图1所示,移动机器人可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,在一个示例性实施例中,上述移动机器人还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为 示意,其并不对上述移动机器人的结构造成限定。例如,移动机器人还可包括比图1中所示更多或者更少的组件,或者具有与图1所示等同功能或比图1所示功能更多的不同的配置。The method embodiments provided in the embodiments of the present application may be executed in a mobile robot or a similar computing device. Taking running on a mobile robot as an example, FIG. 1 is a block diagram of a hardware structure of a method for determining a state of a robot according to an embodiment of the present disclosure. As shown in Figure 1, the mobile robot can include one or more (only one is shown in Figure 1) processor 102 (the processor 102 can include but not limited to processing devices such as microprocessor MCU or programmable logic device FPGA, etc.) and a memory 104 for storing data. In an exemplary embodiment, the above-mentioned mobile robot may also include a transmission device 106 and an input and output device 108 for communication functions. Those of ordinary skill in the art can understand that the structure shown in Figure 1 is only schematic, and it does not limit the structure of the above-mentioned mobile robot. For example, the mobile robot may also include more or fewer components than those shown in FIG. 1 , or have a different configuration that is functionally equivalent to or more functionally than that shown in FIG. 1 .
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本公开实施例中的机器人状态的确定方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动机器人。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 104 can be used to store computer programs, for example, software programs and modules of application software, such as the computer program corresponding to the method for determining the state of the robot in the embodiment of the present disclosure, and the processor 102 runs the computer program stored in the memory 104, thereby Executing various functional applications and data processing is to realize the above-mentioned method. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some examples, the memory 104 may further include memory located remotely from the processor 102, and these remote memories may be connected to the mobile robot through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动机器人的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。The transmission device 106 is used to receive or transmit data via a network. A specific example of the above-mentioned network may include a wireless network provided by a mobile robot's communication provider. In one example, the transmission device 106 includes a network interface controller (NIC for short), which can be connected to other network devices through a base station so as to communicate with the Internet. In one example, the transmission device 106 may be a radio frequency (Radio Frequency, referred to as RF) module, which is used to communicate with the Internet in a wireless manner.
首先对本公开的应用场景进行说明:First, the application scenario of the present disclosure is described:
机器人在正常的行驶过程,依靠里程计结合激光点云进行联合定位。在机器打滑或者卡住的过程中,会造成轮子空转,导致里程计失准,进而造成机器定位失准和无法及时脱困的情况。During the normal driving process, the robot relies on the odometer combined with the laser point cloud for joint positioning. When the machine is slipping or stuck, the wheels will spin idly, causing the odometer to be inaccurate, which in turn will cause inaccurate positioning of the machine and the inability to get out of trouble in time.
例如,机器人在工作过程中,可能会需要行驶到不同的区域,其所行驶的路径中的道路类型可能是多样的,在杂物较多的道路上行驶时,可能会将一些细小的杂物(例如,石子、线团、电缆、塑料袋等)卷入轮子中,由此可能会导致机器人卡住或者打滑的问题,由于机器人具备自主行驶能力,所以,机器人附近很少会有专门的人员存在。该情况下就会出现,在机器人发生故障的情况下,无法及时发现,从而导致机器人出现不可逆的损害。针对该问题,本公开实施例中提出了一种机器人状态的确定方法,可以及时确认机器人状态是否异常。本公开实施例中所涉及的机器人可以是扫地机器人,具备运输功能的机器人(例如,快递运输机器人),还可以是商场中的向导机器人等,只要是具备自动行驶能力的机器人都可以涵盖在本公开的保护范围内。For example, the robot may need to drive to different areas during its work, and the road types in the path it drives may be diverse. When driving on a road with many debris, some small debris may be (For example, stones, wire balls, cables, plastic bags, etc.) are involved in the wheels, which may cause the robot to get stuck or slip. Since the robot has the ability to drive autonomously, there are few dedicated personnel near the robot. exist. In this case, when the robot fails, it cannot be detected in time, resulting in irreversible damage to the robot. To solve this problem, an embodiment of the present disclosure proposes a method for determining the state of the robot, which can promptly confirm whether the state of the robot is abnormal. The robots involved in the embodiments of the present disclosure may be sweeping robots, robots with transportation functions (for example, express transportation robots), or guide robots in shopping malls, etc., as long as they are robots with automatic driving capabilities, they can be included in this article. within the scope of public protection.
下面结合实施例对本公开进行说明:The present disclosure is described below in conjunction with embodiment:
在本实施例中提供了一种机器人状态的确定方法,如图2所示,该方法包括如下步骤:In this embodiment, a method for determining the state of a robot is provided, as shown in Figure 2, the method includes the following steps:
S202,获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第 一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;S202. Obtain the first position and the second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the the position of the robot at a second point in time, the time difference between the first point in time and the second point in time being less than a predetermined threshold;
S204,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;S204. Using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and using the robot at the second The second point cloud data of the surrounding environment acquired at the time point optimizes the second position to obtain a second attitude;
S206,基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;S206. Determine a first short-term change in the posture of the robot based on the first posture and the second posture;
S208,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;S208. Determine a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data;
S210,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。S210. Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
在上述实施例中,可以将机器人依赖里程计的定位结果和完全依赖激光的定位结果进行对比。若结果偏差较大,则说明里程计给与的结果出现较大的问题。此时机器可能发生打滑或者被卡住的异常情况。因此能够实时做出对应处理。上述的预定阈值可以灵活设置,例如,设置成1秒、2秒、5秒、10秒等。In the above embodiment, the positioning result of the robot relying on the odometer can be compared with the positioning result completely relying on the laser. If the deviation of the result is large, it means that there is a big problem with the result given by the odometer. At this time, the machine may slip or be stuck in an abnormal situation. Therefore, corresponding processing can be performed in real time. The aforementioned predetermined threshold can be flexibly set, for example, set to 1 second, 2 seconds, 5 seconds, 10 seconds and so on.
在上述实施例中,里程计为机器人轮子的脉冲信号。轮子在行走过程中会给与脉冲信号,通过左轮和右轮(或其他类型的轮子)的脉冲个数可以推断轮子左轮和右轮转了几圈。从而估计出机器人的运动轨迹。里程计是用来推算机器位姿的一种输入数据。在上述实施例中,可以先通过里程计推测机器运动的大概位置。然后在位置附近用点云进行优化(例如,通过暴力搜素进行匹配,以优化位置,其中,暴力搜素指的是,在里程计推测位置附近进行点云和地图的匹配,以找到一个匹配值最高的位姿,进而来优化定位,即,使用里程计给出的数据当做机器人的位姿先验。使用暴力搜索(Scan Matching)的方法来优化给出的姿态)。In the above embodiments, the odometer is the pulse signal of the robot's wheels. The wheels will give pulse signals during walking, and the number of pulses of the left and right wheels (or other types of wheels) can be inferred how many times the left and right wheels have turned. So as to estimate the trajectory of the robot. The odometry is an input data used to calculate the pose of the machine. In the above embodiment, the approximate position of the machine movement can be inferred by the odometer first. Then use the point cloud to optimize (for example, match by brute force search to optimize the position, wherein, brute force search refers to matching point cloud and map near the odometer estimated position to find a match The pose with the highest value is used to optimize the positioning, that is, the data given by the odometer is used as the pose prior of the robot. Use the violent search (Scan Matching) method to optimize the given pose).
其中,上述操作的执行主体可以是智能机器人(例如,扫地机器人、快递运输机器人、向导机器人等),或者是智能机器人内设置的处理器,或者其他的具备类似处理能力的设备。Wherein, the execution subject of the above-mentioned operations may be an intelligent robot (for example, a sweeping robot, a delivery robot, a guide robot, etc.), or a processor provided in an intelligent robot, or other devices with similar processing capabilities.
通过上述实施例,可以实现将机器人依赖里程计的定位结果和完全依赖激光的定位结果进行对比,基于比对结果来及时确认机器人是否出现异常,该操作可以实时执行,且不需要额外引入其他设备,保证了机器人异常状态的实时确认,有效解决了相关技术中存在的无法及时判断机器人异常的问题,进而达到了及时确认机器人状态是否异常,保证了机器的工作效率,提高了用户体验。Through the above-mentioned embodiments, it is possible to compare the positioning results of the robot relying on the odometer and the positioning results completely relying on the laser, and timely confirm whether the robot is abnormal based on the comparison results. This operation can be performed in real time without the need to introduce additional equipment , which ensures the real-time confirmation of the abnormal state of the robot, effectively solves the problem that the abnormal state of the robot cannot be judged in time in related technologies, and then achieves timely confirmation of whether the robot state is abnormal, ensures the working efficiency of the machine, and improves the user experience.
在一个示例性实施例中,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,包括:基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据;对所述目标点云数据与所述机器人预先生 成的区域地图进行匹配,以得到所述第一姿态。在本实施例中,以第一位置为中心的预定区域可以是圆形区域,可以是正方形区域,可以是长方形区域,还可以是其他类型的区域(至于区域的尺寸可以根据实际场景灵活设置,例如,可以将以第一位置为中心,10厘米为半径的圆形区域确定为上述的预定区域;或者,可以将以第一位置为中心,上下左右额外扩展5厘米所得到的正方形区域确定为上述的预定区域;或者,还可以将以第一位置为中心,上下额外扩展10厘米,左右额外扩展15厘米所得到的长方形区域确定为上述的预定区域)。本实施例中的匹配方式可以是前述的暴力匹配的方式,还可以是其他匹配的方式,例如,从目标点云数据中挑选出预定数量的点云与区域地图进行匹配等等。In an exemplary embodiment, using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose includes: based on the The first point cloud data determines the target point cloud data of a predetermined area centered on the first position; matches the target point cloud data with the area map pre-generated by the robot to obtain the first pose . In this embodiment, the predetermined area centered on the first position can be a circular area, a square area, a rectangular area, or other types of areas (as for the size of the area, it can be flexibly set according to the actual scene, For example, the circular area with the first position as the center and a radius of 10 centimeters can be determined as the above-mentioned predetermined area; or, the square area obtained by taking the first position as the center and extending 5 centimeters up, down, left, and right can be determined as The above-mentioned predetermined area; alternatively, the rectangular area obtained by taking the first position as the center, extending up and down by an additional 10 cm, and left and right by an additional 15 cm can be determined as the above-mentioned predetermined area). The matching method in this embodiment may be the aforementioned brute force matching method, or other matching methods, for example, selecting a predetermined number of point clouds from the target point cloud data to match with the regional map, and so on.
在一个示例性实施例中,基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据包括:从所述第一点云数据中提取出所述预定区域的点云数据;按照预定旋转方式对所述预定区域的点云数据进行多次旋转,以得到每次旋转后的所述预定区域的点云数据;将每次旋转后的所述预定区域的点云数据确定为所述目标点云数据。可选地,按照预定旋转方式对所述预定区域的点云数据进行多次旋转包括:按照一度每次的旋转方式对所述预定区域的点云数据进行多次旋转,当然,也可以按照其他度每次的旋转方式进行选择,例如,按照5度每次的旋转方式,按照10度每次的旋转方式,还需要说明的是,每次旋转的角度还可以是不同的。下面结合具体示例进行说明:In an exemplary embodiment, determining the target point cloud data of a predetermined area centered on the first position based on the first point cloud data includes: extracting the predetermined point cloud data from the first point cloud data The point cloud data of the area; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; the predetermined area after each rotation The point cloud data of is determined as the target point cloud data. Optionally, performing multiple rotations on the point cloud data in the predetermined area according to a predetermined rotation method includes: performing multiple rotations on the point cloud data in the predetermined area according to a rotation method of one degree each time, of course, other rotation methods may also be used. The rotation mode can be selected at each rotation angle of 5 degrees, for example, the rotation mode of 5 degrees at a time, and the rotation mode of 10 degrees at a time. It should also be noted that the angle of each rotation can also be different. The following is a description with specific examples:
首先,假设通过里程计推断出机器人行走了30厘米。此刻,通过激光传感器获取周围环境的点云。然后,将点云按照一厘米一格,以推测行走距离(即,行走了30厘米后的终点)为中心,进行上下左右5厘米范围内的移动,获得10*10共一百个点云。将这些点云进行一度每次的旋转,获得360*100组点云。最后,将这些点云和地图进行匹配,匹配出最好的点云,该点云所对应的姿态最为准确,可以将此姿态当作机器人现在的姿态,进而完成优化。假设机器人由里程计推测运动30厘米,角度0度。通过匹配得知角度在此附近1厘米,3度匹配最好。那优化完成后机器人姿态变成31厘米。3度。将实时姿态和之前通过相同方法获取的姿态进行对比,获得机器姿态的短时变化量。First, suppose the odometry infers that the robot has walked 30 cm. At this moment, the point cloud of the surrounding environment is acquired by the laser sensor. Then, move the point cloud within a range of 5 cm up, down, left, and right with the estimated walking distance (that is, the end point after walking 30 cm) as the center, and obtain a total of 100 point clouds of 10*10. Rotate these point clouds one degree at a time to obtain 360*100 point clouds. Finally, match these point clouds with the map to match the best point cloud. The attitude corresponding to the point cloud is the most accurate. This attitude can be regarded as the current attitude of the robot to complete the optimization. Assume that the robot moves 30 cm from the odometer and the angle is 0 degrees. Through matching, it is known that the angle is 1 cm around this, and 3 degrees is the best match. After the optimization is completed, the posture of the robot becomes 31 cm. 3 degrees. Compare the real-time attitude with the attitude obtained by the same method before, and obtain the short-term change of the machine attitude.
在一个示例性实施例中,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量包括:对所述第一点云数据和所述第二点云数据进行匹配,以得到匹配结果;基于所述匹配结果确定出所述第二点云数据相对于所述第一点云数据的旋转信息;基于所述旋转信息确定所述第二短时变化量。在本实施例中,不依赖里程计,使用迭代最近点算法(Iterative Closest Point),完全依赖激光数据来确定机器人位姿。ICP的方法是通过对比前后两个点云,让其两两匹配,来推测位姿的变化。假设机器运动了30厘米后获得一帧点云,由于环境变化不大,将三十厘米前的点云和三十厘米后的点云进行匹配,以让点云的重 合程度最高,点云和点云之间的距离最小。此刻的前一帧点云旋转到后一帧点云的姿态就是机器人的推测位姿,这种方法可以隔绝里程计影响。由此可知,将通过激光实时匹配的姿态和之前通过激光匹配获得的姿态进行对比,可以获得机器姿态的短时变化量。In an exemplary embodiment, determining the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data includes: Match the second point cloud data to obtain a matching result; determine the rotation information of the second point cloud data relative to the first point cloud data based on the matching result; determine the second point cloud data based on the rotation information short-term variation. In this embodiment, instead of relying on the odometer, the iterative closest point algorithm (Iterative Closest Point) is used to determine the pose of the robot completely relying on laser data. The ICP method is to infer the change of pose by comparing the two point clouds before and after and matching them in pairs. Assume that the machine obtains a frame of point cloud after moving 30 centimeters. Since the environment does not change much, the point cloud before 30 centimeters is matched with the point cloud after 30 centimeters, so that the degree of overlap of the point cloud is the highest. The point cloud and the point cloud The distance between point clouds is minimal. At this moment, the attitude of the previous frame point cloud rotated to the next frame point cloud is the estimated pose of the robot. This method can isolate the influence of the odometer. It can be seen that the short-term variation of the machine's attitude can be obtained by comparing the attitude obtained by laser matching in real time with the attitude obtained by laser matching.
在一个示例性实施例中,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常包括:通过比对所述第一短时变化量和所述第二短时变化量,确定所述第一短时变化量和所述第二短时变化量的位姿增量差异;在确定所述位姿增量差异超过预定阈值的情况下,确定所述机器人的状态为异常状态;在确定所述位姿增量差异不超过所述预定阈值的情况下,确定所述机器人的状态为正常状态。在本实施例中,比较两个短时变化量的差异,实际上是比较两个短时变化量之间的位姿增量差异。由前述描述可知,在本公开实施例中,ICP跟踪一个姿态变化,暴力搜素跟踪一个姿态变化,那可以得到一定时间内的姿态变化量,比如一秒内的姿态变化量。一秒内两种方法的姿态变化量应该会太大,太大说明里程计或者点云数据有问题。若差异大于预设值。则说明里程计给出的先验不准,出现了轮子打滑或者卡住的问题,此时可以用一定的手段来处理此异常情况。当检测到这种情况时,若是短时间触发的,可以考虑机器轮子打滑,加大暴力搜素的范围。若是长时间触发的,可以由机器人建立局部地图,当状态正常后,使用局部地图在原有地图上进行小范围重定位来校准姿态。In an exemplary embodiment, by comparing the first short-term variation with the second short-term variation, determining whether the state of the robot is abnormal includes: comparing the first short-term variation and the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; if it is determined that the pose incremental difference exceeds a predetermined threshold , determining that the state of the robot is an abnormal state; and determining that the state of the robot is a normal state when it is determined that the pose incremental difference does not exceed the predetermined threshold. In this embodiment, comparing the difference between the two short-term changes is actually comparing the pose incremental difference between the two short-term changes. It can be seen from the foregoing description that in the embodiment of the present disclosure, ICP tracks a posture change, and brute force search tracks a posture change, which can obtain the posture change amount within a certain period of time, for example, the posture change amount within one second. The attitude change of the two methods within one second should be too large, which indicates that there is a problem with the odometer or point cloud data. If the difference is greater than the preset value. It means that the a priori given by the odometer is inaccurate, and there is a problem of wheel slipping or jamming. At this time, certain means can be used to deal with this abnormal situation. When this situation is detected, if it is triggered in a short time, it may be considered that the wheels of the machine are slipping to increase the scope of violent search. If it is triggered for a long time, the robot can create a local map. When the state is normal, use the local map to perform small-scale relocation on the original map to calibrate the attitude.
通过上述实施例,可实时得知何时能够信任里程计的结果,何时机器人发生异常情况。从而及时处理异常情况,使得机器人的稳定性大大提高,脱困几率提高,机器定位失准和叠图的情况明显减小。Through the above-mentioned embodiment, it can be known in real time when the result of the odometer can be trusted and when an abnormal situation occurs to the robot. In this way, the abnormal situation is dealt with in time, so that the stability of the robot is greatly improved, the probability of getting out of trouble is increased, and the situation of machine positioning inaccuracy and overlapping images is significantly reduced.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本公开各个实施例所述的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiments can be implemented by means of software plus a necessary general-purpose hardware platform, and of course also by hardware, but in many cases the former is better implementation. Based on such an understanding, the technical solution of the present disclosure can be embodied in the form of a software product in essence or the part that contributes to the prior art, and the computer software product is stored in a storage medium (such as ROM/RAM, disk, CD) contains several instructions to enable a terminal device (which may be a mobile phone, a computer, a server, or a network device, etc.) to execute the methods described in various embodiments of the present disclosure.
在本实施例中还提供了一种机器人状态的确定装置,该装置用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。In this embodiment, a device for determining the state of a robot is also provided, and the device is used to implement the above embodiments and preferred implementation modes, and those that have been explained will not be repeated here. As used below, the term "module" may be a combination of software and/or hardware that realizes a predetermined function. Although the devices described in the following embodiments are preferably implemented in software, implementations in hardware, or a combination of software and hardware are also possible and contemplated.
图3是根据本公开实施例的机器人状态的确定装置的结构框图,如图3所示,该装置包 括:Fig. 3 is a structural block diagram of a device for determining the state of a robot according to an embodiment of the present disclosure. As shown in Fig. 3 , the device includes:
获取模块32,用于获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;An acquisition module 32, configured to acquire a first position and a second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the position of the robot at the first time point. The position is the position of the robot at a second time point, and the time difference between the first time point and the second time point is less than a predetermined threshold;
优化模块34,用于利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;An optimization module 34, configured to use the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and use the robot to The second point cloud data of the surrounding environment acquired at the second time point is optimized for the second position to obtain a second attitude;
第一确定模块36,用于基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;A first determination module 36, configured to determine a first short-term change in the posture of the robot based on the first posture and the second posture;
第二确定模块38,用于基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;A second determining module 38, configured to determine a second short-term change in the attitude of the robot based on the first point cloud data and the second point cloud data;
第三确定模块310,用于通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。The third determining module 310 is configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
在一个示例性实施例中,所述优化模块34包括:确定单元,用于基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据;匹配单元,用于对所述目标点云数据与所述机器人预先生成的区域地图进行匹配,以得到所述第一姿态。In an exemplary embodiment, the optimization module 34 includes: a determination unit, configured to determine target point cloud data of a predetermined area centered on the first position based on the first point cloud data; a matching unit, It is used to match the target point cloud data with the area map pre-generated by the robot to obtain the first pose.
在一个示例性实施例中,所述确定单元用于通过如下方式实现基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据:从所述第一点云数据中提取出所述预定区域的点云数据;按照预定旋转方式对所述预定区域的点云数据进行多次旋转,以得到每次旋转后的所述预定区域的点云数据;将每次旋转后的所述预定区域的点云数据确定为所述目标点云数据。In an exemplary embodiment, the determining unit is configured to determine the target point cloud data of a predetermined area centered on the first position based on the first point cloud data in the following manner: from the first The point cloud data of the predetermined area is extracted from the point cloud data; the point cloud data of the predetermined area is rotated multiple times according to the predetermined rotation mode, so as to obtain the point cloud data of the predetermined area after each rotation; The point cloud data of the predetermined area after each rotation is determined as the target point cloud data.
在一个示例性实施例中,所述确定单元用于通过如下方式实现按照预定旋转方式对所述预定区域的点云数据进行多次旋转:按照一度每次的旋转方式对所述预定区域的点云数据进行多次旋转。In an exemplary embodiment, the determining unit is configured to perform multiple rotations on the point cloud data of the predetermined area according to a predetermined rotation method in the following manner: the point cloud data of the predetermined area is rotated by one degree each time Cloud data undergoes multiple rotations.
在一个示例性实施例中,所述第二确定模块38用于通过如下方式实现基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量:对所述第一点云数据和所述第二点云数据进行匹配,以得到匹配结果;基于所述匹配结果确定出所述第二点云数据相对于所述第一点云数据的旋转信息;基于所述旋转信息确定所述第二短时变化量。In an exemplary embodiment, the second determination module 38 is configured to determine the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data in the following manner : Matching the first point cloud data and the second point cloud data to obtain a matching result; determining the rotation of the second point cloud data relative to the first point cloud data based on the matching result information; determining the second short-term variation based on the rotation information.
在一个示例性实施例中,所述第三确定模块310用于通过如下方式实现通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常:通过比对所述第一短时变化量和所述第二短时变化量,确定所述第一短时变化量和所述第二短时变化量的位姿 增量差异;在确定所述位姿增量差异超过预定阈值的情况下,确定所述机器人的状态为异常状态;在确定所述位姿增量差异不超过所述预定阈值的情况下,确定所述机器人的状态为正常状态。In an exemplary embodiment, the third determining module 310 is configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation in the following manner : By comparing the first short-term variation with the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation; When the pose incremental difference exceeds a predetermined threshold, it is determined that the state of the robot is an abnormal state; when it is determined that the pose incremental difference does not exceed the predetermined threshold, it is determined that the state of the robot is normal state.
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。It should be noted that the above-mentioned modules can be realized by software or hardware. For the latter, it can be realized by the following methods, but not limited to this: the above-mentioned modules are all located in the same processor; or, the above-mentioned modules can be combined in any combination The forms of are located in different processors.
本公开的实施例还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。Embodiments of the present disclosure also provide a computer-readable storage medium, in which a computer program is stored, wherein the computer program is configured to execute the steps in any one of the above method embodiments when running.
在本实施例中,上述计算机可读存储介质可以被设置为存储用于执行以下步骤的计算机程序:In this embodiment, the above-mentioned computer-readable storage medium may be configured to store a computer program for performing the following steps:
S1,获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;S1. Obtain the first position and the second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the the position of the robot at a second point in time, the time difference between the first point in time and the second point in time being less than a predetermined threshold;
S2,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;S2. Using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and using the robot at the second The second point cloud data of the surrounding environment acquired at the time point optimizes the second position to obtain a second attitude;
S3,基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;S3. Determine a first short-term change in the posture of the robot based on the first posture and the second posture;
S4,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;S4. Determine a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data;
S5,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。S5. Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
在一个示例性实施例中,上述计算机可读存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。In an exemplary embodiment, the above-mentioned computer-readable storage medium may include but not limited to: U disk, read-only memory (Read-Only Memory, referred to as ROM), random access memory (Random Access Memory, referred to as RAM) , mobile hard disk, magnetic disk or optical disk and other media that can store computer programs.
本公开的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。Embodiments of the present disclosure also provide an electronic device, including a memory and a processor, where a computer program is stored in the memory, and the processor is configured to run the computer program to execute the steps in any one of the above method embodiments.
在一个示例性实施例中,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。In an exemplary embodiment, the electronic device may further include a transmission device and an input and output device, wherein the transmission device is connected to the processor, and the input and output device is connected to the processor.
在一个示例性实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:In an exemplary embodiment, the above-mentioned processor may be configured to execute the following steps through a computer program:
S1,获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;S1. Obtain the first position and the second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the the position of the robot at a second point in time, the time difference between the first point in time and the second point in time being less than a predetermined threshold;
S2,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;S2. Using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and using the robot at the second The second point cloud data of the surrounding environment acquired at the time point optimizes the second position to obtain a second attitude;
S3,基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;S3. Determine a first short-term change in the posture of the robot based on the first posture and the second posture;
S4,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;S4. Determine a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data;
S5,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。S5. Determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
显然,本领域的技术人员应该明白,上述的本公开的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本公开不限制于任何特定的硬件和软件结合。Obviously, those skilled in the art should understand that each module or each step of the above-mentioned disclosure can be realized by a general-purpose computing device, and they can be concentrated on a single computing device, or distributed in a network composed of multiple computing devices In fact, they can be implemented in program code executable by a computing device, and thus, they can be stored in a storage device to be executed by a computing device, and in some cases, can be executed in an order different from that shown here. Or described steps, or they are fabricated into individual integrated circuit modules, or multiple modules or steps among them are fabricated into a single integrated circuit module for implementation. As such, the present disclosure is not limited to any specific combination of hardware and software.
以上所述仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。The above descriptions are only preferred embodiments of the present disclosure, and are not intended to limit the present disclosure. For those skilled in the art, the present disclosure may have various modifications and changes. Any modification, equivalent replacement, improvement, etc. made within the principle of the present disclosure shall be included in the protection scope of the present disclosure.

Claims (10)

  1. 一种机器人状态的确定方法,其特征在于,包括:A method for determining the state of a robot, comprising:
    获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;Obtaining a first position and a second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the position of the robot at a position at a second point in time, the time difference between the first point in time and the second point in time being less than a predetermined threshold;
    利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;Using the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and using the robot at the second time point Optimizing the second position on the acquired second point cloud data of the surrounding environment to obtain a second attitude;
    基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;determining a first short-term change in the posture of the robot based on the first posture and the second posture;
    基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;determining a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data;
    通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。By comparing the first short-term variation with the second short-term variation, it is determined whether the state of the robot is abnormal.
  2. 根据权利要求1所述的方法,其中,利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,包括:The method according to claim 1, wherein the first position is optimized by using the first point cloud data of the surrounding environment acquired by the robot at the first time point to obtain a first pose, comprising:
    基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据;determining target point cloud data of a predetermined area centered on the first position based on the first point cloud data;
    对所述目标点云数据与所述机器人预先生成的区域地图进行匹配,以得到所述第一姿态。Matching the target point cloud data with the area map pre-generated by the robot to obtain the first pose.
  3. 根据权利要求2所述的方法,其中,基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据包括:The method according to claim 2, wherein determining the target point cloud data of a predetermined area centered on the first position based on the first point cloud data comprises:
    从所述第一点云数据中提取出所述预定区域的点云数据;extracting point cloud data of the predetermined area from the first point cloud data;
    按照预定旋转方式对所述预定区域的点云数据进行多次旋转,以得到每次旋转后的所述预定区域的点云数据;performing multiple rotations on the point cloud data of the predetermined area according to a predetermined rotation manner, so as to obtain the point cloud data of the predetermined area after each rotation;
    将每次旋转后的所述预定区域的点云数据确定为所述目标点云数据。The point cloud data of the predetermined area after each rotation is determined as the target point cloud data.
  4. 根据权利要求3所述的方法,其中,按照预定旋转方式对所述预定区域的点云数据进行多次旋转包括:The method according to claim 3, wherein performing multiple rotations on the point cloud data in the predetermined area according to a predetermined rotation method comprises:
    按照一度每次的旋转方式对所述预定区域的点云数据进行多次旋转。The point cloud data in the predetermined area is rotated multiple times in a rotation manner of one degree at a time.
  5. 根据权利要求1所述的方法,其中,基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量包括:The method according to claim 1, wherein determining the second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data comprises:
    对所述第一点云数据和所述第二点云数据进行匹配,以得到匹配结果;matching the first point cloud data and the second point cloud data to obtain a matching result;
    基于所述匹配结果确定出所述第二点云数据相对于所述第一点云数据的旋转信息;determining rotation information of the second point cloud data relative to the first point cloud data based on the matching result;
    基于所述旋转信息确定所述第二短时变化量。The second short-term variation is determined based on the rotation information.
  6. 根据权利要求1所述的方法,其中,通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常包括:The method according to claim 1, wherein, by comparing the first short-term variation with the second short-term variation, determining whether the state of the robot is abnormal comprises:
    通过比对所述第一短时变化量和所述第二短时变化量,确定所述第一短时变化量和所述 第二短时变化量的位姿增量差异;By comparing the first short-term variation and the second short-term variation, determine the pose incremental difference between the first short-term variation and the second short-term variation;
    在确定所述位姿增量差异超过预定阈值的情况下,确定所述机器人的状态为异常状态;When it is determined that the pose incremental difference exceeds a predetermined threshold, determining that the state of the robot is an abnormal state;
    在确定所述位姿增量差异不超过所述预定阈值的情况下,确定所述机器人的状态为正常状态。If it is determined that the pose incremental difference does not exceed the predetermined threshold, it is determined that the state of the robot is a normal state.
  7. 一种机器人状态的确定装置,其中,包括:A device for determining the state of a robot, including:
    获取模块,用于获取机器人在行走时通过里程计所确定出的第一位置和第二位置,其中,所述第一位置为所述机器人在第一时间点上的位置,所述第二位置为所述机器人在第二时间点上的位置,所述第一时间点和所述第二时间点之间的时间差小于预定阈值;An acquisition module, configured to acquire a first position and a second position determined by the odometer when the robot is walking, wherein the first position is the position of the robot at the first time point, and the second position is the position of the robot at a second time point, and the time difference between the first time point and the second time point is less than a predetermined threshold;
    优化模块,用于利用所述机器人在所述第一时间点上所获取的周围环境的第一点云数据对所述第一位置进行优化,得到第一姿态,以及,利用所述机器人在所述第二时间点上所获取的周围环境的第二点云数据对所述第二位置进行优化,得到第二姿态;An optimization module, configured to use the first point cloud data of the surrounding environment acquired by the robot at the first time point to optimize the first position to obtain a first pose, and use the robot at the first point in time to optimize the first position. Optimizing the second position on the second point cloud data of the surrounding environment acquired at the second time point to obtain a second attitude;
    第一确定模块,用于基于所述第一姿态和所述第二姿态确定所述机器人的姿态的第一短时变化量;A first determination module, configured to determine a first short-term change in the posture of the robot based on the first posture and the second posture;
    第二确定模块,用于基于所述第一点云数据和所述第二点云数据确定所述机器人的姿态的第二短时变化量;A second determining module, configured to determine a second short-term variation of the attitude of the robot based on the first point cloud data and the second point cloud data;
    第三确定模块,用于通过比对所述第一短时变化量和所述第二短时变化量,确定所述机器人的状态是否异常。The third determining module is configured to determine whether the state of the robot is abnormal by comparing the first short-term variation with the second short-term variation.
  8. 根据权利要求7所述的装置,其中,所述优化模块包括:The device according to claim 7, wherein the optimization module comprises:
    确定单元,用于基于所述第一点云数据确定出以所述第一位置为中心的预定区域的目标点云数据;a determining unit, configured to determine target point cloud data of a predetermined area centered on the first position based on the first point cloud data;
    匹配单元,用于对所述目标点云数据与所述机器人预先生成的区域地图进行匹配,以得到所述第一姿态。A matching unit, configured to match the target point cloud data with an area map pre-generated by the robot to obtain the first pose.
  9. 一种计算机可读的存储介质,其中,所述计算机可读的存储介质包括存储的程序,其中,所述程序运行时执行上述权利要求1至6任一项中所述的方法。A computer-readable storage medium, wherein the computer-readable storage medium includes a stored program, wherein the program executes the method described in any one of claims 1 to 6 when running.
  10. 一种电子装置,包括存储器和处理器,其中,所述存储器中存储有计算机程序,所述处理器被设置为通过所述计算机程序执行所述权利要求1至6任一项中所述的方法。An electronic device, comprising a memory and a processor, wherein a computer program is stored in the memory, and the processor is configured to execute the method described in any one of claims 1 to 6 through the computer program .
PCT/CN2022/127006 2021-11-05 2022-10-24 Method and apparatus for determining state of robot, and storage medium and electronic apparatus WO2023078112A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111309025.6A CN116091593A (en) 2021-11-05 2021-11-05 Method and device for determining state of robot, storage medium and electronic device
CN202111309025.6 2021-11-05

Publications (1)

Publication Number Publication Date
WO2023078112A1 true WO2023078112A1 (en) 2023-05-11

Family

ID=86185504

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/127006 WO2023078112A1 (en) 2021-11-05 2022-10-24 Method and apparatus for determining state of robot, and storage medium and electronic apparatus

Country Status (2)

Country Link
CN (1) CN116091593A (en)
WO (1) WO2023078112A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117689698B (en) * 2024-02-04 2024-04-19 安徽蔚来智驾科技有限公司 Point cloud registration method, intelligent device and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110166763A1 (en) * 2010-01-05 2011-07-07 Samsung Electronics Co., Ltd. Apparatus and method detecting a robot slip
CN107643186A (en) * 2017-09-15 2018-01-30 深圳市杉川机器人有限公司 The method, apparatus and system of machine skidding detection
CN108638053A (en) * 2018-04-03 2018-10-12 珠海市微半导体有限公司 A kind of detection method and its antidote of robot skidding
CN110187323A (en) * 2019-05-14 2019-08-30 北京云迹科技有限公司 Robot idle running recognition methods and device
CN111708047A (en) * 2020-06-16 2020-09-25 浙江大华技术股份有限公司 Robot positioning evaluation method, robot and computer storage medium
CN113376650A (en) * 2021-08-09 2021-09-10 浙江华睿科技股份有限公司 Mobile robot positioning method and device, electronic equipment and storage medium

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110166763A1 (en) * 2010-01-05 2011-07-07 Samsung Electronics Co., Ltd. Apparatus and method detecting a robot slip
CN107643186A (en) * 2017-09-15 2018-01-30 深圳市杉川机器人有限公司 The method, apparatus and system of machine skidding detection
CN108638053A (en) * 2018-04-03 2018-10-12 珠海市微半导体有限公司 A kind of detection method and its antidote of robot skidding
CN110187323A (en) * 2019-05-14 2019-08-30 北京云迹科技有限公司 Robot idle running recognition methods and device
CN111708047A (en) * 2020-06-16 2020-09-25 浙江大华技术股份有限公司 Robot positioning evaluation method, robot and computer storage medium
CN113376650A (en) * 2021-08-09 2021-09-10 浙江华睿科技股份有限公司 Mobile robot positioning method and device, electronic equipment and storage medium

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117689698B (en) * 2024-02-04 2024-04-19 安徽蔚来智驾科技有限公司 Point cloud registration method, intelligent device and storage medium

Also Published As

Publication number Publication date
CN116091593A (en) 2023-05-09

Similar Documents

Publication Publication Date Title
KR102403504B1 (en) Mobile Robot And Method Thereof
Sünderhauf et al. Visual odometry using sparse bundle adjustment on an autonomous outdoor vehicle
US9298183B2 (en) Robot and method for autonomous inspection or processing of floor areas
WO2020192407A1 (en) Mobile device recharging method and mobile device
US20210255638A1 (en) Area Division and Path Forming Method and Apparatus for Self-Moving Device and Automatic Working System
EP3974778B1 (en) Method and apparatus for updating working map of mobile robot, and storage medium
CN110146098B (en) Robot map extension method and device, control equipment and storage medium
US11586201B2 (en) Method and apparatus for recognizing a stuck status as well as computer storage medium
EP4066078A1 (en) Area division and path forming method and apparatus for self-moving device and automatic working system
WO2023005377A1 (en) Map building method for robot, and robot
WO2020052667A1 (en) Visual repositioning method and apparatus for intelligent device
CN113064408B (en) Autonomous robot, control method thereof, and computer storage medium
CN111609853A (en) Three-dimensional map construction method, sweeping robot and electronic equipment
CN111679664A (en) Three-dimensional map construction method based on depth camera and sweeping robot
WO2022222490A1 (en) Robot control method and robot
US20220121211A1 (en) Mobile robot and control method therefor
WO2023078112A1 (en) Method and apparatus for determining state of robot, and storage medium and electronic apparatus
WO2022222345A1 (en) Positioning correction method and apparatus for mobile robot, storage medium, and electronic apparatus
CN112526985B (en) Walking forbidden zone planning method and device and self-moving robot
CN112799389B (en) Automatic walking area path planning method and automatic walking equipment
WO2024017032A1 (en) Mowing robot recharging method, mowing robot and storage medium
Zapata-Impata et al. Autotrans: an autonomous open world transportation system
CN112433542B (en) Automatic robot recharging method and system based on visual positioning
CN115981305A (en) Robot path planning and control method and device and robot
WO2023098384A1 (en) Sweeping control method and apparatus, robot, storage medium, and electronic apparatus

Legal Events

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

Ref document number: 22889137

Country of ref document: EP

Kind code of ref document: A1