Position point insertion method for robot, robot, and chip

By inserting predicted position points into the trajectory of a mobile robot and independently processing spatial coordinates and angle information, the problem of mechanical error interference is solved, and the positioning accuracy and trajectory prediction accuracy are improved.

CN116136686BActive Publication Date: 2026-01-09AMICRO SEMICONDUCTOR CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202111359920.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-11-17
Publication Date
2026-01-09
Estimated Expiration
2041-11-17

AI Technical Summary

Technical Problem

During autonomous movement and positioning, mobile robots experience mechanical errors in their spatial coordinates and angles due to the influence of the same set of mechanical components, which affects positioning accuracy.

Method used

By inserting predicted position points between discrete position points and using equal-direction angle and equal-length changes, spatial coordinates and forward direction angle information are processed independently, avoiding interference from mechanical errors.

Benefits of technology

This reduces mechanical errors between coordinate and angle information, improving the accuracy of robot positioning and trajectory prediction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116136686B_ABST
    Figure CN116136686B_ABST
Patent Text Reader

Abstract

The application discloses a position point insertion method of a robot, a chip and the robot. The position point insertion method comprises the following steps: recording position points at two different positions as a first position point and a second position point respectively; inserting interpolation rays into a preset rotation angle at an interpolation interval angle to divide the preset rotation angle into a preset number of included angles; wherein each interpolation ray has a common endpoint, and the common endpoint is a rotation center; a ray of the rotation center pointing to the first position point is set as a first ray, and a ray of the rotation center pointing to the second position point is set as a second ray, and the preset rotation angle is an included angle formed by the first ray and the second ray; and then, from the first ray, the predicted position points with a direction angle and a straight line distance from the rotation center are inserted into the interpolation rays in a manner of changing the direction angle and a manner of changing the length.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robot route interpolation processing, in particular to a robot position point insertion method, a robot and a chip. BACKGROUND

[0002] In the process of autonomous movement and timely positioning of a mobile robot, the mobile robot generates a pose information every sampling time interval, and thus each of two adjacent time points obtains a position point. Therefore, the robot only marks discrete position points in the map constructed in time, and thus it is necessary to perform trajectory prediction between the position points obtained at the two adjacent time points, so as to obtain the motion trajectory information actually traveled by the robot in the sampling time interval. In the process of trajectory prediction, the coordinate parameter information in two dimensions of space coordinates and angles is generally processed.

[0003] However, the linear motion of the mobile robot is driven by mechanical components such as the driving wheels of the robot, and thus the space coordinates representing the actual moving position are generated in the map in time. Meanwhile, the rotational motion of the mobile robot is also caused by the motion of the same mechanical components, and is detected by the corresponding angle sensor (such as a gyroscope) and fed back to the map constructed in time. As a result, the coordinate information and angle information generated in the map constructed in time are affected by the operation of the same set of mechanical components, thereby introducing the mechanical error existing in one type of pose information into another type of pose information. SUMMARY

[0004] In order to ensure that the space coordinates generated in the map and the angle information generated in time are independent of each other, the present technical solution respectively acquires more predicted position points with insertion value in the form of incrementing the relevant type of pose variable (including simultaneously processing the space coordinates and the steering angle information but not being associated with each other) at the discrete two position points, for the space distance and the forward direction angle information. The specific technical solution is as follows:

[0005] The position point insertion method of the robot, before the position point insertion method is executed, the robot records a position point in the moving process; wherein the position point is the path node actually traversed by the robot when moving along the established track; the position point insertion method comprises: recording two different positions of the position points recorded in advance as a first position point and a second position point respectively; evenly inserting an interpolation ray into a preset rotation angle with an interpolation interval angle to evenly divide the preset rotation angle into a number of preset included angles; wherein each interpolation ray has a common endpoint, which is the rotation center; the ray pointing to the first position point from the rotation center is set as the first ray, and the ray pointing to the second position point from the rotation center is set as the second ray, and the preset rotation angle is the included angle composed of the first ray and the second ray; then, starting from the first ray, the predicted position points with the direction angle and the straight line distance from the rotation center are inserted in the interpolation rays in the way of equal direction angle change and equal length change.

[0006] Further, the position point insertion method further comprises: when the angle of the preset rotation angle is greater than the preset angle threshold, starting from the first ray, the predicted position points with the direction angle and the straight line distance from the rotation center are inserted in the aforementioned interpolation rays in the way of equal direction angle change and equal length change; wherein the advancing direction of the robot at the first position point is set as the first advancing direction, and the straight line passing through the first position point and perpendicular to the first advancing direction is set as the first preset straight line; wherein the advancing direction of the robot at the second position point is set as the second advancing direction, and the straight line passing through the second position point and perpendicular to the second advancing direction is set as the second preset straight line; wherein if the second preset straight line intersects with the first preset straight line, the intersection point of the second preset straight line and the first preset straight line is set as the rotation center.

[0007] Further, the method for inserting the predicted position points with the corresponding direction angles and the corresponding distances from the rotation center into the interpolation rays in the equal direction angle variation and the equal length variation from the first ray comprises: inserting an interpolation line segment into the preset rotation angle every interpolation interval angle from the first ray, wherein each interpolation line segment is distributed along the corresponding position interpolation ray and each interpolation line segment passes through the rotation center; then setting the length of the current interpolation line segment and a length increment value as the length of the next interpolation line segment so that the interpolation line segments insert the predicted position points with the corresponding distances from the rotation center into the interpolation rays in the equal length variation; and setting the angle of the current direction angle and an angle increment value as the angle of the next direction angle so that the direction angles insert the predicted position points with the corresponding direction angles into the interpolation rays in the equal direction angle variation, wherein the predicted position points and the predicted position points with the corresponding distances from the rotation center are the same position points on the same interpolation ray, and the predicted position points are the end points of the inserted interpolation line segments except the rotation center; and stopping the insertion of the interpolation line segments until the number of the inserted interpolation line segments in the preset rotation angle is the difference between the preset included angle number and 1; wherein the preset included angle number is set as the result of the ceiling of the ratio of the angle of the preset rotation angle to the preset angle threshold, so that the preset included angle number is the smallest integer greater than or equal to the ratio.

[0008] Further, the line segment connecting the first position point and the rotation center on the first ray is set as the starting interpolation line segment, and the direction angle of the robot at the first position point is set as the starting insertion direction angle, wherein the direction angle of the robot at the first position point is the included angle between the advancing direction of the robot at the first position point and the reference line; the line segment connecting the second position point and the rotation center on the second ray is set as the ending interpolation line segment, and the direction angle of the robot at the second position point is set as the ending insertion direction angle, wherein the direction angle of the robot at the second position point is the included angle between the advancing direction of the robot at the second position point and the reference line; the ratio of the difference between the length of the ending interpolation line segment and the length of the starting interpolation line segment and the preset included angle number is set as the length increment value; and the ratio of the difference between the angle of the ending insertion direction angle and the angle of the starting insertion direction angle and the preset included angle number is set as the angle increment value.

[0009] Further, the method of inserting the predicted position points with the direction angle adapted and the straight line distance from the rotation center adapted in the aforementioned interpolation rays in the equal direction angle variation manner and the equal length variation manner further comprises: step A, setting the distribution position of the next interpolation line segment on the interpolation ray with the interpolation interval angle relative to the current interpolation line segment and not inserted with the predicted position point, and setting the length of the next interpolation line segment equal to the sum of the length of the current interpolation line segment and the length increment value, and setting the angle of the next direction angle equal to the sum of the angle of the current direction angle and the angle increment value, and setting one end point of the next interpolation line segment except the rotation center as the predicted position point inserted next time; then entering step B; step B, updating the length of the next interpolation line segment to the length of the current interpolation line segment, updating the angle of the next direction angle to the angle of the current direction angle, updating the next interpolation line segment to the current interpolation line segment, and updating the predicted position point inserted next time to the predicted position point inserted currently; then entering step C; step C, judging whether the included angle between the current interpolation line segment updated and the terminal interpolation line segment is equal to the interpolation interval angle, if yes, it is determined that the current interpolation line segment updated is the interpolation line segment distributed along the interpolation ray with the interpolation interval angle relative to the terminal interpolation line segment in the preset rotation angle, and it is determined that the corresponding predicted position point on the current interpolation line segment updated is the predicted position point inserted last time between the first position point and the second position point, otherwise, returning to step A; wherein the angle of the included angle between the two interpolation line segments with the two predicted position points inserted adjacently is set as the interpolation interval angle.

