A path planning method based on ArUco code feedback coordinates

By setting ArUco codes on the game robot and using a camera to identify and calculate the center coordinates, the path planning process is simplified, enabling precise movement control of the game robot and enhancing the children's play experience.

CN116276982BActive Publication Date: 2026-05-05GUANGZHOU CITY UNIV OF TECH
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
GUANGZHOU CITY UNIV OF TECH
Filing Date
2023-02-24
Publication Date
2026-05-05

AI Technical Summary

Technical Problem

Existing path planning methods for educational game robots are complex and costly, making it difficult to achieve simple and accurate robot movement control, resulting in a poor play experience for children.

Method used

By setting ArUco codes on the gaming robot, a suspended camera can be used to identify the ArUco codes in real time and calculate the center coordinates. The control terminal can then plan the path and control the robot's movement based on the coordinates, simplifying the operation process.

Benefits of technology

It achieves precise movement control of the game robot, is easy to operate, enhances children's play experience, and cultivates a strong interest in robots.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116276982B_ABST
    Figure CN116276982B_ABST
Patent Text Reader

Abstract

This invention provides a path planning method based on ArUco code feedback coordinates. The specific steps include: (1) running an ArUco code recognition database on the control terminal and creating ArUco code ID values; (2) setting ArUco codes with different ID values ​​on each game robot; (3) recording the game robot in real time through a suspended camera and establishing a coordinate system; (4) detecting and recognizing the ArUco codes on the game robot using the suspended camera and sending the ArUco codes to the recognition database; (5) recognizing the angular coordinates and corresponding ID values ​​of the ArUco codes identified by the recognition database, and calculating the center coordinates, upper center coordinates, and lower center coordinates of the ArUco codes based on the angular coordinates of the ArUco codes; (6) storing the angular coordinates, ID values, center coordinates, upper center coordinates, and lower center coordinates of the ArUco codes in the recognition database; (7) controlling the game robot to move according to the ArUco codes on the game robot.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of swarm robot technology, specifically to a path planning method based on ArUco code feedback coordinates. Background Technology

[0002] With the rapid development of information technology, automation technology, and smart hardware technology, research on intelligent robot technology is becoming increasingly mature. Research in areas such as machine vision, positioning and navigation, and artificial intelligence is yielding continuous results. Intelligent robots, as a comprehensive embodiment of these fields, are finding increasingly widespread applications in military, industrial, daily life, and entertainment sectors. Educational robots can provide guidance and education for teenagers, offer parents peace of mind, cultivate children's strong interest in robots, and play an educational role, laying a solid foundation for the future development of the nation's robotics industry.

[0003] However, most current educational game robots still rely on hardware control and can only be controlled one-to-one. This results in limited gameplay, hindering the development of children's interest. Furthermore, the complex hardware controls make them difficult for young children to operate, leading to a less than ideal gaming experience. Regarding path planning methods, existing technologies, such as Chinese patent application number 201910754589.7 (published on November 26, 2019), disclose a method for indoor autonomous navigation control of a mobile robot based on Bézier curves. This method includes the following steps: 1) establishing a scene map; 2) determining the position of the workstation on the scene map based on ArUco codes; 3) setting target points and control points, acquiring Bézier curves, and planning the robot's motion trajectory; 4) performing navigation control of the robot based on the planned robot motion trajectory. The method includes conditions to be met before acquiring ArUco codes, incorporates robot entry and exit trajectories in the robot's motion trajectory planning, and includes angular velocity control and forward speed control considering start-stop and turning. This method requires recognizing ArUco codes pasted in a designated workstation area, and then controlling the robot's movement based on a path planned using Bézier curves. However, controlling Bézier curves is relatively complex and costly. Summary of the Invention

[0004] The purpose of this invention is to provide a path planning method based on ArUco code feedback coordinates. Through the planning method of this invention, coordinate points can be accurately located and walking paths can be planned, so that game robots can accurately move to the target position. Movement control can be achieved simply by selecting the target point. The method is reliable and simple.

