Robot displacement detection method and apparatus, storage medium, electronic device
The method and device use wheel inclination angle changes to detect robot displacement, addressing the challenge of non-autonomous movement interference, ensuring accurate and efficient detection and stability.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2023-12-13
- Publication Date
- 2026-03-19
AI Technical Summary
Current technologies are inadequate in effectively detecting non-autonomous displacement events of robots during their movement, such as being forcibly moved by a user, which interferes with the robot's position estimation and normal operation.
A method and device that utilize the inclination angle changes of a robot's driving wheels to detect forced displacement by determining the range of inclination angle changes based on the displacement increments of the wheels and the distance between them, identifying forced displacement when the angle change exceeds this range.
Provides accurate and efficient detection of forced displacement without additional equipment, improving operational stability by enabling countermeasures against such events and reducing computational load.
Smart Images

Figure 2026509394000001_ABST
Abstract
Description
[Technical Field]
[0001] Cross-reference of related applications This application claims priority to Chinese Patent Application No. 202310009468.6, filed on 3 January 2023, and all the contents disclosed in the said Chinese Patent Application are incorporated herein by reference as part of this application.
[0002] This disclosure relates to the field of artificial intelligence technology, and more particularly to a robot displacement detection method, a robot displacement detection device, a computer storage medium, and electronic equipment. [Background technology]
[0003] With the rapid development and advancement of computer and internet technologies, related fields of robotics research are also flourishing.
[0004] Currently, it is not possible to effectively detect non-autonomous displacement events of a robot during its movement process (for example, being forcibly moved from its current position to another position by a user).
[0005] In light of this, the development of new robot displacement detection methods and devices is urgently needed in this field.
[0006] The information disclosed in the background technology section above is used solely to enhance understanding of the background of this disclosure. [Overview of the project]
[0007] This disclosure aims to provide a robot displacement detection method, a robot displacement detection device, a computer storage medium, and electronic equipment.
[0008] Other features and benefits of this disclosure will become apparent from the following detailed description or will be partially acquired through the implementation of this disclosure.
[0009] According to a first aspect of the present disclosure, a method for detecting displacement of a robot is provided. The robot includes at least two driving wheels. The method includes obtaining a change amount of the inclination angle of the robot during the movement process of the robot, determining a range of inclination angle changes when the robot is not affected by an external force based on displacement increments of the two driving wheels and a distance between the two driving wheels, and determining that the robot has been forcibly displaced when the change amount of the inclination angle is outside the range of inclination angle changes.
[0010] In an exemplary embodiment of the present disclosure, the two driving wheels include a first driving wheel and a second driving wheel. The method further includes setting the displacement increment of the first driving wheel or the second driving wheel as a positive value when the first driving wheel or the second driving wheel rotates along a first direction, and setting the displacement increment of the first driving wheel or the second driving wheel as a negative value when the first driving wheel or the second driving wheel rotates along a second direction, where the second direction is opposite to the first direction.
[0011] In an exemplary embodiment of the present disclosure, the method further includes that when the first driving wheel rotates along the first direction and / or when the second driving wheel rotates along the second direction, the inclination angle of the robot decreases along a predetermined clockwise direction, and when the first driving wheel rotates along the second direction and / or when the second driving wheel rotates along the first direction, the inclination angle of the robot increases along the predetermined clockwise direction.
[0012] In an exemplary embodiment of the present disclosure, the range of inclination angle changes is limited by a minimum inclination angle change amount of the robot along the predetermined clockwise direction and a maximum inclination angle change amount of the robot along the predetermined clockwise direction.
[0013] In an exemplary embodiment of the present disclosure, determining the range of inclination angle change when the robot is not affected by an external force based on the displacement increments of the two drive wheels and the distance between the two drive wheels includes determining the minimum inclination angle change amount along the predetermined clockwise direction of the robot based on the maximum correlation value of the displacement increment of the first drive wheel, the minimum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels, and determining the maximum inclination angle change amount along the predetermined clockwise direction of the robot based on the minimum correlation value of the displacement increment of the first drive wheel, the maximum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels.
[0014] In an exemplary embodiment of the present disclosure, when the maximum correlation value of the displacement increment of the first drive wheel is determined, if the displacement increment of the first drive wheel is a negative value, a predetermined value is determined as the maximum correlation value; if the displacement increment of the first drive wheel is a positive value, the displacement increment of the first drive wheel is determined as the maximum correlation value.
[0015] In an exemplary embodiment of the present disclosure, when the minimum correlation value of the displacement increment of the second drive wheel is determined, if the displacement increment of the second drive wheel is a negative value, the displacement increment of the second drive wheel is determined as the minimum correlation value; if the displacement increment of the second drive wheel is a positive value, a predetermined value is determined as the minimum correlation value.
[0016] In an exemplary embodiment of the present disclosure, determining the minimum inclination angle change amount along the predetermined clockwise direction of the robot based on the maximum correlation value of the displacement increment of the first drive wheel, the minimum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels includes obtaining the difference between the minimum correlation value of the displacement increment of the second drive wheel and the maximum correlation value of the displacement increment of the first drive wheel, and determining the minimum inclination angle change amount along the predetermined clockwise direction of the robot based on the ratio of the difference to the distance between the two drive wheels.
[0017] In the exemplary embodiments of this disclosure, the minimum correlation value of the displacement increment of the first drive wheel is determined such that, if the displacement increment of the first drive wheel is a negative value, the displacement increment of the first drive wheel is determined as the minimum correlation value, and if the displacement increment of the first drive wheel is a positive value, a predetermined value is determined as the minimum correlation value.
[0018] In the exemplary embodiments of this disclosure, the maximum correlation value of the displacement increment of the second drive wheel is determined such that, when the displacement increment of the second drive wheel is a negative value, a predetermined value is determined as the maximum correlation value, and when the displacement increment of the second drive wheel is a positive value, the displacement increment of the second drive wheel is determined as the maximum correlation value.
[0019] In exemplary embodiments of the present disclosure, determining the maximum change in the tilt angle of the robot along the predetermined clockwise direction based on the minimum correlation value of the displacement increment of the first drive wheel, the maximum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels includes obtaining the difference between the maximum correlation value of the displacement increment of the second drive wheel and the minimum correlation value of the displacement increment of the first drive wheel, and determining the maximum change in the tilt angle of the robot along the predetermined clockwise direction based on the ratio of the difference to the distance between the two drive wheels.
[0020] In the exemplary embodiments of this disclosure, the above predetermined value is 0.
[0021] In an exemplary embodiment of the present disclosure, after it is determined that the robot has been forcibly displaced, the method further includes controlling the robot to pause any work task being performed and updating the robot's position information by controlling the robot to re-evaluate its position in response to the fact that it is not detected again that the robot has been forcibly displaced within a predetermined time.
[0022] In exemplary embodiments of the present disclosure, the method further includes, after updating the robot's position information by controlling the robot to re-evaluate its position, controlling the robot to continue performing the work task based on the updated position information.
[0023] In exemplary embodiments of this disclosure, acquiring the change in the tilt angle of the robot includes acquiring the change in the tilt angle of the robot by one or a combination of the following: acquiring the change in the tilt angle of the robot using an angle sensor installed on the robot; acquiring the change in the tilt angle of the robot using a laser radar; and acquiring the change in the tilt angle of the robot using a movement monitoring image of the robot.
[0024] According to a second aspect of the present disclosure, a robot displacement detection device is provided, the robot including at least two drive wheels, the device including: an angle of inclination change acquisition module for acquiring the amount of change in the inclination angle of the robot during the robot's movement process; an angle of inclination change range determination module for determining the range of inclination angle change when the robot is not affected by an external force, based on the displacement increment of the two drive wheels and the distance between the two drive wheels; and a displacement detection module for determining that the robot has been forcibly displaced if the amount of change in the inclination angle is outside the range of inclination angle change.
[0025] According to a third aspect of this disclosure, a computer storage medium storing a computer program is provided, the computer program, when executed by a processor, realizes the robot displacement detection method described in the first aspect.
[0026] A fourth aspect of the present disclosure provides an electronic device including a processor and a memory for storing executable instructions of the processor, wherein the processor is configured to perform the robot displacement detection method described in the first aspect by executing the executable instructions.
[0027] As can be seen from the above technical proposal, the robot displacement detection method, robot displacement detection device, computer storage medium, and electronic device in the exemplary embodiments of this disclosure have at least the following advantages and positive effects.
[0028] In the technical solutions provided in some embodiments of this disclosure, the disclosure acquires the change in the robot's tilt angle during the robot's movement process, determines the range of tilt angle change when the robot is not affected by an external force based on the displacement increment of the two drive wheels and the distance between the two drive wheels, and determines that the robot has been forcibly displaced if the change in tilt angle is outside the range of tilt angle change. On the one hand, this provides an effective detection method for forced displacement events of the robot, thereby enabling the creation of relevant countermeasures against the adverse effects of forced displacement events thereafter, improving the operational stability of the robot. Furthermore, since the scale of parameters to be collected is relatively small, the computational load in the detection process is relatively low, the efficiency is relatively high, and it satisfies the data processing requirements in the robotics field. On the other hand, since the parameters related to this disclosure are all ordinary parameters that reflect the robot's movement process, there is no need to deploy new detection equipment, so accurate forced displacement detection can be achieved without additional costs.
[0029] It should be understood that the general descriptions above and the detailed descriptions below are illustrative and explanatory only and do not limit this disclosure.
[0030] The drawings herein are incorporated into the specification and constitute part of this specification, illustrating embodiments applicable to this disclosure and are used together with the specification to interpret the principles of this disclosure. Of course, the drawings described below are only a few embodiments of this disclosure, and those skilled in the art can, without creative ingenuity, derive other drawings from these. [Brief explanation of the drawing]
[0031] [Figure 1] Flowchart of a robot displacement detection method in an embodiment of the present disclosure [Figure 2]A flowchart illustrating how to determine the range of tilt angle changes when the robot is not affected by an external force, based on the displacement increment of the two drive wheels and the distance between the two drive wheels, in an embodiment of the present disclosure. [Figure 3] A flowchart showing how to determine the maximum correlation value of the displacement increment of the first drive wheel in the embodiments of this disclosure. [Figure 4] A flowchart showing how to determine the minimum relevant value of the displacement increment of the second drive wheel in the embodiments of this disclosure. [Figure 5] A flowchart showing how to determine the minimum relevant value of the displacement increment of the first drive wheel in the embodiments of this disclosure. [Figure 6] A flowchart showing how to determine the maximum correlation value of the displacement increment of the second drive wheel in the embodiments of this disclosure. [Figure 7] Overall flowchart of the robot displacement detection method in the embodiment of this disclosure [Figure 8] Schematic diagram of the robot displacement detection device in an exemplary embodiment of the present disclosure. [Figure 9] Schematic diagram of the structure of an electronic device in an exemplary embodiment of the present disclosure. [Modes for carrying out the invention]
[0032] The exemplary embodiments are now described more comprehensively with reference to the drawings. However, the exemplary embodiments can be implemented in multiple forms and should not be understood as being limited to the examples described herein. Rather, by providing these embodiments, the disclosure becomes more comprehensive and complete, and the concepts of the exemplary embodiments are fully conveyed to those skilled in the art. The described features, structures, or characteristics can be combined in any suitable way in one or more embodiments. The following description provides many specific details so that the embodiments of the disclosure may be fully understood. However, those skilled in the art will recognize that the technical ideas of the disclosure may be implemented by omitting one or more of the above specific details, or by employing other methods, components, apparatus, steps, etc. In other cases, known technical ideas are not described or shown in detail to avoid reversing the order of subjects and obscuring each aspect of the disclosure.
[0033] As used herein, the terms “one,” “the said,” and “above” are used to indicate that there is one or more elements / components / etc., the terms “includes” and “have” are used to indicate an open inclusion meaning and that there may be other elements / components / etc. besides those listed, and terms such as “first” and “second” are used solely as symbols and do not limit the number of objects.
[0034] Furthermore, the drawings are merely schematic diagrams of the present disclosure and are not necessarily drawn to scale. In the drawings, identical reference numerals indicate the same or similar parts, and therefore, redundant explanations of them are omitted. Some of the block diagrams shown in the drawings are functional entities and do not necessarily need to correspond to physically or logically independent entities.
[0035] Currently, during a robot's movement process, if displacement occurs due to non-autonomous movement (for example, being moved from its current position to another position by a user), this displacement is not caused by the robot's autonomous movement, is short in duration, and moves at a high speed, interfering with the robot's position estimation. This leads to a bias in the robot's self-position recognition and affects the robot's normal operation.
[0036] In the embodiments of this disclosure, first, a robot displacement detection method is provided that overcomes, at least to some extent, the drawback in related technologies that robot forced displacement events cannot be effectively detected.
[0037] Figure 1 shows a flowchart of a robot displacement detection method in an embodiment of the present disclosure, and the execution unit of the robot displacement detection method may be a control system built into the robot.
[0038] Referring to Figure 1, a robot displacement detection method according to one embodiment of the present disclosure is: Step S110 involves acquiring the amount of change in the robot's tilt angle during the robot's movement process, Step S120 determines the range of inclination angle change when the robot is not affected by external forces, based on the displacement increment of the two drive wheels and the distance between the two drive wheels. The method includes step S130, which determines that the robot has been forcibly displaced if the amount of change in the tilt angle is outside the range of change in the tilt angle.
[0039] In the proposed technology provided by the embodiment shown in Figure 1, the disclosure acquires the change in the robot's tilt angle during the robot's movement process, determines the range of tilt angle change when the robot is not affected by an external force based on the displacement increment of the two drive wheels and the distance between the two drive wheels, and determines that the robot has been forcibly displaced if the change in tilt angle is outside the range of tilt angle change. On the one hand, this provides an effective detection method for forced displacement events of the robot, thereby enabling the creation of countermeasures against the adverse effects of the forced displacement event thereafter, improving the operational stability of the robot. Furthermore, since the scale of parameters to be collected is relatively small, the amount of computation in the detection process is relatively small, the efficiency is relatively high, and it satisfies the data processing requirements in the robotics field. On the other hand, since the parameters related to this disclosure are all ordinary parameters that reflect the robot's movement process, there is no need to deploy new detection equipment, so accurate forced displacement detection can be achieved without additional costs.
[0040] The following provides a detailed explanation of the specific implementation process for each step shown in Figure 1.
[0041] A robot is an automated machine that possesses several intelligent capabilities similar to those of humans or living organisms, such as sensing, planning, acting, and collaborating, and is an automated machine with high flexibility. The appearance of a robot can be arbitrarily set according to actual needs and does not necessarily need to look like a human, and as long as it can autonomously complete tasks and commands given by humans, it belongs to the robot family. For the purposes of this disclosure, the robot refers to a robot that serves humans in public places such as homes and hospitals, and is mainly engaged in tasks such as cleaning, washing, and sanitation.
[0042] In this disclosure, a forced displacement event refers to a displacement caused by movement of a non-robot, such as being manually moved by a user from its current position to another position, or being pushed or kicked by a user.
[0043] In step S110, the amount of change in the robot's tilt angle is obtained during the robot's movement process.
[0044] In this step, if the robot is moved from its current position to another position, its tilt angle may change. The change in the tilt angle can be characterized by the change in the angle that the robot or a component of the robot makes with the vertical reference plane before and after the movement.
[0045] In one selective embodiment, an angle sensor may be installed on the robot, thereby allowing the change in the robot's tilt angle to be acquired by the angle sensor.
[0046] Among these, the angle sensor may be a gyroscope, which is a device for sensing and maintaining direction and is designed based on the theory of conservation of angular momentum. The physical quantities it measures are the angular velocity of rotation during deflection and tilting. A gyroscope mainly consists of a single wheel that is located at the axis and can rotate.
[0047] In another selective embodiment, the change in the robot's tilt angle can be acquired using laser radar (Laser Direct Structuring, LDS).
[0048] In this case, the laser radar may be a millimeter-wave radar. For example, the millimeter-wave radar can transmit millimeter waves to the robot in real time. After the millimeter waves hit the robot, they are reflected, and the reflected millimeter waves are received by a receiving antenna in parallel with the millimeter-wave radar. This allows the tilt angle at each position of the robot to be calculated, and the amount of change in the tilt angle can be determined based on the difference between the tilt angle at the current position and the tilt angle at another position.
[0049] In a further selective embodiment, real-time images of the robot's movement can be captured, and the amount of change in the robot's tilt angle can be obtained from these movement monitoring images.
[0050] For example, the above motion monitoring image may include multiple image frames. By comparing two adjacent frame images, it is possible to detect whether or not a lateral offset has occurred in the feature points that reflect the change in the tilt angle in the image. If a lateral offset occurs, the offset angle is determined as the change in the robot's tilt angle.
[0051] In yet another selective embodiment, in order to improve the accuracy of the acquired tilt angle change, the tilt angle change of the robot can be acquired by any combination of two or more of the above methods, and, exemplary, the tilt angle change of the robot can be obtained by weighting the tilt angle change measured by a gyroscope and the tilt angle change obtained by a laser radar (each weight can be set by the user and is not particularly limited in this disclosure).
[0052] In step S120, the range of inclination angle change when the robot is not affected by external forces is determined based on the displacement increment of the two drive wheels and the distance between the two drive wheels.
[0053] In this step, it should be explained that, if we do not consider the slip of the drive wheels, the theoretical range of inclination angle change during the robot's movement is constant. However, in this disclosure, the change in the robot's position when the drive wheels slip is continuous, and there is no instantaneous movement when it is forcibly displaced. Therefore, the robot does not get an incorrect perception of its own position, and slip usually does not affect the normal operation of the robot. Accordingly, in this disclosure, when determining the range of inclination angle change when the robot is not affected by external forces, the inclination angle change when the drive wheels slip is also taken into consideration.
[0054] Specifically, the robot in this disclosure includes at least two drive wheels, namely a first drive wheel and a second drive wheel. Exemplarily, if the robot includes only two drive wheels, the first drive wheel may be the left wheel and the second drive wheel may be the right wheel. If the robot includes two or more drive wheels, the first drive wheel may be any wheel mounted on the left side, and the second drive wheel may be mounted on the right side and be the wheel closest to the first drive wheel, and this can be set as needed depending on the actual situation, and is not particularly limited in this disclosure. The following embodiments will describe an example in which the robot includes two drive wheels (a left wheel and a right wheel).
[0055] One odometer A may be installed on the left wheel of the robot, and one odometer B may be installed on the right wheel of the robot. This allows the robot to obtain the displacement increment of each of the two drive wheels using the odometers installed on the two drive wheels when the robot moves from its current position to another position. Furthermore, based on the displacement increment of the two drive wheels and the distance between the two drive wheels, the range of tilt angle change when the robot is not affected by an external force can be determined.
[0056] For example, the rotation direction of the drive wheels may include a first direction and a second direction, where the first direction may be the forward direction and the second direction may be the backward direction. When either drive wheel rotates in the forward direction (i.e., forward), the body of the robot on the side corresponding to that drive wheel can be made to tend to move forward, and when either drive wheel rotates in the backward direction (i.e., backward), the body of the robot on the side corresponding to that drive wheel can be made to tend to move backward.
[0057] In this disclosure, the direction of the odometer can be defined as positive for forward movement and negative for reverse movement. Thus, when the left or right wheel rotates forward, the displacement increment of the left or right wheel is a positive value. When the left or right wheel moves backward, the displacement increment of the left or right wheel is a negative value.
[0058] The relationship between the direction of movement of the drive wheels and the tendency of the robot's tilt angle to change is explained below.
[0059] If the right wheel does not move and the left wheel rotates forward, the robot's tilt angle increases along the clockwise direction, and the robot's tilt angle decreases along the counterclockwise direction. If the left wheel does not move and the right wheel rotates backward, the robot's tilt angle increases along the clockwise direction, and the robot's tilt angle decreases along the counterclockwise direction. When the left wheel rotates forward and the right wheel rotates backward, the robot's tilt angle increases along the clockwise direction, and the robot's tilt angle decreases along the counterclockwise direction. If the right wheel does not move and the left wheel rotates backward, the robot's tilt angle increases along the counterclockwise direction. If the left wheel does not move and the right wheel rotates forward, the robot's tilt angle increases along the counterclockwise direction. When the left wheel rotates backward and the right wheel rotates forward, the robot's tilt angle increases along the counterclockwise direction.
[0060] When the displacement increment of the left wheel is large, the displacement increment of the right wheel is small, in this case the change in the robot's tilt angle along the counterclockwise direction is minimized. Conversely, when the displacement increment of the left wheel is small, the displacement increment of the right wheel is large, in this case the change in the robot's tilt angle along the counterclockwise direction is maximized.
[0061] Accordingly, in this disclosure, the counterclockwise direction may be defined as a predetermined clockwise direction, thereby limiting the range of inclination angle changes by the minimum inclination angle change along the counterclockwise direction of the robot and the maximum inclination angle change along the counterclockwise direction of the robot.
[0062] Selectively, the clockwise direction may be defined as the predetermined clockwise direction, thereby limiting the range of inclination angle change by the minimum inclination angle change along the clockwise direction of the robot (corresponding to the maximum inclination angle change along the counterclockwise direction of the robot) and the maximum inclination angle change along the clockwise direction of the robot (corresponding to the minimum inclination angle change along the counterclockwise direction of the robot).
[0063] In the following embodiment, the range of inclination angle change is limited by the minimum inclination angle change along the counterclockwise direction of the robot and the maximum inclination angle change along the counterclockwise direction of the robot.
[0064] Referring to Figure 2, which shows a flowchart of how the range of inclination angle changes when the robot is not affected by an external force is determined based on the displacement increment of the two drive wheels and the distance between the two drive wheels in an embodiment of the present disclosure, including steps S201 to S202.
[0065] In step S201, the minimum change in the tilt angle of the robot along a predetermined clockwise direction is determined based on the maximum correlation value of the displacement increment of the first drive wheel, the minimum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels.
[0066] In this step, refer to Figure 3, which shows a flowchart of how to determine the maximum relevant value of the displacement increment of the first drive wheel in an embodiment of the present disclosure, and includes steps S301 to S302.
[0067] In step S301, if the displacement increment of the first drive wheel is a negative value, a predetermined value is determined as the maximum related value.
[0068] In this step, it can be determined whether the displacement increment L of the first drive wheel (i.e., the left wheel) is a negative value. If the displacement increment L of the first drive wheel is a negative value, a predetermined value (i.e., 0) is set to its maximum associated value L. max It can be confirmed as such.
[0069] In step S302, if the displacement increment of the first drive wheel is a positive value, the displacement increment of the first drive wheel is determined as the maximum related value.
[0070] In this step, if the displacement increment L of the first drive wheel is a positive value, L itself is set to its maximum related value L max It can be confirmed as such.
[0071] Referring to Figure 4, which shows a flowchart of how to determine the minimum relevant value of the displacement increment of the second drive wheel in an embodiment of the present disclosure, including steps S401 to S402.
[0072] In step S401, if the displacement increment of the second drive wheel is a negative value, the displacement increment of the second drive wheel is determined as the minimum relevant value.
[0073] In this step, it is possible to determine whether the displacement increment R of the second drive wheel (i.e., the right wheel) is a negative value. If the displacement increment R of the second drive wheel is a negative value, R itself is set to its minimum related value R. min It can be confirmed as such.
[0074] In step S402, if the displacement increment of the second drive wheel is a positive value, a predetermined value is determined as the minimum related value.
[0075] In this step, if the displacement increment R of the second drive wheel is a positive value, a predetermined value (i.e., 0) is set to its minimum related value R. min It can be confirmed as such.
[0076] The maximum correlation value L for the displacement increment of the first drive wheel. max The minimum correlation value R for the displacement increment of the second drive wheel. min After determining this, let's explain using the example that the distance between the two drive wheels is r. The minimum change in the tilt angle θ along a predetermined clockwise direction of the robot is... min This can be determined based on Equation 1 below.
[0077] [Number]
[0078] Next, referring to FIG. 2, in step S202, based on the minimum correlation value of the displacement increment of the first drive wheel, the maximum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels, determine the maximum change amount of the inclination angle along the predetermined clockwise direction of the robot. <00003In step S601, if the displacement increment of the second drive wheel is a negative value, a predetermined value is determined as the maximum related value.
[0086] In this step, it can be determined whether the displacement increment R of the second drive wheel is a negative value, and if the displacement increment R of the second drive wheel is a negative value, a predetermined value (i.e., 0) is set to its maximum related value R. max It can be confirmed as such.
[0087] In step S602, if the displacement increment of the second drive wheel is a positive value, the displacement increment of the second drive wheel is determined as the maximum relevant value.
[0088] In this step, if the displacement increment R of the second drive wheel is a positive value, R itself is set to its maximum related value R max It can be confirmed as such.
[0089] The minimum correlation value L for the displacement increment of the first drive wheel. min , the maximum correlation value R of the displacement increment of the second drive wheel max After determining this, let's explain using the example that the distance between the two drive wheels is r. This is the maximum change in the tilt angle θ along a predetermined clockwise direction of the robot. max This can be determined based on equation 2 below.
[0090]
number
[0091] Furthermore, in one selective embodiment, the range of inclination angle change when the robot is not affected by an external force is (θ min , θ max ) can be determined. In another optional embodiment, one error range w may be set so that the range of tilt angle change when the robot is not affected by an external force is (θ min -w, θ max (+w) Please note.
[0092] The following describes specific embodiments of how to determine the range of tilt angle changes when the robot is not affected by external forces, in accordance with different situations in specific application scenarios of the robot.
[0093] Generally, the robot's directions of movement may include forward, backward, left turns, and right turns.
[0094] Forward movement refers to the robot's left and / or right wheels rotating forward, and any small steering inputs associated with forward movement can be ignored. Since this disclosure also takes into account the change in tilt angle when the drive wheels slip, both the left and right wheels rotating forward, the left wheel slipping and not moving while the right wheel rotates forward, and the left wheel rotating forward while the right wheel slips and not moving can all be considered forward movement situations.
[0095] Reverse movement refers to the rotation of the robot's left and / or right wheels backward, and any small steering inputs that may occur during reverse movement are negligible. In this disclosure, the change in tilt angle when the drive wheels slip is also taken into consideration, so the following can all be considered reverse movement scenarios: both the left and right wheels rotating backward, the left wheel slipping and remaining stationary while the right wheel rotating backward, and the left wheel rotating backward while the right wheel slipping and remaining stationary.
[0096] A left turn refers to the robot's left wheel rotating backward and the right wheel rotating forward, and the small displacement changes that occur during a left turn can be ignored. In this disclosure, the change in tilt angle when the drive wheels slip is also taken into consideration, so the following can all be considered left turn scenes: both the left and right wheels slip and do not move, the left wheel slips and does not move but the right wheel rotates forward, and the left wheel rotates backward but the right wheel rotates forward.
[0097] A right turn refers to the robot's left wheel rotating forward and its right wheel rotating backward, and the small displacement changes that occur during a right turn can be ignored. In this disclosure, the change in tilt angle when the drive wheels slip is also taken into consideration, so the following can all be considered right turn scenes: both the left and right wheels slip and do not move, the left wheel rotates forward but the right wheel slips and does not move, and the left wheel rotates forward but the right wheel rotates backward.
[0098] First, a specific embodiment of how to determine the range of inclination angle change when the robot is not affected by external forces during forward movement will be described below.
[0099] When the robot is moving forward, if the left wheel does not slip completely (in this case, the displacement increment of the left wheel is the largest) and the right wheel slips completely and does not move (in this case, the displacement increment of the right wheel is the smallest), then the minimum change in the inclination angle θ along the counterclockwise direction when the robot is not affected by external forces is found. min This can be obtained. At this time, if odometer A monitors the displacement increment of the left wheel as L, then, as can be seen in accordance with the forward definition and the odometer direction definition, L is a positive value, and therefore the maximum related value of L is L max Let L be the minimum related value of the displacement increment of the right wheel, R. min Since is 0, θ is based on equation 1 above. min = -L / r can be determined.
[0100] When the robot is moving forward, if the left wheel completely slips (smallest displacement increment for the left wheel) and the right wheel does not completely slip (largest displacement increment for the right wheel), the maximum change in tilt angle θ along the counterclockwise direction when the robot is not affected by external forces is calculated. max This can be obtained. At this time, if odometer B monitors the displacement increment of the right wheel as R, then, as can be seen in accordance with the forward definition and the odometer direction definition, R is a positive value, and therefore the maximum related value of R max Let R be the minimum related value of the displacement increment of the left wheel, L. min Since is 0, θ is based on equation 2 above. max=R / r can be determined.
[0101] Therefore, in one selective embodiment, the range of inclination angle change when the robot is not affected by an external force during forward movement may be given as (-L / r, R / r). In another selective embodiment, one error range w may be set, so that the range of inclination angle change when the robot is not affected by an external force during forward movement may be ((-L / r)-w, (R / r)+w).
[0102] Next, a specific embodiment of how to determine the range of inclination angle change when the robot is not affected by external forces during reversal will be described below.
[0103] When the robot is moving backward, the drive wheels rotate backward during backward movement, resulting in a negative displacement increment. Therefore, the displacement increment of the left wheel is largest when the left wheel completely slips, and smallest when the right wheel does not completely slip. Consequently, when the left wheel completely slips and does not move, and the right wheel does not completely slip, the minimum change in the counterclockwise tilt angle θ when the robot is not affected by external forces is smallest. min This can be obtained. At this time, if odometer B monitors the displacement increment of the right wheel as R, then as can be seen in accordance with the reverse definition and odometer direction definition, R is a negative value, so the minimum related value of R min Let R be the maximum correlation value for the displacement increment of the left wheel, L. max Since is 0, θ is based on equation 1 above. min =R / r can be determined.
[0104] When the robot is moving backward, if the left wheel does not slip completely (the displacement increment of the left wheel is smallest) and the right wheel slips completely (i.e., the right wheel does not move at all, and the displacement increment of the right wheel detected by odometer B is 0), then the maximum change in tilt angle θ along the counterclockwise direction when the robot is not affected by external forces is... maxThis can be obtained. At this time, if odometer A monitors the displacement increment of the left wheel as L, then, as can be seen in accordance with the reverse definition and the odometer direction definition, L is a negative value, so the minimum related value of L is L min Let L be the maximum correlation value of the displacement increment of the right wheel, R. max Since is 0, θ is based on equation 2 above. max = -L / r can be determined.
[0105] Therefore, in one selective embodiment, the range of tilt angle change when the robot is not affected by an external force during reversal may be expressed as (R / r, -L / r). In another selective embodiment, one error range w may be introduced, so that the range of tilt angle change when the robot is not affected by an external force during reversal may be expressed as ((R / r)-w, (-L / r)+w).
[0106] Next, a specific embodiment of how to determine the range of tilt angle change when the robot is not affected by external forces during a left turn will be described below.
[0107] When the robot is moving in the direction of a left turn, the left wheel needs to rotate backward during the left turn, so the right wheel needs to rotate forward. Therefore, in this case, the displacement increment of the left wheel is a negative value, so the displacement increment of the left wheel is largest when the left wheel is completely slipping, and the displacement increment is smallest when the right wheel is completely slipping. Therefore, when both the left and right wheels are completely slipping, the minimum change in the inclination angle θ along the counterclockwise direction when the robot is not affected by external forces is... min This can be obtained. At this time, the maximum related value L of the displacement increment L of the left wheel. max R is 0, and the minimum correlation value for the displacement increment of the right wheel is R. min Since it is also 0, θ is obtained based on equation 1 above. min We can confirm that it equals 0.
[0108] When the robot is moving in a left turn, and the left wheel does not slip completely (the displacement increment of the left wheel is smallest), and the right wheel does not slip completely (the displacement increment of the right wheel is largest), the maximum change in tilt angle θ when the robot is not affected by external forces is given. max This allows us to obtain the following: If odometer A monitors the displacement increment of the left wheel as L, and odometer B monitors the displacement increment of the right wheel as R, then, as can be seen from the left turn definition and the odometer direction definition, L is a negative value and R is a positive value, so the minimum related value of L is L min It takes L and the maximum correlation value of R max By taking R, the change in the robot's tilt angle θ is obtained based on equation 2 above. max =(RL) / r can be determined.
[0109] Therefore, in one selective embodiment, the range of tilt angle change when the robot is not affected by an external force in the case of a left turn may be expressed as (0, (RL) / r). In another selective embodiment, one error range w may be introduced, so that the range of tilt angle change when the robot is not affected by an external force in the case of a left turn may be expressed as (-w, ((RL) / r)+w).
[0110] Finally, we will describe a specific embodiment of how to determine the range of tilt angle change when the robot is not affected by external forces during a right turn.
[0111] When the robot is moving in the direction of a right turn, the right wheel must rotate backward and the left wheel must rotate forward. Therefore, the displacement increment of the right wheel is negative and the displacement increment of the left wheel is positive. From this, we can see that the displacement increment of the left wheel is largest when the left wheel does not slip completely, and smallest when the right wheel does not slip completely. Consequently, when neither the left wheel nor the right wheel slips completely, the minimum change in the inclination angle θ along the counterclockwise direction when the robot is not affected by external forces is... minThis allows us to obtain the maximum correlation value of L. Assuming that odometer A monitors the displacement increment of the left wheel as L, and odometer B monitors the displacement increment of the right wheel as R, then, as can be seen from the right-turn definition and the odometer direction definition, L is a positive value, and therefore the maximum correlation value of L is L. max Since L is a negative value, the minimum correlation value of R is R min By taking R, θ is obtained based on equation 1 above. min =(RL) / r can be determined.
[0112] When the robot is moving in the direction of a right turn, the right wheel must rotate backward and the left wheel must rotate forward. Therefore, the displacement increment of the right wheel is negative and the displacement increment of the left wheel is positive. From this, it can be seen that the displacement increment of the left wheel is smallest when the left wheel is completely slipping, and the displacement increment is largest when the right wheel is completely slipping. Consequently, when both the left and right wheels are completely slipping, the maximum change in the inclination angle θ along the counterclockwise direction when the robot is not affected by external forces is... max This can be obtained. At this time, the minimum related value L of the left wheel displacement increment can be obtained. min R is 0, and the maximum correlation value for the displacement increment of the right wheel is R. max Since it is also 0, θ is obtained based on equation 2 above. min We can confirm that it equals 0.
[0113] Therefore, in one selective embodiment, the range of tilt angle change when the robot is not affected by an external force in the case of a right turn may be expressed as ((RL) / r, 0). In another selective embodiment, one error range w may be set, so that the range of tilt angle change when the robot is not affected by an external force in the case of a right turn may be expressed as (((RL) / r)-w, +w).
[0114] After determining the range of tilt angle change when the robot is not affected by external forces, in one selective embodiment, by comparing the amount of tilt angle change obtained in step S110 with the above range of tilt angle change, it is possible to determine whether or not the robot was forcibly displaced based on the numerical relationship between the amount of tilt angle change and the above range of tilt angle change.
[0115] In another selective embodiment, the current direction of movement of the robot can be obtained, and further, a range of inclination angle changes in that direction when the robot is not affected by an external force can be selected and compared with that range of inclination angle changes. Based on the numerical relationship between the amount of inclination angle change and the range of inclination angle changes, it is possible to determine whether or not the robot has been forcibly displaced.
[0116] Specifically, when the robot is moving forward, it is possible to determine whether the robot has been forcibly displaced based on the numerical relationship between the change in the tilt angle and (-L / r, R / r) or ((-L / r)-w, (R / r)+w). Similarly, when the robot is moving backward, it is possible to determine whether the robot has been forcibly displaced based on the numerical relationship between the change in the tilt angle and (R / r, -L / r) or ((R / r)-w,(-L / r)+w). When the robot is turning left, it is possible to determine whether the robot has been forcibly displaced based on the numerical relationship between the change in the tilt angle and (0, (RL) / r) or (-w,( (RL) / r)+w). When the robot is turning right, it is possible to determine whether the robot has been forcibly displaced based on the numerical relationship between the change in the tilt angle and ((RL) / r, 0) or (((RL) / r)-w, w).
[0117] If the change in the tilt angle falls within the above range of tilt angle change, it can be determined that the robot has not been forcibly displaced. In this case, the robot can be controlled without intervention to continue performing its current work task.
[0118] If the amount of change in the tilt angle is not within the above range of tilt angle change, you may then refer to Figure 1, and in step S130, if the amount of change in the tilt angle is outside the range of tilt angle change, it is determined that the robot has been forcibly displaced.
[0119] In this step, if the amount of change in the tilt angle is outside the range of change in the tilt angle, it can be determined that the robot has been forcibly displaced. If it is determined that the robot has been forcibly displaced, the robot can be controlled to temporarily suspend any work task being performed, such as a cleaning task or a dust removal task, and this can be set by the user according to the actual situation, and is not limited thereto. After temporarily suspending a work task, it may be detected within a predetermined time thereafter (for example, one minute, which can be set by the user according to the actual situation, and is not limited thereto) whether the robot has been forcibly displaced again, and if a forced displacement event occurs again, the robot can be controlled to update its position information by re-estimating its position, or it can be controlled to keep the robot in a state of work suspension.
[0120] Among these, repositioning, also known as global positioning, involves a robot scanning its surroundings while moving, and updating its own position information by matching the scanned information with a stored map.
[0121] By controlling the robot to re-estimate its position after a forced displacement event is detected, the problem of the robot misinterpreting its own position due to user interference events and interfering with the robot's normal operation process can be solved. This eliminates the robot's perception of its own position and improves the robot's operational stability.
[0122] After the robot updates its position information through repositioning, it can continue to perform corresponding work tasks, such as subsequent cleaning tasks, based on the updated position information.
[0123] However, if the robot fails to re-evaluate its position and the above position information cannot be updated, the robot may be controlled to terminate the above work task and restarted, and after restarting, the above work task can be re-executed.
[0124] For example, if the acquired change in tilt angle is 11 degrees, then the displacement increment L monitored by odometer A is 2, the displacement increment R monitored by odometer B is 2, and the distance r between the two drive wheels is 23.9 cm. Based on equations 1 and 2 above, the tilt angle change range can be calculated as (-0.083682 radians, 0.083682 radians). Converting radians to degrees, we get (-4.79 degrees, 4.79 degrees). Since 11 degrees is outside the above tilt angle change range (-4.79 degrees, 4.79 degrees), it can be confirmed that the robot was forcibly displaced during the movement process. At this time, the robot's work task may be temporarily suspended, and its position information may be updated by controlling the robot to re-estimate its position. After updating the position information, the work task can be continued.
[0125] Referring to Figure 7, using a robotic vacuum cleaner as an example, Figure 7 shows an overall flowchart of the robot displacement detection method in an embodiment of the present disclosure, including steps S701 to S706.
[0126] In step S701, the robot is in cleaning mode. In step S702, it is determined whether or not a forced displacement event has been detected. If no forced displacement event has been detected, the process returns to step S701. If a forced displacement event is detected, proceed to step S703, and the cleaning will be temporarily suspended. In step S704, it is determined whether a forced displacement event is detected again within a predetermined time. If a forced displacement event is detected, the process returns to step S703. If no forced displacement event is detected, proceed to step S705 to re-estimate the position. In step S706, position estimation is completed, cleaning continues, and the process jumps to step S701.
[0127] Based on the above proposed technology, this disclosure has at least the following technical effects.
[0128] Firstly, an effective detection method for forced displacement events in robots is provided, filling in the gaps in related technologies where such forced displacement events cannot be identified. Secondly, because the scale of parameters to be collected in this disclosure is relatively small, the computational load in the detection process is relatively low, resulting in relatively high efficiency, which meets the data processing requirements in the robotics field. Thirdly, all of the parameters relating to this disclosure are ordinary parameters that reflect the robot's movement process, and there is no need to deploy new detection equipment. For example, the change in tilt angle can be obtained by a gyroscope, and the increment in displacement can be obtained by an odometer, so accurate forced displacement detection can be achieved without additional costs.
[0129] Fourthly, by controlling the robot to re-estimate its position after a forced displacement event is detected, the problem of the robot misinterpreting its own position due to user interference events and interfering with the robot's normal operation process can be solved. This eliminates the robot's perception of its own position and improves the robot's operational stability.
[0130] This disclosure further provides a robot displacement detection device, the robot including at least two drive wheels, and Figure 8 shows a schematic diagram of the structure of a robot displacement detection device in an exemplary embodiment of this disclosure, and as shown in Figure 8, the robot displacement detection device 800 may include a tilt angle change amount acquisition module 810, a tilt angle change range determination module 820, and a displacement detection module 830. The tilt angle change acquisition module 810 is for acquiring the amount of change in the tilt angle of the robot during the robot's movement process. The tilt angle change range determination module 820 is used to determine the tilt angle change range when the robot is not affected by external forces, based on the displacement increment of the two drive wheels and the distance between the two drive wheels. The displacement detection module 830 is used to determine that the robot has been forcibly displaced if the amount of change in the tilt angle is outside the range of change in the tilt angle.
[0131] In the exemplary embodiments of the present disclosure, the two drive wheels include a first drive wheel and a second drive wheel, wherein when the first drive wheel or the second drive wheel rotates along a first direction, the displacement increment of the first drive wheel or the second drive wheel is a positive value, and when the first drive wheel or the second drive wheel rotates along a second direction, the displacement increment of the first drive wheel or the second drive wheel is a negative value, and the second direction is opposite to the first direction.
[0132] In the exemplary embodiments of the present disclosure, when the first drive wheel rotates along the first direction and / or the second drive wheel rotates along the second direction, the tilt angle of the robot decreases along a predetermined clockwise direction, and when the first drive wheel rotates along the second direction and / or the second drive wheel rotates along the first direction, the tilt angle of the robot increases along the predetermined clockwise direction.
[0133] In exemplary embodiments of the present disclosure, the range of inclination angle change is limited by the minimum amount of inclination angle change along the predetermined clockwise direction of the robot and the maximum amount of inclination angle change along the predetermined clockwise direction of the robot.
[0134] In the embodiments of this disclosure, the determination of the tilt angle change range when the robot is not affected by an external force by the tilt angle change range module 820, based on the displacement increment of the two drive wheels and the distance between the two drive wheels, includes determining the minimum amount of tilt angle change of the robot along the predetermined clockwise direction based on the maximum corresponding value of the displacement increment of the first drive wheel, the minimum corresponding value of the displacement increment of the second drive wheel and the distance between the two drive wheels, and determining the maximum amount of tilt angle change of the robot along the predetermined clockwise direction based on the minimum corresponding value of the displacement increment of the first drive wheel, the maximum corresponding value of the displacement increment of the second drive wheel and the distance between the two drive wheels.
[0135] In the exemplary embodiments of this disclosure, the maximum associated value of the displacement increment of the first drive wheel is determined such that, when the displacement increment of the first drive wheel is a negative value, a predetermined value is determined as the maximum associated value, and when the displacement increment of the first drive wheel is a positive value, the displacement increment of the first drive wheel is determined as the maximum associated value.
[0136] In the exemplary embodiments of this disclosure, the minimum correlation value of the displacement increment of the second drive wheel is determined such that, if the displacement increment of the second drive wheel is a negative value, the displacement increment of the second drive wheel is determined as the minimum correlation value, and if the displacement increment of the second drive wheel is a positive value, a predetermined value is determined as the minimum correlation value.
[0137] In exemplary embodiments of the present disclosure, the determination of the minimum tilt angle change range of the robot along the predetermined clockwise direction by the tilt angle change range determination module 820, based on the maximum correlation value of the displacement increment of the first drive wheel, the minimum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels, includes obtaining the difference between the minimum correlation value of the displacement increment of the second drive wheel and the maximum correlation value of the displacement increment of the first drive wheel, and determining the minimum tilt angle change of the robot along the predetermined clockwise direction based on the ratio of the difference to the distance between the two drive wheels.
[0138] In the exemplary embodiments of this disclosure, the minimum correlation value of the displacement increment of the first drive wheel is determined such that, if the displacement increment of the first drive wheel is a negative value, the displacement increment of the first drive wheel is determined as the minimum correlation value, and if the displacement increment of the first drive wheel is a positive value, a predetermined value is determined as the minimum correlation value.
[0139] In the exemplary embodiments of this disclosure, the maximum correlation value of the displacement increment of the second drive wheel is determined such that, when the displacement increment of the second drive wheel is a negative value, a predetermined value is determined as the maximum correlation value, and when the displacement increment of the second drive wheel is a positive value, the displacement increment of the second drive wheel is determined as the maximum correlation value.
[0140] In exemplary embodiments of the present disclosure, the determination of the maximum tilt angle change range of the robot along the predetermined clockwise direction by the tilt angle change range determination module 820, based on the minimum correlation value of the displacement increment of the first drive wheel, the maximum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels, includes obtaining the difference between the maximum correlation value of the displacement increment of the second drive wheel and the minimum correlation value of the displacement increment of the first drive wheel, and determining the maximum tilt angle change of the robot along the predetermined clockwise direction based on the ratio of the difference to the distance between the two drive wheels.
[0141] In the exemplary embodiments of this disclosure, the above predetermined value is 0.
[0142] In an exemplary embodiment of the present disclosure, after it is determined that the robot has been forcibly displaced, the displacement detection module 830: The robot is configured to update its position information by controlling it to pause any ongoing work tasks, and then, in response to the fact that it is not detected again that the robot has been forcibly displaced within a predetermined time, by controlling it to re-evaluate its position.
[0143] In an exemplary embodiment of the present disclosure, after updating the robot's position information by controlling the robot to perform reposition estimation, the displacement detection module 830: Based on the updated location information, the robot is positioned to be controlled to continue performing the above work task.
[0144] In exemplary embodiments of the present disclosure, the acquisition of the tilt angle change amount of the robot by the tilt angle change amount acquisition module 810 includes acquiring the tilt angle change amount of the robot by one or a combination of the following: acquiring the tilt angle change amount of the robot using an angle sensor installed on the robot; acquiring the tilt angle change amount of the robot using a laser radar; and acquiring the tilt angle change amount of the robot using a movement monitoring image of the robot.
[0145] The specific details of each module in the displacement detection device of the robot described above have been explained in detail in the corresponding robot displacement detection method, so that explanation will be omitted here.
[0146] It should be noted that while the detailed description above refers to several modules or units of the equipment used to perform the operation, such division is not mandatory. In fact, according to embodiments of this disclosure, the features and functions of two or more modules or units described above may be embodied in a single module or unit. Conversely, the features and functions of a single module or unit described above may be further divided and embodied in multiple modules or units.
[0147] Furthermore, although the steps of the methods of this disclosure are described in a specific order in the drawings, this does not require or suggest that these steps must be performed in that specific order, or that all of the steps shown must be performed to achieve the desired result. Additionally or alternatively, it is possible to omit certain steps, combine several steps into a single step, and / or break down a single step into multiple steps.
[0148] From the above description of embodiments, those skilled in the art will readily understand that the exemplary embodiments described herein may be implemented by software or by a combination of software and necessary hardware. Accordingly, the technical solutions according to embodiments of the present disclosure can be implemented in the form of a software product, which may be stored on a non-volatile storage medium (which may be a CD-ROM, USB flash drive, hard disk, etc.) or on a network, and which includes some commands to enable a computing device (which may be a personal computer, server, mobile terminal, or network device, etc.) to perform the method according to embodiments of the present disclosure.
[0149] The present invention further provides a computer-readable storage medium which may be included in the electronic device described in the above embodiment, or which may exist independently without being incorporated into the electronic device.
[0150] Computer-readable storage media may include, but are not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any combination thereof. More specific examples of computer-readable storage media may include, but are not limited to, electrical connections having one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the above. In this disclosure, computer-readable storage media may include, but are not limited to, any tangible medium containing or storing programs that are used by or can be used in combination with command execution systems, apparatus, or devices.
[0151] Computer-readable storage media can transmit, propagate, or transmit programs used by or in combination with instruction execution systems, apparatus, or devices. Program code contained in computer-readable media may be transmitted by any suitable medium, including, but not limited to, wireless, wire, optical cable, RF, or any suitable combination thereof.
[0152] A computer-readable storage medium contains one or more programs, and when these one or more programs are executed by a single electronic device, the electronic device implements the method described in the above embodiment.
[0153] Furthermore, the embodiments of this disclosure provide electronic devices capable of realizing the above method.
[0154] Those skilled in the art will understand that each aspect of the present disclosure can be implemented as a system, method, or program product. Accordingly, each aspect of the present disclosure can be implemented specifically as a complete hardware embodiment, a complete software embodiment (including firmware, microcode, etc.), or an embodiment combining hardware and software embodiments, which may collectively be referred to as “circuit,” “module,” or “system.”
[0155] Hereinafter, an electronic device 900 according to such an embodiment of the present disclosure will be described with reference to Figure 9. The electronic device 900 shown in Figure 9 is merely an example and should not impose any limitations on the function and scope of use of the embodiments of the present disclosure.
[0156] As shown in Figure 9, the electronic device 900 is represented in the form of a general computing device. The assembly of the electronic device 900 may include, but is not limited to, the at least one processing unit 910, the at least one storage unit 920, a bus 930 connecting different system assemblies (including the storage unit 920 and the processing unit 910), and a display unit 940.
[0157] Among these, the memory unit stores program code, which is executable by the processing unit 910 to perform steps according to each exemplary embodiment of the disclosure as described in the “Exemplary Methods” section of this specification. For example, the processing unit 910 can perform the steps of acquiring the amount of change in the tilt angle of the robot during the robot's movement process as shown in Figure 1, the steps of determining the range of tilt angle change when the robot is not affected by an external force based on the displacement increment of the two drive wheels and the distance between the two drive wheels, and the step of determining that the robot has been forcibly displaced if the amount of change in the tilt angle is outside the range of tilt angle change.
[0158] The memory unit 920 may include a readable medium in the form of a volatile memory unit, for example, a random access memory unit (RAM) 9201 and / or a cache memory unit 9202, and may further include a read-only memory unit (ROM) 9203.
[0159] The memory unit 920 may further include a program / utility 9204 having a set (at least one) of program modules 9205, such program modules 9205 including, but not limited to, an operating system, one or more application programs, other program modules, and program data, and each or any combination of these examples may include the implementation of a network environment.
[0160] Bus 930 may represent one or more of several bus structures, and may include a storage unit bus or storage unit controller, a peripheral bus, an accelerated graphics port, a processing unit, or a local bus using any of the multiple bus structures.
[0161] The electronic device 900 may communicate with one or more external devices 1000 (e.g., a keyboard, a pointing device, a Bluetooth® device, etc.), or with one or more devices that enable bidirectional communication between the user and the electronic device 900, and / or with any device that enables communication between the electronic device 900 and one or more other computing devices (e.g., a router, a modem, etc.). Such communication may be performed via the input / output (I / O) interface 950. Furthermore, the electronic device 900 may communicate with the network adapter 960 via one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, e.g., an internetwork). As shown in the figure, the network adapter 960 communicates with other modules of the electronic device 900 via the bus 930. It should be understood that, although not shown in the diagram, other hardware and / or software modules may be used in combination with the electronic device 900, including, but not limited to, microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data backup storage systems.
[0162] A person skilled in the art will readily conceive of other embodiments of the Disclosure after considering the Specification and practicing the inventions disclosed herein. This application is intended to cover any variations, uses, and adaptive changes of the Disclosure, which will follow the general principles of the Disclosure and include common or customary technical means known in the art that are not disclosed herein. The Specification and Examples are to be considered merely illustrative, and the true scope and spirit of the Disclosure are indicated by the Claims.
Claims
1. A method for detecting the displacement of a robot, The robot includes at least two drive wheels, and the robot's displacement detection method is: During the movement process of the robot, the amount of change in the robot's tilt angle is acquired, Based on the displacement increment of the two drive wheels and the distance between the two drive wheels, the range of inclination angle change when the robot is not affected by an external force is determined, The determination that the robot was forcibly displaced if the amount of change in the tilt angle is outside the range of change in the tilt angle includes: A method for detecting the displacement of a robot, characterized by the features described above.
2. The two drive wheels include a first drive wheel and a second drive wheel, and the robot's displacement detection method is: When the first drive wheel or the second drive wheel rotates along the first direction, the displacement increment of the first drive wheel or the second drive wheel is set to a positive value, The present invention further includes, when the first drive wheel or the second drive wheel rotates along a second direction, the displacement increment of the first drive wheel or the second drive wheel is set to a negative value, The second direction is opposite to the first direction. The robot displacement detection method according to feature 1.
3. The robot displacement detection method is as follows: When the first drive wheel rotates along the first direction and / or the second drive wheel rotates along the second direction, the tilt angle of the robot decreases in a predetermined clockwise direction, The tilt angle of the robot increases in the predetermined clockwise direction when the first drive wheel rotates along the second direction and / or when the second drive wheel rotates along the first direction, further comprising The robot displacement detection method according to claim 2.
4. The range of inclination angle change is limited by the minimum amount of inclination angle change along the predetermined clockwise direction of the robot and the maximum amount of inclination angle change along the predetermined clockwise direction of the robot. The robot displacement detection method according to claim 3, characterized in that it is a robot.
5. Based on the displacement increment of the two drive wheels and the distance between the two drive wheels, determining the range of tilt angle change when the robot is not affected by an external force is: Based on the maximum correlation value of the displacement increment of the first drive wheel, the minimum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels, the minimum change in the tilt angle of the robot along the predetermined clockwise direction is determined. This includes determining the maximum change in the tilt angle of the robot along the predetermined clockwise direction based on the minimum correlation value of the displacement increment of the first drive wheel, the maximum correlation value of the displacement increment of the second drive wheel, and the distance between the two drive wheels. The robot displacement detection method according to feature 4.
6. The maximum correlation value of the displacement increment of the first drive wheel is, If the displacement increment of the first drive wheel is a negative value, a predetermined value is determined as the maximum related value. If the displacement increment of the first drive wheel is a positive value, the displacement increment of the first drive wheel is determined to be the maximum associated value. The robot displacement detection method according to claim 5.
7. The minimum correlation value for the displacement increment of the second drive wheel is, If the displacement increment of the second drive wheel is a negative value, the displacement increment of the second drive wheel is determined as the minimum relevant value. If the displacement increment of the second drive wheel is a positive value, a predetermined value is determined to be the minimum related value. The robot displacement detection method according to claim 5.
8. A displacement detection device for a robot, wherein the robot includes at least two drive wheels, and the displacement detection device for the robot is During the movement process of the robot, a tilt angle change acquisition module is configured to acquire the amount of change in the tilt angle of the robot, An inclination angle change range determination module configured to determine the inclination angle change range when the robot is not affected by an external force, based on the displacement increment of the two drive wheels and the distance between the two drive wheels, The system includes a displacement detection module configured to determine that the robot has been forcibly displaced if the amount of change in the tilt angle is outside the range of change in the tilt angle. A robot displacement detection device characterized by the following features.
9. A computer storage medium that stores computer programs, The computer program, when executed by the processor, implements the robot displacement detection method described in any one of claims 1 to 7. A computer storage medium characterized by the following features.
10. Processor and An electronic device including a memory for storing executable instructions of the processor, The processor is arranged to execute the robot displacement detection method according to any one of claims 1 to 7 by executing the executable instructions. An electronic device characterized by the following features.