[0010] Further, the method of inserting the predicted position points with the direction angle adapted and the straight line distance from the rotation center adapted in the aforementioned interpolation rays in the equal direction angle variation manner and the equal length variation manner further comprises: step A, setting the distribution position of the next interpolation line segment on the interpolation ray with the interpolation interval angle relative to the current interpolation line segment and not inserted with the predicted position point, and setting the length of the next interpolation line segment equal to the sum of the length of the current interpolation line segment and the length increment value, and setting the angle of the next direction angle equal to the sum of the angle of the current direction angle and the angle increment value, and setting one end point of the next interpolation line segment except the rotation center as the predicted position point inserted next time; then entering step B; step B, updating the length of the next interpolation line segment to the length of the current interpolation line segment, updating the angle of the next direction angle to the angle of the current direction angle, updating the next interpolation line segment to the current interpolation line segment, and updating the predicted position point inserted next time to the predicted position point inserted currently; then entering step C; step C, judging whether the included angle between the current interpolation line segment updated and the terminal interpolation line segment is equal to the interpolation interval angle, if yes, it is determined that the current interpolation line segment updated is the interpolation line segment distributed along the interpolation ray with the interpolation interval angle relative to the terminal interpolation line segment in the preset rotation angle, and it is determined that the corresponding predicted position point on the current interpolation line segment updated is the predicted position point inserted last time between the first position point and the second position point, otherwise, returning to step A; wherein the angle of the included angle between the two interpolation line segments with the two predicted position points inserted adjacently is set as the interpolation interval angle.

[0011] Further, the position point insertion method further comprises: setting a line segment connecting the rotation center and a currently inserted one of the predicted position points as a current interpolation line segment, and setting a direction angle of the robot at the currently inserted one of the predicted position points as a current direction angle; wherein an included angle between a forward direction of the robot at the currently inserted one of the predicted position points and the reference line is the direction angle of the robot at the currently inserted one of the predicted position points, and the forward direction of the robot at the currently inserted one of the predicted position points is perpendicular to the current interpolation line segment; the current interpolation line segment is located on an interpolation ray with the same angular position relative to the first ray; setting a line segment connecting the rotation center and a next inserted one of the predicted position points as a next interpolation line segment, and setting a direction angle of the robot at the next inserted one of the predicted position points as a next direction angle; wherein an included angle between a forward direction of the robot at the next inserted one of the predicted position points and the reference line is the direction angle of the robot at the next inserted one of the predicted position points, and the forward direction of the robot at the next inserted one of the predicted position points is perpendicular to the next interpolation line segment; the next interpolation line segment is located on an interpolation ray with the same angular position relative to the first ray.

[0012] Further, the first position point, the second position point, each of the predicted position points, each of the interpolation line segments, each of the interpolation rays, the first ray and the second ray are located on a same plane; wherein the plane is located in a three-dimensional space.

[0013] Further, the first position point and the second position point are two position points moved by the robot at two adjacent time instants, wherein there is a fixed time interval between the two adjacent time instants.

[0014] A chip for implementing the position point insertion method by executing an internally stored algorithm program code.

[0015] A robot provided with a sensor for collecting position points of an environment to construct a map, and provided with the chip for controlling the robot to execute the position point insertion method.

[0016] Compared with the prior art, the beneficial technical effect of the present application is that, between two known position points, coordinate distance information and angle information monotonically and incrementally changed each time are converted into a position point corresponding to one insertion between the two position points, dimensional conversion between the coordinate distance information and the angle information is avoided in the process of incremental change, an insertion point with less error is obtained, and interference of errors caused by mechanical activities carried by the spatial coordinate distance information and the angle information of the position points is overcome. BRIEF DESCRIPTION OF DRAWINGS

[0017] Figure 1 FIG. 1 is a flow chart of a method for inserting a position point of a robot according to an embodiment of the present application.

[0018] Figure 2 FIG. 2 is a schematic diagram of a predicted position point P3 and a predicted position point P4 sequentially inserted between an interpolation ray OP1 and an interpolation ray OP2 according to another embodiment of the present application.

[0019] Figure 3 FIG. 3 is a flow chart of a method for inserting a predicted position point with a direction angle corresponding to the interpolation ray and a straight line distance corresponding to the center of rotation in the interpolation ray in a manner of equal direction angle variation and a manner of equal length variation according to another embodiment of the present application. DETAILED DESCRIPTION

[0020] The technical solutions in the embodiments of the present application will be described in detail below with reference to the accompanying drawings.

[0021] The position point insertion method of the robot provided by the embodiment of the application can be applied to a map constructed by a mobile robot or a marked path. The mobile robot can be a sweeping robot, an inspection robot, an unmanned sampling robot, an unmanned forklift, etc. The mobile robot comprises a robot main body, a sensor, a controller and a walking mechanism. The robot main body is the main structure of the robot. The shape and manufacturing material (such as hard plastic or aluminum, iron and other metals) of the robot main body can be selected according to the actual needs of the robot. For example, the robot main body can be set as a relatively flat cylindrical shape commonly used in sweeping robots. The walking mechanism is arranged on the robot main body and is a structural device for providing the mobile robot with a moving ability. The walking mechanism can be implemented by any type of moving device, such as a roller or a tracked type. The sensor is used to perceive the external environment, obtain the coordinate information and angle information of the robot main body and form the pose information of the robot main body. The sensor can be any type of information acquisition device, including but not limited to an odometer for measuring the walking distance, a gyroscope for measuring the rotation angle of the robot main body, an infrared sensor for distance measurement or a visual sensor for distance measurement. The robot converts the information fed back by the sensors into position information and marks the position information on the map constructed in real time. The sensor can be set as one or more to meet the detection range of multiple angles. However, the processing of the data collected by the sensor requires time, that is, a certain sampling period is generated, so the mobile robot records a position only after a period of time, resulting in a certain distance between the two adjacent positions generated. Therefore, the robot only marks discrete position points in the map constructed in real time. The prior art predicts the motion trajectory of the robot between the position points generated by the mobile robot and far apart from each other. However, in the process of calculating the pose information of a specific position point, the real-time collected angle information is used to participate in the coordinate system transformation of the coordinate information or the distance information calculated from the angle information, because the angle information and the coordinate information are both feedback results of the mechanical activity of the same walking mechanism of the robot by the sensor, so the two types of dimensional parameter information may be converted in the process of positioning the robot. Therefore, whenever the robot plans a new pose point in the map constructed in real time, the coordinate and angle information of the new pose point will use the parameters of each other or the intermediate parameters carried in the conversion process, so that the errors existing in the two types of position quantities will be introduced into the other type of position quantity, such as the slippage or idling of the driving wheel of the robot, which will bring errors to the calculation or conversion of the angle information and the coordinate information.

[0022] In the process of pose calculation of the robot or the pose information is calculated in a recursive manner, in order to solve the problem that the coordinate information and the angle information cannot be completely independently calculated, an embodiment of the present application discloses a position point insertion method of the robot; a plurality of position points are continuously inserted between discrete position points in a manner of automatically increasing fixed parameters of corresponding types, so as to avoid the interference of the same mechanical operation error parameter or the error parameters of corresponding types carried by each other on the two position parameters of the coordinate information and the angle information in the same overall mechanical system.

[0023] Before the position point insertion method of the robot is executed, the robot records position points in the moving process, and the recorded position points are path nodes actually traversed by the robot when moving along the established trajectory; specifically, a sensor samples a position point every sampling period and marks the corresponding coordinate point on the map, as shown by position point P1 and position point P2, and it should be noted that the position points are actual position points moved by the robot; in the actual physical environment, the robot moves along a continuous motion trajectory from the first position point to the second position point, but does not mark each position point on the map, but only marks the position point sampled at each time interval, so that the path marked on the map is a discrete path composed of the position points collected every sampling period. Figure 2

[0024] It should be noted that the execution subject of the position point insertion method is a main control device inside the robot, which can be an electronic device including a wireless transceiver device, can be a control circuit board, or can be a chip with sufficient memory and high integration. In this specification, the main control device inside the robot executing the corresponding steps is simply referred to as the robot executing the corresponding steps, or the robot or its main control device is the execution subject without explanation, and the corresponding step sequence is also set by the robot or its main control device.

[0025] As shown in Figure 1 The position point insertion method comprises the following steps:

[0026] In step S101, among the position points recorded by the robot, two position points at different positions are recorded as a first position point and a second position point, i.e., two position points at different positions recorded in advance are recorded as a first position point and a second position point, and then step S2 is entered; wherein the first position point and the second position point can be two position points obtained by the robot at adjacent two time points; the selection of the first position point and the second position point can also be two position points selected based on a pre-set distance span, or two position points selected based on a certain angle span, and the two dimensional spans adapt to the scenarios of linear motion and rotational motion of the robot. ​

[0027] Step S102, average inserting interpolation rays in a preset rotation angle with an interpolation interval angle, to achieve the average division of the preset rotation angle into a number of preset included angles; then enter step S103. Wherein, the number of the interpolation rays inserted in the preset rotation angle is associated with the preset included angle number; each interpolation ray has a common endpoint, which is the rotation center; the ray pointing to the first position point is set as the first ray, and the ray pointing to the second position point is set as the second ray, and the preset rotation angle is the included angle composed of the first ray and the second ray; the preset rotation angle is taken as the vertex with the rotation center, so that each interpolation ray inserted passes through the rotation center, thereby considering the radial force existing in the rotation motion of the robot; however, the spatial distance information and the angle information of the robot at a position point corresponding to the interpolation ray are not completely determined in this step S102.

[0028] Step S103, from the first ray, insert the predicted position points with the direction angle adapted and the straight line distance from the rotation center adapted in the interpolation rays in the manner of equal direction angle change and equal length change. It can be considered that from the first position point, around the rotation center, along the direction from the first position point to the second position point, the predicted position points with the direction angle adapted and the straight line distance from the rotation center adapted are inserted in turn on the interpolation rays corresponding to the angle direction, wherein the direction from the first position point to the second position point corresponds to Figure 2 The direction from the first position point P1 to the second position point P2 around the rotation center O includes but is not limited to the arc direction, the polyline direction or the combined direction of the two, and the direction from the first position point to the second position point is clockwise or counterclockwise in the step S103.

[0029] In some embodiments, the step S103 supports synchronously inserting the predicted position points with the direction angle adapted and the straight line distance from the rotation center adapted in the interpolation rays between the first ray and the second ray in the manner of equal direction angle change and equal length change. In Figure 2 In the embodiment shown, the direction of inserting the predicted position points between the first position point P1 and the second position point P2 is first determined, i.e. from P1 to P2, including but not limited to from the point P1 to the point P2 along the arc, to form the insertion point direction of the aforementioned predicted position points from the first position point P1, to obtain a plurality of effective position points capable of trajectory connection between the first position point and the second position point, in turn Figure 2 The position point P3 and the position point P4 in the middle.

[0030] In step S103, in order to insert a predicted position point, the embodiment can simultaneously perform equidistance incremental calculation in two dimensions of angle information and coordinate distance information to accelerate derivation of a predicted position point satisfying both angle information and coordinate distance information, which is a combined equidirectional angle change and equidistance incremental calculation method of inserting a predicted position point, wherein the angle information adopts an equidirectional angle change method of inserting a predicted position point, the coordinate distance information adopts an equidistance change method of inserting a predicted position point, and the equidistance incremental calculation methods in the two dimensions are independent of each other, forming a position point insertion method in which two parameters of different dimensions do not interfere with each other. Therefore, in order to ensure the efficiency of inserting a predicted position point, the embodiment can adopt the method of simultaneously performing equidistance calculation in the two dimensions to avoid directly using the coordinate information and angle information output by the robot in real time during movement and performing path planning calculation after coordinate system conversion, thereby reducing related errors.

[0031] On the basis of the above embodiment, the position point insertion method further comprises: when the angle of the preset rotation angle is greater than a preset angle threshold, inserting a predicted position point with an adaptive direction angle and an adaptive straight line distance from the rotation center in the interpolation ray in an equidirectional angle change manner and an equidistance change manner from the first ray; wherein the advancing direction of the robot at the first position point is set as a first advancing direction, and a straight line passing through the first position point and perpendicular to the first advancing direction is set as a first preset straight line; the advancing direction of the robot at the second position point is set as a second advancing direction, and a straight line passing through the second position point and perpendicular to the second advancing direction is set as a second preset straight line; if the second preset straight line intersects with the first preset straight line, the intersection point of the second preset straight line and the first preset straight line is set as the rotation center. In the embodiment, the advancing direction of the robot at the first position point (the first advancing direction) is the orientation of the front of the body of the robot; if the robot rotates, the robot uses a direction perpendicular to the first advancing direction, which can be a direction of a position point of the motion trajectory of the robot pointing to the rotation center. Considering the radial force caused by the rotation, the first advancing direction becomes the tangent direction of the corresponding motion trajectory. Similarly, the advancing direction of the robot at the second position point is set as the second advancing direction, and the straight line passing through the second position point and perpendicular to the second advancing direction is set as the second preset straight line. Figure 2 It can be seen that the first position point is P1, and the straight line OP1 in the perpendicular direction of the arrow at the first position point P1 is the first preset straight line; the second position point is P2, and the straight line OP2 in the perpendicular direction of the arrow at the second position point P2 is the second preset straight line.

[0032] Specifically, the second preset straight line intersects the first preset straight line, and an intersection point of the second preset straight line and the first preset straight line is set as a rotation center; in the first preset straight line, a ray pointing from the rotation center to the first position point is set as a first ray; in the second preset straight line, a ray pointing from the rotation center to the second position point is set as a second ray; and then an included angle between the first ray and the second ray is set as the preset rotation angle, which is an included angle between the first preset straight line and the second preset straight line. Figure 2 In the embodiment, the intersection point of the second preset straight line OP2 and the first preset straight line OP1 is set as the rotation center O, a ray pointing from the rotation center O to the first position point P1 is set as the first ray OP1, a ray pointing from the rotation center O to the second position point P2 is set as the second ray OP2, and an included angle between the first ray OP1 and the second ray OP2 is set as the preset rotation angle P1OP2, which is less than 180 degrees in the embodiment. In the embodiment, the step S103 inserts the position point P3 on the interpolation ray OP3 and the position point P4 on the interpolation ray OP4 into the preset rotation angle P1OP2 in sequence, where the position point P3 is located on the interpolation ray OP3 and the position point P4 is located on the interpolation ray OP4. In the step S102, the interpolation ray OP3 and the interpolation ray OP4 divide the preset rotation angle P2OP1 into the included angle P1OP3, the included angle P3OP4 and the included angle P4OP2, and the angle of the included angle P1OP3, the angle of the included angle P3OP4 and the angle of the included angle P4OP2 are all equal to the interpolation interval angle, so that the preset rotation angle P2OP1 is evenly divided into three equal parts.

