Patent Description:
With the rapid development of robot-related technologies, people's demand for robots is also increasing. Wheeled mobile robots rely on rollers to move to automatically perform work, which can be directed by human, or can perform preset programs, or operate according to principles formulated based on artificial intelligence techniques. The mission of the robot is to assist or replace the human work, such as meal delivery, sending and receiving express, etc..

The operation of the wheeled mobile robots depends on the precise localization of a work place on the map. The indoor localization technology based on the combination of vision and a wheeled mileage encoder is more and more widely used in the robotics. In such localization method, the camera is first utilized to extract the image features; a pose change of the robot is calculated after the feature matching is performed; then the wheeled odometer is utilized to perform the integration on the encoder to get the pose change of the robot; and finally the results of the above pose changes are combined to obtain the final pose of the robot. However, due to the limitations of the camera and the wheeled mileage encoder, the localization error caused by a localization jump resulted from, such as up and down the slope and severe bumps, in the large-scale indoor complex scenes cannot be solved. Such localization error inevitably affects the obstacle avoidance, planning and decision-making of the robots in the indoor scenarios requiring a high localization accuracy.

The existing technology cannot avoid the localization jump caused by the indoor slope environment, which results in the localization error. At present, there are generally two solutions. The first solution is to set up a slope element when the map is built, and the localization is directly compensated for when the robot is positioned to the slope position; but since the robot may also rotate and move in multiple directions on the slope, such inflexible compensation manner may cause inaccurate localization of the robot. The second solution is to set an obstacle (virtual wall) at the slope when the map is built, such that the robot may not go over the slope when localization and planning, thereby avoiding the localization errors caused by up and down the slope, but this manner limits the operating boundaries of the robot.

The above two solutions in the existing technology both avoid or reduce the localization error caused by the slope, but both have more or less limitations and deficiencies, and cannot avoid the localization error caused by the violent bumping or shaking of the body.

The current localization solution of the meal delivery service robot mainly uses the combination of Marker (an identifier for guiding the operation of the robot) and the odometer. Since the localization solution involving the Marker cannot determine whether the pose change of the robot during the movement is caused by the movement on the horizontal road surface or caused by the change in the angle of view resulted from up and down the slope, if the localization jump caused by up and down the slope cannot be avoided by using an appropriate localization correction solution, the final localization result may have a deviation; and the deviation in the localization may lead to a series of problems in the perception, planning and decision-making functions of the robot, etc. Therefore, a compensation solution with high robustness, fast real-time performance and high precision is required to compensate for and correct the localization error caused by the slope environment.

The document "<NPL>" discloses robot platform and system architecture. The robot is developed by assembling two LRFs on the platform. LRF1 is attached on the front part of the bottom base to fulfil the horizontal scans. The second layer is placed above the base to support the PC. An aluminium frame is fixed on the forefront of the second layer to vertically sustain LRF2 at an appropriate height so that the ground can be detected well enough by the vertical scanning. The odometer, which consists of two encoders is installed next to the rear wheels to estimate the displacement of the robot. The whole system architecture can roughly be divided into three procedures with regard to the data read from three sensors. The dead recking process is executed to estimate the transformation of the robot during the time interval between step (t-<NUM>) and step t. After transformation by utilizing the estimation result, a copy of the horizontal scan Sh(t) is applied to match the former horizontal scan Sh(t-<NUM>) in order to evaluate the quality of the dead reckoning result. Based on this evaluation, the decision is made on whether ICP must be executed to compensate for the odometer error. Finally, the EKF prediction process is conducted by utilizing the original or compensated dead reckoning result.

The document <CIT> discloses a bag body stacking mechanism. The bag body stacking mechanism comprises a bag conveying device, a sealing and cutting device and a stacking device, wherein the sealing and cutting device comprises a cutter which can lift up and down and a lower cutter base; and the bag body stacking mechanism is characterized in that the stacking device comprises an upper pressing plate and a lower clamping plate which can lift up and down, the stacking device is provided with a bag body stacking area, the rear end of the lower clamping plate enters the bag body stacking area, the rearend of the lower clamping plate is in press fit with the lower cutter base, and the front end of the lower clamping plate is in press fit with the upper pressing plate. According to the bag body stacking mechanism, a bag body is clamped by the upper pressing plate and the lower clamping plate when being sealed and cut into a unit bag body, the unit bag body after sealing and cutting is clamped by the upper pressing plate and the lower clamping plate and the lower clamping plate and the lower cutter base alternatively during stacking, therefore the unit bag body is clamped during both forming and stacking, so that the unit bag body is always kept orderly, and displacement of the unit bag body during forming and stacking is avoided.