[0005] To achieve the above objectives, a path planning method based on ArUco code feedback coordinates is proposed, the specific steps of which include:

[0006] (1) Run the ArUco code recognition database on the control terminal and create ArUco code ID values.

[0007] (2) Set different ID values ​​for each game robot using ArUco codes.

[0008] (3) The game robot is recorded in real time by a suspended camera and a coordinate system is established. The suspended camera sends the coordinate system to the control terminal.

[0009] (S11) Select the ArUco code of the game robot on the coordinate system of the real-time video recording.

[0010] (4) The suspended camera detects and identifies the ArUco code on the game robot and sends the ArUco code to the identification database.

[0011] (S111) If there is no ArUco code on the real-time video or the ArUco code cannot be selected, return to step (4) to reset; otherwise, proceed to step (5).

[0012] (5) The coordinates of the four corners of the ArUco code identified by the database and the corresponding ID value are used to calculate the center coordinates, upper center coordinates and lower center coordinates of the ArUco code based on the coordinates of the four corners of the ArUco code.

[0013] (6) The control terminal stores the coordinates of the four corners of the ArUco code, the ID value, the center coordinate value, the upper center coordinate value, and the lower center coordinate value into the recognition database.

[0014] (S12) Select one or more coordinate points on the coordinate system. The control terminal generates the target point according to the position and order of the coordinate points and calculates the position distance information between each ArUco code and the target point.

[0015] (S13) The control terminal controls the corresponding game robot to move according to the positional distance information between each ArUco code and the target point.

[0016] (S14) After the game robot has finished moving, repeat steps (4)-(6) to reacquire the ArUco code information of the current position of the game robot, and then perform the next movement control until all target points have been moved, and then exit.

[0017] Furthermore, step (4) specifically includes:

[0018] (41) A suspended camera was used to capture images of ArUco codes.

[0019] (42) Extract the ArUco code contour from the ArUco code image.

[0020] (43) Obtain the coordinates of the four corner points of the ArUco code outline in the coordinate system.

[0021] (44) Identify the corresponding ArUco code ID value based on the ArUco code image.

[0022] (45) Send the coordinates of the four corner points of the ArUco code and the corresponding ArUco code ID value to the identification database.

[0023] Furthermore, step (5) specifically includes:

[0024] (51) Identify the coordinates (x1, y1), (x2, y2), (x3, y3) and (x4, y4) of the four corner points of the ArUco code in the coordinate system.

[0025] (52) According to the center coordinate formula, the coordinates (x0, y0) of the center point of the ArUco code in the coordinate system are obtained.

[0026] (x0=(x1+x4) / 2, y0=(y1+y4) / 2).

[0027] (53) Calculate the coordinates of the upper center point (Nx1, Ny1) and the lower center point (Nx2, Ny2) of the ArUco code according to the center coordinate formula in step (52).

[0028] (Nx1=(x1+x2) / 2, Ny1=(y1+y2) / 2).

[0029] (Nx2=(x3+x4) / 2, Ny2=(y3+y4) / 2).

[0030] (54) Identify the database to store the coordinate values ​​obtained in the above steps.

[0031] Furthermore, step (S12) specifically includes:

[0032] (S121) Select a point on the coordinate system, and the control terminal generates the coordinates (x01, y01) of the target point based on the selected point.

[0033] (S122) The control terminal calculates the straight-line distance b between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula.

[0034] b= .

[0035] (S123) The control terminal calculates the distance a between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (Nx2, Ny2) of the lower center point of the ArUco code according to the two-point distance calculation formula.

[0036] a= .

[0037] The control terminal calculates the distance c between the coordinates (Nx2, Ny2) of the lower center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula.

[0038] c= .

[0039] (S124) The control terminal calculates the angle α between the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the lower center point (Nx2, Ny2) of the ArUco code and the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the target point (x01, y01) according to the angle calculation formula.

