Systems and methods are provided for generating a constraint-based, time-optimal motion profile for controlling the trajectory of a point-to-point move in a motion control system. A profile generator can calculate an ST-curve motion profile that includes a jerk reference that varies continuously ove
Systems and methods are provided for generating a constraint-based, time-optimal motion profile for controlling the trajectory of a point-to-point move in a motion control system. A profile generator can calculate an ST-curve motion profile that includes a jerk reference that varies continuously over time for at least one of the motion profile segments, thereby producing a smooth, time-optimal trajectory. The profile generator can create the motion profile to conform to a set of motion constraints provided by the user. The profile generator also supports calculation of time-optimal motion profiles having segments that align to the sample time of the motion control system. In some embodiments, the profile generator can efficiently generate the motion profile by performing reference calculations only for those segments that will be used in the final motion profile for a given point-to-point move.
대표청구항▼
1. A method for generating a motion profile, comprising: receiving, by a system comprising at least one processor, a setpoint indicating at least one of a target position or a target velocity for a motion device; andgenerating, by the system, a motion profile for transitioning the motion device to t
1. A method for generating a motion profile, comprising: receiving, by a system comprising at least one processor, a setpoint indicating at least one of a target position or a target velocity for a motion device; andgenerating, by the system, a motion profile for transitioning the motion device to the at least one of the target position or the target velocity, the motion profile defining a jerk reference that varies continuously as a function of time within a segment of the motion profile, wherein the generating comprises:calculating time durations for respective segments of the motion profile;rounding the time durations to respective nearest multiples of a sample time of a motion controller to yield rounded time durations; andrecalculating the jerk reference using the rounded time durations. 2. The method of claim 1, wherein the generating the motion profile comprises defining, as a function of time, at least one of an acceleration reference, a velocity reference, or a position reference for the at least one segment of the motion profile. 3. The method of claim 2, further comprising calculating at least one of the jerk reference, the acceleration reference, the velocity reference, or the position reference for the segment of the motion profile based on at least one of the sample time, a velocity limit parameter, an acceleration limit parameter, a jerk limit parameter, or a deceleration limit parameter. 4. The method of claim 2, wherein the generating the motion profile comprises defining the acceleration reference for a first segment of the motion profile to have a different absolute value than the deceleration reference for a second segment of the motion profile. 5. The method of claim 1, wherein the generating the motion profile further comprises: determining, based at least on a current state of the motion device and a target state of the motion device indicated by the setpoint, which segments of the motion profile are required segments for transitioning the motion device to the at least one of the target position or the target velocity; andcalculating respective position references, velocity references, acceleration references, and jerk references for the required segments, including omitting position reference, velocity reference, acceleration reference, and jerk reference calculations for segments that are not required segments. 6. The method of claim 5, wherein the determining comprises inferring which segments of the motion profile are required based at least in part on historical motion data. 7. The method of claim 1, wherein the generating comprises generating the motion profile according to relationships represented by: t13(t1+t2)=t43(t4+t5),t1=3A2J,t4=3D2I,t2=VA-3A2J,t5=VD-3D2I,t3=PV-3A4J-V2A-3D4I-V2D,A2D2=J3I3,V≥3A22J=32Iρ43D2,V≥32ID2,PV≥34Iρ-13D+ρ2VD+34ID+12VD,PV≥(ρ-13+1)34ID+12(ρ+1)VD,andIJ=ρ23 where: P is a position of the motion device,J is a maximum acceleration jerk,I is a maximum deceleration jerk,A is a maximum acceleration,D is a maximum deceleration,V is a maximum velocity,t1 is a duration of an increasing acceleration stage and a decreasing acceleration stage of the motion profile,t2 is a duration of a constant acceleration stage of the motion profile,t3 is a duration of a constant velocity stage of the motion profile,t4 is a duration of an increasing deceleration stage and a decreasing deceleration stage of the motion profile,t5 is a duration of a constant deceleration stage of the motion profile, and ρ=DA. 8. A system for generating a motion profile, comprising: a memory; anda processor configured to execute computer-executable components stored on the memory, the computer-executable components comprising: a motion profile generator configured to generate, in response to receipt of a target position or a target velocity for a motion device, a motion profile defining a continuous jerk reference that varies continuously within a stage of the motion profile, wherein the motion profile defines a trajectory for transitioning the motion device to the target position or the target velocity,wherein the motion profile generator is further configured to calculate time durations for respective stages of the motion profile, round the time durations to respective nearest multiples of a sample time of a motion controller to yield rounded time durations, and recalculate the jerk reference based on the rounded time durations. 9. The system of claim 8, wherein the motion profile generator is further configured to generate the motion profile as a function of at least one defined constraint, wherein the at least one defined constraint includes at least one of the sample time, a velocity limit, an acceleration limit, a jerk limit, or a deceleration limit. 10. The system of claim 9, further comprising an interface component configured to receive input specifying the at least one defined constraint. 11. The system of claim 8, wherein the motion profile generator is further configured to generate the motion profile based on a maximum acceleration and a maximum deceleration, wherein an absolute value of the maximum acceleration is different than an absolute value of the maximum deceleration. 12. The system of claim 8, wherein the motion profile generator is further configured to determine, in response to receipt of the target position or the target velocity, which stages of the motion profile are required to transition the motion device to the target position or the target velocity based at least in part on a current state of the motion device and the target position or the target velocity. 13. The system of claim 12, further comprising a storage component configured to store historical data comprising previously received move commands and corresponding trajectory data for the motion device, wherein the motion profile generator is further configured to infer which stages of the motion profile are required to transition the motion device to the target position or the target velocity based at least in part on an analysis of the historical data. 14. The system of claim 8, wherein the motion profile generator is further configured to generate the motion profile according to relationships represented by: t13(t1+t2)=t43(t4+t5),t1=3A2J,t4=3D2I,t2=VA-3A2J,t5=VD-3D2I,t3=PV-3A4J-V2A-3D4I-V2D,A2D2=J3I3,V≥3A22J=32Iρ43D2,V≥32ID2,PV≥34Iρ-13D+ρ2VD+34ID+12VD,PV≥(ρ-13+1)34ID+12(ρ+1)VD,andIJ=ρ23 where: P is a position of the motion device,J is a maximum acceleration jerk,I is a maximum deceleration jerk,A is a maximum acceleration,D is a maximum deceleration,V is a maximum velocity,t1 is a duration of an increasing acceleration stage and a decreasing acceleration stage of the motion profile,t2 is a duration of a constant acceleration stage of the motion profile,t3 is a duration of a constant velocity stage of the motion profile,t4 is a duration of an increasing deceleration stage and a decreasing deceleration stage of the motion profile,t5 is a duration of a constant deceleration stage of the motion profile, and ρ=DA. 15. A non-transitory computer-readable medium having stored thereon computer-executable instructions that, in response to execution, cause a computer system to perform operations, comprising: receiving a move command specifying at least one of a new position or a new velocity for a motion device; andgenerating a motion profile for transitioning the motion device to the at least one of the target position or the target velocity, the motion profile defining a jerk reference that varies continuously as a function of time within a segment of the motion profile,wherein the generating comprises: determining time durations for respective segments of the motion profile;rounding the time durations to respective nearest multiples of a defined sample time resulting in rounded time durations; andre-determining the jerk reference using the rounded time durations. 16. The non-transitory computer-readable medium of claim 15, wherein the generating comprises: determining, based at least on a current state of the motion device and the at least one of the new position or the new velocity indicated by the move command, which segments of the motion profile are required segments for transitioning the motion device to the at least one of the new position or the new velocity;calculating respective position references, velocity references, acceleration references, and jerk references for the required segments, andomitting position reference, velocity reference, acceleration reference, and jerk reference calculations for segments that are not required segments. 17. The non-transitory computer-readable medium of claim 15, wherein the generating comprises generating the motion profile according to relationships comprising: t13(t1+t2)=t43(t4+t5),t1=3A2J,t4=3D2I,t2=VA-3A2J,t5=VD-3D2I,t3=PV-3A4J-V2A-3D4I-V2D,A2D2=J3I3,V≥3A22J=32Iρ43D2,V≥32ID2,PV≥34Iρ-13D+ρ2VD+34ID+12VD,PV≥(ρ-13+1)34ID+12(ρ+1)VD,andIJ=ρ23 where: P is a position of the motion device,J is a maximum acceleration jerk,I is a maximum deceleration jerk.A is a maximum acceleration.D is a maximum deceleration.V is a maximum velocity,t1 is a duration of an increasing acceleration stage and a decreasing acceleration stage of the motion profile,t2 is a duration of a constant acceleration stage of the motion profile,t3 is a duration of a constant velocity stage of the motion profile,t4 is a duration of an increasing deceleration stage and a decreasing deceleration stage of the motion profile,t5 is a duration of a constant deceleration stage of the motion profile, and ρ=DA. 18. The non-transitory computer-readable medium of claim 15, wherein the generating the motion profile further comprises determining least one of the jerk reference, an acceleration reference, a velocity reference, or a position reference for the segment of the motion profile based on at least one of the defined sample time, a velocity limit parameter, an acceleration limit parameter, a jerk limit parameter, or a deceleration limit parameter. 19. The non-transitory computer-readable medium of claim 15, wherein the generating the motion profile further comprises defining an acceleration reference for a first segment of the motion profile to have a different absolute value than a deceleration reference for a second segment of the motion profile. 20. The non-transitory computer-readable medium of claim 15, wherein the generating the motion profile further comprises: determining, based at least on a current state of the motion device and a target state of the motion device indicated by the new position or the new velocity, which segments of the motion profile are required segments for transitioning the motion device to the at least one of the new position or new target velocity; andcalculating respective position references, velocity references, acceleration references, and jerk references for the required segments, including omitting position reference, velocity reference, acceleration reference, and jerk reference calculations for segments that are not required segments.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (22)
Kaya Azmi (Akron OH) Lukas Michael P. (Eastlake OH), Adaptive process control using function blocks.
Tian, Gang, Method for automatically identifying speed operation range in a mechanical system driven by PMSM or induction motors under friction and load condition.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.