The document <CIT> discloses a spherical robot slope motion control method based on a fuzzy sliding mode controller. The method comprises the following steps: posture and repeated swinging state information of a aspherical robot on a slope is measured by an inertial measuring unit, position and speed information of the robot on the slope is measured through a speedometer and a coder, and motion target position information sent by an upper computer is received by the robot through wireless transmission; the received information is transmitted to a central processing chip through a serial port; driving moment required by the spherical robot under the current state is worked out by the central processing chip through the fuzzy sliding mode controller according to the received information, and the robot is controlled to move in real time.

According to the embodiments of the present invention, a slope localization correction method is provided, which is applied to a robot, and includes:.

A slope localization correction apparatus is provided, which is applied to a robot and includes:.

A robot is provided, including a processor and a memory for storing a computer program executable by the processor, the processor, when executing the computer program, is configured to:.

One or more computer-readable storage media for storing computer-readable instructions are provided, the computer-readable instructions, when executed by one or more processors, cause the one or more processors to perform steps of:.

Details of one or more embodiments of the present invention are set forth in the accompanying drawings and description below. Other features and advantages of the present invention will become obvious from the specification, drawings and claims.

In order to illustrate the technical solution of the embodiments of the present invention more clearly, the accompanying drawings used in the description of the embodiments of the present invention will be briefly introduced below. Obviously, the accompanying drawings in the following description are only some embodiments of the present invention, those skilled in the art can also obtain other drawings according to these drawings without any creative effort.

The invention is set forth in the independent claims <NUM>, <NUM>, <NUM> and <NUM> and in the dependent claims <NUM> to <NUM>, <NUM> to <NUM> and <NUM> to <NUM>. The embodiments of the present invention are described in detail below, examples of which are shown in the drawings, and the same or similar reference signs denote the same or similar elements or elements having the same or similar functions throughout. The embodiments described below with referring to the drawings are exemplary and are intended to explain the present invention, rather than being construed as limiting the present invention.

The present invention provides a slope localization correction method. Compared to the conventional methods of artificially measuring a slope angle or artificially setting a virtual wall, the method has good real-time performance, high robustness, high correction accuracy, and is convenient and quick.

<FIG> is a flow chart of a slope localization correction method according to an embodiment of the present invention. Referring to <FIG>, the present invention provides a slope localization correction method, which is applied to a robot to compensate for and correct a localization error caused by the slope environment during the operation of the robot. In the embodiment, a wheeled meal delivery robot operating indoors is taken as an example of the robot. In other embodiments, the robot may also be other robots, such as an industrial robot engaged in production, etc..

The slope localization correction method includes the following steps.

S10: localization data of the robot in a predetermined area is measured by an inertial measurement element of the robot, and a pose of the robot in the predetermined area is calculated according to the localization data.

Specifically, as for the meal delivery robot in the present invention, an inertial measurement element is integrated inside the meal delivery robot, and the inertial measurement element at least includes an angular motion detection device configured to measure an angular velocity and an acceleration detection device configured to measure a linear acceleration. In the embodiment, the angular motion detection device is a gyroscope as an example; and the acceleration detection device is an accelerometer as an example. In other embodiments, the angular motion detection device and the acceleration detection device may also be other measuring instruments which can measure the angular velocity and the linear acceleration of the robot respectively. Both the gyroscope and the accelerometer in this embodiment are integrated in the inertial measurement element; the gyroscope is configured to measure an angular velocity and an angular acceleration value at each position during the operation of the robot; and the accelerometer is configured to measure the linear acceleration value at each position during the operation of the robot.

The meal delivery robot in the present invention operates in a restaurant, and the operation thereof in the restaurant depends on a route planning map in the restaurant. Before the meal delivery robot works for the first time, or when the layout of the restaurant changes, the map needs to be re-planned. Preferably, the meal delivery robot in the present invention is provided with a Simultaneous Localization and Mapping (SLAM) system. The SLAM allows the robot to gradually draw a map of the environment while moving in the restaurant. During the movement, the robot can localise itself according to the position estimation and the map. Meanwhile, an incremental map is built based on the own localization of the robot, so that the robot can travel to every position in the restaurant that can be entered without an obstacle, to implement the autonomous localization and navigation of the meal delivery robot.

During the operation of the robot in the present invention, the localization data of the robot at each position can be measured through the inertial measurement element thereof. Specifically, the inertial measurement element in the present invention includes three uniaxial accelerometers and three uniaxial gyroscopes. The accelerometer is configured to detect an independent triaxial acceleration signal of the robot in a body coordinate system; the gyroscope is configured to detect an angular velocity signal of the robot with respect to a navigation coordinate system, which measures the angular velocity and angular acceleration of the robot in a three-dimensional space.

In the method of the present invention, after the linear acceleration value, the angular velocity value, the angular acceleration value, and other localization data of the robot at each position by using the inertial measurement element, these localization data is utilized to calculate a pose of the robot at a corresponding position. Generally, the pose of the robot includes a position thereof in the restaurant and a pose of the robot at the position in the restaurant. The pose of the robot includes data such as a pitch angle, a roll angle, and a yaw angle, etc..

S20: it is determined that whether there exists a slope in the predetermined area according to the pose of the robot.

Specifically, as for the meal delivery robot in the present invention, after the localization data at each position is measured through the inertial measurement element, and the pose of the robot at the position is determined according to the localization data, it can be determined that whether there exists a slope at the position according to the pose of the robot at the position. When there exists a slope at a certain position in the restaurant, the pitch angle in the localization data measured by the meal delivery robot may change when the robot travels to this position, and the roll angle may also usually change. Accordingly, with the method of the present invention, it can be determined that there exists the slope at the position when determining that the pitch angle in the pose data changes, or both the pitch angle and the roll angle change.

S30: when it is determined that there exists the slope in the predetermined area, a pose corresponding to the slope is utilized to compensate for the localization error at the slope.

Specifically, when it is determined that there exists a slope at a certain position in the restaurant when the meal delivery robot travels to this position, the pose of the robot at the slope is utilized to compensate for the localization error at the slope, that is, an Euler angle at the slope measured by the robot is utilized to compensate for the jump in the angle of view caused by the environmental changes, thereby avoiding the defects that the robot thinks its own state changes due to the jump in the angle of view caused by up and down the slope or violent bumps, and then affects the localization result, resulting in the localization jump.

In the slope localization correction method of the present invention, the inertial measurement element is utilized to obtain the pose and pose changes of the robot in real time, and then the change in the environment where the robot is located is inferred, thereby compensating for the robot localization results in real time, with good real-time performance. Moreover, the robot can calculate the environment and environmental changes according to the changes in its own position and pose. Under the premise of no human interference, the robot itself corrects its own localization error, and it is no longer necessary to artificially set up the virtual wall or artificially measure the angle of the slope, which is convenient and quick.

In a specific embodiment, the specific steps of using the inertial measurement element of the robot to measure the localization data of the robot in the predetermined area, and calculating the pose of the robot in the predetermined area according to the localization data include:.

the triaxial acceleration and triaxial angular velocity of the robot are measured by the inertial measurement element; the pose of the robot is calculated through a first Euler angle anti-rotation matrix formed by the triaxial acceleration and a second Euler angle anti-rotation matrix formed by the triaxial angular velocity.

Specifically, in the slope localization correction method for the robot in the present invention, the state of the meal delivery robot is first modeled, and state variables are set as follows:
<MAT>
where, w denotes the triaxial angular velocity; wx denotes an angular velocity in the X-axis in the three-dimensional coordinate system (including the X-axis, Y-axis and Z-axis); wy denotes an angular velocity in the Y-axis in the three-dimensional coordinate system; and wz denotes an angular velocity in the Z-axis in the three-dimensional coordinate system; wa denotes a three-dimensional angular acceleration, where wax denotes an angular acceleration in the X-axis in the three-dimensional coordinate system; way denotes an angular acceleration in the Y-axis in the three-dimensional coordinate system; and waz denotes an angular acceleration in the Z-axis in the three-dimensional coordinate system; ze denotes triaxial components of the angular acceleration in the body coordinate system, where zex is a component of the angular acceleration in the X-axis in the body coordinate system; zey is a component of the angular acceleration in the Y-axis in the body coordinate system; zez is a component of the angular acceleration in the Z-axis in the body coordinate system.

In the method of the present invention, after the state variables are set for the above-mentioned meal delivery robot, the measurement matrix is set, and the expression of the measurement matrix Z is:
<MAT>
where G denotes an output of the triaxial gyroscope; A denotes an output of the triaxial accelerometer;
<MAT>
<MAT>
where A represents the first Euler angle anti-rotation matrix formed by the acceleration, G represents the second Euler angle anti-rotation matrix formed by the angular velocity; the first Euler angle anti-rotation matrix and the second Euler angle anti-rotation matrix both consist of three rows and three columns of elements. In the formulas (<NUM>) and (<NUM>), the elements ax, ay, and az in A respectively represent the triaxial accelerations of the robot in a positive direction under the body coordinate system; -ax, -ay and -az in A respectively represent the triaxial accelerations of the robot in a negative direction under the body coordinate system. The elements wx, wy and wz in G respectively represent the triaxial angular velocities of the robot in the positive direction under the navigation coordinate system; -wx, -wy and -wz in G respectively represent the triaxial angular velocities of the robot in the negative direction under the navigation coordinate system.