[0040] cosα=(a 2 +b 2 -c 2 ) / |a|*|b|.

[0041] (S125) The control terminal calculates the direction value s of the target point in the ArUco code according to the direction calculation formula.

[0042] s=(x01-Nx2)*(Ny1-Ny2)-(y01-Ny2)*(Nx1-Nx2).

[0043] In the above formula, when s is less than 0, it means that the target point is located to the left of the ArUco code, and when s is greater than 0, it means that the target point is located to the right of the ArUco code.

[0044] (S126) The control terminal adjusts the direction and rotation angle of the game robot according to the direction value s and the angle α.

[0045] (S127) After the direction value s is adjusted, the control terminal controls the game robot to move to the coordinates (x01, y01) of the target point according to the distance b.

[0046] Furthermore, step (S12) specifically includes:

[0047] (S128) If more than one point is selected on the coordinate system, the control terminal generates the target points (x01, y01), (x02, y02), (x03, y03) ... (x0n, y0n) in the order of selection.

[0048] (S129) The control terminal repeats steps (S122)-(S125) to calculate the coordinate information of the first target point (x01,y01) and controls the game robot to move to the first target point (x01,y01).

[0049] (S1201) After the game robot moves to the first target point (x01, y01), the control terminal reacquires the coordinate information of the ArUco code located at the target point and repeats steps (S122)-(S125) to calculate the coordinate information between the ArUco code located at the target point and the next target point and controls the game robot to move.

[0050] (S1202) Repeat the above steps (S129)-(S1201) until the game robot moves to the last target point.

[0051] Furthermore, step (S11) specifically includes that if more than one ArUco code of the game robot is selected, steps (S12)-(S14) are performed in the order of selection.

[0052] Furthermore, the control terminal is a PC-based host computer, and the game robot is electrically connected to the PC-based host computer.

[0053] Furthermore, step (3) specifically includes synchronously live recording on the control terminal.

[0054] The beneficial effects of this invention are as follows: By using a suspended camera to capture ArUco codes and sending them to the control terminal, the game robot can be controlled by detecting whether an ArUco code has been acquired. The user only needs to select one or more points on the control terminal, and the control terminal can calculate the walking path to the target point and control the game robot to move. When using the control terminal to control the game robot, the user selects one or more ArUco codes of the game robot on the real-time recording of the control terminal. After selection, the ArUco code recognition database saves the ArUco code. The user selects one or more coordinate points on the coordinate system, and the control terminal can form the target point based on the position of the coordinate points and calculate the coordinate information between each ArUco code and the target point, thereby accurately locating the coordinate points and planning the walking path, so that the game robot can accurately move to the target position. The user only needs to select the game robot with the ArUco code and select the target point to move on the control terminal to control the movement of the game robot. The operation is simple and easy to learn, which can greatly improve children's play experience and cultivate children's strong interest in robots. Attached Figure Description

[0055] Figure 1This is a schematic diagram illustrating the workflow of a path planning method based on ArUco code feedback coordinates according to the present invention.

[0056] Figure 2 This is a schematic diagram of the workflow of the control terminal control mode of the present invention.

[0057] Figure 3 This is a coordinate diagram of the walking path of the game robot of the present invention.

[0058] Figure 4 This is a schematic diagram illustrating the calculation of the direction value formula of the present invention.

[0059] Figure 5 This is a schematic diagram when the target point is located in the right-hand direction of the ArUco code.

[0060] Figure 6 This is a schematic diagram when the target point is located in the back-left direction of the ArUco code.

[0061] Figure 7 This is a schematic diagram when the target point is located in the front-right direction of the ArUco code. Detailed Implementation

[0062] The present invention will now be described in further detail with reference to the accompanying drawings and specific embodiments.

[0063] like Figures 1 to 7 As shown, a path planning method based on ArUco code feedback coordinates is used to control two or more game robots 1 to move via a control terminal. Each game robot is equipped with an ArUco code. The specific steps include:

[0064] (1) Run the ArUco code recognition database on the control terminal and create ArUco code ID values.

[0065] (2) Set different ID values ​​for each game robot using ArUco codes.

[0066] (3) The game robot is recorded in real time by a suspended camera and a coordinate system is established. The suspended camera sends the coordinate system to the control terminal and the real-time recording is broadcast live on the control terminal.

[0067] (4) The suspended camera detects and identifies the ArUco code on the game robot and sends the ArUco code to the identification database.

[0068] (41) A suspended camera was used to capture images of ArUco codes.

[0069] (42) Extract the ArUco code contour from the ArUco code image.

[0070] (43) Obtain the coordinates of the four corner points of the ArUco code outline in the coordinate system.

[0071] (44) Identify the corresponding ArUco code ID value based on the ArUco code image.

[0072] (45) Send the coordinates of the four corner points of the ArUco code and the corresponding ArUco code ID value to the identification database.

[0073] In this embodiment, the extraction of ArUco code contours from the ArUco code image is performed using existing image processing techniques. Specifically, this includes performing grayscale conversion and adaptive binarization on the ArUco code image to extract the ArUco code contours. These are existing techniques and will not be elaborated further here.

[0074] In step (43), after the ArUco code contour is extracted, the suspended camera can determine the boundary of the ArUco code and obtain the four corner points of the ArUco code, thereby obtaining the coordinates of the four corner points of the ArUco code in the coordinate system.

[0075] (5) The coordinates of the four corners of the ArUco code identified by the database and the corresponding ID value are used to calculate the center coordinates, upper center coordinates and lower center coordinates of the ArUco code based on the coordinates of the four corners of the ArUco code.

[0076] In this embodiment, the coordinate system is the shooting interface of the suspended camera, and its center coordinate (0, 0) is the center of the shooting interface of the suspended camera. The coordinate system includes the coordinate information of all ArUco codes.

[0077] Step (5) specifically includes: (51) Identifying the database to detect the coordinates (x1, y1), (x2, y2), (x3, y3) and (x4, y4) of the four corner points of the ArUco code in the coordinate system.

[0078] (52) According to the center coordinate formula, the coordinates (x0, y0) of the center point of the ArUco code in the coordinate system are obtained.

[0079] (x0=(x1+x4) / 2, y0=(y1+y4) / 2).

[0080] (53) Calculate the coordinates of the upper center point (Nx1, Ny1) and the lower center point (Nx2, Ny2) of the ArUco code according to the center coordinate formula in step (52).

[0081] (Nx1=(x1+x2) / 2, Ny1=(y1+y2) / 2).

[0082] (Nx2=(x3+x4) / 2, Ny2=(y3+y4) / 2).

[0083] (54) Identify the coordinate values ​​obtained in step (5) of the database storage.

[0084] (6) The control terminal stores the coordinates of the four corners of the ArUco code, the ID value, the center coordinate value, the upper center coordinate value, and the lower center coordinate value into the recognition database.

[0085] (7) Control the movement of the game robot according to the ArUco code on the game robot.

[0086] like Figure 2 As shown, the S1 control terminal control mode.

[0087] (S11) Select the ArUco code of the game robot on the coordinate system of the real-time video recording.

[0088] If more than one ArUco code is selected for the game robot, then proceed with steps (S12)-(S14) in the order of selection.

[0089] (S111) If there is no ArUco code on the real-time video or the ArUco code cannot be selected, return to step (4) to reset; otherwise, proceed to step (S12).

[0090] (S12) Select one or more coordinate points on the coordinate system. The control terminal generates the target point according to the position and order of the coordinate points and calculates the position distance information between each ArUco code and the target point.

[0091] (S121) If a point is selected on the coordinate system, the control terminal generates the coordinates (x01, y01) of the target point based on the selected point.

[0092] (S122) The control terminal calculates the distance b between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula.