[0033] It should be noted that the step S103 is executed only when the angle of the preset rotation angle is greater than a preset angle threshold. In the embodiment, the angle of the preset rotation angle is used to represent an angle span between the second ray and the first ray, so as to determine that a position point should be inserted within an angle range formed by the second ray and the first ray. The preset angle threshold is preset to represent minimum angle span information between two position points allowed to be inserted in the step S103, or minimum angle span information between an inserted position point and a nearest known position point, or minimum angle span information allowed by an included angle between a line segment (i.e. a line segment connecting the inserted position point and the rotation center) and the first ray or the second ray, or minimum angle span information allowed by an included angle between two interpolation rays of adjacent positions inserted in the step S102, so that the preset angle threshold represents unit angle span information for accepting a new position point within the angle range of the preset rotation angle.

[0034] As an embodiment, the method of inserting the predicted position points with the adaptive direction angle and the adaptive straight line distance from the rotation center into the aforementioned interpolation rays in the manner of the equal direction angle variation and the equal length variation starting from the first ray specifically comprises: starting from the first ray, the robot inserts an interpolation line segment into the preset rotation angle every other interpolation interval angle, so as to distinguish a current interpolation line segment and a next interpolation line segment in the order of the insertion, and both of them are located on the corresponding interpolation ray set in advance, that is, each interpolation line segment is distributed along the corresponding interpolation ray, and each interpolation line segment passes through the rotation center, and the rotation center is set as a common endpoint of all the interpolation line segments; it is to be noted that the robot sets the result of the ceiling of the ratio of the angle of the preset rotation angle to the preset angle threshold as the preset included angle number, and the preset included angle number becomes the minimum integer greater than or equal to the ratio; the robot also sets the difference between the preset included angle number and 1 as the number of the aforementioned predicted position points inserted on the interpolation rays between the first ray and the ray, and also as the number of the interpolation line segments inserted into the preset rotation angle, wherein one endpoint of an interpolation line segment except the rotation center is one predicted position point inserted, and the included angle formed by the interpolation line segments of two predicted position points inserted adjacently is less than or equal to the preset angle threshold.

[0035] On the basis of the aforementioned embodiment, the robot sets the sum of the length of the current interpolation line segment and a length increment value as the length of the next interpolation line segment, so as to insert the predicted position points with the adaptive straight line distance from the rotation center into the interpolation rays in the manner of the equal length variation between the first position point and the second position point, specifically, the interpolation line segments are first inserted into the preset rotation angle in the manner of the equal length variation, the corresponding interpolation line segments are inserted into the aforementioned interpolation rays in the manner of the equal length variation, and then the corresponding interpolation line segments insert the predicted position points located at the endpoints of the interpolation line segments into the included angle range formed by the first ray and the second ray in the manner of the equal length variation, so as to determine the insertion of the predicted position points with the adaptive straight line distance from the rotation center into the aforementioned interpolation rays; therefore, the iterative processing process of updating the length of the next interpolation line segment as the length of the current interpolation line segment realizes the insertion of the new interpolation line segment into the interpolation rays at the corresponding angle position in the manner of the equal length variation, but the length variation of the interpolation line segment in this insertion process is irrelevant to the direction angle of the robot at any predicted position point; wherein the length increment value is fixed in the process of inserting the predicted position points into the aforementioned interpolation rays.

[0036] The robot also controls the sum of the angle of the current one direction angle and an angle increment value to be set as the angle of the next direction angle, so that the robot presents an equal direction angle change in the direction angle of the predicted position point inserted in the direction angle, and the predicted position point corresponding to the direction angle is inserted in the interpolation ray at the corresponding angle position in an equal direction angle change manner. The predicted position point corresponding to the direction angle inserted in the interpolation ray can be determined, and the interpolation line segment where the predicted position point is located is also inserted in the preset rotation angle in an equal angle manner. The advancing direction of the robot at the predicted position point is perpendicular to the interpolation line segment where the predicted position point is located. It is worth noting that the predicted position point corresponding to the inserted direction angle and the predicted position point corresponding to the inserted straight line distance from the rotation center are the same position point, which is a position point inserted in the same interpolation ray. Therefore, in the iterative processing process of updating the angle of the next direction angle to the angle of the current one direction angle, a new predicted position point is inserted in the corresponding interpolation ray in an equal direction angle change manner. However, in this insertion process, the change of the direction angle at the predicted position point is irrelevant to the length of the interpolation line segment where the predicted position point is located (the straight line distance of the predicted position point from the rotation center), and the interpolation line segments where two predicted position points inserted at adjacent times are located have a common endpoint, which is the rotation center. The angle increment value is fixed in the process of inserting the predicted position point in the interpolation ray between the first ray and the second ray.

[0037] It should be noted that the implementation steps of inserting the predicted position point in the corresponding interpolation ray in an equal direction angle change manner and the implementation steps of inserting the predicted position point in the corresponding interpolation ray in an equal length change manner do not have a unique correspondence in the order of the two steps, and the calculation of the angle of the direction angle or the calculation of the length of the interpolation line segment has no substantial influence on the implementation of the whole technical solution, and the exchange of the two steps does not produce substantial differences in technical function and technical effect.

[0038] It should be noted that the robot sets the line segment connecting the rotation center and the current inserted one predicted position point as the current one interpolation line segment, and sets the direction angle of the robot at the current inserted one predicted position point as the current direction angle; relative to the first ray, the current one interpolation line segment is located on an interpolation ray with the same angular position, that is, the angle of the included angle between the current one interpolation line segment and the first ray is equal to the angle of the included angle between the interpolation ray where the current one interpolation line segment is located and the first ray. Wherein, the included angle between the advancing direction of the robot at the current inserted one predicted position point and the reference line is the direction angle of the robot at the current inserted one predicted position point, which is used to predict the angle feature of the possible advancing direction of the robot at the current inserted one predicted position point, and belongs to the guide direction carried by one predicted position point for robot navigation, which can be the included angle with one coordinate axis direction of the map coordinate system, forming the angular information of the robot at the current inserted one predicted position point, and the advancing direction of the robot at the current inserted one predicted position point is perpendicular to the current one interpolation line segment; when the advancing direction of the robot changes, the robot rotates, and the robot can form the arc trajectory when rotating around the rotation center, so that the line segment connecting the rotation center and the current inserted one predicted position point becomes a predicted radial line segment, which is used to represent the distance information of the robot deviating from the rotation center, so as to represent using spatial coordinates or using line segment length information.

[0039] Similarly, the robot sets the line segment connecting the rotation center and the next inserted one predicted position point as the next one interpolation line segment, and sets the direction angle of the robot at the next inserted one predicted position point as the next direction angle; relative to the first ray, the next one interpolation line segment is located on an interpolation ray with the same angular position, that is, the angle of the included angle between the next one interpolation line segment and the first ray is equal to the angle of the included angle between the interpolation ray where the next one interpolation line segment is located and the first ray. Wherein, the included angle between the advancing direction of the robot at the next inserted one predicted position point and the reference line is the direction angle of the robot at the next inserted one predicted position point, which belongs to the guide direction carried by one predicted position point for robot navigation, and the advancing direction of the robot at the next inserted one predicted position point is perpendicular to the next one interpolation line segment; it should be noted that the current inserted one predicted position point and the next inserted one predicted position point have a time sequence, which belong to the insertion actions at adjacent time points, and correspond to Figure 2In an embodiment of the present application, when a predicted position point is P3 and a current interpolation line segment is OP3, a current direction angle is an arrow direction of the robot at the predicted position point P3. Then, when a next predicted position point is P4, a next interpolation line segment is OP4, and a next direction angle is an arrow direction of the robot at the predicted position point P4.

