Error adjustment method and device of mobile robot and electronic equipment
By constructing Goal and Start vectors in the mobile robot coordinate system, determining the rotation direction and center point, and adopting a semi-circular trajectory motion, the problems of slow error adjustment speed, low accuracy, and insufficient adaptability of mobile robots are solved, and fast and accurate error adjustment is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SUZHOU UNION INTELLIGENT TECH CO LTD
- Filing Date
- 2025-12-31
- Publication Date
- 2026-05-05
AI Technical Summary
Existing mobile robot error adjustment methods are slow, have low accuracy, and lack adaptability. In particular, differential robots and omnidirectional robots suffer from friction-induced offsets and difficulty in guaranteeing accuracy during the adjustment process.
A semi-circular trajectory motion method based on the robot coordinate system is adopted. By constructing the Goal vector and Start vector, the rotation direction and rotation center point are determined, enabling the robot to synchronously adjust position and angle errors within a motion phase, reducing the number of acceleration and deceleration cycles and the influence of friction.
It improves the speed and accuracy of error adjustment for mobile robots, reduces deviations caused by multiple accelerations, decelerations and direction changes, and is suitable for different types of mobile robots, especially differential robots and omnidirectional robots, thus improving overall adjustment efficiency and accuracy.
Smart Images

Figure CN121979100A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of robotics, and in particular to error adjustment methods, devices, and electronic equipment for mobile robots. Background Technology
[0002] After a mobile robot reaches its target point in one go, it often exhibits lateral, longitudinal, and angular errors. These errors can cause the overall accuracy to fail to meet the requirements of practical applications, thus necessitating targeted error adjustment solutions. However, different types of mobile robots face inherent limitations in error adjustment: differential robots lack translational capabilities and cannot directly handle lateral errors; omnidirectional robots with dual steering wheels, four steering wheels, or differential steering wheels experience additional overall offset due to friction generated by the large-scale rotation of the steering wheels. This can not only reduce adjustment accuracy or introduce new errors but also result in slower adjustment speeds, making it difficult to meet the requirements for efficient and precise adjustment.
[0003] Current error adjustment solutions in the industry have significant shortcomings, making it difficult to balance speed and accuracy. For differential robots, a three-step adjustment method is commonly used: first, the robot rotates in place to the direction of the line connecting the current point and the destination; then, it moves straight to the destination position; and finally, it rotates to the destination angle. This process requires three accelerations and decelerations, resulting in low overall adjustment efficiency. Multi-wheel omnidirectional robots use a four-step tilting method: first, the steering wheel is rotated to the direction of the line connecting the destination; then, it tilts and moves to the destination; finally, the steering wheel is rotated back to the direction of its original rotation; and finally, the entire robot rotates to the target angle. While this solution reduces one acceleration and deceleration step, it still requires two large-angle rotations of the steering wheel in place, which is not only slower but may also cause overall misalignment due to friction, making it difficult to guarantee adjustment accuracy.
[0004] To address the problems in the prior art, this invention provides a method, apparatus, and electronic device for error adjustment of mobile robots. Summary of the Invention
[0005] The purpose of this invention is to provide a method, apparatus, and electronic device for error adjustment of mobile robots, so as to solve the problems of slow error adjustment speed, low accuracy, and insufficient adaptability to different types of robots in the prior art.
[0006] The technical solution of this invention is: an error adjustment method for a mobile robot, comprising: Establish a robot coordinate system based on the robot's current pose, and construct a Goal vector from the origin to the target point within the robot coordinate system. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; where the angle of the Start vector ranges from (-π / 2, π / 2); The rotation center point during the robot pose adjustment process is determined based on the origin and target point. During the robot's movement from the origin to the target point, it reaches the target pose through at least one movement stage; the movement stage includes at least a semi-circular trajectory movement based on the rotation direction and the rotation center point.
[0007] Preferably, determining the rotation direction for robot posture adjustment based on the Start vector angle includes: When the angle of the Start vector is within the range of (-π / 2, 0), the rotation direction of the robot's posture adjustment is clockwise. When the angle of the Start vector is within the range of (0, π / 2), the rotation direction of the robot's posture adjustment is counterclockwise. When the Start vector angle is 0 degrees, the rotation direction of the robot posture adjustment is either counterclockwise or clockwise.
[0008] Preferably, during the robot's movement from the origin to the target point, it reaches the target pose through at least one movement stage, including: Determine the boundary pose, which is the position and orientation corresponding to the switching of velocity parameters during robot movement; the velocity parameters include at least one of linear velocity and angular velocity; Based on the boundary pose, determine the motion phases during the motion process; The robot plans speed parameters for different motion phases, wherein, in each motion phase, the robot moves according to the planned speed parameters. The robot moves based on its motion phases and corresponding velocity parameters until it reaches the target pose.
[0009] Preferably, the method for determining the rotation center point during the robot pose adjustment process is as follows: Calculate the coordinates of the midpoint between the origin and the target point; this midpoint is the center of rotation.
[0010] Preferably, the robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: The robot rotates from its current pose at the origin of the coordinate system according to the rotation direction until the robot's pose angle is consistent with the Start vector angle. At this time, the robot is in the first boundary pose. Based on the rotation direction and the rotation center point, the robot performs a semi-circular trajectory movement to reach the target point. The current robot posture angle is consistent with the negative vector angle of the Start vector. At this time, the robot is in the second boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
[0011] Preferably, the method for determining the rotation center point during the robot pose adjustment process is as follows: The method for determining the rotation radius includes calculating the y-axis projection length of the Goal vector and using half of the y-axis projection length as the rotation radius. The x-coordinate of the rotation center point is the x-coordinate of the starting point of the robot's movement along the semi-circular arc trajectory, and the y-coordinate of the rotation center point is the y-coordinate of the midpoint of the projection of the Goal vector onto the y-axis.
[0012] Preferably, the robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the origin of the coordinate system in the current pose and reaches the first transition point. At this time, the robot is in the third boundary pose. The robot moves from the first transition point to the target point along the first straight line trajectory, where the first straight line trajectory is the line connecting the first transition point to the target point. At this time, the robot is in the fourth boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
[0013] Preferably, the robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: The robot moves from the origin of the coordinate system to the second transition point along the second straight line trajectory. The second straight line trajectory is the line connecting the origin of the coordinate system and the endpoint of the x-axis projection of the Goal vector. At this time, the robot is in the fifth boundary pose. Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the second transition point to the target point in its current pose, at which point the robot is in the sixth boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
[0014] An error adjustment device for a mobile robot includes: The planning module is used to plan the robot's motion stages based on the robot's current pose information and send the velocity parameters of the motion stages to the control module. The planning of the robot's motion stages includes: establishing a robot coordinate system and constructing a Goal vector from the origin to the target point; determining a Start vector perpendicular to the Goal vector and the rotation direction; determining the rotation center point during the robot's pose adjustment process; and planning the robot's rotational angular velocity and linear velocity. The motion stage includes at least a semi-circular trajectory motion based on the rotation direction and the rotation center point. The state perception module is used to perceive the robot's real-time position and real-time attitude angle during the robot's movement, and send the two sets of information as the robot's current pose information to the planning module. The control module is used to send control commands to the robot's control terminal to control the robot's movement.
[0015] An electronic device, the electronic device comprising: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement any of the error adjustment methods for the mobile robot described above.
[0016] Compared with the prior art, the advantages of the present invention are: (1) This application solves the problems of slow error adjustment speed and low accuracy caused by the separation of position adjustment and angle calibration and the step-by-step execution in the prior art by using circular arc trajectory motion from the motion logic level: On the one hand, by determining the rotation direction, the circular trajectory is planned directly based on the relative relationship between the current pose and the target pose, replacing the step-by-step process of self-rotation alignment direction, linear displacement, and self-rotation calibration in the traditional solution. This avoids motion interruption and energy loss caused by multiple acceleration, deceleration, start and stop, and reduces the accumulation of small deviations caused by each direction switch in the step-by-step motion. The continuous circular trajectory motion can maintain the stability of the robot's motion state, so that the position offset and angle deviation approach zero synchronously in the same motion process, which significantly improves the accuracy of pose calibration. On the other hand, the adaptive design of the Start vector and the rotation direction enables the arc trajectory to have the guidance to the target point, realizing the coupling compensation of position error and angle error. This avoids the problem of interference to the calibrated position when adjusting the angle alone or ignoring the angle deviation when adjusting the position. It is especially suitable for scenarios where the target pose has composite errors in the lateral, longitudinal and angle directions, ensuring that the robot can still achieve fast and accurate pose convergence under complex error conditions, and greatly reducing the probability of secondary adjustment. (2) The core logic of this application breaks through the binding restriction of traditional error adjustment methods on robot drive type, and fundamentally solves the compatibility problem of differential robots and multi-steering wheel omnidirectional robots in the prior art that require separate design of error adjustment methods. Attached Figure Description
[0017] The present invention will be further described below with reference to the accompanying drawings and embodiments: Figure 1 A flowchart of the error adjustment method for the mobile robot provided by the present invention.
[0018] Figure 2This is a schematic diagram illustrating the transformation between the map coordinate system and the robot coordinate system provided by the present invention.
[0019] Figure 3 This is a flowchart of an error adjustment method for a mobile robot provided in one embodiment of the present invention.
[0020] Figure 4 This is a schematic diagram of the error adjustment method for the mobile robot provided in one embodiment of the present invention.
[0021] Figure 5 This is a flowchart of an error adjustment method for the mobile robot provided in another embodiment of the present invention.
[0022] Figure 6 This is a schematic diagram of the error adjustment method for the mobile robot provided in another embodiment of the present invention.
[0023] Figure 7 This is a flowchart of the error adjustment method for the mobile robot provided in another embodiment of the present invention.
[0024] Figure 8 This is a schematic diagram of the error adjustment method for the mobile robot provided in another embodiment of the present invention.
[0025] Figure 9 This is a schematic diagram of the error adjustment device for the mobile robot provided by the present invention. Detailed Implementation
[0026] The present invention will be further described in detail below with reference to specific embodiments: During the movement of a mobile robot towards a target point, friction or inherent problems with the adjustment method can lead to errors between the final robot pose and the target pose. Existing solutions, such as direct adjustment of differential-speed robots and omnidirectional robots with dual-wheel, four-wheel, or differential-wheel configurations, suffer from limited accuracy or introduce additional errors, and are slow. Furthermore, the error adjustment method needs to be adapted to the robot type. Therefore, this invention proposes a scheme that simultaneously adjusts angle and position errors through semi-circular trajectory motion to address the issues of poor accuracy, slow speed, and adaptability in current mobile robot error adjustment methods.
[0027] like Figure 1 As shown, the error adjustment method for a mobile robot disclosed in this invention includes: S1. Establish a robot coordinate system based on the robot's current pose. In the robot coordinate system, construct a Goal vector from the origin to the target point.
[0028] Specifically, robots are mobile robots with autonomous mobility, which can include tracked robots and wheeled robots. Tracked robots include ordinary tracked robots, articulated tracked robots, and variable tracked robots. Ordinary tracked robots move through frictional contact between the entire track and the ground, resulting in a simple structure and low ground pressure. Articulated tracked robots achieve independent pitch or steering for each track segment through articulated connections. Variable tracked robots can adapt to different working environments by adjusting the track gauge, length, or shape. Wheeled robots include differential robots, steering wheel robots, and omnidirectional robots. Differential robots achieve forward, backward, and steering by independently controlling the speed difference between two coaxial fixed drive wheels. Steering wheel robots independently control steering and provide power to the front and rear wheels respectively. Omnidirectional robots use wheel systems such as Mecanum wheels or omnidirectional wheels to achieve independent control of three degrees of freedom in a plane.
[0029] Combination Figure 2 As shown, the robot's current pose includes its initial position and orientation, determined relative to a specific reference coordinate system, defined as the map coordinate system. Position refers to the coordinates of the robot's chassis geometric center in the map coordinate system; in other implementations, position can also be defined as the center point of the drive axis. Orientation refers to the robot's forward facing angle, i.e., the angle between the positive X-axis of the map coordinate system and the robot's forward facing angle. At any given moment, the robot corresponds to a specific pose.
[0030] To establish a robot coordinate system, the origin is the geometric center of the robot's chassis, and the positive direction of the x-axis is determined by the line connecting the geometric centers of the wheelsets, using the robot's chassis symmetry centerline as the reference. This can be understood as the positive direction of the x-axis being the robot's forward direction. The y-axis is perpendicular to the x-axis, and its positive direction is determined based on the right-hand rule.
[0031] The goal point is the target position that the robot needs to reach. Based on the determination of the goal point, the goal vector from the origin to the goal point can be directly obtained in the robot coordinate system. In this implementation, the goal vector can be understood as the error vector between the robot's current position and the goal point.
[0032] In one implementation, reference Figure 2As shown, in the map coordinate system, the robot's current position is (100, 50), and the facing angle is 90°, which can be defined as the robot's current pose (100, 50, 90°). In the map coordinate system, the target point's coordinates are (105, 60), and the target facing angle the robot needs to reach is 93°, which can be defined as the robot's target pose (105, 60, 93°). That is to say, both the robot's current pose and target pose are determined based on the map coordinate system. A robot coordinate system is established based on the robot's current pose, with the coordinate point (100, 50) in the map coordinate system as the origin. Since the robot's facing direction in the map coordinate system is the positive Y-axis direction, the positive x-axis direction of the robot coordinate system is parallel to the positive Y-axis direction of the map coordinate system. Then, based on the right-hand rule, the positive y-axis direction of the robot coordinate system is determined, thus establishing the following... Figure 2 The robot coordinate system shown.
[0033] In the robot coordinate system, the target point is located at (10, -5), and the Goal vector from the origin to the target point is constructed as (10, -5). Simultaneously, based on the target pose and the current pose in the map coordinate system, the target rotation angle of the robot in the robot coordinate system can be determined to be 3°.
[0034] S2. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; wherein, the angle of the Start vector is in the range of (-π / 2, π / 2).
[0035] Specifically, such as Figure 2 As shown, the normal vector of the Goal vector, which starts at the origin, is obtained and defined as the Start vector. The angle of the Start vector ranges between (-π / 2, π / 2). That is, the Start vector can be in the first quadrant, the fourth quadrant, or the positive x-axis direction in the robot coordinate system. When the Start vector is in the first quadrant, its angle is in the range (0, π / 2); when it is in the fourth quadrant, its angle is in the range (-π / 2, 0); and when it is in the positive x-axis direction, its angle is 0 degrees.
[0036] Based on the angle range where the Start vector is located, the rotation direction of the robot during the attitude adjustment process can be directly defined. This rotation direction includes clockwise and counterclockwise directions. When the Start vector is in the first or fourth quadrant, that is, when the angle of the Start vector is (0, π / 2) or (-π / 2, 0), the rotation direction is when the Goal vector rotates to the rotation direction of the Start vector with a rotation direction of less than 180°.
[0037] In one implementation, in the robot coordinate system, the Goal vector is (10, -5), and the angle between the Goal vector and the positive x-axis is arctan(-5 / 10) = -26.57°. Therefore, the angle of its corresponding Start vector is 63.43°. Since the robot needs to rotate counterclockwise, the rotation direction during the attitude adjustment process is determined to be counterclockwise.
[0038] S3. Determine the rotation center point during the robot pose adjustment process based on the origin and target point.
[0039] Specifically, in the robot coordinate system, the origin and the target point are two distinct position points. Since this application needs to achieve error coupling compensation by planning semi-circular motion to avoid multiple acceleration, deceleration and direction switching, it is necessary to determine the rotation center point of the semi-circular motion. The rotation center point can be directly determined by the origin and the target point.
[0040] Since the robot is at the origin of the coordinate system, once the rotation center point and rotation direction are determined, a unique semi-circular arc trajectory can be obtained. After the robot moves continuously along this determined unique semi-circular arc trajectory, the accumulation of small deviations caused by each direction switch in the step-by-step motion is reduced.
[0041] S4. During the robot's movement from the origin to the target point, it reaches the target pose through at least one movement stage; the movement stage includes at least a semi-circular arc trajectory movement based on the rotation direction and the rotation center point.
[0042] Specifically, during the robot's error adjustment process, at least one motion phase is required to reach the target angle. This motion phase includes linear motion, rotational motion, and semi-circular trajectory motion. Linear motion is the robot's forward-facing direction, moving linearly to the preset position at a planned linear velocity. Rotational motion is performed from the robot's current position, using a defined rotation method and a planned angular velocity. Semi-circular trajectory motion follows a planned semi-circular trajectory, determined by the robot's current position, rotation center point, and rotation direction, moving at a planned angular and linear velocity. The robot's attitude adjustment process must include at least semi-circular trajectory motion, while linear and rotational motions are primarily determined based on the motion scenario.
[0043] In summary, the error adjustment method for a mobile robot proposed in this application adjusts the robot's position and angle simultaneously during the rotational motion phase by using a semi-circular trajectory. This eliminates the need for additional pauses, avoiding energy loss and time wastage caused by multiple accelerations and decelerations, and reducing the cumulative deviation caused by multiple adjustments, thus achieving faster and more accurate error adjustment.
[0044] The following provides several implementation methods to further illustrate the error adjustment method for mobile robots: In one implementation, the error adjustment method for the mobile robot, such as... Figure 3 As shown, it includes: S11. Establish a robot coordinate system based on the robot's current pose. In the robot coordinate system, construct a Goal vector from the origin to the target point.
[0045] In this embodiment, such as Figure 4 As shown, the robot's current pose based on the map coordinate system is (100, 50, 90°), and the target pose is (105, 60, 93°). The robot's coordinate system is established with its current position as the origin, the x-axis pointing directly forward, and the y-axis pointing to the robot's left, following the right-hand rule.
[0046] In the robot coordinate system, construct the Goal vector (10, -5) from the origin to the target point.
[0047] S12. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; wherein, the angle of the Start vector is in the range of (-π / 2, π / 2).
[0048] When the angle of the Start vector is within the range of (-π / 2, 0), the rotation direction of the robot's posture adjustment is clockwise. When the angle of the Start vector is within the range of (0, π / 2), the rotation direction of the robot's posture adjustment is counterclockwise. When the Start vector angle is 0 degrees, the rotation direction for robot posture adjustment is either counterclockwise or clockwise.
[0049] In this embodiment, the Goal vector is (10, -5), and the corresponding Goal vector angle is -26.57°. A Start vector is constructed with its starting point at the origin and perpendicular to the Goal vector. Since the Start vector is perpendicular to the Goal vector and its angle range is between (-π / 2, π / 2), the angle of the Start vector is determined to be 63.43°. Further, it is determined that the angle of the Start vector is within the range of (0, π / 2), so the rotation direction of the robot in this embodiment is counterclockwise.
[0050] S13. Determine the rotation center point during the robot pose adjustment process based on the origin and target point. In this embodiment, the rotation center point is determined by calculating the coordinates of the midpoint between the origin and the target point.
[0051] Specifically, such as Figure 4 As shown in this embodiment, the target point is located at (10, -5) in the robot coordinate system, and the coordinates of the midpoint can be obtained as (5, -2.5), which is used as the rotation center.
[0052] Furthermore, based on the angle range where the Goal vector is located, the direction of the robot's linear velocity during the posture adjustment process can be directly defined. This linear velocity direction includes both forward and backward directions. Specifically, if the angle range where the Goal vector is located is in the first or fourth quadrant, the direction of the robot's linear velocity during the posture adjustment process is backward; if the angle range where the Goal vector is located is in the second or third quadrant, the direction of the robot's linear velocity during the posture adjustment process is forward. In this embodiment, since the angle range where the Goal vector is located is in the fourth quadrant, the robot's semi-circular trajectory is planned based on the robot performing backward movement and superimposing a counterclockwise rotation direction, thereby determining a unique semi-circular trajectory.
[0053] S14. Determine the first boundary pose and the second boundary pose. The boundary pose is the position and orientation corresponding to the switching of velocity parameters during the robot's movement. The velocity parameters include at least one of linear velocity and angular velocity.
[0054] The first boundary pose refers to the robot's position being the origin of the coordinate system, with the pose angle consistent with the angle of the Start vector; the second boundary pose refers to the robot's position being the target point, with the pose angle consistent with the angle of the negative vector of the Start vector. The first boundary pose and the second boundary pose are both boundary poses corresponding to the robot during a complete motion process.
[0055] S15. Based on the boundary pose, determine the motion stages in the motion process; plan the velocity parameters for different motion stages, wherein, within each motion stage, the robot moves according to the planned velocity parameters; the robot moves based on the motion stage and its corresponding velocity parameters until it reaches the target pose.
[0056] The robot rotates from its current pose around the origin according to the rotation direction until its posture angle matches the Start vector angle, at which point the robot is in its first boundary pose. During this process, an angular velocity is applied to the robot to induce its rotation. Throughout the pose adjustment process, the angular velocity can be planned using a T-shaped or S-shaped pattern. In some other implementations, if the robot's initial pose matches the Start vector angle, this step is unnecessary, and the robot directly proceeds to the adjustment process using a semi-circular trajectory.
[0057] Based on the rotation direction and the center point of rotation, the robot performs a semi-circular trajectory movement to reach the target point. During this process, the robot applies a linear velocity in addition to its angular velocity. Specifically, the linear velocity is V = r × W, where V represents the magnitude of the linear velocity; r represents the radius of the semi-circular trajectory planned around the center point of rotation, specifically the distance between the center of rotation and the origin of the robot's coordinate system; and W represents the magnitude of the linear velocity. The direction of V is the movement direction based on the aforementioned pose adjustment: when the movement direction is forward, V is greater than 0, representing a positive direction; when the movement direction is backward, V is less than 0, representing a negative direction. In this implementation, the robot applies a negative linear velocity at this stage, meaning V is less than 0. The current robot posture angle is consistent with the negative vector angle of the Start vector, at which point the robot is in the second boundary pose.
[0058] If there is an angular error between the robot's target pose and the negative vector of the Start vector, the robot will rotate around the target point according to the rotation direction to reach the target pose. During this process, the robot's angular velocity remains constant until it rotates to the target pose direction, at which point the linear velocity is set to 0.
[0059] In this embodiment, such as Figure 4 As shown, the robot rotates counterclockwise at the origin of the coordinate system with a planned angular velocity. When the robot's attitude angle is the angle of the Start vector, i.e., 63.43°, the robot is in the first boundary pose.
[0060] The robot rotates counterclockwise from the origin and applies a corresponding linear velocity, moving along a semi-circular trajectory with (5, -2.5) as the rotation center. When the robot's attitude angle rotates 180° and reaches the negative vector angle of the Start vector, i.e., -116.57°, the robot's position is at the target point, which is the second boundary pose.
[0061] The robot rotates at the target point according to the planned angular velocity and rotation direction, and sets the linear velocity to 0. When the robot's attitude angle reaches 3°, the robot completes the error adjustment and stops moving.
[0062] In summary, this implementation method achieves rapid robot positioning through rotational motion, semi-circular trajectory motion, and rotational motion, with only one acceleration / deceleration process. Compared to the three-step adjustment method of traditional differential robots and the four-step tilting positioning method of omnidirectional robots, this significantly reduces the number of motion interruptions and energy consumption. Simultaneously, the semi-circular trajectory motion, based on the midpoint between the origin and the target point as the rotation center, achieves coupled compensation for position and angle errors, avoiding the problem of deviation accumulation during step-by-step adjustments. Both the lateral error handling challenges of differential robots and the additional offset issues caused by the rotation of the steering wheels in omnidirectional robots can be efficiently resolved through this process, significantly improving the speed and accuracy of error adjustment, without requiring separate adaptation for the robot's drive type.
[0063] In another implementation, the error adjustment method for the mobile robot, such as... Figure 5 As shown, it includes: S21. Establish a robot coordinate system based on the robot's current pose. In the robot coordinate system, construct a Goal vector from the origin to the target point.
[0064] In this embodiment, the robot's current pose is (100, 50, 45°), and the target pose is (100, 52, 42°). The robot's current position is taken as the origin of the robot coordinate system. The x-axis is established with the direction the robot is currently facing forward. According to the right-hand rule, the y-axis is established with the direction the robot is directly to the left, thus establishing the robot coordinate system.
[0065] In the robot coordinate system, construct the Goal vector (1.41, 1.41) from the origin to the target point.
[0066] S22. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; wherein, the angle of the Start vector is in the range of (-π / 2, π / 2).
[0067] When the angle of the Start vector is within the range of (-π / 2, 0), the rotation direction of the robot's posture adjustment is clockwise. When the angle of the Start vector is within the range of (0, π / 2), the rotation direction of the robot's posture adjustment is counterclockwise. When the Start vector angle is 0 degrees, the rotation direction for robot posture adjustment is either counterclockwise or clockwise.
[0068] In this embodiment, the Goal vector is (1.41, 1.41), and the corresponding Goal vector angle is 45°. A Start vector is constructed with its starting point at the origin and perpendicular to the Goal vector. Since the Start vector is perpendicular to the Goal vector and its angle range is between (-π / 2, π / 2), the angle of the Start vector is determined to be -45°. Further, it is determined that the angle of the Start vector is within the range of (-π / 2, 0), so the rotation direction of the robot in this embodiment is clockwise.
[0069] S23. Determine the rotation center point during the robot pose adjustment process based on the origin and target point.
[0070] The rotation radius is determined by calculating the y-axis projection length of the Goal vector and using half of the y-axis projection length as the rotation radius. The x-coordinate of the rotation center point is the x-coordinate of the starting point of the robot's movement along the semi-circular arc trajectory, and the y-coordinate of the rotation center point is the y-coordinate of the midpoint of the projection of the Goal vector onto the y-axis.
[0071] In this embodiment, the Goal vector is (1.41, 1.41), and the rotation radius is 0.71. In the robot coordinate system, the target point is located at (1.41, 1.41). The starting point of the semi-circular trajectory is the origin, so the x-coordinate of the rotation center point is 0. The midpoint of the projection of the Goal vector onto the y-axis is (0, 0.71), which determines the y-coordinate of the rotation center point to be 0.71. Therefore, the coordinates of the rotation center point are (0, 0.71).
[0072] Furthermore, based on the angle range where the Goal vector is located, the direction of the robot's linear velocity during the posture adjustment process can be directly defined. This linear velocity direction includes both forward and backward directions. Specifically, if the angle range where the Goal vector is located is in the first or fourth quadrant, the direction of the robot's linear velocity during the posture adjustment process is backward; if the angle range where the Goal vector is located is in the second or third quadrant, the direction of the robot's linear velocity during the posture adjustment process is forward. In this embodiment, since the angle range where the Goal vector is located is in the fourth quadrant, the robot's semi-circular trajectory is planned based on the robot performing backward movement and superimposing a counterclockwise rotation direction, thereby determining a unique semi-circular trajectory.
[0073] S24. Determine the third boundary pose and the fourth boundary pose. The boundary pose is the position and orientation corresponding to the switching of velocity parameters during the robot's movement. The velocity parameters include at least one of linear velocity and angular velocity.
[0074] The third boundary pose refers to the robot's position as the first transition point with an attitude angle of -180°; the fourth boundary pose refers to the robot's position as the target point with an attitude angle of -180°.
[0075] Among them, the third boundary pose and the fourth boundary pose are the boundary poses corresponding to the robot in a complete motion process.
[0076] S25. Based on the boundary pose, determine the motion stages in the motion process; plan the velocity parameters for different motion stages, wherein, within each motion stage, the robot moves according to the planned velocity parameters; the robot moves based on the motion stage and its corresponding velocity parameters until it reaches the target pose.
[0077] Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the origin of the coordinate system in the current pose and reaches the first transition point. At this time, the robot is in the third boundary pose. The robot moves from the first transition point to the target point along the first straight line trajectory, which is the line connecting the first transition point to the target point. At this time, the robot is in the fourth boundary pose. During this process, the robot does not apply angular velocity, but maintains linear velocity without additional adjustment.
[0078] The robot rotates around the target point according to the direction of rotation until it reaches the target pose. During the robot's pose adjustment process, the settings for the robot's angular velocity and linear velocity can be the same as in the previous implementation method, and will not be repeated here.
[0079] In this embodiment, such as Figure 6 As shown, the robot moves in a semi-circular arc trajectory clockwise from the origin, with the rotation center point being (0, 0.71). When the attitude angle is -180°, the robot reaches the first transition point, with the coordinates of the first transition point being (0, 1.41). At this time, the robot is in the third boundary pose.
[0080] The robot starts moving in a straight line from the first transition point, sets its angular velocity to 0, and moves along the first straight line trajectory to reach the target point. The first straight line trajectory is the line connecting the first transition point to the target point. At this time, the robot's attitude angle is -180°, and its position is at the target point.
[0081] The robot rotates at the target point according to the planned angular velocity and rotation direction, with the linear velocity set to 0. When the robot's attitude angle reaches -3°, the error adjustment is completed, and the robot stops moving.
[0082] In summary, this embodiment achieves error adjustment by using semi-circular trajectory movement, linear motion, and rotational motion. Compared to the first embodiment, this embodiment omits the initial rotation stage at the coordinate origin, directly adjusting position and some angular errors synchronously through semi-circular trajectory movement, then rapidly approaching the target point with linear motion, and finally calibrating the remaining angular deviation through rotation. The overall acceleration and deceleration operations are only two. This scheme is particularly suitable for scenarios where the lateral deviation between the target point and the coordinate origin is small. The semi-circular trajectory movement can quickly offset lateral errors, while the linear motion ensures the efficiency of longitudinal movement. It also avoids the frictional offset caused by large-angle rotation of the steering wheel in traditional solutions, ensuring the accuracy of pose calibration while balancing adjustment speed.
[0083] In another implementation, the error adjustment method for the mobile robot, such as Figure 7 As shown, it includes: S31. Establish a robot coordinate system based on the robot's current pose. In the robot coordinate system, construct a Goal vector from the origin to the target point.
[0084] In this embodiment, the robot's current pose is (100, 50, 45°), and the target pose is (100, 52, 42°). The robot's current position is used as the origin of the robot's coordinate system. An x-axis is established with the robot's current facing direction, and a y-axis is established with the robot's left side following the right-hand rule. Within this robot coordinate system, a Goal vector (1.41, 1.41) is constructed from the origin to the target point.
[0085] S32. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; wherein, the angle of the Start vector is in the range of (-π / 2, π / 2).
[0086] When the angle of the Start vector is within the range of (-π / 2, 0), the rotation direction of the robot's posture adjustment is clockwise. When the angle of the Start vector is within the range of (0, π / 2), the rotation direction of the robot's posture adjustment is counterclockwise. When the Start vector angle is 0 degrees, the rotation direction for robot posture adjustment is either counterclockwise or clockwise.
[0087] In this embodiment, the Goal vector is (1.41, 1.41), and the corresponding Goal vector angle is 45°. A Start vector is constructed with its starting point at the origin and perpendicular to the Goal vector. Since the Start vector is perpendicular to the Goal vector and its angle range is between (-π / 2, π / 2), the angle of the Start vector is determined to be -45°. Further, it is determined that the angle of the Start vector is within the range of (-π / 2, 0), so the rotation direction of the robot in this embodiment is clockwise.
[0088] S33. Determine the rotation center point during the robot pose adjustment process based on the origin and target point.
[0089] The rotation radius is determined by calculating the y-axis projection length of the Goal vector and using half of the y-axis projection length as the rotation radius. The x-coordinate of the rotation center point is the x-coordinate of the starting point of the robot's movement along the semi-circular arc trajectory, and the y-coordinate of the rotation center point is the y-coordinate of the midpoint of the projection of the Goal vector onto the y-axis.
[0090] S34. Determine the fifth boundary pose and the sixth boundary pose. The boundary pose is the position and orientation corresponding to the switching of velocity parameters during the robot's movement. The velocity parameters include at least one of linear velocity and angular velocity.
[0091] The fifth boundary pose refers to the robot's position being the second transition point with an attitude angle of 0°; the sixth boundary pose refers to the robot's position being the target point with an attitude angle of -180°.
[0092] Among them, the fifth boundary pose and the sixth boundary pose are the boundary poses corresponding to the robot in a complete motion process.
[0093] S35. Based on the boundary pose, determine the motion stages in the motion process; plan the velocity parameters for different motion stages, wherein, within each motion stage, the robot moves according to the planned velocity parameters; the robot moves based on the motion stage and its corresponding velocity parameters until it reaches the target pose.
[0094] The robot moves from the origin of the coordinate system to the second transition point along the second straight line trajectory. The second straight line trajectory is the line connecting the origin of the coordinate system and the endpoint of the x-axis projection of the Goal vector. At this time, the robot is in the fifth boundary pose. Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the second transition point to the target point in its current pose, at which point the robot is in the sixth boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
[0095] In this embodiment, such as Figure 8 As shown, the robot starts moving in a straight line along the second straight line trajectory from the origin. The endpoint of the second straight line trajectory is the endpoint of the x-axis projection of the Goal vector. This point is the second transition point, with coordinates (1.41, 0). At this time, the robot's attitude angle is 0°, with coordinates (1.41, 0), and it is in the fifth boundary pose.
[0096] The robot begins its semi-circular trajectory motion from the second transition point. The x-coordinate of the rotation center point is the same as the x-coordinate of the second transition point. The midpoint of the projection of the Goal vector onto the y-axis is (0, 0.71), so the y-coordinate of the rotation center point is 0.71. Therefore, the coordinates of the rotation center point are (1.41, 0.71). The robot begins its semi-circular trajectory motion with a clockwise rotation direction and the rotation center point, applying the planned angular velocity, and reaches the target point. At this point, the robot's attitude angle is -180°, and it is in the sixth boundary pose.
[0097] The robot rotates at the target point according to the planned angular velocity and clockwise rotation direction, with the linear velocity set to 0. When the robot's attitude angle reaches -3°, the error adjustment is completed, and the robot stops moving.
[0098] In summary, this embodiment achieves error adjustment by following the sequence of linear motion, semi-circular trajectory motion, and rotational motion, which is an adjustment to the sequence of motion stages in the second embodiment. Linear motion is used to quickly cover most of the longitudinal distance first, then semi-circular trajectory motion is used to accurately couple and compensate for lateral errors and some angular errors, and finally rotation is used to calibrate the target posture. This scheme retains the error coupling compensation advantage of semi-circular trajectory motion and optimizes the adjustment speed in long-distance scenarios through the pre-design of linear motion.
[0099] In this embodiment, the multiple acceleration and deceleration issues that may occur during the adjustment process of the movement direction can be addressed differently from the setting rules for determining the movement and rotation directions based on the Goal and Start vectors in the previous two embodiments. Specifically, the opposite setting rules are used. For example, if the angle range of the Goal vector is in the first or fourth quadrant, the linear velocity direction of the robot's pose adjustment is directly forward; if the angle range of the Goal vector is in the second or third quadrant, the linear velocity direction of the robot's pose adjustment is directly backward. Similarly, if the Start vector angle is in the range of (-π / 2, 0), the rotation direction of the robot's pose adjustment is counterclockwise; if the Start vector angle is in the range of (0, π / 2), the rotation direction of the robot's pose adjustment is clockwise.
[0100] Of course, the efficiency improvements offered by the above-described implementation methods should be avoided or are not well-suited for certain specific error adjustment scenarios. For example, the target pose of the robot may be directly in front of or behind the robot's current pose, and the pose angles of the two are approximately the same. In this case, while the solution provided by the implementation methods of this application can improve accuracy, the process may be cumbersome, and the efficiency improvement is not significant. In such situations, the robot can use existing technical solutions to adjust the pose error.
[0101] The present invention also provides an error adjustment device for a mobile robot, such as... Figure 9 As shown, it includes: The planning module is used to plan the robot's motion phases based on the robot's current pose information and send the velocity parameters of the motion phases to the control module. The planning of the robot's motion phases includes: establishing the robot coordinate system and constructing the Goal vector from the origin to the target point; determining the Start vector perpendicular to the Goal vector and the rotation direction; determining the rotation center point during the robot's pose adjustment process; and planning the robot's rotational angular velocity and linear velocity. The motion phase includes at least a semi-circular trajectory motion based on the rotation direction and the rotation center point. The state perception module is used to perceive the robot's real-time position and real-time attitude angle through multiple state perception devices during the robot's movement, and send the two sets of information as the robot's current pose information to the planning module; the state perception devices include, but are not limited to, one or more of odometry, cameras, lidar and inertial measurement units; The control module is used to send control commands to the robot's control terminal to control the robot's movement.
[0102] Specifically, the planning module establishes a robot coordinate system based on the robot's current position and posture. Within this coordinate system, it determines the target point and the Goal vector, where the Goal vector is the direction vector from the origin to the target point. The rotation direction is determined by the angle of the Start vector, which is perpendicular to the Goal vector. The Start vector angle lies between (-π / 2, π / 2). When the Start vector angle is within the range of (-π / 2, 0), the rotation direction for robot posture adjustment in each motion phase is clockwise; when the Start vector angle is within the range of (0, π / 2), the rotation direction for robot posture adjustment in each motion phase is counterclockwise; and when the Start vector angle is 0 degrees, the rotation direction for robot posture adjustment in each motion phase is either clockwise or counterclockwise.
[0103] The center of rotation is used to determine the trajectory of the semicircular arc. The coordinates of the center of rotation are determined based on the Goal vector and the starting point of the semicircular arc trajectory.
[0104] The robot reaches the target pose through at least one motion phase, which includes rotation, semi-circular trajectory, and linear motion. The robot's pose error is adjusted through a combination of one or more motion phases.
[0105] The state perception module senses the robot's posture angle and position in real time and sends the robot's pose information to the planning module. The planning module adjusts the robot's speed parameters during the movement phase based on the pose information.
[0106] The control module sends the speed parameters from the planning module to the robot's control terminal, and the robot executes according to the speed parameters to complete the error adjustment.
[0107] The present invention further provides an electronic device, the electronic device comprising: One or more processors; Memory, used to store one or more programs; When one or more programs are executed by one or more processors, the one or more processors implement an error adjustment method for the mobile robot.
[0108] The above embodiments are merely illustrative of the technical concept and features of the present invention, intended to enable those skilled in the art to understand the content of the present invention and implement it accordingly, and should not be construed as limiting the scope of protection of the present invention. It is obvious to those skilled in the art that the present invention is not limited to the details of the above exemplary embodiments, and that the present invention can be implemented in other specific forms without departing from the spirit or essential characteristics of the present invention. Therefore, the embodiments should be considered exemplary and non-limiting in all respects. The scope of the present invention is defined by the appended claims rather than the foregoing description, and therefore all variations falling within the meaning and scope of the equivalents of the claims are intended to be included within the present invention.
Claims
1. An error adjustment method for a mobile robot, characterized in that, include: Establish a robot coordinate system based on the robot's current pose, and construct a Goal vector from the origin to the target point within the robot coordinate system. Obtain the Start vector perpendicular to the Goal vector, and determine the rotation direction for robot posture adjustment based on the angle of the Start vector; where the angle of the Start vector ranges from (-π / 2, π / 2); The rotation center point during the robot pose adjustment process is determined based on the origin and target point. During the robot's movement from the origin to the target point, it reaches the target pose through at least one movement stage; the movement stage includes at least a semi-circular trajectory movement based on the rotation direction and the rotation center point.
2. The error adjustment method for a mobile robot according to claim 1, characterized in that, The step of determining the rotation direction for robot posture adjustment based on the Start vector angle includes: When the angle of the Start vector is within the range of (-π / 2, 0), the rotation direction of the robot's posture adjustment is clockwise. When the angle of the Start vector is within the range of (0, π / 2), the rotation direction of the robot's posture adjustment is counterclockwise. When the Start vector angle is 0 degrees, the rotation direction of the robot posture adjustment is either counterclockwise or clockwise.
3. The error adjustment method for a mobile robot according to claim 1, characterized in that, During the robot's movement from the origin to the target point, it reaches the target pose through at least one movement stage, including: Determine the boundary pose, which is the position and orientation corresponding to the switching of velocity parameters during robot movement; the velocity parameters include at least one of linear velocity and angular velocity; Based on the boundary pose, determine the motion phases during the motion process; The robot plans speed parameters for different motion phases, wherein, in each motion phase, the robot moves according to the planned speed parameters. The robot moves based on its motion phases and corresponding velocity parameters until it reaches the target pose.
4. The error adjustment method for a mobile robot according to claim 3, characterized in that, The method for determining the rotation center point during the robot pose adjustment process is as follows: Calculate the coordinates of the midpoint between the origin and the target point; this midpoint is the center of rotation.
5. The error adjustment method for a mobile robot according to claim 4, characterized in that, The robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: The robot rotates from its current pose at the origin of the coordinate system according to the rotation direction until the robot's pose angle is consistent with the Start vector angle. At this time, the robot is in the first boundary pose. Based on the rotation direction and the rotation center point, the robot performs a semi-circular trajectory movement to reach the target point. The current robot posture angle is consistent with the negative vector angle of the Start vector. At this time, the robot is in the second boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
6. The error adjustment method for a mobile robot according to claim 1, characterized in that, The method for determining the rotation center point during the robot pose adjustment process is as follows: The method for determining the rotation radius includes calculating the y-axis projection length of the Goal vector and using half of the y-axis projection length as the rotation radius. The x-coordinate of the rotation center point is the x-coordinate of the starting point of the robot's movement along the semi-circular arc trajectory, and the y-coordinate of the rotation center point is the y-coordinate of the midpoint of the projection of the Goal vector onto the y-axis.
7. The error adjustment method for a mobile robot according to claim 6, characterized in that, The robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the origin of the coordinate system in the current pose and reaches the first transition point. At this time, the robot is in the third boundary pose. The robot moves from the first transition point to the target point along the first straight line trajectory, where the first straight line trajectory is the line connecting the first transition point to the target point. At this time, the robot is in the fourth boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
8. The error adjustment method for a mobile robot according to claim 6, characterized in that, The robot moves based on motion phases and their corresponding velocity parameters until it reaches the target pose, including: The robot moves from the origin of the coordinate system to the second transition point along the second straight line trajectory. The second straight line trajectory is the line connecting the origin of the coordinate system and the endpoint of the x-axis projection of the Goal vector. At this time, the robot is in the fifth boundary pose. Based on the rotation direction and rotation center point, the robot moves in a semi-circular trajectory from the second transition point to the target point in its current pose, at which point the robot is in the sixth boundary pose. The robot rotates at the target point according to the rotation direction until it reaches the target pose.
9. An error adjustment device for a mobile robot, used to perform the method according to any one of claims 1-8, characterized in that, include: The planning module is used to plan the robot's motion phases based on the robot's current pose information and send the velocity parameters of the motion phases to the control module. The planned robot motion phase includes: establishing a robot coordinate system and constructing a Goal vector from the origin to the target point; determining a Start vector perpendicular to the Goal vector and the rotation direction; determining the rotation center point during the robot pose adjustment process; and planning the robot's rotational angular velocity and linear velocity. The motion phase includes at least a semi-circular trajectory motion based on the rotation direction and the rotation center point. The state perception module is used to perceive the robot's real-time position and real-time attitude angle during the robot's movement, and send the two sets of information as the robot's current pose information to the planning module. The control module is used to send control commands to the robot's control terminal to control the robot's movement.
10. An electronic device, characterized in that: The electronic device includes: One or more processors; Memory, used to store one or more programs; When the one or more programs are executed by the one or more processors, the one or more processors implement the error adjustment method for the mobile robot as described in any one of claims 1-8.