[0093] b= .

[0094] (S123) The control terminal calculates the distance a between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (Nx2, Ny2) of the lower center point of the ArUco code according to the two-point distance calculation formula.

[0095] a= .

[0096] The control terminal calculates the distance c between the coordinates (Nx2, Ny2) of the lower center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula.

[0097] c= (S124) The control terminal calculates the angle α between the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the lower center point (Nx2, Ny2) of the ArUco code, and the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the target point (x01, y01) according to the angle calculation formula.

[0098] cosα=(a 2 +b 2 -c 2 ) / |a|*|b|.

[0099] (S125) The control terminal calculates the direction value s of the target point in the ArUco code according to the direction calculation formula.

[0100] s=(x01-Nx2)*(Ny1-Ny2)-(y01-Ny2)*(Nx1-Nx2).

[0101] In this embodiment, the purpose of the direction value is to determine whether the target point, the upper center point of the ArUco code, and the lower center point of the ArUco code are on the same straight line. If the target point, the upper center point of the ArUco code, and the lower center point of the ArUco code are not on the same straight line, then it is determined whether the straight line between the upper center point of the ArUco code and the lower center point of the ArUco code is located at the left or right end of the straight line between the upper center point of the ArUco code and the target point.

[0102] like Figure 4 As shown, a triangle is constructed using the target point, the upper center point of the ArUco code, and the lower center point of the ArUco code.

[0103] In the figure, N is the distance on the X-axis between the lower center point of the ArUco code and the target point, N = (x01 - Nx2).

[0104] In the figure, J is the distance on the Y-axis between the upper center point of the ArUco code and the lower center point of the ArUco code, J = (Ny1 - Ny2).

[0105] In the figure, M is the distance on the Y-axis between the lower center point of the ArUco code and the target point, M = (y01 - Ny2).

[0106] In the figure, K is the distance on the X-axis between the upper center point and the lower center point of the ArUco code, K = (Nx1 - Nx2).

[0107] Figure 4 This is a schematic diagram when the target point is located in the front-left direction of the ArUco code.

[0108] Figure 5This is a schematic diagram when the target point is located in the right-hand direction of the ArUco code.

[0109] Figure 6 This is a schematic diagram when the target point is located in the back-left direction of the ArUco code.

[0110] Figure 7 This is a schematic diagram when the target point is located in the front-right direction of the ArUco code.

[0111] Based on the similarity properties of triangles, we can deduce that:

[0112] J / K=M / N, that is, J*N=K*M.

[0113] Based on the above formula, the following formula can be derived:

[0114] (x01-Nx2)*(Ny1-Ny2)=(y01-Ny2)*(Nx1-Nx2).

[0115] If the target point is not directly in front of the upper center point or the lower center point of the ArUco code.

[0116] When moving to the right, since the length of M becomes shorter, it can be deduced that:

[0117]

[0118] If the target point is not directly in front of the upper center point and the lower center point of the ArUco code, but to the left, then since the length of M increases, it can be deduced that:

[0119]

[0120] Therefore, the formula can be constructed as follows:

[0121] s=(x01-Nx2)*(Ny1-Ny2)-(y01-Ny2)*(Nx1-Nx2).

[0122] In the above formula, when s is less than 0, it means that the target point is located to the left of the ArUco code, and when s is greater than 0, it means that the target point is located to the right of the ArUco code.

[0123] (S126) The control terminal adjusts the direction and rotation angle of the game robot according to the direction value s and the angle α.

[0124] (S127) After the direction value s is adjusted, the control terminal controls the game robot to move to the coordinates (x01, y01) of the target point according to the distance b.

[0125] Step (S127) specifically includes: if the target point, the upper center point of the ArUco code, and the lower center point of the ArUco code are on the same straight line, then no adjustment of the direction value S is made, and the control terminal controls the game robot to move to the coordinates (x01, y01) of the target point according to the distance b.