[0040] The setting and calculation of the interpolation line segment and the direction angle are repeated until the number of the interpolation line segments inserted in the preset rotation angle is the difference between the preset included angle number and 1, and the insertion of the interpolation line segment is stopped. The preset included angle number is set as the result of the ceiling of the ratio of the angle of the preset rotation angle to the preset angle threshold, so that the preset included angle number becomes the smallest integer greater than or equal to the ratio. It should be noted that when the ratio has a decimal part, the preset included angle number is an integer greater than the integer part of the ratio by 1; when the ratio is an integer value, the preset included angle number is the ratio. The preset angle threshold is the unit angle span information between the two adjacent position points inserted, which also represents the unit angle span information between the first position point and the first predicted position point inserted, and also represents the unit angle span information between the second position point and the last predicted position point inserted. In this embodiment, the preset included angle number is set as the number of the average division of the preset rotation angle. In order to continuously insert a plurality of predicted position points in all interpolation rays between the first position point and the second position point, the robot sets the difference between the preset included angle number and 1 as the number of the predicted position points inserted in the interpolation rays, so that the included angle between the interpolation line segments of the two predicted position points inserted adjacently is less than or equal to the preset angle threshold. The included angle between the interpolation line segments of the two predicted position points inserted adjacently is the angle value of the average division of the preset rotation angle according to the preset included angle number, which corresponds to Figure 2 the three equal included angles in the preset rotation angle P1OP2, that is, the preset included angle number is equal to 3, the preset rotation angle P1OP2 is divided into the included angle P1OP3, the included angle P3OP4, and the included angle P4OP2, the angle of the included angle P1OP3 is equal to the angle of the included angle P3OP4, and the angle of the included angle P4OP2 is equal to the angle of the included angle P3OP4. Figure 2

[0041] ​In summary, the embodiment inserts the predicted position points with the direction angle adapted to the direction angle and the straight line distance from the rotation center adapted to the equal length change between the first position point and the second position point in the equal direction angle change mode and the equal length change mode. However, the direction angle of the inserted predicted position points of the robot has no relationship with the equal direction angle change and the equal length change of the interpolation line segment where the inserted predicted position points are located. The two calculation processes can be simultaneously changed but do not interfere with each other. The coordinate information and the angle information do not use the parameters of each other or carry the intermediate parameters in the conversion process. This is beneficial to reduce the phenomenon that the mechanical error of one type of pose information is introduced into another type of pose information.

[0042] As an embodiment, for the method of inserting the predicted position points with the direction angle adapted to the direction angle and the straight line distance from the rotation center in the interpolation ray in the equal direction angle change mode and the equal length change mode from the first ray, specifically, in the angle range of the preset rotation angle, the direction from the first position point to the second position point around the rotation center is inserted into the interpolation ray (each insertion corresponds to the interpolation ray at an angle position) as shown in Figure 3 , specifically including the following steps:

[0043] Step 301, on the first ray, the line segment connecting the first position point and the rotation center is set as the starting interpolation line segment, and the direction angle of the robot at the first position point is set as the starting insertion direction angle; on the second ray, the line segment connecting the second position point and the rotation center is set as the ending interpolation line segment; then entering step S302, wherein the direction angle of the robot at the first position point is the included angle between the advancing direction of the robot at the first position point and the reference line, and the direction angle of the robot at the second position point is the included angle between the advancing direction of the robot at the second position point and the reference line, thereby indicating the pose characteristics of the robot at the position point that has been traversed. Corresponding to Figure 2 , the line segment connecting the first position point P1 and the rotation center O is set as the starting interpolation line segment OP1, and the direction angle of the robot at the first position point is set as the starting insertion direction angle as shown in Figure 2 , the direction of the arrow at the position point P1 indicates the direction of the robot at the first position point P1, and the preset reference line is the direction of the robot at the second position point P2. Figure 2the angle between the arrow indicated direction at point P1 and the preset reference line (not shown) in some embodiments, the arrow indicated direction at point P1 is the tangent direction of the motion trajectory of the robot at point P1. Similarly, the line segment connecting the second position point P2 and the rotation center O is set to terminate the interpolation line segment OP2, and the line segment connecting the second position point P2 and the rotation center O is set to terminate the interpolation line segment OP2; the robot sets the direction angle of the robot at the second position point P2 as the terminal interpolation direction angle, and the arrow indicated direction at the second position point P2 is the tangent direction of the motion trajectory of the robot at point P2. Figure 2 the arrow indicated direction at position point P2 relative to the arrow indicated direction at position point P1, so that the angle between the arrow indicated direction at position point P2 and the preset reference line (not shown) in some embodiments is the first direction angle, which is predicted as the advancing direction of the robot at position point P3. Figure 2 the angle between the arrow indicated direction at point P2 and the preset reference line (not shown) in some embodiments, the arrow indicated direction at point P2 is the tangent direction of the motion trajectory of the robot at point P2.

[0044] Step S302, set the angle between the first interpolation line segment and the starting interpolation line segment as the interpolation interval angle to determine the position of the first interpolation line segment inserted within the preset rotation angle, i.e. the position of the first interpolation ray from the first ray to the direction of the second ray, and the first interpolation line segment is distributed along the first interpolation ray, specifically, within the preset rotation angle, the inserted first interpolation ray is distributed along the ray position with an interpolation interval angle of the starting interpolation line segment, and one end of the first interpolation line segment is the rotation center; the first interpolation ray coincides with the first ray. Corresponding to Figure 2 the preset rotation angle between the first ray OP1 and the second ray OP2 is the angle P1OP2, and the line segment OP3 is the first interpolation line segment inserted within the angle P1OP2, which also corresponds to the pre-inserted interpolation ray OP3; the angle P1OP3 between the line segment OP3 and the first ray OP1 is equal to the interpolation interval angle; and the sum of the length of the starting interpolation line segment and the length increment value is set as the length of the first interpolation line segment, which corresponds to Figure 2 the length of the starting interpolation line segment OP1 and the pre-configured length increment value are set as the length of the first interpolation line segment OP3. The robot also sets the sum of the angle of the starting interpolation direction angle and the angle increment value as the angle of the first direction angle, wherein the angle increment value corresponds to Figure 2 the deflection angle of the arrow indicated direction at position point P3 relative to the arrow indicated direction at position point P1 in the embodiment of position point P3 in the embodiment of position point P3, so that the angle between the arrow indicated direction at position point P3 and the preset reference line (not shown) is the first direction angle, which is predicted as the advancing direction of the robot at position point P3. Figure 2 the angle between the arrow indicated direction at point P2 and the preset reference line (not shown) in some embodiments, the arrow indicated direction at point P2 is the tangent direction of the motion trajectory of the robot at point P2. Figure 2In the first interpolation line segment OP3, one end point other than the rotation center O is the position point P3, which is the first inserted predicted position point P3. The robot updates the first interpolation line segment as the current interpolation line segment, updates the length of the first interpolation line segment as the length of the current interpolation line segment, updates the angle of the first direction angle as the angle of the current direction angle, and updates the first inserted predicted position point as the current inserted predicted position point, and then enters step S43. Here, the arrow direction of the robot at the position point P3 is perpendicular to the first interpolation line segment OP3, and the arrow direction of the robot at the position point P3 marks the tangent direction of the robot at the current motion trajectory node.