Then a pose state equation of the robot can be obtained as:
<MAT>
where <MAT>.

In the formula (<NUM>), X denotes a state of the robot; and the state of the robot includes pitch angle pose information and roll angle pose information of the robot; and X is a state variable.

In the formula (<NUM>), the letter O represents a zero matrix with three rows and three columns, that is, nine elements in the matrix O with three lows and three columns are all numbers <NUM>; and the letter I represents an identity matrix with three rows and three columns, that is, the upper-left element, the middle element, and the lower-right element of the matrix I are the number <NUM>, while the other six elements are all the number <NUM>.

In a specific embodiment, the step of measuring the localization data of the robot in the predetermined area by using the inertial measurement element of the robot, and calculating the pose of the robot in the predetermined area according to the localization data specifically further includes that:.

the pose of the robot is calculated with a state transition matrix and a priori estimation method; and a formula for calculating the pose of the robot with the prior estimation method is: <MAT>,
where <MAT> represents the pose of the robot at the position k+<NUM>, the negative sign in the upper-right corner indicates a priori estimation value; Pk represents the pose of the robot at the position k; Alin ,k represents the state transition matrix; <MAT> represents a transpose matrix of the state transition matrix; and Q, represents a noise.

Specifically, in the method of the present invention, the pose state of the robot at next position can be calculated by means of the state transition matrix according to the pose state of the robot at the current position during the operation of the meal delivery robot, so that the calculated pose of the robot at each position is only related to the pose at the previous position, which simplifies the operation compared to the existing solution in the conventional technology in which it is needed to artificially set the virtual wall or artificially measure the slope angle.

In a specific embodiment, after the step of calculating the pose of the robot through the state transition matrix and the priori estimation method, the method further includes the following step:
the priori estimation value of the pose of the robot is corrected by a measured value.

Specifically, a relationship between the measurement matrix and the state matrix is:
<MAT>
where Zk represents the measurement matrix, Pk represents the pose state matrix, Rk represents the noise, and Z is the formula (<NUM>). In the above formula, the measurement matrix Zk and the pose state matrix Pk have a linear relationship. After the priori estimation value of the pose is corrected by using the measured value, a Kalman gain, a posterior state estimation and a variance posterior estimation of the pose data are calculated, and then the pose information of the robot can be obtained. After that, the Euler angle is extracted from the pose angle, including the pitch angle and the roll angle. It should be noted that since the accelerometer and the gyroscope are relatively sensitive, a window sliding filtering is also performed when receiving the data of the accelerometer and the gyroscope, so that the angle information finally obtained by the calculation is more accurate and stable, and the interference of noise is reduced. Meanwhile, the current environment and environmental change of the robot can be obtained from the pose, that is, the Euler angle (Roll and Pitch angles) is obtained by using the pose to obtain the state of the robot, and then the current environment (horizontal or slope road surface) of the robot can be distinguished from the pose; finally, the obtained Euler angle is utilized to compensate for the jump in the angle of view caused by the environment change, thereby avoiding the defects that the robot thinks its own state changes due to the jump in the angle of view caused by up and down the slope or violent bumps, and then affects the localization result, resulting in the localization jump.

In a specific embodiment, the step of determining whether there exists the slope in the predetermined area according to the pose of the robot, and using the pose corresponding to the slope to compensate for the localization error at the slope when these exists the slope includes:.

Specifically, in the method of the present invention, the state of the robot is obtained according to the Euler angles of the pose, and then it is determined from the pose that the current environment of the robot is a horizontal surface or an inclined surface such as an upslope or downslope. During the operation of the robot, when the pitch angle of the Euler angle is equal to <NUM>, it means that the robot does not lean forward or backward with respect to the ground. When the roll angle of the Euler angle is equal to <NUM>, it means that the robot does not roll left or right with respect to the ground. Usually, when the robot travels to a position such as an upslope or downslope, the pitch angle of the Euler angle may have a value (positive or negative value) in the body coordinate system. When the robot travels up or down a slope, usually accompanied by the phenomenon of turning left and right. When traveling on an uneven road surface or tripped over something, the robot may roll left and right, and at the moment the roll angle of the Euler angle also has a value (positive or negative value).

Therefore, in the method of the present invention, it is determined whether there exists the slope according to the Euler angle corresponding to a certain position where the robot travels; when it is determined that there exists the slope, the value of the Euler angle at the slope position is utilized to compensate for the localization error at the slope.

Compared to the existing solution in the conventional technology, the slope localization correction method for the robot in the present invention at least has the following advantages.

Referring to <FIG>, the present invention further provides a slope localization correction apparatus, which corresponds to the above-mentioned slope localization correction method and is applied to a robot. The slope localization correction apparatus includes a pose calculation unit <NUM>, a slope determination unit <NUM>, and a localization error compensation unit <NUM>.

The pose calculation unit <NUM> is configured to measure localization data of the robot in a predetermined area by using an inertial measurement element of the robot, and calculate a pose of the robot in the predetermined area according to the localization data.

The slope determination unit <NUM> is configured to determine whether there exists a slope in the predetermined area according to the pose of the robot.

The localization error compensation unit <NUM> is configured to, when there exists the slope in the predetermined area, use a pose corresponding to the slope to compensate for the localization error at the slope.

In the slope localization correction apparatus of the present invention, the inertial measurement element is utilized to obtain the pose and pose change of the robot in real time, thereby inferring the change in the environment where the robot is located, and the localization result of the robot can be compensated for in real time. Accordingly the apparatus has good real-time performance. Moreover, the robot can calculate the environment and environmental change according to the change in its own pose, and can correct its own localization error without the human interference. Accordingly, there is no need to artificially set up the virtual wall or artificially measure the angel of the slope, which is convenient and quick.

Referring to <FIG> and <FIG>, the present invention further provides a robot, including:.

The memory <NUM> is configured to store a computer program executable by the processor <NUM>. When executing the program, the processor <NUM> implements the slope localization correction method in any of the above-mentioned embodiments.

The memory <NUM> may include a high-speed RAM memory, and may further include a non-volatile memory, such as at least one magnetic disk memory. Further, the robot may further include a communication interface <NUM> for communication between the memory <NUM> and the processor <NUM>.

If the memory <NUM>, the processor <NUM>, and the communication interface <NUM> are implemented independently, the communication interface <NUM>, the memory <NUM>, and the processor <NUM> may be connected to each other through a bus to complete the mutual communication. The bus may be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus, or an Extended Industry Standard Architecture (EISA) bus. The bus can be summarized as an address bus, a data bus, a control bus and so on. For ease of representation, only one thick line is used in <FIG>, but it does not mean that there is only one bus or one type of bus.

Optionally, in specific embodiment, if the memory <NUM>, the processor <NUM> and the communication interface <NUM> are integrated in one chip, the memory <NUM>, the processor <NUM> and the communication interface <NUM> can communicate with each other through an internal interface.

The processor <NUM> may be a Central Processing Unit (CPU), or an Application Specific Integrated Circuit (ASIC), or configured to implement one or more integrated circuits in the embodiments of the present invention.

Claim 1:
A slope localization correction method, applied to a robot, comprising:
measuring a triaxial acceleration and a triaxial angular velocity of the robot by the inertial measurement element; calculating the pose of the robot through a first Euler angle anti-rotation matrix formed by the triaxial acceleration and a second Euler angle anti-rotation matrix formed by the triaxial angular velocity;
wherein a pose state equation of the robot is: X = F(X) * X, wherein, <MAT>, O represents a zero matrix with three rows and three columns, I represents an identity matrix with three rows and three columns, A represents the first Euler angle anti-rotation matrix, G represents the second Euler angle anti-rotation matrix, X denotes a state of the robot, the state of the robot comprises pitch angle pose information and roll angle pose information of the robot, Xis a state variable, <MAT>
in the first Euler angle anti-rotation matrix, ax, ay, and az respectively represent triaxial accelerations of the robot in a positive direction under a body coordinate system, -ax, -ay and -az respectively represent triaxial accelerations of the robot in a negative direction under the body coordinate system; and in the second Euler angle anti-rotation matrix, wx, wy and wz respectively represent triaxial angular velocities of the robot in the positive direction under a navigation coordinate system, -wx, -wy and -wz respectively represent triaxial angular velocities of the robot in the negative direction under the navigation coordinate system; characterized by
calculating the pose of the robot with a state transition matrix and a priori estimation method, wherein a formula for calculating the pose of the robot with the prior estimation method is: <MAT>, wherein
<MAT> represents a pose of the robot at a position k+<NUM>, Pk represents a pose of the robot at a position k, Alin ,k represents the state transition matrix, <MAT> represents a transpose matrix of the state transition matrix, Q, represents a noise;
determining (S20) whether there exists a slope in the predetermined area according to the pose of the robot;
compensating (S30) for a localization error at the slope by using a pose corresponding to the slope when determining that there exists the slope in the predetermined area.