[0126] (S128) If more than one point is selected on the coordinate system, the control terminal generates the target points (x01, y01), (x02, y02), (x03, y03) ... (x0n, y0n) in the order of selection.

[0127] (S129) The control terminal repeats steps (S122)-(S125) to calculate the coordinate information of the first target point (x01,y01) and controls the game robot to move to the first target point (x01,y01).

[0128] (S1201) After the game robot moves to the first target point (x01, y01), the control terminal reacquires the coordinate information of the ArUco code located at the target point and repeats steps (S122)-(S125) to calculate the coordinate information between the ArUco code located at the target point and the next target point and controls the game robot to move.

[0129] (S1202) Repeat the above steps (S129)-(S1201) until the game robot moves to the last target point.

[0130] (S13) The control terminal controls the corresponding game robot to move according to the positional distance information between each ArUco code and the target point.

[0131] (S14) After the game robot has finished moving, repeat steps (4)-(6) to reacquire the ArUco code information of the current position of the game robot.

[0132] The beneficial effects of this invention are as follows: By using a suspended camera to capture ArUco codes and sending them to the control terminal, the game robot can be controlled by detecting whether an ArUco code has been acquired. The user only needs to select one or more points on the control terminal, and the control terminal can calculate the walking path to the target point and control the game robot to move. When using the control terminal to control the game robot, the user selects one or more ArUco codes of the game robot on the real-time recording of the control terminal. After selection, the ArUco code recognition database saves the ArUco code. The user selects one or more coordinate points on the coordinate system, and the control terminal can form the target point based on the position of the coordinate points and calculate the coordinate information between each ArUco code and the target point, thereby accurately locating the coordinate points and planning the walking path, so that the game robot can accurately move to the target position. The user only needs to select the game robot with the ArUco code and select the target point to move on the control terminal to control the movement of the game robot. The operation is simple and easy to learn, which can greatly improve children's play experience and cultivate children's strong interest in robots.

Claims

1. A path planning method based on ArUco code feedback coordinates, used to control the movement of two or more game robots via a control terminal, wherein each game robot is equipped with an ArUco code, characterized in that: The specific steps include: (1) Run the ArUco code recognition database on the control terminal and create ArUco code ID values; (2) Set different ID values ​​for each game robot using ArUco codes; (3) The game robot is recorded in real time by a suspended camera and a coordinate system is established. The suspended camera sends the coordinate system to the control terminal. (S11) Select the ArUco code of the game robot on the coordinate system of the real-time recording; (4) The suspended camera detects and identifies the ArUco code on the game robot and sends the ArUco code to the identification database; (S111) If there is no ArUco code on the real-time recording or ArUco code cannot be selected, return to step (4) to reset; otherwise, proceed to step (5). (5) Identify the coordinates of the four corners of the ArUco code identified by the database and the corresponding ID value. The control terminal calculates the center coordinate value, upper center coordinate value and lower center coordinate value of the ArUco code based on the coordinates of the four corners of the ArUco code. (6) The control terminal stores the coordinates of the four corners of the ArUco code, the ID value, the center coordinate value, the upper center coordinate value, and the lower center coordinate value into the recognition database; (S12) Select one or more coordinate points on the coordinate system. The control terminal generates the target point according to the position and order of the coordinate points and calculates the position distance information between each ArUco code and the target point. (S121) If a point is selected on the coordinate system, the control terminal generates the coordinates (x01, y01) of the target point based on the selected point. (S122) The control terminal calculates the straight-line distance b between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula; b= ; (S123) The control terminal calculates the distance a between the coordinates (Nx1, Ny1) of the upper center point of the ArUco code and the coordinates (Nx2, Ny2) of the lower center point of the ArUco code according to the two-point distance calculation formula; a= ; The control terminal calculates the distance c between the coordinates (Nx2, Ny2) of the lower center point of the ArUco code and the coordinates (x01, y01) of the target point according to the two-point distance calculation formula; c= ; (S124) The control terminal calculates the angle α between the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the lower center point (Nx2, Ny2) of the ArUco code and the line between the coordinates of the upper center point (Nx1, Ny1) of the ArUco code and the coordinates of the target point (x01, y01) according to the angle calculation formula. cosα=(a 2 +b 2 -c 2 ) / |a|*|b|; (S125) The control terminal calculates the direction value s of the target point in the ArUco code according to the direction calculation formula; s=(x01-Nx2)*(Ny1-Ny2)-(y01-Ny2)*(Nx1-Nx2); In the above formula, when s is less than 0, it means that the target point is located to the left of the ArUco code; when s is greater than 0, it means that the target point is located to the right of the ArUco code. (S126) The control terminal adjusts the direction and rotation angle of the game robot according to the direction value s and the angle α; (S127) After the direction value s is adjusted, the control terminal controls the game robot to move to the coordinates (x01, y01) of the target point according to the distance b. (S13) The control terminal controls the corresponding game robot to move according to the positional distance information between each ArUco code and the target point; (S14) After the game robot has finished moving, repeat steps (4)-(6) to reacquire the ArUco code information of the current position of the game robot, and then perform the next movement control until all target points have been moved, and then exit.

2. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: Step (4) specifically includes: (41) Take ArUco code images using a suspended camera; (42) Extract the ArUco code contour from the ArUco code image; (43) Obtain the coordinates of the four corner points of the ArUco code outline in the coordinate system; (44) Identify the ArUco code ID value corresponding to the ArUco code based on the ArUco code image; (45) Send the coordinates of the four corner points of the ArUco code and the corresponding ArUco code ID value to the identification database.

3. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: Step (5) specifically includes: (51) Identify the coordinates (x1, y1), (x2, y2), (x3, y3) and (x4, y4) of the four corner points of the ArUco code in the coordinate system using the database. (52) According to the center coordinate formula, the coordinates (x0, y0) of the center point of the ArUco code in the coordinate system are obtained. (x0=(x1+x4) / 2, y0=(y1+y4) / 2); (53) Calculate the coordinates of the upper center point (Nx1, Ny1) and the lower center point (Nx2, Ny2) of the ArUco code according to the center coordinate formula in step (52). (Nx1=(x1+x2) / 2, Ny1=(y1+y2) / 2); (Nx2=(x3+x4) / 2, Ny2=(y3+y4) / 2); (54) Identify the coordinate values ​​obtained in step (5) of the database storage.

4. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: Step (S12) further includes: (S128) If more than one point is selected on the coordinate system, the control terminal generates the target points (x01, y01), (x02, y02), (x03, y03) ... (x0n, y0n) in the order of selection. (S129) The control terminal repeats steps (S122)-(S125) to calculate the coordinate information of the first target point (x01,y01) and controls the game robot to move to the first target point (x01,y01). (S1201) After the game robot moves to the first target point (x01, y01), the control terminal reacquires the coordinate information of the ArUco code located at the target point and repeats steps (S122)-(S125) to calculate the coordinate information between the ArUco code located at the target point and the next target point and controls the game robot to move. (S1202) Repeat the above steps (S129)-(S1201) until the game robot moves to the last target point.

5. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: Step (S11) specifically includes: if more than one ArUco code is selected for the game robot, then steps (S12)-(S14) are performed in the order of selection.

6. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: The control terminal is a PC-based host computer, and the game robot is electrically connected to the PC-based host computer.

7. The path planning method based on ArUco code feedback coordinates according to claim 1, characterized in that: Step (3) specifically includes live streaming and recording on the control terminal.

Citation Information

Patent Citations

  • A method for autonomous indoor navigation control of mobile robots based on Bézier curves

    CN110502010B

  • Map construction method of robot in motion area and positioning method of robot in motion area

    CN110243360A

  • Mobile robot autonomous charging method based on ArUco code guidance

    CN112183133A