[0045] It should be noted that the robot sets the ratio of the difference between the length of the terminal interpolation line segment and the length of the starting interpolation line segment to the preset number of included angles as the length increment value, which represents the increment value between the lengths of the interpolation line segments in which the two predicted position points inserted adjacently are located, also represents the increment value between the length of the interpolation line segment in which the first inserted predicted position point is located and the length of the starting interpolation line segment, and also represents the increment value between the length of the interpolation line segment in which the last inserted predicted position point is located and the length of the terminal interpolation line segment, which is the radial distance increment of the turning trajectory of the robot, but has nothing to do with the angle information and its change value, means to reduce the dimensional change problem of the position point, and supports synchronous change. In this embodiment, the length increment value is kept fixed during the process of inserting the predicted position point in the interpolation ray between the first position point and the second position point.

[0046] It should be noted that the robot sets the ratio of the difference between the angle of the terminal insertion direction angle and the angle of the starting insertion direction angle to the preset number of included angles as the angle increment value, which represents the increment value of the direction angle at the two predicted position points inserted adjacently, also represents the increment value between the angle of the direction angle at the first inserted predicted position point and the angle of the starting insertion direction angle, and also represents the increment value between the angle of the direction angle at the last inserted predicted position point and the angle of the terminal insertion direction angle, but has nothing to do with the length of the interpolation line segment and its change value, means to reduce the dimensional change problem of the position point, but supports synchronous change. In this embodiment, the angle increment value is kept fixed during the process of inserting the predicted position point in the interpolation ray between the first position point and the second position point.

[0047] Step S303, setting the distribution position of the next interpolation line segment on the interpolation ray which is at the interpolation interval angle relative to the current interpolation line segment and which is not inserted into the predicted position point, specifically, in the direction from the first position point P1 to the second position point P2, including but not limited to the arc direction, the broken line direction or the combination of the two, at the position which is at the interpolation interval angle relative to the current interpolation line segment, so that the next interpolation line segment is at an included angle of the interpolation interval angle relative to the current interpolation line segment, wherein, on the basis of the interpolation rays with the corresponding angle positions being set in advance, the single clock direction from the first position point to the second position point, the predicted position point is inserted in a unidirectional manner by accumulating the interpolation interval angle from the first position point or the starting interpolation line segment, so that the technical effect of inserting an interpolation line segment into the preset rotation angle every interpolation interval angle from the first ray is achieved, therefore, when the interpolation ray with the included angle of the preset angle does not insert (does not determine to insert) the predicted position point or the interpolation line segment, the interpolation ray with the included angle greater than the preset angle does not insert (does not determine to insert) the predicted position point or the interpolation line segment, and the interpolation ray with the included angle less than the preset angle has inserted (has determined to insert) the predicted position point or the interpolation line segment.

[0048] On this basis, the robot configures the sum of the length of the current interpolation line segment and the length increment value to be equal to the length of the next interpolation line segment, so that the length of the next interpolation line segment increases by the length increment value relative to the length of the current interpolation line segment; the robot also configures the sum of the angle of the current direction angle and the angle increment value to be equal to the angle of the next direction angle, so that the angle of the next direction angle increases by the angle increment value relative to the angle of the current direction angle; and in the end point of the next interpolation line segment, one end point other than the rotation center is set as the predicted position point for the next insertion; thus, step S304 obtains the next interpolation line segment in a corresponding pose increment manner on the basis of the current interpolation line segment in combination with the angle position of the next interpolation line segment, the common end point, the length of the interpolation line segment and the direction angle at the inserted predicted position point; wherein, the specific direction of the direction from the first position point P1 to the second position point P2 has nothing to do with the length of the interpolation line segment and the direction angle.

