Nothing Special   »   [go: up one dir, main page]

CN111880539B - Intelligent robot movement control method and device, intelligent robot and readable storage medium - Google Patents

Intelligent robot movement control method and device, intelligent robot and readable storage medium Download PDF

Info

Publication number
CN111880539B
CN111880539B CN202010750650.3A CN202010750650A CN111880539B CN 111880539 B CN111880539 B CN 111880539B CN 202010750650 A CN202010750650 A CN 202010750650A CN 111880539 B CN111880539 B CN 111880539B
Authority
CN
China
Prior art keywords
path
intelligent robot
smoothed
point
coordinate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202010750650.3A
Other languages
Chinese (zh)
Other versions
CN111880539A (en
Inventor
卜大鹏
徐恩科
霍峰
秦宝星
程昊天
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Gaussian Automation Technology Development Co Ltd
Original Assignee
Shanghai Gaussian Automation Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Gaussian Automation Technology Development Co Ltd filed Critical Shanghai Gaussian Automation Technology Development Co Ltd
Priority to CN202010750650.3A priority Critical patent/CN111880539B/en
Publication of CN111880539A publication Critical patent/CN111880539A/en
Application granted granted Critical
Publication of CN111880539B publication Critical patent/CN111880539B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

The application discloses a movement control method of an intelligent robot, which comprises the following steps: acquiring a global path of the intelligent robot; intercepting a global path with a preset length forwards from the current position of the intelligent robot to be used as a path to be smoothed; processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; and generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed. The application also discloses a mobile control device, an intelligent robot and a nonvolatile computer readable storage medium. According to the movement control method, the current position of the intelligent robot is used for intercepting the global path with the preset length forwards to serve as the path to be smoothed, then the smooth path point is generated, the intelligent robot is controlled to move according to the control instruction generated by the smooth path point, and the smoothness and stability of movement control of the intelligent robot are good and the calculated amount is small.

Description

Intelligent robot movement control method and device, intelligent robot and readable storage medium
Technical Field
The present application relates to the technical field of intelligent robots, and more particularly, to a movement control method of an intelligent robot, a control device of an intelligent robot, and a non-volatile computer-readable storage medium.
Background
With the development of automation technology and artificial intelligence, the requirements of intelligent robots are becoming wider and wider; the arrival of the robot era will reform the existing production and manufacturing mode and human life style, and a huge amount of intelligent machines are combined with the intelligent brains of interconnection and intercommunication, so that great convenience is brought to the life and service of people.
For robots of the ackermann type, a smooth motion control is necessary. The smoothness of motion control requires a smooth path basis. At present, global paths are optimized mostly, for example, a well-known TEB algorithm is based on an optimization method to generate a smooth global path, which takes a long time and lacks stability; for another example, some methods based on mixed a are also computationally intensive; in addition, road network based methods can also generate very smooth paths, but in many scenarios no road network is available.
Disclosure of Invention
In view of this, the present application aims to solve, at least to some extent, one of the problems in the related art. To this end, embodiments of the present application provide a movement control method of an intelligent robot, a movement control device of an intelligent robot, and a non-volatile computer-readable storage medium.
The intelligent robot movement control method of the embodiment of the application comprises the following steps: acquiring a global path of the intelligent robot; intercepting a global path with a preset length forwards from the current position of the intelligent robot to be used as a path to be smoothed; processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; and generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed.
In the movement control method of the embodiment of the application, firstly, a global path with a preset length is cut forward from the current position of the intelligent robot to be used as a path to be smoothed, then a plurality of original points in the path to be smoothed are processed to obtain a plurality of smoothed path points, and finally, a control instruction is generated according to the smoothed path points to control the intelligent robot to move to the end point of the path to be smoothed. Only the global path of a predetermined length needs to be processed, so that the calculation amount is smaller and the time consumption is shorter. Meanwhile, compared with a mode of smoothing the whole global path, the movement control method of the embodiment of the application is more accurate and smoother for the movement control of the intelligent robot, and ensures that the intelligent robot has better smoothness and accuracy in moving.
In some embodiments, the processing the plurality of origin points in the path to be smoothed to generate a plurality of smoothed path points includes: acquiring the coordinates of each original point on the path to be smoothed; calculating the accumulated mileage of the intelligent robot corresponding to the original point according to the coordinates of the original point; and generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original points.
In this embodiment, a plurality of smooth path points are generated according to the coordinates of the original points and the accumulated mileage of the intelligent robot, so that the generated smooth path points are more accurate, and the control instruction generated according to the smooth path points is more accurate, thereby being beneficial to improving the stability of the intelligent robot during movement.
In some embodiments, the origin point includes an x-coordinate and a y-coordinate, the smooth path point includes an x-coordinate and a y-coordinate, a distance between the smooth path point and a current position of the intelligent robot is a separation distance, and generating the plurality of smooth path points based on the accumulated mileage and the coordinates of the origin point includes: fitting the accumulated mileage and the x coordinate of the original point by taking the accumulated mileage as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation; fitting the accumulated mileage with the y coordinate of the original point by taking the accumulated mileage as an independent variable and taking the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and calculating an x-coordinate of each of the smooth path points based on the first mapping relationship and the separation distance, and calculating a y-coordinate of each of the smooth path points based on the second mapping relationship and the separation distance.
In the embodiment, the accumulated mileage is taken as an independent variable, and the x coordinate of the original point is taken as a dependent variable to fit the accumulated mileage and the x coordinate of the original point to obtain a first mapping relation; and taking the accumulated mileage as an independent variable, and taking the y coordinate of the original point as a dependent variable to fit the accumulated mileage and the y coordinate of the original point to obtain a second mapping relation; and then calculating the x coordinate of each smooth path point according to the distance from the smooth path point to the current position of the intelligent robot and the first mapping relation, and calculating the y coordinate of each smooth path point according to the distance from the smooth path point to the current position of the intelligent robot and the second mapping relation. Therefore, the calculated x coordinate and y coordinate of the smooth path point are accurate, so that a control instruction generated according to the smooth path point is accurate, and the movement control of the intelligent robot is accurate.
In some embodiments, after the generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed, the movement control method further includes: and circularly executing the steps of intercepting a path to be smoothed, generating a plurality of smoothed path points and controlling the intelligent robot to move to the end point of the path to be smoothed until the intelligent robot moves to the end point of the global path.
In this embodiment, after the intelligent robot moves to the end point of the path to be smoothed, steps of intercepting the path to be smoothed, generating a plurality of smoothed path points, and controlling the intelligent robot to move to the end point of the path to be smoothed are performed until the intelligent robot moves to the end point of the global path. Therefore, the intelligent robot can continuously perform the sectional smoothing treatment on the global path in the process of moving to the end point of the global path, so that the intelligent robot can move smoothly and stably on the global path.
In some embodiments, when the remaining length between the current position of the intelligent robot and the end point of the global path is less than a predetermined length, the movement control method further includes calculating a length difference between the remaining length and the predetermined length; and extending the global path by the length difference.
In this embodiment, when the remaining length between the current position of the intelligent robot and the end point of the global path is smaller than the predetermined length, the global path is extended by the length difference between the remaining length and the predetermined length, so that the intelligent robot can better process the global path with the remaining length, and the generated smooth path point is more accurate, which is beneficial to the accurate control of the intelligent robot.
In some embodiments, when the intelligent robot moves to the end point of the path to be smoothed, the movement control method further includes: if the first distance between the intelligent robot and the end point of the global path is smaller than the preset length, further judging whether the first distance is smaller than a distance threshold value or not; if yes, controlling the intelligent robot to move to the end point of the global path according to the global path which is not in use; and if not, extending the global path by a distance difference between the first distance and the preset length.
In this embodiment, when the distance between the intelligent robot and the end point of the global path is smaller than the distance threshold, the intelligent robot is directly controlled to move to the end point of the global path according to the non-traveling global path, so that the calculation amount can be reduced, and the working efficiency of the intelligent robot can be improved. Meanwhile, when the distance between the intelligent robot and the end point of the global path is larger than a distance threshold, the global path is prolonged by a distance difference value between the first distance and the preset length, so that the smooth path points obtained later are more accurate.
In some embodiments, when the intelligent robot moves to the end point of the path to be smoothed, the movement control method further includes: if the first distance between the intelligent robot and the end point of the global path is smaller than the preset length, acquiring the smoothness of the non-running global path; and judging whether the smoothness is greater than a smoothness threshold; if yes, controlling the intelligent robot to move to the end point of the global path according to the global path which is not in use; and if not, extending the global path by a distance difference between the first distance and the preset length.
In this embodiment, when the first distance between the intelligent robot and the end point of the global path is smaller than a predetermined length, the smoothness of the non-traveling global path is further calculated, and when the smoothness is larger than the smoothness threshold, the intelligent robot is controlled to move to the end point of the global path according to the non-traveling global path, so that the calculation amount can be reduced; and when the smoothness is smaller than the smoothness threshold value, the global path is prolonged by a distance difference value between the first distance and the preset length, so that the smooth path points obtained later are more accurate.
In certain embodiments, the predetermined length is between 3 and 4 times the length of the fuselage of the intelligent robot.
In the embodiment, the preset length is 3 to 4 times of the length of the body of the intelligent robot, so that on one hand, the accuracy of the smooth path points and control instructions which are obtained subsequently can be improved, and the accuracy of movement control of the intelligent robots with different sizes due to the influence of the fixed preset length is avoided; on the other hand, the problems that the calculated smooth path point is inaccurate due to the fact that the preset length is too short, and the calculated amount and time are large due to the fact that the preset length L is too long can be avoided.
In certain embodiments, the control instructions include at least one of a speed, an angular speed, a direction, and an acceleration of the intelligent robot movement.
In this embodiment, the control instruction includes at least one of a speed, an angular speed, a direction, and an acceleration of movement of the intelligent robot, and the intelligent robot can control the movement of the intelligent robot according to at least one of the speed, the angular speed, the direction, and the acceleration of movement, thereby realizing precise control of the intelligent robot.
The mobile control device of the intelligent robot comprises a first acquisition module, an interception module, a processing module and a generation module; the first acquisition module is used for acquiring a global path of the intelligent robot; the intercepting module is used for intercepting a global path with a preset length forwards from the current position of the intelligent robot to serve as a path to be smoothed; the processing module is used for processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; and generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed.
In the movement control device of the embodiment of the application, firstly, a global path with a preset length is cut forward from the current position of the intelligent robot to be used as a path to be smoothed, then a plurality of original points in the path to be smoothed are processed to obtain a plurality of smoothed path points, and finally, a control instruction is generated according to the smoothed path points to control the intelligent robot to move to the end point of the path to be smoothed. Only the global path of a predetermined length needs to be processed, so that the calculation amount is smaller and the time consumption is shorter. Meanwhile, compared with a mode of smoothing the whole global path, the movement control method of the embodiment of the application is more accurate and smoother for the movement control of the intelligent robot, and ensures that the intelligent robot has better smoothness and accuracy in moving.
In certain embodiments, the processing module is further to: acquiring the coordinates of each original point on the path to be smoothed; calculating the accumulated mileage of the intelligent robot corresponding to the original point according to the coordinates of the original point; and generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original points.
In this embodiment, a plurality of smooth path points are generated according to the coordinates of the original points and the accumulated mileage of the intelligent robot, so that the generated smooth path points are more accurate, and the control instruction generated according to the smooth path points is more accurate, thereby being beneficial to improving the stability of the intelligent robot during movement.
In some embodiments, the original point includes an x-coordinate and a y-coordinate, the smoothed path point includes an x-coordinate and a y-coordinate, a distance between the smoothed path point and a current location of the intelligent robot is a separation distance, and the processing module is further configured to: fitting the accumulated mileage and the x coordinate of the original point by taking the accumulated mileage as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation; fitting the accumulated mileage with the y coordinate of the original point by taking the accumulated mileage as an independent variable and taking the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and calculating an x-coordinate of each of the smooth path points based on the first mapping relationship and the separation distance, and calculating a y-coordinate of each of the smooth path points based on the second mapping relationship and the separation distance.
In the embodiment, the accumulated mileage is taken as an independent variable, and the x coordinate of the original point is taken as a dependent variable to fit the accumulated mileage and the x coordinate of the original point to obtain a first mapping relation; and taking the accumulated mileage as an independent variable, and taking the y coordinate of the original point as a dependent variable to fit the accumulated mileage and the y coordinate of the original point to obtain a second mapping relation; and then calculating the x coordinate of each smooth path point according to the distance from the smooth path point to the current position of the intelligent robot and the first mapping relation, and calculating the y coordinate of each smooth path point according to the distance from the smooth path point to the current position of the intelligent robot and the second mapping relation. Therefore, the calculated x coordinate and y coordinate of the smooth path point are accurate, so that a control instruction generated according to the smooth path point is accurate, and the movement control of the intelligent robot is accurate.
In some embodiments, after the generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed, the movement control device further includes a cycle module for cyclically performing the steps of intercepting the path to be smoothed, generating a plurality of smooth path points, and controlling the intelligent robot to move to the end point of the path to be smoothed until the intelligent robot moves to the end point of the global path.
In this embodiment, after the intelligent robot moves to the end point of the path to be smoothed, steps of intercepting the path to be smoothed, generating a plurality of smoothed path points, and controlling the intelligent robot to move to the end point of the path to be smoothed are performed until the intelligent robot moves to the end point of the global path. Therefore, the intelligent robot can continuously carry out smoothing treatment on the global path in the process of moving to the end point of the global path, so that the intelligent robot can move on the global path more smoothly and stably.
In some embodiments, when the remaining length between the current position of the intelligent robot and the end point of the global path is less than a predetermined length, the movement control device further includes a calculation module for calculating a length difference between the remaining length and the predetermined length, and an extension module; the extension module is used for extending the global path by the length difference value.
In this embodiment, when the remaining length between the current position of the intelligent robot and the end point of the global path is smaller than the predetermined length, the global path is extended by the length difference between the remaining length and the predetermined length, so that the intelligent robot can better process the global path with the remaining length, and the generated smooth path point is more accurate, which is beneficial to the accurate control of the intelligent robot.
In some embodiments, when the intelligent robot moves to the end point of the path to be smoothed, the movement control device further includes a first judging module and a first executing module, where the first judging module is configured to further judge whether the first distance is less than a distance threshold if the first distance between the intelligent robot and the end point of the global path is less than the predetermined length; the first execution module is used for controlling the intelligent robot to move to the end point of the global path according to the non-exercised global path when the output result of the first judgment module is yes; the first execution module is further configured to extend the global path by a distance difference between the first distance and the predetermined length when the output result of the first determination module is no.
In this embodiment, when the distance between the intelligent robot and the end point of the global path is smaller than the distance threshold, the intelligent robot is directly controlled to move to the end point of the global path according to the non-traveling global path, so that the calculation amount can be reduced, and the working efficiency of the intelligent robot can be improved. Meanwhile, when the distance between the intelligent robot and the end point of the global path is larger than a distance threshold, the global path is prolonged by a distance difference value between the first distance and the preset length, so that the smooth path points obtained later are more accurate.
In some embodiments, when the intelligent robot moves to the end point of the path to be smoothed, the movement control device further includes a second obtaining module, a second judging module, and a second executing module, where the second obtaining module is configured to obtain smoothness of an untrained global path if a first distance between the intelligent robot and the end point of the global path is less than the predetermined length; the second judging module is used for judging whether the smoothness is larger than a smoothness threshold value or not; the second execution module is used for controlling the intelligent robot to move to the end point of the global path according to the global path which is not in use when the output result of the second judgment module is yes; the second execution module is further configured to extend the global path by a distance difference between the first distance and the predetermined length when the output result of the second output module is no.
In this embodiment, when the first distance between the intelligent robot and the end point of the global path is smaller than a predetermined length, the smoothness of the non-traveling global path is further calculated, and when the smoothness is larger than the smoothness threshold, the intelligent robot is controlled to move to the end point of the global path according to the non-traveling global path, so that the calculation amount can be reduced; and when the smoothness is smaller than the smoothness threshold value, the global path is prolonged by a distance difference value between the first distance and the preset length, so that the smooth path points obtained later are more accurate.
In certain embodiments, the predetermined length is between 3 and 4 times the length of the fuselage of the intelligent robot.
In the embodiment, the preset length is 3 to 4 times of the length of the body of the intelligent robot, so that on one hand, the accuracy of the smooth path points and control instructions which are obtained subsequently can be improved, and the accuracy of movement control of the intelligent robots with different sizes due to the influence of the fixed preset length is avoided; on the other hand, the problems that the calculated smooth path point is inaccurate due to the fact that the preset length is too short, and the calculated amount and time are large due to the fact that the preset length L is too long can be avoided.
In certain embodiments, the control instructions include at least one of a speed, an angular speed, a direction, and an acceleration of the intelligent robot movement.
In this embodiment, the control instruction includes at least one of a speed, an angular speed, a direction, and an acceleration of movement of the intelligent robot, and the intelligent robot can control the movement of the intelligent robot according to at least one of the speed, the angular speed, the direction, and the acceleration of movement, thereby realizing precise control of the intelligent robot.
The intelligent robot of the embodiment of the application comprises one or more processors and a memory; and one or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs including instructions for performing the movement control method of any of the above embodiments.
In the intelligent robot of the embodiment of the application, firstly, a global path with a preset length is cut forward from the current position of the intelligent robot to be used as a path to be smoothed, then a plurality of original points in the path to be smoothed are processed to obtain a plurality of smoothed path points, and finally, a control instruction is generated according to the smoothed path points to control the intelligent robot to move to the end point of the path to be smoothed. Only the global path of a predetermined length needs to be processed, so that the calculation amount is smaller and the time consumption is shorter. Meanwhile, compared with a mode of smoothing the whole global path, the movement control method of the embodiment of the application is more accurate and smoother for the movement control of the intelligent robot, and ensures that the intelligent robot has better smoothness and accuracy in moving.
A non-transitory computer-readable storage medium containing computer-executable instructions that, when executed by one or more processors, cause the processors to perform the movement control method of any of the above embodiments.
In the non-volatile computer readable storage medium of the embodiment of the application, firstly, a global path with a preset length is intercepted forward from the current position of the intelligent robot as a path to be smoothed, then a plurality of original points in the path to be smoothed are processed to obtain a plurality of smoothed path points, and finally, a control instruction is generated according to the smoothed path points to control the intelligent robot to move to the end point of the path to be smoothed. Only the global path of a predetermined length needs to be processed, so that the calculation amount is smaller and the time consumption is shorter. Meanwhile, compared with a mode of smoothing the whole global path, the movement control method of the embodiment of the application is more accurate and smoother for the movement control of the intelligent robot, and ensures that the intelligent robot has better smoothness and accuracy in moving.
Additional aspects and advantages of embodiments of the application will be set forth in part in the description which follows and, in part, will be obvious from the description, or may be learned by practice of embodiments of the application.
Drawings
The foregoing and/or additional aspects and advantages of the present application will become apparent and readily appreciated from the following description of the embodiments, taken in conjunction with the accompanying drawings, in which:
Fig. 1 is a schematic flow chart of a movement control method according to an embodiment of the present application;
FIG. 2 is a schematic block diagram of an intelligent robot according to an embodiment of the present application;
FIG. 3 is a block diagram of a mobile control device according to an embodiment of the present application;
FIG. 4 is a schematic diagram of a motion control method according to an embodiment of the present application;
FIG. 5 is a schematic diagram of a motion control method according to an embodiment of the present application;
FIG. 6 is a flow chart of a mobile control method according to an embodiment of the present application;
FIG. 7 is a flow chart of a mobile control method according to an embodiment of the present application;
FIG. 8 is a flow chart of a mobile control method according to an embodiment of the present application;
fig. 9 is a schematic diagram of a movement control method according to an embodiment of the present application;
FIG. 10 is a flow chart of a mobile control method according to an embodiment of the present application;
FIG. 11 is a schematic diagram of a movement control method according to an embodiment of the present application;
FIG. 12 is a flow chart of a mobile control method according to an embodiment of the present application;
Fig. 13 is a flow chart of a movement control method according to an embodiment of the present application;
fig. 14 is a schematic diagram showing a connection relationship between a computer-readable storage medium and a processor according to an embodiment of the present application.
Detailed Description
Embodiments of the present application are further described below with reference to the accompanying drawings. The same or similar reference numbers in the drawings refer to the same or similar elements or elements having the same or similar functions throughout.
In addition, the embodiments of the present application described below with reference to the drawings are exemplary only for explaining the embodiments of the present application and are not to be construed as limiting the present application.
In the present application, unless expressly stated or limited otherwise, a first feature "up" or "down" a second feature may be the first and second features in direct contact, or the first and second features in indirect contact via an intervening medium. Moreover, a first feature "above," "over" and "on" a second feature may be a first feature directly above or obliquely above the second feature, or simply indicate that the first feature is higher in level than the second feature. The first feature being "under", "below" and "beneath" the second feature may be the first feature being directly under or obliquely below the second feature, or simply indicating that the first feature is less level than the second feature.
Referring to fig. 1 to 4, the movement control method of the intelligent robot 100 according to the embodiment of the application includes the following steps:
011: acquiring a global path of the intelligent robot 100;
012: intercepting a global path with a preset length L forwards from a current position O of the intelligent robot 100 to serve as a path to be smoothed;
013: processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; and
014: A control instruction is generated according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
The mobile control device 200 according to the embodiment of the present application includes a first obtaining module 201, an intercepting module 202, a processing module 203, and a generating module 204, where the first obtaining module 201, the intercepting module 202, the processing module 203, and the generating module 204 may be used to implement step 011, step 012, step 013, and step 014, respectively. That is, the first obtaining module 201 is configured to obtain a global path of the intelligent robot 100; the intercepting module 202 is configured to intercept a global path with a predetermined length L from a current position O of the intelligent robot 100 forward as a path to be smoothed; the processing module 203 is configured to process a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; the generating module 204 is configured to generate a control instruction according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
The intelligent robot 100 of the embodiment of the present application includes one or more processors 10, a memory 20, and one or more programs, wherein the one or more programs are stored in the memory 20 and executed by the one or more processors 10, the programs including a movement control method for performing the embodiment of the present application. When the processor 10 executes the program, the processor 10 may be configured to implement step 011, step 012, step 013, and step 014. That is, the processor 10 may be configured to: acquiring a global path of the intelligent robot 100; intercepting a global path with a preset length L forwards from a current position O of the intelligent robot 100 to serve as a path to be smoothed; processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; a control instruction is generated according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
In the movement control method, the movement control device 200 and the intelligent robot 100 according to the embodiments of the present application, firstly, a global path with a predetermined length is intercepted forward from a current position of the intelligent robot 100 as a path to be smoothed, then, a plurality of original points in the path to be smoothed are processed to obtain a plurality of smoothed path points, and finally, a control instruction is generated according to the smoothed path points to control the intelligent robot 100 to move to an end point of the path to be smoothed. Only the global path of a predetermined length needs to be processed, so that the calculation amount is smaller and the time consumption is shorter. Meanwhile, compared with the way of smoothing the whole global path, the movement control method of the embodiment of the application is more accurate and smoother for the movement control of the intelligent robot 100, and ensures that the intelligent robot 100 has better smoothness and accuracy when moving.
The intelligent robot 100 may be, in particular, an industrial robot, an agricultural robot, a home robot, a service robot, a cleaning robot, etc., without limitation. Further, the intelligent robot 100 may be the intelligent robot 100 such as a sweeper, a scrubber, a cleaner, etc. The intelligent robot 100 may further include a communication interface 30, task performing devices, etc., for example, the intelligent robot 100 may be used to clean floors, floor tiles, pavement, or cement floor surfaces; the intelligent robot 100 may also be used for transporting goods, performing rescue tasks, and the like.
Specifically, in step 011, the global path of the intelligent robot 100 is acquired. The global path is used for navigation and positioning of the intelligent robot 100, and may be planned by the intelligent robot 100, or set by a user, for example, after the user issues a task instruction, the intelligent robot 100 plans the global path according to an internal planner. The planner may plan one or more global paths based on a map of the interior of the intelligent robot 100 and the tasks to be performed. For another example, the user sets a global path according to the task and task area to be performed by the intelligent robot 100. Generally, the global path is not smooth enough, and the path quality is poor, so that the intelligent robot 100 moves smoothly and stably along the global path, resulting in poor task quality of the intelligent robot 100.
The map inside the intelligent robot 100 may be constructed by the intelligent robot 100 according to the detected surrounding environment data, or may be obtained by the user implanting a map of the area where the intelligent robot 100 is to perform a task into the intelligent robot 100. As in the embodiment shown in fig. 4, the intelligent robot 100 requires a navigation task from point a to point B. The global path is the path from point a to point B, represented by a straight line in fig. 4. Note that the global path is not limited to the straight line shown in fig. 4, and may be a curve, a broken line, or the like.
Referring to fig. 4 and 5, in step 012, a global path of a predetermined length L is taken forward from the current position O of the intelligent robot 100 as a path to be smoothed. Specifically, the current position O of the intelligent robot 100 refers to a position where the intelligent robot 100 is located at the current time. For example, at the initial time, the intelligent robot 100 intercepts the global path with the predetermined length L forward as the path to be smoothed, and at this time, the current position of the intelligent robot 100 is the initial position of the intelligent robot 100, as shown in fig. 4; or after the intelligent robot 100 travels for a certain period of time, the intelligent robot 100 intercepts the path L of a predetermined length forward as a path to be smoothed, as shown in fig. 5. Wherein, the global path intercepting the predetermined length L forward from the current position O of the intelligent robot 100 refers to the global path intercepting the predetermined length L from the current position O of the intelligent robot 100 to the direction in which the intelligent robot 100 is advancing.
Further, the predetermined length L refers to a length in an extending direction along the global path, and may be a preset value, a user-defined value, or determined according to a body length of the intelligent robot 100 (for example, the predetermined length L may be 1 time, 2 times, 3 times, 3.5 times, 4 times, 5 times, or more times the body length), or may be determined according to a length of the global path (for example, the predetermined length L may be 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, or the like scale factors of the length of the global path).
In one embodiment, the predetermined length L is between 3 and 4 times the length of the body of the intelligent robot 100. It is understood that the predetermined length L may be any multiple between 3 times and 4 times the body length of the intelligent robot 100, such as 3 times, 3.1 times, 3.2 times, 3.3 times, 3.4 times, 3.5 times, 3.6 times, 3.7 times, 3.8 times, 3.9 times, 4 times, and the like, of the body length of the intelligent robot 100. The predetermined length L can be determined according to the length of the body of the intelligent robot 100, on one hand, the accuracy of the smooth path points and the control instructions which are obtained later can be improved, and the accuracy of the movement control of the intelligent robots 100 with different sizes, which is affected by the fixed predetermined length L, is avoided; on the other hand, the predetermined length L is between 3 times and 4 times the length of the body of the intelligent robot 100, so that the problem that the calculated smooth path point is inaccurate due to the fact that the predetermined length L is too short can be avoided, and the problem that the calculated amount is large and the time is long due to the fact that the predetermined length L is too long can be avoided.
In step 013, a plurality of original points in the path to be smoothed are processed to generate a plurality of smoothed path points. Specifically, there are a plurality of origin points in the path to be smoothed, and the coordinates of the origin points and the like are known, and a plurality of smoothed path points are obtained by performing fitting, calculation, and the like on the plurality of origin points. Wherein the number of the smooth path points may be the same as or different from the number of the original points, all the smooth path points may be different from the original points, or part of the smooth path points may be the same as part of the original points.
In step 014, a control instruction is generated according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed. Specifically, after a plurality of smooth waypoints are acquired, a control instruction may be generated according to the smooth waypoints, for example, the acquired smooth waypoints are input into a controller within the intelligent robot 100, and the controller may generate the control instruction. The control instructions may include speed, angular velocity, direction, acceleration, etc. of the movement of the intelligent robot 100. After receiving the control command, the intelligent robot 100 moves according to the control command until the end point of the path to be smoothed is reached. For example, the control instructions include the speed at which the intelligent robot 100 moves; or the control instruction includes an angular velocity at which the intelligent robot 100 moves; still alternatively, the control instructions include the speed and angular velocity of the movement of the intelligent robot 100. Therefore, the movement of the intelligent robot 100 can be precisely controlled according to the speed and/or the angular speed, so that the intelligent robot 100 moves smoothly and stably. The control instructions may also include other combinations of other speeds, angular velocities, directions, accelerations, etc., not specifically recited herein.
In some embodiments, after a plurality of smooth path points are obtained, a fitting curve may be obtained for the plurality of smooth path points through a fitting algorithm, and a control instruction is generated according to the obtained fitting curve to control the intelligent robot 100 to move to the end point of the path to be smoothed. The fitted curve can be obtained after the path to be smoothed is smoothed, and the smoothness of the fitted curve is good.
Referring to fig. 6, in some embodiments, step 013 comprises the steps of:
0131: acquiring the coordinates of each original point on the path to be smoothed;
0132: calculating the accumulated mileage of the intelligent robot 100 corresponding to the original point according to the coordinates of the original point; and
0133: A plurality of smooth path points are generated based on the accumulated mileage and the coordinates of the original points.
In some embodiments, the processing module 203 may also be configured to: acquiring the coordinates of each original point on the path to be smoothed; calculating the accumulated mileage of the intelligent robot 100 corresponding to the original point according to the coordinates of the original point; and generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original point. That is, the processing module 203 may also implement step 0131, step 0132, and step 0133.
In some embodiments, the processor 10 may also be configured to: acquiring the coordinates of each original point on the path to be smoothed; calculating the accumulated mileage of the intelligent robot 100 corresponding to the original point according to the coordinates of the original point; and generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original point. That is, processor 10 may also implement step 0131, step 0132, and step 0133.
Specifically, the path to be smoothed is a section taken on the global path, and since the global path is known, the coordinates of a plurality of original points on the path to be smoothed are known. The accumulated mileage of the intelligent robot 100 corresponding to the original point can be calculated according to the coordinates of the original point, and finally a plurality of smooth path points can be generated based on the accumulated mileage and the coordinates of the original point. Therefore, the generated smooth path point is accurate, and the control instruction generated according to the smooth path point is accurate.
More specifically, if there are m original points on the path to be smoothed, the coordinates of the m original points are (X 1,Y1)、(X2,Y2)、(X3,Y3)……(Xm,Ym), and assuming that the accumulated mileage of the intelligent robot 100 corresponding to the original points is S i, the accumulated mileage S i of the intelligent robot 100 is calculated according to the coordinates of the original points, which can be obtained: s 1 = 0;
A plurality of smooth path points are generated based on the coordinates of the accumulated mileage S and the origin. For example, the coordinates of the accumulated mileage S and the original point may be fitted to obtain a mapping relationship between the accumulated mileage S and the original point, and then the coordinates of the smooth path point may be determined according to the positions of the smooth path points.
Further, referring to fig. 7, in some embodiments, the original point includes an x coordinate and a y coordinate, the smoothed path point includes an x coordinate and a y coordinate, and the distance between the smoothed path point and the current position of the intelligent robot 100 is a separation distance, and the step 0133 includes the following steps:
1331: fitting the accumulated mileage S and the x coordinate of the original point by taking the accumulated mileage S as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation;
1332: fitting the accumulated mileage S with the y coordinate of the original point by taking the accumulated mileage S as an independent variable and the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and
1333: The x-coordinate of each smooth path point is calculated based on the first mapping relationship and the separation distance, and the y-coordinate of each smooth path point is calculated based on the second mapping relationship and the separation distance.
In some embodiments, the processing module 203 may also be configured to: fitting the accumulated mileage S and the x coordinate of the original point by taking the accumulated mileage S as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation; fitting the accumulated mileage S with the y coordinate of the original point by taking the accumulated mileage S as an independent variable and the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and calculating an x-coordinate of each smooth path point based on the first mapping relationship and the separation distance, and calculating a y-coordinate of each smooth path point based on the second mapping relationship and the separation distance. That is, the processing module 203 may also be used to implement step 1331, step 1332, and step 1333.
In some embodiments, the processor 10 may also be configured to: fitting the accumulated mileage S and the x coordinate of the original point by taking the accumulated mileage S as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation; fitting the accumulated mileage S with the y coordinate of the original point by taking the accumulated mileage S as an independent variable and the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and calculating an x-coordinate of each smooth path point based on the first mapping relationship and the separation distance, and calculating a y-coordinate of each smooth path point based on the second mapping relationship and the separation distance. That is, the processor 10 may also be used to implement step 1331, step 1332, and step 1333.
Specifically, with the accumulated mileage S as an independent variable and the x-coordinate of the original point as a dependent variable, the first mapping relationship can be obtained by fitting the accumulated mileage S and the x-coordinate of the original point through a least square method, a random sampling consensus algorithm (Random sample consensus, RANSAC), a lagrangian interpolation method, a newton iteration method, an interval dichotomy and other fitting algorithms. It can be understood that the first mapping relationship includes a correspondence relationship between the x-coordinate of the original point and the accumulated mileage S. The first mapping relationship may be a functional relationship between the x coordinate of the original point and the accumulated mileage S, or may be another type of mapping relationship in which the x coordinate of the original point corresponds to the accumulated mileage S one by one.
The accumulated mileage S is taken as an independent variable, the y coordinate of the original point is taken as a dependent variable, and the accumulated mileage S and the y coordinate of the original point can be fitted through fitting algorithms such as a least square method, a random sampling consensus algorithm (Random sample consensus, RANSAC), a lagrangian interpolation method, a newton iteration method, an interval dichotomy method and the like, so that a second mapping relation is obtained. It can be understood that the second mapping relationship includes a correspondence relationship between the y-coordinate of the original point and the accumulated mileage S. The second mapping relationship may be a functional relationship between the y coordinates of the original points and the accumulated mileage S, and the second mapping relationship may also be other types of mapping relationships in which the y coordinates of other original points and the accumulated mileage S are in one-to-one correspondence.
After the first mapping relationship and the second mapping relationship are obtained, the x coordinate and the y coordinate of each smooth path point can be calculated according to the distance between each smooth path point and the current position of the intelligent robot 100. Because the first mapping relationship includes the corresponding relationship between the x coordinate of the original point and the accumulated mileage S, and the second mapping relationship includes the corresponding relationship between the y coordinate of the original point and the accumulated mileage S, the distance between the smooth path point and the current position of the intelligent robot 100 can be understood as the accumulated mileage S corresponding to the smooth path point, and thus, the x coordinate and the y coordinate of the corresponding smooth path point can be calculated according to the interval distance.
Fitting the x coordinates of the accumulated mileage S and the original point to obtain a first mapping relation, fitting the y coordinates of the accumulated mileage S and the original point to obtain a second mapping relation, and then respectively calculating the x coordinates and the y coordinates of the smooth path points based on the first mapping relation and the interval distance and based on the second mapping relation and the interval distance, so that the finally obtained smooth path points are more accurate, and the control instruction generated based on the smooth path points is smoother and stable.
Wherein the smoothed path points may be equally spaced, e.g., the spacing between each smoothed path point is equal. Or the smoothed path points may be randomly distributed with no regularity, for example, the intervals between each smoothed path point are irregular. Still alternatively, the smoothed path points may be distributed according to a regular pattern, for example, the intervals between the smoothed path points are distributed in an arithmetic series or an arithmetic series. The specific distribution of the smoothed path points is not limited herein.
In one embodiment, each set of original coordinate points is decomposed into two sets of coordinate points with the accumulated mileage S as an independent variable, the x coordinate of the original point as a dependent variable, and the accumulated mileage S as an independent variable, and the y coordinate of the original point as a dependent variable, where the first set of coordinate points is: (S 1、X1)、(S2、X2)……(Sm、Xm); the second set of coordinate points is: (S 1、Y1)、(S2、Y2)……(Sm、Ym). And then, respectively carrying out least square fitting on the first group of coordinate points and the second group of coordinate points to obtain corresponding fitting polynomials (namely, the first mapping relation and the second mapping relation).
For the first set of coordinate points (S 1、X1)、(S2、X2)……(Sm、Xm), fitting is performed using an n-th order polynomial, assuming that the fitting equation is: x=a 0+a1S+a2S2+……+anSn, where the coefficient a 0、a1、a2……an of the polynomial is the value that needs to be solved. And the least square method is adopted for fitting, so that the fitting error is smaller. The fitted linear equation is established as follows:
Solving the linear equation sets to obtain a polynomial coefficient a 0、a1、a2……、an, and further obtaining the functional relation between X and S: x=f (S).
For the second set of coordinate points (S 1、Y1)、(S2、Y2)……(Sm、Ym), fitting is performed using an n-th order polynomial, assuming that the fitting equation is: y=a 0+a1S+a2S2+……+anSn, where the coefficient a 0、a1、a2……an of the polynomial is the value that needs to be solved. Fitting by adopting a least square method, and establishing a fitting linear equation as follows:
Solving the linear equation sets to obtain a polynomial coefficient a 0、a1、a2……、an, and further obtaining a function relation between Y and S: y=g (S).
Assuming that the distances between the plurality of smooth path points are :δ1、δ2、δ3……δk.x1=f(δ1)、x2=f(δ2)、x3=f(δ3)……xk=f(δk),y1=g(δ1)、y2=g(δ2)、y3=g(δ3)……yk=g(δk)., the x-coordinates and y-coordinates of all the smooth path points can be calculated.
Further, in some embodiments, the plurality of smooth path points are equally spaced apart by a path interval β, and it is understood that the number of smooth path points is n=l/β. The x-coordinate of the smoothed path point is: x k = f (kβ), the y-coordinate of the smoothed path point is: y k = g (kβ).
In this embodiment, the fitting error is smaller by fitting the x coordinates of the accumulated mileage and the original point by the least square method and fitting the y coordinates of the accumulated mileage and the original point by the least square method, so that the coordinates of the finally obtained smooth path point are more accurate.
In some embodiments, referring to fig. 8, after step 014 is performed, that is, after generating a control command according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed, the movement control method further comprises the steps of:
015: the steps of intercepting the path to be smoothed, generating a plurality of smoothed path points, and controlling the intelligent robot 100 to move to the end point of the path to be smoothed are cyclically performed until the intelligent robot 100 moves to the end point of the global path.
In some embodiments, the movement control device 200 further includes a round robin module 205, where the round robin module 205 may be configured to cyclically perform the steps of intercepting a path to be smoothed, generating a plurality of smoothed path points, and controlling the intelligent robot 100 to move to an end point of the path to be smoothed until the intelligent robot 100 moves to an end point of the global path. That is, the loop control module may be used to implement step 015.
In some embodiments, the processor 10 may also be configured to cycle through the steps of intercepting a path to be smoothed, generating a plurality of smoothed path points, and controlling the intelligent robot 100 to move to the end of the path to be smoothed until the intelligent robot 100 moves to the end of the global path. That is, the processor 10 may also be used to implement step 015.
Specifically, when the intelligent robot 100 moves to the end point of the path to be smoothed according to the control instruction, step 012, step 013, and step 014 are cyclically executed until the intelligent robot 100 moves to the end point of the global path. Specifically, when the intelligent robot 100 moves to the end point of the path to be smoothed, the global path with a predetermined length is intercepted forward with the end point of the path to be smoothed as a new path to be smoothed, and then a plurality of original points in the new path to be smoothed are processed to generate a plurality of path smoothing points, and a control instruction is generated according to the smoothing path points to control the intelligent robot 100 to move to the end point of the new path to be smoothed. And always judges whether or not the intelligent robot 100 has reached the end point of the global path at this time, and if it has not reached the end point of the global path, proceeds to step 012, step 013, and step 014. If the intelligent robot 100 reaches the end of the global path, the intelligent robot 100 does not execute step 012, step 013, and step 014.
More specifically, referring to fig. 9, first, the intelligent robot 100 intercepts a global path of a predetermined length L forward at a position O1 as a first path to be smoothed, processes a plurality of original points in the first path to be smoothed to generate a plurality of smoothed path points, and then generates a control instruction according to the plurality of smoothed path points to control the intelligent robot 100 to move to an end point O2 of the first path to be smoothed. At this time, it is found that the intelligent robot 100 has not reached the end point of the global path, and the global path with the predetermined length L is taken forward from the position O2 as a second path to be smoothed, and the processing is continued on a plurality of original points in the second path to be smoothed to generate a plurality of smoothed path points, and then a control instruction is generated according to the plurality of smoothed path points, so as to control the intelligent robot 100 to move to the end point O3 of the second path to be smoothed. At this time, the intelligent robot 100 has not reached the end point of the global path, continues to intercept the global path of the predetermined length L forward at the position O3 as a third path to be smoothed, and continues to execute steps 013 and 014. Until the intelligent robot 100 moves to the end point B of the global path, indicating that the task of the intelligent robot 100 is completed, step 012, step 013, and step 014 are not performed.
It can be understood that the movement control method of the present embodiment does not divide the global path into a plurality of paths to be smoothed according to a predetermined length, and then performs smoothing processing on each path to be smoothed. Compared with the method of dividing the global path into a plurality of paths to be smoothed according to a predetermined length and smoothing each path to be smoothed, the smooth path points generated by the movement control method of the embodiment are more accurate and have stronger instantaneity.
Further, when the intelligent robot 100 reaches the end point of the path to be smoothed, the smoothed path points generated based on the pair of paths to be smoothed are discarded (i.e., the part of the smoothed path points are deleted), so as to reduce the storage space occupied by the intelligent robot 100. Meanwhile, the smooth path point generated based on the last path to be smoothed can be avoided, and the smooth path point generated based on the new path to be smoothed is prevented from being interfered, so that the control instruction generated according to the smooth path point is more accurate.
Referring to fig. 10 and 11, when the remaining length D between the current position O of the intelligent robot 100 and the end point B of the global path is smaller than the predetermined length L, the movement control method further includes the steps of:
016: calculating a length difference between the remaining length D and the predetermined length L; and
017: The global path is extended by a length difference.
In some embodiments, the mobile control device 200 further includes a calculation module 206 and an extension module 207, the calculation module 206 may be configured to calculate a length difference between the remaining length D and the predetermined length L, and the extension module 207 may be configured to extend the global path by the length difference. That is, the calculation module 206 may be used to implement step 016 and the extension module 207 may be used to implement step 017.
In some embodiments, the processor 10 may also be configured to: calculating a length difference between the remaining length D and the predetermined length L; and extending the global path by a length difference. That is, the processor 10 may also be used to implement step 016 and step 017.
Specifically, please refer to fig. 11, when the remaining length D between the current position O of the intelligent robot 100 and the end point B of the global path is smaller than the predetermined length L. For example, after the intelligent robot 100 travels a distance on the global path, the distance to the end point B of the global path is less than a predetermined length; or the length of the global path is less than a predetermined length. A length difference between the remaining length D and the predetermined length L, i.e., the length difference is L-D, is calculated. And then the global path is prolonged by the length difference value, so that the global path with the preset length can be intercepted, the path smoothing point generated in the global path with the residual length D is more accurate, and the intelligent robot 100 is smoother and more stable in moving.
The difference value of the length of the global path extension may be a curve extension or a straight line extension along the extension direction of the global path. Meanwhile, when generating the path smoothing point corresponding to the global path with the remaining length D, the path point corresponding to the global path end point needs to be generated, so that the intelligent robot 100 can move to the end point of the global path.
Referring to fig. 12, in some embodiments, when the intelligent robot 100 moves to the end point of the path to be smoothed, the movement control method further includes the following steps:
018: if the first distance between the intelligent robot 100 and the end point of the global path is smaller than the predetermined length, further judging whether the first distance is smaller than a distance threshold;
if yes, go to step 0181: controlling the intelligent robot 100 to move to the end point of the global path according to the global path which is not in use; and
If not, go to step 0182: the global path is extended by a distance difference between the first distance and a predetermined length.
In some embodiments, the mobile control device 200 further includes a first determining module 208 and a first executing module 209, where the first determining module 208 may be configured to further determine whether the first distance is less than a distance threshold if the first distance between the intelligent robot 100 and the end point of the global path is less than a predetermined length; the first execution module 209 may be configured to control, when the output result of the first determination module 208 is yes, the intelligent robot 100 to move to the end point of the global path according to the global path that is not in use; the first execution module 209 may be configured to lengthen the global path by a distance difference between the first distance and the predetermined length when the output result of the first determination module 208 is no. That is, the first determination module 208 may be used to implement step 018, and the first execution module 209 may be used to implement step 0181 or step 0182.
In some implementations, the processor may also be configured to: if the first distance between the intelligent robot 100 and the end point of the global path is smaller than the predetermined length, further judging whether the first distance is smaller than a distance threshold; if yes, controlling the intelligent robot 100 to move to the end point of the global path according to the global path which is not in use; and if not, extending the global path by a distance difference between the first distance and the preset length. That is, the processor may also be used to implement step 018, step 0181, or step 0182.
Specifically, when the intelligent robot 100 moves to the end point of the path to be smoothed according to the control instruction, a first distance between the intelligent robot 100 and the end point of the global path is obtained, and a relationship between the first distance and a predetermined length is judged; if the first distance is greater than or equal to the predetermined length, then steps 012, 013, and 014 continue. That is, if the first distance is greater than or equal to the predetermined length, a path of the predetermined length is intercepted forward from the current position of the intelligent robot 100 as a new path to be smoothed; processing a plurality of original points of the new path to be smoothed to generate a plurality of smoothed path points; and generating a control instruction according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
If the first distance is smaller than the predetermined length, it is further determined whether the first distance is smaller than a distance threshold, where the distance threshold may be preset, or may be user-defined or automatically generated according to the actual situation (e.g., length, width, etc.) of the intelligent robot 100. If the first distance is less than the distance threshold, indicating that the intelligent robot 100 has approached the end point of the global path, then controlling the intelligent robot 100 to move to the end point of the global path according to the non-exercised global path, for example, generating a control instruction to control the intelligent robot 100 to move to the end point of the global path according to the original point in the non-exercised global path. If the first distance is greater than the distance threshold, it indicates that the intelligent robot 100 is far from the end point of the global path at this time, but the first distance is smaller than the predetermined length, in order to make the control instruction more accurate, the global path is extended by the distance difference between the first distance and the predetermined length, so that the global path with the predetermined length can be intercepted forward at the current position, and the smooth path points obtained later are more accurate. The extended global path may be a straight line extension or an irregular line extension.
Referring to fig. 13, in some embodiments, when the intelligent robot 100 moves to the end point of the path to be smoothed, the movement control method further includes the following steps:
019: if the first distance between the intelligent robot 100 and the end point of the global path is smaller than the preset length, acquiring the smoothness of the non-running global path;
020: judging whether the smoothness is greater than a smoothness threshold value or not;
If yes, go to step 0201: controlling the intelligent robot 100 to move to the end point of the global path according to the global path which is not in use;
if not, go to step 0202: the global path is extended by a distance difference between the first distance and a predetermined length.
In some embodiments, the mobile control device 200 further includes a second obtaining module 210, a second judging module 211, and a second executing module 212, where the first obtaining module is configured to obtain the smoothness of the non-running global path if the first distance between the intelligent robot 100 and the end point of the global path is less than a predetermined length; the second determining module 211 is configured to determine whether the smoothness is greater than a smoothness threshold; the second execution module 212 may be configured to control the intelligent robot 100 to move to the end point of the global path according to the global path that is not in use when the output result of the second determination module 211 is yes; the second execution module 212 may be further configured to lengthen the global path by a distance difference between the first distance and the predetermined length when the output result of the second determination module 211 is no. That is, the second obtaining module 210 may be used to implement step 019, the second judging module 211 may be used to implement step 020, and the second executing module 212 may be used to implement step 0201 or step 0202.
In some implementations, the processor may also be configured to: if the first distance between the intelligent robot 100 and the end point of the global path is smaller than the preset length, acquiring the smoothness of the non-running global path; judging whether the smoothness is greater than a smoothness threshold value or not; if yes, controlling the intelligent robot 100 to move to the end point of the global path according to the global path which is not in use; if not, the global path is extended by a distance difference between the first distance and the preset length. That is, the processor may also be used to implement step 019, step 020, step 0201 or step 0202.
Specifically, when the intelligent robot 100 moves to the end point of the path to be smoothed according to the control instruction, a first distance between the intelligent robot 100 and the end point of the global path is obtained, and a relation between the first distance and a predetermined length is judged; if the first distance is greater than or equal to the predetermined length, then steps 012, 013, and 014 continue. That is, if the first distance is greater than or equal to the predetermined length, a path of the predetermined length is intercepted forward from the current position of the intelligent robot 100 as a new path to be smoothed; processing a plurality of original points of the new path to be smoothed to generate a plurality of smoothed path points; and generating a control instruction according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
If the first distance is smaller than the preset length, the smoothness of the rest non-exercised global path is obtained, for example, the smoothness of the non-exercised global path can be obtained by calculating, solving errors and the like on the non-exercised global path, the relation between the smoothness and a smoothness threshold value is further judged, the smoothness threshold value can be a preset fixed value, and when the smoothness of the path is larger than or equal to the smoothness threshold value, the quality of the path is good, and the smoothness and stability are good when the path is driven along the path; when the smoothness of the path is smaller than the smoothness threshold, the quality of the path is poor, and smoothness and stability are poor when the path is driven along.
If the smoothness is greater than or equal to the smoothness threshold, the intelligent robot 100 is controlled to move to the end point of the global path according to the non-exercised global path, for example, a control instruction is generated according to the original point in the non-exercised global path to control the intelligent robot 100 to move to the end point of the global path, and the calculated amount can be reduced by directly controlling the intelligent robot 100 to move according to the non-exercised global path due to the higher path quality of the non-exercised global path, so that the working efficiency of the intelligent robot 100 is improved.
If the smoothness is smaller than the smoothness threshold value, the global path is prolonged by a distance difference value between the first distance and the preset length, so that the global path with the preset length can be intercepted forward at the current position, and the smooth path points obtained later are more accurate. The extended global path may be a straight line extension or an irregular line extension.
Referring to fig. 1 and 2 again, the memory 20 is used for storing a computer program that can be run on the processor 10, and the processor 10 implements the movement control method of the intelligent robot 100 in any of the above embodiments when executing the program.
The memory 20 may comprise high-speed RAM memory or may further comprise non-volatile memory (non-volatile memory), such as at least one disk memory. Further, the intelligent robot 100 may further comprise a communication interface 30, the communication interface 30 being used for communication between the memory 20 and the processor 10.
If the memory 20, the processor 10 and the communication interface 30 are implemented independently, the communication interface 30, the memory 20 and the processor 10 may be connected to each other and communicate with each other through a bus. The bus may be an industry standard architecture (Industry Standard Architecture, abbreviated ISA) bus, an external device interconnect (PERIPHERAL COMPONENT, abbreviated PCI) bus, or an extended industry standard architecture (Extended Industry Standard Architecture, abbreviated EISA) bus, among others. The buses may be divided into address buses, data buses, control buses, etc. For ease of illustration, only one thick line is shown in fig. 2, but not only one bus or one type of bus.
Alternatively, in a specific implementation, if the memory 20, the processor 10 and the communication interface 30 are integrated on a chip, the memory 20, the processor 10 and the communication interface 30 may communicate with each other through internal interfaces.
The processor 20 may be a central processing unit (Central Processing Unit, abbreviated as CPU), or an Application SPECIFIC INTEGRATED Circuit (ASIC), or one or more integrated circuits configured to implement embodiments of the present application.
Referring to fig. 14, a non-transitory computer readable storage medium 300 of an embodiment of the present application includes computer executable instructions 301, which when executed by one or more processors 400, cause the processors 400 to perform the movement control method of the intelligent robot 100 of any embodiment of the present application.
For example, referring to fig. 1 and 4, when the computing executable 301 is executed by the processor 400, the processor 400 is configured to perform the following steps:
011: acquiring a global path of the intelligent robot 100;
012: intercepting a global path with a preset length L forwards from a current position O of the intelligent robot 100 to serve as a path to be smoothed;
013: processing a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points; and
014: A control instruction is generated according to the smoothed path point to control the intelligent robot 100 to move to the end point of the path to be smoothed.
For another example, referring to fig. 7, when the computing executable 301 is executed by the processor 400, the processor 400 is configured to perform the following steps:
1331: fitting the accumulated mileage and the x coordinate of the original point by taking the accumulated mileage as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation;
1332: fitting the accumulated mileage with the y coordinate of the original point by taking the accumulated mileage as an independent variable and the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and
1333: The x-coordinate of each smooth path point is calculated based on the first mapping relationship and the separation distance, and the y-coordinate of each smooth path point is calculated based on the second mapping relationship and the separation distance.
Any process or method descriptions in flow charts or otherwise described herein may be understood as representing modules, segments, or portions of code which include one or more executable instructions for implementing specific logical functions or steps of the process, and additional implementations are included within the scope of the preferred embodiment of the present application in which functions may be executed out of order from that shown or discussed, including substantially concurrently or in reverse order from that shown or discussed, depending on the functionality involved, as would be understood by those reasonably skilled in the art of the embodiments of the present application.
Logic and/or steps represented in the flow diagrams or otherwise described herein, e.g., a ordered listing of executable instructions for implementing logical functions, can be embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus, or device, such as a computer-based system, system that includes the processor 1020, or other system that can fetch the instructions from the instruction execution system, apparatus, or device and execute the instructions. For the purposes of this description, a "computer-readable medium" can be any means that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. More specific examples (a non-exhaustive list) of the computer-readable medium would include the following: an electrical connection (electronic device) having one or more wires, a portable computer diskette (magnetic device), a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber device, and a portable compact disc read-only memory (CDROM). In addition, the computer readable medium may even be paper or other suitable medium on which the program is printed, as the program may be electronically captured, via, for instance, optical scanning of the paper or other medium, then compiled, interpreted or otherwise processed in a suitable manner, if necessary, and then stored in a computer memory.
It is to be understood that portions of the present application may be implemented in hardware, software, firmware, or a combination thereof. In the above-described embodiments, the various steps or methods may be implemented in software or firmware stored in a memory and executed by a suitable instruction execution system. As with the other embodiments, if implemented in hardware, may be implemented using any one or combination of the following techniques, as is well known in the art: discrete logic circuits having logic gates for implementing logic functions on data signals, application specific integrated circuits having suitable combinational logic gates, programmable Gate Arrays (PGAs), field Programmable Gate Arrays (FPGAs), and the like.
Those of ordinary skill in the art will appreciate that all or a portion of the steps carried out in the method of the above-described embodiments may be implemented by a program to instruct related hardware, where the program may be stored in a computer readable storage medium, and where the program, when executed, includes one or a combination of the steps of the method embodiments.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing module 203, or each unit may exist alone physically, or two or more units may be integrated in one module. The integrated modules may be implemented in hardware or in software functional modules. The integrated modules may also be stored in a computer readable storage medium if implemented in the form of software functional modules and sold or used as a stand-alone product. The above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, or the like.
In the description of the present specification, reference to the terms "certain embodiments," "one embodiment," "some embodiments," "an exemplary embodiment," "an example," "a particular example," or "some examples" means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present application. In this specification, schematic representations of the above terms do not necessarily refer to the same embodiments or examples. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples.
Furthermore, the terms "first," "second," and the like, are used for descriptive purposes only and are not to be construed as indicating or implying a relative importance or implicitly indicating the number of technical features indicated. Thus, a feature defining "a first" or "a second" may explicitly or implicitly include at least one such feature. In the description of the present application, the meaning of "plurality" means at least two, for example, two, three, unless specifically defined otherwise.
Although embodiments of the present application have been shown and described above, it will be understood that the above embodiments are illustrative and not to be construed as limiting the application, and that variations, modifications, alternatives and variations may be made to the above embodiments by those skilled in the art within the scope of the application, which is defined by the claims and their equivalents.

Claims (10)

1. The method for controlling the movement of the intelligent robot is characterized by comprising the following steps:
Acquiring a global path of the intelligent robot;
Intercepting a global path with a preset length forwards from the current position of the intelligent robot to be used as a path to be smoothed;
Processing the plurality of original points in the path to be smoothed to generate a plurality of smoothed path points, the processing the plurality of original points in the path to be smoothed to generate a plurality of smoothed path points, comprising:
acquiring the coordinates of each original point on the path to be smoothed;
Calculating the accumulated mileage of the intelligent robot corresponding to the original point according to the coordinates of the original point;
Generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original points; and
Generating a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed;
The original point includes an x coordinate and a y coordinate, the smooth path point includes an x coordinate and a y coordinate, a distance between the smooth path point and a current position of the intelligent robot is a separation distance, and the generating a plurality of smooth path points based on the accumulated mileage and the coordinates of the original point includes:
fitting the accumulated mileage and the x coordinate of the original point by taking the accumulated mileage as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation;
Fitting the accumulated mileage with the y coordinate of the original point by taking the accumulated mileage as an independent variable and taking the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and
The x-coordinate of each of the smooth path points is calculated based on the first mapping relation and the interval distance, and the y-coordinate of each of the smooth path points is calculated based on the second mapping relation and the interval distance.
2. The movement control method according to claim 1, characterized in that after the generation of a control instruction to control the intelligent robot to move to the end point of the path to be smoothed according to the smoothed path point, the movement control method further comprises:
and circularly executing the steps of intercepting a path to be smoothed, generating a plurality of smoothed path points and controlling the intelligent robot to move to the end point of the path to be smoothed until the intelligent robot moves to the end point of the global path.
3. The movement control method according to any one of claims 1-2, characterized in that when a remaining length between a current position of the intelligent robot and an end point of the global path is smaller than a predetermined length, the movement control method further comprises:
calculating a length difference between the remaining length and the predetermined length; and
And extending the global path by the length difference value.
4. The movement control method according to claim 1, characterized in that when the intelligent robot moves to the end point of the path to be smoothed, the movement control method further comprises:
if the first distance between the intelligent robot and the end point of the global path is smaller than the preset length, further judging whether the first distance is smaller than a distance threshold value or not;
If yes, controlling the intelligent robot to move to the end point of the global path according to the global path which is not in use; and
If not, the global path is prolonged by a distance difference value between the first distance and the preset length.
5. The movement control method according to claim 1, characterized in that when the intelligent robot moves to the end point of the path to be smoothed, the movement control method further comprises:
If the first distance between the intelligent robot and the end point of the global path is smaller than the preset length, acquiring the smoothness of the non-running global path; and
Judging whether the smoothness is larger than a smoothness threshold value or not;
if yes, controlling the intelligent robot to move to the end point of the global path according to the global path which is not in use; and
If not, the global path is prolonged by a distance difference value between the first distance and the preset length.
6. The movement control method according to any one of claims 1-2, characterized in that the predetermined length is between 3 and 4 times the length of the body of the intelligent robot.
7. The movement control method according to any one of claims 1 to 2, wherein the control instruction includes at least one of a speed, an angular speed, a direction, and an acceleration of the intelligent robot movement.
8. A movement control device of an intelligent robot, comprising:
The first acquisition module is used for acquiring a global path of the intelligent robot;
The intercepting module is used for intercepting a global path with a preset length forwards from the current position of the intelligent robot to serve as a path to be smoothed;
a processing module, configured to process a plurality of original points in the path to be smoothed to generate a plurality of smoothed path points, and further configured to: acquiring coordinates of each original point on the path to be smoothed, calculating accumulated mileage of the intelligent robot corresponding to the original point according to the coordinates of the original point, and generating a plurality of smoothed path points based on the accumulated mileage and the coordinates of the original point; and
The generation module generates a control instruction according to the smooth path point to control the intelligent robot to move to the end point of the path to be smoothed;
The original point comprises an x coordinate and a y coordinate, the smooth path point comprises the x coordinate and the y coordinate, the distance between the smooth path point and the current position of the intelligent robot is a spacing distance, and the processing module is further used for:
fitting the accumulated mileage and the x coordinate of the original point by taking the accumulated mileage as an independent variable and the x coordinate of the original point as a dependent variable to obtain a first mapping relation;
Fitting the accumulated mileage with the y coordinate of the original point by taking the accumulated mileage as an independent variable and taking the y coordinate of the original point as a dependent variable to obtain a second mapping relation; and
The x-coordinate of each of the smooth path points is calculated based on the first mapping relation and the interval distance, and the y-coordinate of each of the smooth path points is calculated based on the second mapping relation and the interval distance.
9. An intelligent robot, characterized in that the intelligent robot comprises:
one or more processors, memory; and
One or more programs, wherein the one or more programs are stored in the memory and executed by the one or more processors, the programs comprising instructions for performing the movement control method of any of claims 1 to 7.
10. A non-transitory computer-readable storage medium containing computer-executable instructions that, when executed by one or more processors, cause the processors to perform the movement control method of any of claims 1-7.
CN202010750650.3A 2020-07-30 2020-07-30 Intelligent robot movement control method and device, intelligent robot and readable storage medium Active CN111880539B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010750650.3A CN111880539B (en) 2020-07-30 2020-07-30 Intelligent robot movement control method and device, intelligent robot and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010750650.3A CN111880539B (en) 2020-07-30 2020-07-30 Intelligent robot movement control method and device, intelligent robot and readable storage medium

Publications (2)

Publication Number Publication Date
CN111880539A CN111880539A (en) 2020-11-03
CN111880539B true CN111880539B (en) 2024-04-19

Family

ID=73205731

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010750650.3A Active CN111880539B (en) 2020-07-30 2020-07-30 Intelligent robot movement control method and device, intelligent robot and readable storage medium

Country Status (1)

Country Link
CN (1) CN111880539B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114815846A (en) * 2022-05-11 2022-07-29 深圳市正浩创新科技股份有限公司 Movement control method and device for self-moving equipment and storage medium
CN114879678A (en) * 2022-05-18 2022-08-09 浙江大学 Distance weight-based global path smoothing method for mobile robot

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104808665A (en) * 2015-04-16 2015-07-29 上海大学 Multi robot path planning method based on multi-target artificial bee colony algorithm
CN109308291A (en) * 2018-09-30 2019-02-05 歌尔科技有限公司 Smoothing method, device, terminal and the computer readable storage medium of map track
CN109521763A (en) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 The path optimization based on constraint smoothing spline for automatic driving vehicle
CN109955853A (en) * 2017-12-14 2019-07-02 百度(美国)有限责任公司 For operating the method, system and storage medium of automatic driving vehicle
CN110162029A (en) * 2018-02-12 2019-08-23 北京欣奕华科技有限公司 A kind of motion control method and device, robot based on planning path
CN111055274A (en) * 2019-11-28 2020-04-24 深圳优地科技有限公司 Robot path smoothing method and robot
CN111399493A (en) * 2018-12-29 2020-07-10 北京奇虎科技有限公司 Path display method and device of intelligent equipment
CN111459160A (en) * 2020-04-02 2020-07-28 中国矿业大学 Large-scale track smoothing method for unmanned washing and sweeping vehicle on open road

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10579062B2 (en) * 2017-05-31 2020-03-03 Baidu Usa Llc Scalable smooth reference path generator for autonomous driving vehicles
US10274961B2 (en) * 2017-07-26 2019-04-30 GM Global Technology Operations LLC Path planning for autonomous driving

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104808665A (en) * 2015-04-16 2015-07-29 上海大学 Multi robot path planning method based on multi-target artificial bee colony algorithm
CN109521763A (en) * 2017-09-18 2019-03-26 百度(美国)有限责任公司 The path optimization based on constraint smoothing spline for automatic driving vehicle
CN109955853A (en) * 2017-12-14 2019-07-02 百度(美国)有限责任公司 For operating the method, system and storage medium of automatic driving vehicle
CN110162029A (en) * 2018-02-12 2019-08-23 北京欣奕华科技有限公司 A kind of motion control method and device, robot based on planning path
CN109308291A (en) * 2018-09-30 2019-02-05 歌尔科技有限公司 Smoothing method, device, terminal and the computer readable storage medium of map track
CN111399493A (en) * 2018-12-29 2020-07-10 北京奇虎科技有限公司 Path display method and device of intelligent equipment
CN111055274A (en) * 2019-11-28 2020-04-24 深圳优地科技有限公司 Robot path smoothing method and robot
CN111459160A (en) * 2020-04-02 2020-07-28 中国矿业大学 Large-scale track smoothing method for unmanned washing and sweeping vehicle on open road

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
Research on path smoothing algorithm of coal mine rescue robot;Tao Dejun, et al;Industry and Mine Automation;第45卷(第10期);49-54 *
一种移动机器人路径规划的优化方法;李燊等;新型工业化;第10卷(第5期);83-86 *
移动机器人路径规划方法研究;曲道奎等;机器人(第02期);97-101 *
移动机器人运动轨迹规划平滑性研究;PRUDNIKAU MIKALAI;;科技资讯(第12期);218-219 *
自主车运动规划中的局部轨迹生成与参考路径优化方法研究;李超;中国优秀硕士学位论文全文数据库信息科技辑;第2020年(第02期);I140-598 *

Also Published As

Publication number Publication date
CN111880539A (en) 2020-11-03

Similar Documents

Publication Publication Date Title
CN111880539B (en) Intelligent robot movement control method and device, intelligent robot and readable storage medium
EP3566821B1 (en) Robot movement control method, and robot
US11131996B2 (en) Area partitioning method, partition cleaning method and robot thereof
JP6881723B2 (en) Angle correction method for mobile robots in the work area and mobile robots
CN107390698B (en) Supplementary sweeping method and chip of sweeping robot
JP6673486B2 (en) Travel route creation method, autonomous traveling device, and program
CN108241370B (en) Method and device for acquiring obstacle avoidance path through grid map
CN107787497B (en) Method and apparatus for detecting gestures in a user-based spatial coordinate system
CN107943025B (en) Processing method for robot escaping from poverty
JP2022511322A (en) Dynamic stochastic exercise plan
CN111433697A (en) Motion planning for autonomous mobile robots
CN112015186B (en) Robot path planning method and device with social attribute and robot
JP5805841B1 (en) Autonomous mobile body and autonomous mobile body system
CN111360808B (en) Method and device for controlling robot to move and robot
US6754550B2 (en) Toleranced digitizing method
CN113905856B (en) Information processing method, information processing system, and program
US11953879B2 (en) Agent-based slicing for 3D object models
CN115454062A (en) Robot dynamic path planning method and system based on Betz curve
WO2024157881A1 (en) Information processing device, information processing method, and storage medium
CN109032128A (en) The triangle formation control method of the discrete non-particle system of more AGV
KR20090008908A (en) Moving robot and operating method for the same
CN117008599A (en) Path planning method, related equipment and robot of path planning method
JP6224543B2 (en) Input device, finger determination method, and program
CN116185046B (en) Mobile robot positioning method, mobile robot and medium
CN118189951A (en) Robot motion path reporting method, computer equipment and storage medium

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant