CN111015668B - Acceleration continuous speed planning method and device, controller and robot - Google Patents

Acceleration continuous speed planning method and device, controller and robot Download PDF

Info

Publication number
CN111015668B
CN111015668B CN201911380048.9A CN201911380048A CN111015668B CN 111015668 B CN111015668 B CN 111015668B CN 201911380048 A CN201911380048 A CN 201911380048A CN 111015668 B CN111015668 B CN 111015668B
Authority
CN
China
Prior art keywords
maximum
time
jerk
preset
determining
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
CN201911380048.9A
Other languages
Chinese (zh)
Other versions
CN111015668A (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.)
Shenzhen Yuejiang Technology Co Ltd
Original Assignee
Shenzhen Yuejiang Technology 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 Shenzhen Yuejiang Technology Co Ltd filed Critical Shenzhen Yuejiang Technology Co Ltd
Priority to CN201911380048.9A priority Critical patent/CN111015668B/en
Publication of CN111015668A publication Critical patent/CN111015668A/en
Application granted granted Critical
Publication of CN111015668B publication Critical patent/CN111015668B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/1651Programme controls characterised by the control loop acceleration, rate control

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

The invention relates to the technical field of robots and discloses a method, a device, a controller and a robot for planning the speed with continuous acceleration, wherein the method for planning the speed with continuous acceleration comprises the following steps: acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope; determining the maximum jerk time and determining the maximum jerk time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk, and further determining the maximum acceleration time, the maximum speed time and the maximum jerk; thereby determining displacement, velocity, acceleration, and jerk for each time segment. The embodiment of the invention can solve the technical problem of mechanical vibration in the current speed planning of the robot by reversely calculating the maximum jerk through the preset maximum jerk.

Description

Acceleration continuous speed planning method and device, controller and robot
Technical Field
The embodiment of the invention relates to the technical field of robots, in particular to a method, a device, a controller and a robot for planning the acceleration continuous speed.
Background
With the development of the technology and the improvement of the living standard of people, the development of the field of artificial intelligence is very popular, and the robot as a machine device for automatically executing the work task is the most important branch of the field of artificial intelligence, and mobile robots such as cleaning robots, service robots, remote monitoring robots, sweeping robots and the like gradually enter the lives of people.
The robot is a movable device, and the smoothness and the real-time performance of the track of the robot in the movement process are important indexes for measuring the movement planning performance of the robot. Generally, to ensure the smooth trajectory of a robot, an S-type speed planning is generally adopted in industrial equipment, and is also widely applied in the field of speed planning of robot systems.
However, the current S-type speed planning usually adopts a three-order system model, only continuous acceleration can be ensured, the jerk is discontinuous, and the discontinuity of the jerk easily causes mechanical vibration, so that the running stability is influenced.
Based on this, there is a need for a better speed planning method.
Disclosure of Invention
In order to solve the above technical problems, embodiments of the present invention provide a method, an apparatus, a controller, and a robot for velocity planning with continuous jerk, so as to solve the technical problem of mechanical vibration in the current velocity planning of a robot.
In order to solve the above technical problem, an embodiment of the present invention provides the following technical solutions:
in a first aspect, an embodiment of the present invention provides a jerk continuous velocity planning method, applied to a robot, including:
acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope;
determining the maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk;
determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope;
determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement;
determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time;
determining a maximum jerk according to the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time;
determining the starting time of any time period of the speed plan, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum speed time and the maximum jerk.
In some embodiments, the determining a maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration, and the preset maximum jerk includes:
determining a first maximum jerk slope time according to the preset displacement;
determining a second maximum jerk slope time according to the preset maximum speed;
determining a third maximum jerk slope time according to the preset maximum acceleration;
determining fourth maximum jerk slope time according to the preset maximum jerk;
and determining the minimum value of the first maximum jerk slope time, the second maximum jerk slope time, the third maximum jerk slope time and the fourth maximum jerk slope time as the maximum jerk slope time.
In some embodiments, said determining a maximum jerk time based on said preset maximum speed, a preset maximum acceleration, and said preset maximum jerk slope comprises:
determining a first maximum jerk time according to the preset maximum jerk, the time of the maximum jerk and the preset displacement;
determining a second maximum jerk time according to the maximum jerk time, a preset maximum speed and a preset maximum jerk;
determining a third maximum jerk time according to the preset maximum acceleration, the preset maximum jerk and the maximum jerk time;
and determining the minimum value of the first maximum jerk time, the second maximum jerk time and the third maximum jerk time as the maximum jerk time.
In some embodiments, said determining a maximum acceleration time according to said preset maximum jerk, a maximum jerk time, and said preset displacement includes:
determining a first maximum acceleration time according to the preset maximum acceleration slope, the maximum acceleration slope time, the maximum acceleration time and the preset displacement;
determining a second maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the maximum jerk time;
determining a minimum value of the first maximum acceleration time and the second maximum acceleration time as the maximum acceleration time.
In some embodiments, the method further comprises:
and rounding the maximum jerk slope time, the maximum jerk time, the maximum acceleration time and the maximum speed time.
In some embodiments, said determining a maximum jerk based on said preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time comprises:
and determining the maximum jerk according to the rounded maximum jerk slope time, the rounded maximum jerk time, the rounded maximum acceleration time and the rounded maximum speed time.
In some embodiments, the speed plan comprises at least 16 time periods, assuming a starting time t of a certain time periodiThen, the determining the starting time of each time period is:
Figure BDA0002341968240000031
wherein i is an integer, i is not less than 0 and not more than 15, t0Is the beginning of a first time periodThe time of day.
In a second aspect, an embodiment of the present invention provides a jerk continuous velocity planning apparatus, including:
the device comprises an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is used for acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration and a preset maximum acceleration slope;
the maximum jerk slope time unit is used for determining maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk;
the maximum jerk time unit is used for determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope;
the maximum acceleration time unit is used for determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement;
the maximum speed time unit is used for determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time;
the maximum jerk unit is used for determining a maximum jerk according to the preset displacement, the preset maximum jerk, the maximum jerk time, the maximum acceleration time and the maximum speed time;
and the speed planning unit is used for determining the starting time of any time period of the speed planning, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum acceleration time, the maximum speed time and the maximum jerk.
In a third aspect, an embodiment of the present invention provides a controller, including:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the jerk continuous velocity planning method described above.
In a fourth aspect, an embodiment of the present invention provides a robot, including the above controller.
In a fifth aspect, embodiments of the present invention provide a non-transitory computer-readable storage medium having stored thereon computer-executable instructions for causing a controller to perform the jerk-continuous velocity planning method described above.
The beneficial effects of the embodiment of the invention are as follows: in contrast to the prior art, an embodiment of the present invention provides a method, an apparatus, a controller, and a robot for planning a jerk-continuous velocity, where the method includes: acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope; determining the maximum jerk time and determining the maximum jerk time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk, and further determining the maximum acceleration time, the maximum speed time and the maximum jerk; thereby determining displacement, velocity, acceleration, and jerk for each time segment. The embodiment of the invention can solve the technical problem of mechanical vibration in the current speed planning of the robot by reversely calculating the maximum jerk through the preset maximum jerk.
Drawings
One or more embodiments are illustrated in drawings corresponding to, and not limiting to, the embodiments, in which elements having the same reference number designation may be represented as similar elements, unless specifically noted, the drawings in the figures are not to scale.
FIG. 1 is a graph of a prior art S-shaped velocity schedule;
FIG. 2 is a schematic flow chart of a jerk continuous velocity planning method according to an embodiment of the present invention;
FIG. 3 is a detailed flowchart of step S20 in FIG. 2;
FIG. 4 is a detailed flowchart of step S30 in FIG. 2;
FIG. 5 is a detailed flowchart of step S40 in FIG. 2;
FIG. 6 is a graph of a jerk continuous velocity profile provided by an embodiment of the present invention;
FIG. 7 is a schematic structural diagram of a jerk-continuous velocity planner according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a controller according to an embodiment of the present invention.
Detailed Description
In order to facilitate an understanding of the invention, the invention is described in more detail below with reference to the accompanying drawings and detailed description. It will be understood that when an element is referred to as being "secured to" another element, it can be directly on the other element or intervening elements may also be present. When an element is referred to as being "connected" to another element, it can be directly connected to the other element or intervening elements may be present. The terms "vertical," "horizontal," "left," "right," and the like as used herein are for descriptive purposes only.
Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention belongs. The terminology used in the description of the invention herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the term "and/or" includes any and all combinations of one or more of the associated listed items.
At present, as a movable device, a robot has a smooth track and a real-time performance in the process of moving, which are important indexes for measuring the motion planning performance of the robot. Generally, to ensure the smooth trajectory of a robot, an S-type speed planning is generally adopted in industrial equipment, and is also widely applied in the field of speed planning of robot systems.
The existing S-shaped speed planning is widely applied to the field of speed planning of robot systems. However, the existing S-shaped velocity planning usually adopts a three-order system model, and only the acceleration is continuous, and the jerk is discontinuous, as shown in fig. 1, fig. 1 is a graph of the prior art S-shaped velocity planning;
the speed planning in the prior art has the problem of discontinuous acceleration, mechanical vibration is easily caused, and the running stability of the robot is influenced.
In order to solve the problem of discontinuous acceleration in S-shaped speed planning, the invention provides a speed planning method with continuous acceleration, which solves the technical problem of mechanical vibration in the current speed planning of the robot and improves the running stability of the robot.
Referring to fig. 2, fig. 2 is a schematic flow chart illustrating a method for planning a jerk-continuous velocity according to an embodiment of the present invention;
as shown in fig. 2, the jerk-continuous velocity planning method applied to a robot includes:
step S10: acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope;
specifically, the robot communication connection terminal device is through the operating instruction who obtains terminal device and send, operating instruction includes presetting displacement, presetting maximum speed, presetting maximum acceleration, presetting maximum jerk and presetting information such as maximum jerk slope, wherein, terminal device passes through user input presetting displacement, presetting maximum speed, presetting maximum acceleration, presetting maximum jerk and presetting information such as maximum jerk slope, thereby generate operating instruction, for example: obtainingA predetermined displacement s and a predetermined maximum velocity vmaxA preset maximum acceleration amaxPresetting a maximum jerk jmaxPresetting the maximum jerk dmax
Step S20: determining the maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk;
specifically, assuming that the preset displacement, the preset maximum speed, the preset maximum acceleration, the preset maximum jerk and the preset maximum jerk are not exceeded in the speed planning process, the maximum jerk time may be determined according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk.
Specifically, referring back to fig. 3, fig. 3 is a detailed flowchart of step S20 in fig. 2;
as shown in fig. 3, the step S20: determining the maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk, including:
step S21: determining a first maximum jerk slope time according to the preset displacement;
specifically, the preset displacement is a displacement constraint, and the first maximum jerk slope time t can be determined according to the given displacement constraintd1Determining a first maximum jerk slope time according to the preset displacement s includes: according to the preset displacement s and the preset maximum acceleration slope dmaxDetermining the first maximum jerk slope time, for example, as calculated according to equation (1) below:
Figure BDA0002341968240000061
step S22: determining a second maximum jerk slope time according to the preset maximum speed;
specifically, the preset maximum speed is a maximum speed constraint, and the preset maximum speed can be limited by the maximum speedTo determine a second maximum jerk slope time td2According to said preset maximum speed vmaxDetermining a second maximum jerk slope time td2The method comprises the following steps: according to the preset maximum speed vmaxAnd the preset maximum jerk slope dmaxDetermining said second maximum jerk slope time td2For example, it is calculated according to the following formula (2):
Figure BDA0002341968240000062
step S23: determining a third maximum jerk slope time according to the preset maximum acceleration;
specifically, the preset maximum acceleration is a maximum acceleration constraint, and a third maximum jerk slope time t may be determined according to the maximum acceleration constraintd3According to a preset maximum acceleration amaxDetermining a third maximum jerk slope time td3The method comprises the following steps: according to the preset maximum acceleration amaxAnd the preset maximum jerk slope dmaxDetermining said third maximum jerk slope time td3For example, it is calculated according to the following formula (3):
Figure BDA0002341968240000071
step S24: determining fourth maximum jerk slope time according to the preset maximum jerk;
specifically, the preset maximum jerk is a maximum jerk constraint, and a fourth maximum jerk slope time t may be determined by giving the maximum jerk constraintd4Specifically, the acceleration j is increased according to the preset maximum accelerationmaxDetermining a fourth maximum jerk slope time td4The method comprises the following steps: according to the preset maximum acceleration jmaxAnd the preset maximum jerk slope dmaxDetermining said fourth maximum jerkSlope time td4For example, it is calculated according to the following formula (4):
Figure BDA0002341968240000072
step S25: determining the minimum value of the first maximum jerk slope time, the second maximum jerk slope time, the third maximum jerk slope time and the fourth maximum jerk slope time as the maximum jerk slope time;
specifically, the first maximum jerk slope time t is determinedd1Second maximum jerk slope time td2Third maximum jerk slope time td3And a fourth maximum jerk slope time td4Of the first maximum jerk slope time td1Second maximum jerk slope time td2Third maximum jerk slope time td3And a fourth maximum jerk slope time td4Is determined as the maximum jerk slope time td. It will be appreciated that when the maximum jerk slope time t isdIs the first maximum jerk slope time td1Second maximum jerk slope time td2Third maximum jerk slope time td3And a fourth maximum jerk slope time td4At the minimum value of (d), then the maximum jerk slope time tdAnd simultaneously, the displacement constraint, the maximum speed constraint, the maximum acceleration constraint and the maximum jerk constraint are met.
Step S30: determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope;
specifically, referring back to fig. 4, fig. 4 is a detailed flowchart of step S30 in fig. 2;
as shown in fig. 4, the step S30: determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope, including:
step S31: determining a first maximum jerk time according to the preset maximum jerk, the time of the maximum jerk and the preset displacement;
specifically, the maximum jerk slope time t is obtained according to the calculationdAssuming that the planning result does not exceed the given maximum acceleration and maximum velocity, i.e. does not exceed the preset maximum acceleration amaxAnd a preset maximum speed vmaxAccording to the preset maximum acceleration gradient dmaxThe maximum jerk slope time tdAnd the preset displacement s is used for determining the first maximum acceleration time tj1For example, it is calculated according to the following formula (5):
Figure BDA0002341968240000081
by solving for the time t for the first maximum jerkj1Determining said first maximum jerk time tj1The value of (c).
Step S32: determining a second maximum jerk time according to the maximum jerk time, a preset maximum speed and a preset maximum jerk;
in particular, constrained by the maximum speed, i.e. by said preset maximum speed vmaxIn combination with said maximum jerk slope time tdAnd the preset maximum jerk slope dmaxDetermining said second maximum jerk time tj2For example, it is calculated according to the following formula (6):
Figure BDA0002341968240000082
step S33: determining a third maximum jerk time according to the preset maximum acceleration, the preset maximum jerk and the maximum jerk time;
in particular, constrained by a maximum acceleration, i.e. said preset maximum acceleration amaxIn combination with said predetermined maximum jerk slope dmaxAnd the maximum jerk slope time tdDetermining said third maximum jerk time tj3For example, it is calculated according to the following formula (7):
Figure BDA0002341968240000083
step S34: and determining the minimum value of the first maximum jerk time, the second maximum jerk time and the third maximum jerk time as the maximum jerk time.
In particular, the first maximum jerk time t is determinedj1Second maximum jerk time tj2And a third maximum jerk time tj3Of said first maximum jerk time tj1Second maximum jerk time tj2And a third maximum jerk time tj3Is determined as the maximum jerk time tj. It will be appreciated that when the maximum jerk time t isjIs the first maximum jerk time tj1Second maximum jerk time tj2And a third maximum jerk time tj3Of the maximum jerk time t, the minimum value ofjWhile satisfying the maximum velocity constraint and the maximum acceleration constraint.
Step S40: determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement;
specifically, the maximum jerk time t obtained by the above calculationjSatisfying all constraints given, determining the time t of maximum accelerationaWhen, it is assumed that the planning result does not exceed a given maximum speed, i.e. a preset maximum speed vmaxThen the acceleration gradient d can be determined according to the preset maximum accelerationmaxMaximum jerk slope time tdTime of maximum jerk tjAnd the preset displacement s, determining the maximum acceleration time taSpecifically, please refer to fig. 5 again, fig. 5 is a detailed flowchart of step S40 in fig. 2;
as shown in fig. 5, the step S40: determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement, including:
step S41: determining a first maximum acceleration time according to the preset maximum acceleration slope, the maximum acceleration slope time, the maximum acceleration time and the preset displacement;
in particular, it is assumed that the planning result does not exceed a given maximum speed constraint, i.e. does not exceed the preset maximum speed vmaxAccording to the preset maximum acceleration gradient dmaxMaximum jerk slope time tdTime of maximum jerk tjAnd the preset displacement s, the first maximum acceleration time t can be determineda1For example, it is calculated according to the following formula (8):
Figure BDA0002341968240000091
step S42: determining a second maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the maximum jerk time;
in particular, by a maximum speed constraint, i.e. a preset maximum speed vmaxIn combination with said predetermined maximum jerk slope dmaxMaximum jerk slope time tdAnd time of maximum jerk tjThe maximum acceleration time t that can be determineda2For example, it is calculated according to the following formula (9):
Figure BDA0002341968240000092
step S43: determining a minimum value of the first maximum acceleration time and the second maximum acceleration time as the maximum acceleration time.
In particular, the first maximum acceleration time t is determineda1And a second maximum acceleration time ta2Of the first maximum acceleration time ta1And a second maximum acceleration time ta2Is determined as the maximum acceleration time ta. It will be appreciated that when the maximum acceleration time t is describedaIs the first maximum acceleration time ta1And a second maximum acceleration time ta2At the minimum value of (1), the maximum acceleration time taWhile satisfying a maximum velocity constraint and the displacement constraint.
Step S50: determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time;
specifically, according to the preset displacement s and the preset maximum acceleration slope dmaxMaximum jerk slope time tdTime of maximum jerk tjAnd time of maximum acceleration taThe maximum speed time t can be determinedvFor example, it is calculated according to the following formula (10):
Figure BDA0002341968240000093
step S60: determining a maximum jerk according to the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time;
specifically, the preset displacement s and the preset maximum acceleration slope d are determinedmaxMaximum jerk slope time tdTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvThereafter, the maximum jerk slope d may be back-calculatedMAXCorresponding to the predetermined maximum jerk slope dmaxDetermining the preset displacement s and the preset maximum acceleration slope dmaxMaximum jerk slope time tdTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvThen back-calculating the maximum jerk slope dMAXFor example, it is calculated by the following formula (11):
Figure BDA0002341968240000101
in an embodiment of the present invention, the robot includes a robot control system, the robot control system is a discrete system, there is a system sampling time, for example, 1ms, 3ms, and the like, the sampling time is a fixed value, and since each time period calculated above does not necessarily satisfy an integer multiple of the sampling time given by the robot control system, it is necessary to round each time period obtained by calculation, for example: respectively aiming at the maximum acceleration slope time tdTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvRounding is performed to ensure that a given position is accurately reached. Specifically, the maximum jerk slope time t is subjected to an integer functiondTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvRounding is performed, and the rounding function is shown as the following equation (12):
Figure BDA0002341968240000102
ceil is an upward rounding function, and the rounded time values are all larger than the original values, so that the corrected speed plan is ensured to meet the given constraint. t' taking t in turnd,tj,ta,tvAnd Ts is the system sampling time.
In an embodiment of the present invention, the method further comprises: according to the rounded maximum acceleration slope time tdTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvCalculating the maximum jerk d after roundingMAXFor example: the rounded maximum acceleration slope time tdTime of maximum jerk tjTime of maximum acceleration taAnd a maximum speed time tvSubstituting the obtained value into the formula (11), and calculating to obtain the rounded maximum jerk slope dMAX. It can be understood that by rounding, the embodiment of the invention can solve the problem of precision loss caused by periodic discretization, and ensure the precision of speed planning.
Step S70: determining the starting time of any time period of the speed plan, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum speed time and the maximum jerk.
Specifically, the speed plan includes at least 16 time periods, and it is assumed that a starting time of a certain time period is tiThen, the determination of the starting time of any time period is calculated by the following formula (13):
Figure BDA0002341968240000111
wherein i is an integer, i is not less than 0 and not more than 15, t0And t is the starting moment of the first time period, t is the current moment of the robot, and t is n Ts, and n is a positive integer.
Specifically, the obtaining a current time of the robot, and determining displacement, velocity, acceleration, and jerk of any time period according to a start time of any time period, the current time of the robot, the maximum jerk time, the maximum acceleration time, the maximum velocity time, and the maximum jerk, includes:
the start time t of each time period is obtained by the above equation (13)iThe current time t of the robot, the maximum jerk slope time tdThe maximum jerk time tjThe maximum acceleration time taThe maximum speed time tvAnd the maximum jerk slope dMAXDetermining displacement, velocity, acceleration, and jerk for any time period, comprising: calculated by the following formula (14):
Figure BDA0002341968240000112
wherein j (t) is a jerk function, a (t) is an acceleration function, v (t) is a velocity function, s (t) is a displacement function, i is an integer, i is greater than or equal to 0 and less than or equal to 15, and t is the current moment of the robot.
And outputting a speed planning result by calculating the displacement, the speed, the acceleration and the jerk of any time period, wherein the speed planning result comprises the displacement, the speed, the acceleration and the jerk of each time period. Referring to fig. 6, fig. 6 is a graph of a jerk continuous velocity profile according to an embodiment of the present invention;
as shown in fig. 6, the acceleration of the velocity profile is continuous, where the horizontal axis represents the number of samples of the robot, for example: and 100, determining the current moment of the robot according to t-n × Ts, thereby determining the displacement, the speed, the acceleration and the jerk corresponding to each time period.
In an embodiment of the present invention, a jerk continuous velocity planning method is provided, which is applied to a robot, and includes: acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope; determining the maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk; determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope; determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement; determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time; determining a maximum jerk according to the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time; determining the starting time of any time period of the speed plan, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum speed time and the maximum jerk. By reversely calculating the maximum jerk through the preset maximum jerk, the embodiment of the invention can solve the technical problem of mechanical vibration in the current speed planning of the robot and improve the running stability of the robot.
Referring to fig. 7, fig. 7 is a schematic structural diagram of a jerk continuous velocity planning apparatus according to an embodiment of the present invention;
as shown in fig. 7, the jerk-continuous velocity planning apparatus 70 is applied to a robot, and includes:
an obtaining unit 71, configured to obtain a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk, and a preset maximum jerk slope;
a maximum jerk slope time unit 72, configured to determine a maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration, and the preset maximum jerk;
a maximum jerk time unit 73, configured to determine a maximum jerk time according to the preset maximum speed, a preset maximum acceleration, and the preset maximum jerk slope;
a maximum acceleration time unit 74, configured to determine a maximum acceleration time according to the preset maximum jerk, a maximum jerk time, and the preset displacement;
a maximum speed time unit 75, configured to determine a maximum speed time according to the preset displacement, a preset maximum jerk, a maximum jerk time, and a maximum acceleration time;
a maximum jerk unit 76, configured to determine a maximum jerk according to the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time;
and the speed planning unit 77 is configured to determine a starting time of any time period of the speed planning, acquire a current time of the robot, and determine displacement, speed, acceleration, and jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum acceleration time, the maximum speed time, and the maximum jerk.
In the embodiment of the present invention, the maximum jerk slope time unit 72 is specifically configured to:
determining a first maximum jerk slope time according to the preset displacement;
determining a second maximum jerk slope time according to the preset maximum speed;
determining a third maximum jerk slope time according to the preset maximum acceleration;
determining fourth maximum jerk slope time according to the preset maximum jerk;
and determining the minimum value of the first maximum jerk slope time, the second maximum jerk slope time, the third maximum jerk slope time and the fourth maximum jerk slope time as the maximum jerk slope time.
In the embodiment of the present invention, the maximum jerk time unit 73 is specifically configured to:
determining a first maximum jerk time according to the preset maximum jerk, the time of the maximum jerk and the preset displacement;
determining a second maximum jerk time according to the maximum jerk time, a preset maximum speed and a preset maximum jerk;
determining a third maximum jerk time according to the preset maximum acceleration, the preset maximum jerk and the maximum jerk time;
and determining the minimum value of the first maximum jerk time, the second maximum jerk time and the third maximum jerk time as the maximum jerk time.
In the embodiment of the present invention, the maximum acceleration time unit 74 is specifically configured to:
determining a first maximum acceleration time according to the preset maximum acceleration slope, the maximum acceleration slope time, the maximum acceleration time and the preset displacement;
determining a second maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the maximum jerk time;
determining a minimum value of the first maximum acceleration time and the second maximum acceleration time as the maximum acceleration time.
In an embodiment of the present invention, the apparatus further includes:
and the rounding unit is used for rounding the maximum jerk slope time, the maximum jerk time, the maximum acceleration time and the maximum speed time.
In an embodiment of the present invention, a jerk continuous velocity planning apparatus is provided, including: the device comprises an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is used for acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration and a preset maximum acceleration slope; the maximum jerk slope time unit is used for determining maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk; the maximum jerk time unit is used for determining the maximum jerk time according to the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope; the maximum acceleration time unit is used for determining the maximum acceleration time according to the preset maximum jerk, the maximum jerk time and the preset displacement; the maximum speed time unit is used for determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time; the maximum jerk unit is used for determining a maximum jerk according to the preset displacement, the preset maximum jerk, the maximum jerk time, the maximum acceleration time and the maximum speed time; and the speed planning unit is used for determining the starting time of any time period of the speed planning, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum acceleration time, the maximum speed time and the maximum jerk. By reversely calculating the maximum jerk through the preset maximum jerk, the embodiment of the invention can solve the technical problem of mechanical vibration in the current speed planning of the robot and improve the running stability of the robot.
Referring to fig. 8 again, fig. 8 is a schematic structural diagram of a controller according to an embodiment of the present invention;
as shown in fig. 8, the controller 80 includes one or more processors 81 and a memory 82. In fig. 8, one processor 81 is taken as an example.
The processor 81 and the memory 82 may be connected by a bus or other means, and fig. 8 illustrates the connection by a bus as an example.
The memory 82, as a non-volatile computer-readable storage medium, may be used for storing non-volatile software programs, non-volatile computer-executable programs, and modules, such as units (e.g., units described in fig. 7) corresponding to a jerk-continuous speed planning method in the embodiment of the present application. The processor 81 executes various functional applications and data processing of the jerk continuous speed planning method, i.e. the functions of the jerk continuous speed planning method of the above-described method embodiments and the various modules and units of the above-described apparatus embodiments, by running non-volatile software programs, instructions and modules stored in the memory 82.
The memory 82 may include high speed random access memory and may also include non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid state storage device. In some embodiments, the memory 82 may optionally include memory located remotely from the processor 81, which may be connected to the processor 81 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
The modules are stored in the memory 82 and, when executed by the one or more processors 81, perform the jerk continuous velocity planning method of any of the above-described method embodiments, e.g., performing the various steps described above and shown in fig. 2; the functions of the respective modules or units described in fig. 7 can also be implemented.
The embodiment of the present invention further provides a robot, where the robot includes the above-mentioned controller, and it can be understood that the robot further includes a mechanical arm, a console, and other components, which can be understood by those skilled in the art and will not be described herein again.
The robot of the embodiment of the present invention exists in various forms, and performs the above-described respective steps shown in fig. 2; the functions of the various units described in fig. 7 may also be implemented, including but not limited to: cleaning robots, service robots, remote monitoring robots, sweeping robots and other robots, or industrial robots such as sewing robots.
It should be noted that the description of the present invention and the accompanying drawings illustrate preferred embodiments of the present invention, but the present invention may be embodied in many different forms and is not limited to the embodiments described in the present specification, which are provided as additional limitations to the present invention, and the present invention is provided for understanding the present disclosure more fully. Furthermore, the above-mentioned technical features are combined with each other to form various embodiments which are not listed above, and all of them are regarded as the scope of the present invention described in the specification; further, modifications and variations will occur to those skilled in the art in light of the foregoing description, and it is intended to cover all such modifications and variations as fall within the true spirit and scope of the invention as defined by the appended claims.

Claims (10)

1. A jerk continuous velocity planning method applied to a robot is characterized by comprising the following steps:
acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration, a preset maximum jerk and a preset maximum jerk slope;
determining the maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk;
determining the maximum jerk time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope;
determining the maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the preset displacement;
determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time;
determining a maximum jerk according to the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum speed time;
determining the starting time of any time period of the speed plan, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the time of the maximum jerk, the time of the maximum speed and the determined maximum jerk.
2. The method of claim 1, wherein determining a maximum jerk slope time based on the predetermined displacement, the predetermined maximum velocity, the predetermined maximum acceleration, and the predetermined maximum jerk comprises:
determining a first maximum jerk slope time according to the preset displacement;
determining a second maximum jerk slope time according to the preset maximum speed;
determining a third maximum jerk slope time according to the preset maximum acceleration;
determining fourth maximum jerk slope time according to the preset maximum jerk;
and determining the minimum value of the first maximum jerk slope time, the second maximum jerk slope time, the third maximum jerk slope time and the fourth maximum jerk slope time as the maximum jerk slope time.
3. The method of claim 1, wherein determining a maximum jerk time based on the preset displacement, a preset maximum velocity, a preset maximum acceleration, and the preset maximum jerk slope comprises:
determining a first maximum jerk time according to the preset maximum jerk, the time of the maximum jerk and the preset displacement;
determining a second maximum jerk time according to the maximum jerk time, a preset maximum speed and a preset maximum jerk;
determining a third maximum jerk time according to the preset maximum acceleration, the preset maximum jerk and the maximum jerk time;
and determining the minimum value of the first maximum jerk time, the second maximum jerk time and the third maximum jerk time as the maximum jerk time.
4. The method of claim 1, wherein determining a maximum acceleration time based on the preset maximum velocity, a preset maximum jerk, a maximum jerk time, and the preset displacement comprises:
determining a first maximum acceleration time according to the preset maximum acceleration slope, the maximum acceleration slope time, the maximum acceleration time and the preset displacement;
determining a second maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the maximum jerk time;
determining a minimum value of the first maximum acceleration time and the second maximum acceleration time as the maximum acceleration time.
5. The method of claim 1, further comprising:
and rounding the maximum jerk slope time, the maximum jerk time, the maximum acceleration time and the maximum speed time.
6. The method of claim 5, wherein determining a maximum jerk based on the preset displacement, a preset maximum jerk, a maximum jerk time, a maximum acceleration time, and a maximum velocity time comprises:
and determining the maximum jerk according to the rounded maximum jerk slope time, the rounded maximum jerk time, the rounded maximum acceleration time and the rounded maximum speed time.
7. Method according to claim 1, characterized in that the speed plan comprises at least 16 time segments, assuming a certain time segment starting at a time tiThen, the determining the starting time of any time period is:
Figure FDA0002956635010000031
wherein i is an integer, i is not less than 0 and not more than 15, t0Is the starting time of the first time period.
8. A jerk-continuous velocity profile apparatus, comprising:
the device comprises an acquisition unit, a processing unit and a control unit, wherein the acquisition unit is used for acquiring a preset displacement, a preset maximum speed, a preset maximum acceleration and a preset maximum acceleration slope;
the maximum jerk slope time unit is used for determining maximum jerk slope time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk;
the maximum jerk time unit is used for determining maximum jerk time according to the preset displacement, the preset maximum speed, the preset maximum acceleration and the preset maximum jerk slope;
the maximum acceleration time unit is used for determining the maximum acceleration time according to the preset maximum speed, the preset maximum jerk, the maximum jerk time and the preset displacement;
the maximum speed time unit is used for determining the maximum speed time according to the preset displacement, the preset maximum jerk, the maximum jerk time and the maximum acceleration time;
the maximum jerk unit is used for determining a maximum jerk according to the preset displacement, the preset maximum jerk, the maximum jerk time, the maximum acceleration time and the maximum speed time;
and the speed planning unit is used for determining the starting time of any time period of speed planning, acquiring the current time of the robot, and determining the displacement, the speed, the acceleration and the jerk of any time period according to the starting time of any time period, the current time of the robot, the maximum jerk time, the maximum acceleration time, the maximum speed time and the determined maximum jerk.
9. A controller, comprising:
at least one processor; and
a memory communicatively coupled to the at least one processor; wherein the content of the first and second substances,
the memory stores instructions executable by the at least one processor to enable the at least one processor to perform the jerk continuous velocity planning method according to any of claims 1-8.
10. A robot, comprising: the controller of claim 9.
CN201911380048.9A 2019-12-27 2019-12-27 Acceleration continuous speed planning method and device, controller and robot Active CN111015668B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911380048.9A CN111015668B (en) 2019-12-27 2019-12-27 Acceleration continuous speed planning method and device, controller and robot

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911380048.9A CN111015668B (en) 2019-12-27 2019-12-27 Acceleration continuous speed planning method and device, controller and robot

Publications (2)

Publication Number Publication Date
CN111015668A CN111015668A (en) 2020-04-17
CN111015668B true CN111015668B (en) 2021-05-11

Family

ID=70194654

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911380048.9A Active CN111015668B (en) 2019-12-27 2019-12-27 Acceleration continuous speed planning method and device, controller and robot

Country Status (1)

Country Link
CN (1) CN111015668B (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114578809A (en) * 2022-01-13 2022-06-03 达闼机器人股份有限公司 Speed control method and device of movable equipment and movable equipment
CN116352725B (en) * 2023-05-23 2023-10-13 极限人工智能(北京)有限公司 Three-time three-section type mechanical arm track planning method, system, equipment and medium

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7979158B2 (en) * 2007-07-31 2011-07-12 Rockwell Automation Technologies, Inc. Blending algorithm for trajectory planning
US8972055B1 (en) * 2011-08-19 2015-03-03 Google Inc. Methods and systems for selecting a velocity profile for controlling a robotic device
CN105892402B (en) * 2016-06-17 2018-06-15 浙江理工大学 Mechanical arm point-to-point motion control method
US9870002B1 (en) * 2016-09-06 2018-01-16 X Development Llc Velocity control of position-controlled motor controllers
CN106945042B (en) * 2017-03-29 2019-05-28 浙江工业大学 A kind of discrete S type curve speed control method of manipulator
CN107671859B (en) * 2017-10-20 2018-11-02 山东大学 Moving target Dynamic Tracking, system and device based on S curve acceleration and deceleration
CN107825424B (en) * 2017-10-31 2020-05-26 河北工业大学 Asymmetric S-shaped trajectory planning method for reducing residual vibration of high-speed manipulator

Also Published As

Publication number Publication date
CN111015668A (en) 2020-04-17

Similar Documents

Publication Publication Date Title
CN107253196B (en) Mechanical arm collision detection method, device, equipment and storage medium
CN111015668B (en) Acceleration continuous speed planning method and device, controller and robot
US9862089B2 (en) Systems and methods for allocating tasks to a plurality of robotic devices
CN111319041B (en) Robot pose determining method and device, readable storage medium and robot
US10635944B2 (en) Self-supervised robotic object interaction
CN110326004A (en) Use consistency of path learning training strategy neural network
CN110471409B (en) Robot inspection method and device, computer readable storage medium and robot
CN108549322A (en) Pose synchronization method and device for arc track motion of robot
CN103546692A (en) Method and system achieving integrated camera automatic focusing
CN110103987B (en) Decision planning method and device applied to automatic driving vehicle
CN112775931B (en) Mechanical arm control method and device, computer-readable storage medium and robot
CN107263543A (en) The calibration method and computing device of a kind of joint of robot
CN110413011B (en) Binocular holder control method and device and storage medium
CN113119111A (en) Mechanical arm and track planning method and device thereof
CN109976326B (en) Wheeled robot control method and device, terminal device and medium
CN111185908B (en) Robot control method and device for recognizing friction force, robot and storage medium
CN109815557B (en) Robot model display method and device and intelligent terminal
CN113021329B (en) Robot motion control method and device, readable storage medium and robot
WO2018205248A1 (en) Spline path interpolation method and relevant device
CN111015658B (en) Method and device for controlling robot
CN112388623B (en) Steering engine position control method and device, terminal equipment and medium
CN114102597B (en) Mechanical arm articulation operation control method, electronic equipment and storage medium
CN115147474A (en) Point cloud annotation model generation method and device, electronic equipment and storage medium
CN111146986B (en) Position locating method and device of magnetic encoder, electronic equipment and computer readable storage medium
CN107390695B (en) Crane motion trajectory planning method and device

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
CP01 Change in the name or title of a patent holder

Address after: 518000 1003, building 2, Chongwen Park, Nanshan wisdom Park, 3370 Liuxian Avenue, Fuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee after: Shenzhen Yuejiang Technology Co.,Ltd.

Address before: 518000 1003, building 2, Chongwen Park, Nanshan wisdom Park, 3370 Liuxian Avenue, Fuguang community, Taoyuan Street, Nanshan District, Shenzhen City, Guangdong Province

Patentee before: SHENZHEN YUEJIANG TECHNOLOGY Co.,Ltd.

CP01 Change in the name or title of a patent holder