[0049] Correspondingly, in Figure 2In this context, the predicted position point for the current insertion is position point P3. Line segment OP3 serves as the current interpolation line segment within the interpolation ray OP3 inserted within the preset rotation angle P1OP2. The arrow at position point P3 indicates the possible forward direction of the robot at position point P3. The arrow at position point P3 is aligned with the preset baseline (…). Figure 2 The angle formed by (not shown in the text) is the current direction angle; then, by executing the above step S303, the next inserted predicted position point is position point P4, line segment OP4 is the next interpolation line segment in the interpolation ray OP4 inserted into the preset rotation angle P1OP2, the arrow at position point P4 indicates the possible forward direction of the robot at position point P4, and the arrow at position point P4 is perpendicular to the preset baseline ( Figure 2 (Not shown in the text) The included angle is the next direction angle. Then proceed to step S304.

[0050] Step S304: In the interpolated rays already inserted within the preset rotation angle, update the length of the next interpolated segment to the length of the current interpolated segment, update the angle of the next direction angle to the angle of the current direction angle, update the next interpolated segment to the current interpolated segment, and update the predicted position point of the next insertion to the predicted position point of the current insertion. This satisfies the requirement of iteratively processing the length of the current interpolated segment, the angle of the current direction angle, the current interpolated segment, and the predicted position point of the current insertion in all interpolated rays between the first ray and the second ray. Then proceed to step S305. Accordingly, by executing the above step S304, in the corresponding interpolated ray, update the predicted position point P4 of the next insertion to the predicted position point of the current insertion, update the next interpolated segment OP4 to the current interpolated segment, and update the next direction angle corresponding to the arrow direction at position point P4 to the current direction angle. Then proceed to step S45. The arrow at position P4 is perpendicular to the next interpolation line segment OP4, and the arrow at position P4 marks the tangent direction of the robot at the current motion trajectory node.

[0051] Step S305, judging whether the included angle between the current interpolation line segment obtained by the updating in step S304 and the termination interpolation line segment is equal to the interpolation interval angle, which can be judging whether the included angle between the next interpolation line segment in step S303 and the termination interpolation line segment is equal to the interpolation interval angle, if yes, entering step S306, otherwise, returning to step S303. The included angle between the current interpolation line segment obtained by the updating in step S304, i.e. the next interpolation line segment in step S303, and the starting interpolation line segment is equal to twice the interpolation interval angle, which is farther than the current interpolation line segment in step S303, so that the next inserted predicted position point in step S43 is farther than the current inserted predicted position point in step S302 relative to the first position point P1 in the direction from the first position point P1 to the second position point P2, which is the arc direction, the broken line direction or the combination of the two, but will be closer to the second position point P2, which can be understood as being determined by the included angle between the interpolation ray where the predicted position point is located and the starting interpolation line segment. Therefore, after returning to step S303 from step S305, a new iteration of the current interpolation line segment is performed, and under the action of the related increment in step S303, the next interpolation line segment in step S303 will gradually deflect to the direction of the termination interpolation line segment with the increase of the inserted predicted position point, and the included angle between the next interpolation line segment in step S303 and the termination interpolation line segment will gradually decrease with the increase of the inserted predicted position point, so that after updating the next interpolation line segment in step S303 in step S304, it is necessary to judge whether the included angle between the next interpolation line segment in step S303 and the termination interpolation line segment is equal to the interpolation interval angle, which can be understood as judging whether the corresponding included angle is reduced to the interpolation interval angle, and further judging whether it is allowed to continue to insert a new interpolation line segment to implement a new predicted position point in the angle range of the included angle between the next interpolation line segment in step S303 and the termination interpolation line segment.

[0052] Step S306, determining that the angle of the included angle between the next interpolation line segment in step S303 and the termination interpolation line segment reaches a certain angle threshold, and it is not allowed to continue to insert a new interpolation line segment to implement a new predicted position point, then determining that the current interpolation line segment obtained by the updating is the last interpolation line segment inserted between the first position point and the second position point, and determining that the corresponding predicted position point on the current interpolation line segment obtained by the updating is the last inserted predicted position point between the first position point and the second position point. Accordingly, in Figure 2In the embodiment, the last inserted predicted position point is position point P4, and the line segment OP4 is the last inserted interpolation line segment in the preset rotation angle P1OP2. The arrow at position point P4 indicates the direction of the possible advancing direction of the robot at position point P4.

[0053] It should be noted that in the foregoing steps S301 to S306, the angle between the two interpolation rays formed by the two predicted position points inserted adjacent to each other is set as the interpolation interval angle, the angle between the starting interpolation line segment and the first interpolation line segment is set as the interpolation interval angle, and the angle between the ending interpolation line segment and the last interpolation line segment is set as the interpolation interval angle, which is equal to the angle between the two adjacent interpolation rays in the preset rotation angle. Therefore, in the interpolation rays between the first position point and the second position point, the preset rotation angle is evenly divided into a number of angles equal to the preset angle number by all the inserted interpolation line segments, and the angle of each equal angle is equal to the interpolation interval angle. That is, the preset rotation angle is evenly divided into a number of angles equal to the preset angle number by the interpolation line segments whose number is equal to the difference between the preset angle number and 1, and the angle of each angle is equal to the interpolation interval angle. Therefore, the discrete line formed by the two discrete position points can be processed into a plurality of position points with equal distance and equal angle, which is equivalent to a plurality of continuously arranged position points.

[0054] Compared with the prior art, the angle information and the spatial distance information that change incrementally in the foregoing steps S301 to S306 do not interfere with each other, and the error carried by the pose information of the predicted position point obtained near the two position points is less. Specifically, the specific execution steps of the foregoing steps S301 to S306 control the spatial coordinate distance information and the angle information to change at a fixed increment at the same time, convert the coordinate distance information and the angle information changed each time into an interpolation line segment corresponding to one insertion between the two position points, and then insert a new predicted position point in the preset interpolation ray between the first position point and the second position point according to certain interval information. The foregoing method realizes the use of continuous interpolation points to replace the discrete sampling position points of the robot in the prior art, overcomes the related error introduced by the discrete sampling of the robot in the prior art, enhances the independence between the coordinate distance information and the angle information in the incremental change process, overcomes the interference of the error caused by the mechanical movement carried by the spatial coordinate distance information and the angle information of the position points with each other, and realizes the acquisition of the predicted position point with less error.

[0055] As an embodiment, the first position point and the second position point are two position points passed by the robot at two adjacent time instants, wherein the time instant at which the robot moves to the first position point is less than the time instant at which the robot moves to the second position point; there is a fixed time interval between the two adjacent time instants, and specifically, each of the inserted prediction position points in the foregoing embodiment can correspond to a time instant between the two adjacent time instants, indicating that each corresponding time instant corresponds to the insertion of a prediction position point between the first position point and the second position point, and each inserted prediction position point is in a corresponding interpolation ray, so that when the number of inserted prediction position points is equal to the difference between the preset angle number and 1, there are an equal number of time instants for inserting prediction position points, that is, a limited number of prediction position points are inserted at a limited number of time points, and one prediction position point is inserted at each time instant. Wherein, the difference between the preset angle number and 1 is equal to the number of interpolation rays inserted in advance in the preset rotation angle.

[0056] As an embodiment, for the prediction position points inserted in the interpolation rays between the first ray and the second ray, a corresponding interpolation serial number is configured to indicate the insertion order of the prediction position points, but the interpolation rays are inserted in advance in the preset rotation angle, and according to the setting of the foregoing step S102, there is no insertion order between the interpolation rays in the preset rotation angle. In this embodiment, when the minimum value of the interpolation serial number is equal to 1, the maximum value of the interpolation serial number is equal to the difference between the preset angle number and 1, which is equal to the number of inserted prediction position points. It should be noted that each interpolation line segment inserted in the interpolation rays between the first position point and the second position point, each interpolation line segment and the interpolation ray in which it is located have the rotation center as a common endpoint, and each interpolation line segment also has another endpoint as a prediction position point, so that each interpolation line segment has a corresponding prediction position point and a corresponding interpolation serial number, facilitating the counting and statistics of the number of inserted nodes and the insertion order to form the node information of the traceable robot motion trajectory.

[0057] Preferably, the first position point, the second position point, each predicted position point, each interpolation line segment, each interpolation ray, the first ray and the second ray are all located in the same plane; wherein the plane is located in a three-dimensional space; wherein the first position point, the second position point, and each predicted position point inserted between the first position point and the second position point are directional, used to plan a specific motion trajectory. Further, the aforementioned plane can be a map coordinate system plane, or a projection plane of the aforementioned position points and inserted predicted position points. When the robot is positioned and path planned in a three-dimensional map, the aforementioned plane is located in a three-dimensional space, so that all inserted predicted position points are embedded in the three-dimensional space, and the directional angle information carried by the predicted position points can be used to construct a tangent plane. In some embodiments, each predicted position point inserted between the first position point and the second position point is also located in the same curved surface, has a certain directionality, and can be better adapted to different three-dimensional maps, thereby solving the problem of algorithm universality.

[0058] The application also discloses a chip for implementing the position point insertion method by executing an internally stored algorithm program code. The position point insertion method of the robot in the foregoing embodiments is fixed in the chip or the program storage unit of the chip. In the process of using the chip, a predicted position point with an adaptive directional angle and a straight-line distance from the rotation center is inserted in the interpolation ray in an equal directional angle change and an equal length change manner between two adjacent position points in the map constructed by the robot, such as two position points obtained at two adjacent times, two position points selected based on a preset distance span, or two position points selected based on a certain angle span. The number of the inserted predicted position points is the difference between the preset angle number and 1, and the number of the predicted position points is at least 1, thereby forming an inevitable position point insertion result, even if the position point insertion method is mechanically repeated.

[0059] Based on the foregoing embodiments, a robot is also disclosed, which is installed with sensors for collecting position points of an environment to build a map; the robot is equipped with the chip for controlling the robot to perform the position point insertion method. The chip is arranged on a circuit mainboard in the body of the robot, and includes a computing processor, such as a central processing unit or an application processor, in communication with a non-transitory memory, such as a hard disk, a flash memory or a random access memory. The application processor performs a mapping algorithm, such as Simultaneous Localization And Mapping (SLAM), according to obstacle information fed back by a laser sensor, and draws poses of landmarks collected in an environment where the robot is located every sampling period. At this time, the position points corresponding to the poses become known position points in the map. However, the known position points are relatively discrete, and therefore, compared with the prior art, the robot according to the embodiments of the present application runs corresponding program codes of the position point insertion method in the built-in chip, realizes conversion of coordinate distance information and angle information monotonously changed each time between two known position points into a position point corresponding to one insertion between the two position points, avoids dimension conversion between the coordinate distance information and the angle information in the process of monotonous change, realizes an insertion point with less error, and overcomes interference of errors caused by mechanical activities carried by the spatial coordinate distance information and the angle information of the position points.

[0060] In some embodiments, the sensors installed in the robot include a laser sensor, a cliff sensor, a drop sensor (a limit switch triggering device), a magnetometer, an accelerometer, a gyroscope, an odometer and other sensing devices for simultaneously feeding back pose information of multiple dimensions, so that the robot can determine its current working state and location according to the feedback pose information, including behaviors such as passing through a threshold, landing on a carpet, being located at a step cliff, being lifted and the like, and give specific next action strategies for different situations, so that the work of the robot is more in line with the requirements of the task.

[0061] Obviously, the above embodiments are only examples for clear illustration, and are not limitations on the embodiments. Other different forms of changes or variations can be made on the basis of the above description by those of ordinary skill in the art. All the embodiments do not need to be exhausted, and obvious changes or variations derived therefrom are still within the protection scope of the present application.

Claims

1. A method of inserting a position point of a robot, characterized by, Before the position point insertion method is executed, the robot records position points in a moving process; wherein, the position points are path nodes actually traversed by the robot when moving along a given trajectory; The position point insertion method comprises: The position points recorded at two different positions in advance are respectively denoted as a first position point and a second position point; Interpolation rays are evenly inserted into a preset rotation angle at an interpolation interval angle, so as to evenly divide the preset rotation angle into a preset number of included angles; wherein, each interpolation ray has a common endpoint, which is a rotation center; a ray pointing to the first position point is set as a first ray, and a ray pointing to the second position point is set as a second ray, and the preset rotation angle is an included angle formed by the first ray and the second ray; Then, predicted position points with adaptive direction angles and adaptive straight line distances from the rotation center are inserted into the interpolation rays in a manner with equal direction angle changes and equal length changes, starting from the first ray; The position point insertion method further comprises: When the angle of the preset rotation angle is greater than a preset angle threshold, predicted position points with adaptive direction angles and adaptive straight line distances from the rotation center are inserted into the aforementioned interpolation rays in a manner with equal direction angle changes and equal length changes, starting from the first ray; Wherein, the advancing direction of the robot at the first position point is set as a first advancing direction, and a straight line passing through the first position point and being perpendicular to the first advancing direction is set as a first preset straight line; Wherein, the advancing direction of the robot at the second position point is set as a second advancing direction, and a straight line passing through the second position point and being perpendicular to the second advancing direction is set as a second preset straight line; Wherein, if the second preset straight line intersects with the first preset straight line, the intersection point of the second preset straight line and the first preset straight line is set as the rotation center.

2. The position point insertion method of claim 1, wherein, The method of inserting predicted position points with adaptive direction angles and adaptive straight line distances from the rotation center into the aforementioned interpolation rays in a manner with equal direction angle changes and equal length changes, starting from the first ray, comprises: Starting from the first ray, an interpolation line segment is inserted into the preset rotation angle every interpolation interval angle, wherein each interpolation line segment is distributed along a corresponding interpolation ray, and each interpolation line segment passes through the rotation center; Then, the length of a current interpolation line segment and a length increment value are controlled to be set as the length of a next interpolation line segment, so that the interpolation line segments insert predicted position points with adaptive straight line distances from the rotation center in the aforementioned interpolation rays in a manner with equal length changes; and the angle of a current direction angle and an angle increment value are controlled to be set as the angle of a next direction angle, so that the direction angles insert predicted position points with adaptive direction angles in the aforementioned interpolation rays in a manner with equal direction angle changes, wherein the predicted position point is the same position point on the same interpolation ray as the aforementioned predicted position point with the adaptive straight line distance from the rotation center, and the predicted position point is one end point of the inserted interpolation line segment other than the rotation center. The number of interpolation line segments inserted within the preset rotation angle is a difference between a preset included angle number and 1, and the interpolation of the interpolation line segment is stopped; wherein, the preset included angle number is set as a result of the ceiling of the ratio of the angle of the preset rotation angle to the preset angle threshold, so that the preset included angle number becomes the smallest integer greater than or equal to the ratio.

3. The position point insertion method of claim 2, wherein, On the first ray, a line segment connecting the first position point and the rotation center is set as a starting interpolation line segment, and a direction angle of the robot at the first position point is set as a starting interpolation direction angle, wherein the direction angle of the robot at the first position point is an included angle between the advancing direction of the robot at the first position point and the reference line; On the second ray, a line segment connecting the second position point and the rotation center is set as a terminal interpolation line segment, and a direction angle of the robot at the second position point is set as a terminal interpolation direction angle, wherein the direction angle of the robot at the second position point is an included angle between the advancing direction of the robot at the second position point and the reference line; A ratio of the difference between the length of the terminal interpolation line segment and the length of the starting interpolation line segment to the preset included angle number is set as the length increment value; A ratio of the difference between the angle of the terminal interpolation direction angle and the angle of the starting interpolation direction angle to the preset included angle number is set as the angle increment value.

4. The position point insertion method of claim 3, wherein, The method of inserting the predicted position points with the direction angles adapted to the interpolation rays and the straight-line distances from the rotation center in the equal direction angle change manner and the equal length change manner from the first ray specifically includes: A sum of the length of the starting interpolation line segment and the length increment value is set as the length of the first interpolation line segment, and a sum of the angle of the starting interpolation direction angle and the angle increment value is set as the angle of the first direction angle, and then one of the endpoints of the first interpolation line segment is set as the first inserted predicted position point, except for the rotation center; Wherein, the first interpolation ray inserted within the preset rotation angle is distributed along the ray position with the interpolation interval angle from the starting interpolation line segment; Wherein, the first interpolation line segment is distributed along the first interpolation ray, and one of the endpoints of the first interpolation line segment is the rotation center; the first interpolation ray coincides with the first ray.

5. The position point insertion method of claim 4, wherein, The method of inserting the predicted position points with the direction angles adapted to the interpolation rays and the straight-line distances from the rotation center in the equal direction angle change manner and the equal length change manner further includes: Step A, setting a distribution position of a next interpolation line segment on an interpolation ray which is at an interpolation interval angle relative to the current interpolation line segment and is not inserted into the predicted position point, and configuring a sum of a length of the current interpolation line segment and the length increment value to be equal to a length of the next interpolation line segment, configuring a sum of an angle of the current direction angle and the angle increment value to be equal to an angle of the next direction angle, and setting one of the end points of the next interpolation line segment other than the rotation center as a predicted position point to be inserted next; then entering Step B; Step B, updating the length of the next interpolation line segment to be the length of the current interpolation line segment, updating the angle of the next direction angle to be the angle of the current direction angle, updating the next interpolation line segment to be the current interpolation line segment, and updating the predicted position point to be inserted next to be the predicted position point to be inserted currently; then entering Step C; Step C, judging whether an included angle between the current interpolation line segment updated and the termination interpolation line segment is equal to the interpolation interval angle, yes, determining that the current interpolation line segment updated is an interpolation line segment distributed along an interpolation ray which is at an interpolation interval angle relative to the termination interpolation line segment within the preset rotation angle, and determining that a corresponding predicted position point on the current interpolation line segment updated is the predicted position point inserted last between the first position point and the second position point, no, returning to Step A; An angle of an included angle between two interpolation line segments on which two predicted position points inserted next are located is set as the interpolation interval angle.

6. The position point insertion method of claim 5, wherein, The position point insertion method further comprises: connecting the rotation center and a predicted position point to be inserted currently to form a current interpolation line segment, and setting a direction angle of the robot at the predicted position point to be inserted currently as a current direction angle; wherein an included angle of an advancing direction of the robot at the predicted position point to be inserted currently relative to the reference line is the direction angle of the robot at the predicted position point to be inserted currently, and the advancing direction of the robot at the predicted position point to be inserted currently is perpendicular to the current interpolation line segment; relative to the first ray, the current interpolation line segment is located on an interpolation ray with the same angle position; connecting the rotation center and a predicted position point to be inserted next to form a next interpolation line segment, and setting a direction angle of the robot at the predicted position point to be inserted next as a next direction angle; wherein an included angle of an advancing direction of the robot at the predicted position point to be inserted next relative to the reference line is the direction angle of the robot at the predicted position point to be inserted next, and the advancing direction of the robot at the predicted position point to be inserted next is perpendicular to the next interpolation line segment; relative to the first ray, the next interpolation line segment is located on an interpolation ray with the same angle position.

7. The position point insertion method of claim 5, wherein, The first position point, the second position point, each predicted position point, each interpolation line segment, each interpolation ray, the first ray and the second ray are located in a same plane; wherein the plane is located in a three-dimensional space.

8. The position point insertion method according to any one of claims 1 to 7, characterized by, The first position point and the second position point are two position points passed by the robot at two adjacent time instants, wherein there is a fixed time interval between the two adjacent time instants.

9. A chip, characterized by The chip implements the position point insertion method according to any one of claims 1 to 8 by executing an algorithm program code stored internally.

10. A robot, which is installed with a sensor for collecting position points of an environment to construct a map; characterized in that, The robot is equipped with the chip according to claim 9, which is used to control the robot to execute the position point insertion method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Continuous processing method for motion trail of robot

    CN116136688A