Trajectory fusion method, device, equipment, and storage medium

JP2025506902AActive Publication Date: 2025-03-13SIASUN CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024551619
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-03-18
Filing Date
2022-08-17
Publication Date
2025-03-13
Estimated Expiration
2042-08-17

Smart Images

  • Figure 2025506902000001_ABST
    Figure 2025506902000001_ABST
Patent Text Reader

Abstract

This application discloses a trajectory fusion method, device, apparatus and storage medium, which includes: determining Cartesian motion information in a Cartesian space of a fusion start point according to a first trajectory and a first fusion radius associated with the first trajectory; determining Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; and planning a trajectory for a fusion stage between the first trajectory and the second trajectory according to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] This application claims priority to a Chinese patent application bearing application number 202210270671.4, filed with the China Patent Office on March 18, 2022, the entire contents of which are incorporated herein by reference.

[0002] The present application relates to the technical field of robot motion control, for example, to a trajectory fusion method, device, apparatus, and storage medium. [Background technology]

[0003] With the continuous development of robot technology, the application scenarios of the robot arm are becoming more and more widespread, such as precision assembly, inspection, sorting, application of glue or oil, loading and unloading of materials, etc. In order to ensure the precision of the robot arm's movement when performing the above operations, the robot arm needs to be precisely controlled.

[0004] In the process of performing a task, a robot arm usually moves along one or more pre-planned trajectories. When it is necessary to move along multiple trajectories, the robot needs to run from the start point of the current trajectory to the midpoint where the two trajectories meet, and finally reach the end point of the next trajectory. In the running process, the robot starts accelerating from a speed of 0, and when it runs to the midpoint, its speed becomes 0 again, and when it runs to the next trajectory, it accelerates again, and when it runs to the end point, it becomes 0 again. Such continuous starting and stopping of the movement not only affects the efficiency with which the robot performs the task, but also has a certain impact on the life of the robot. Summary of the Invention

[0005] The present application provides a trajectory fusion method, device, apparatus, and storage medium for improving the stability of robot movement when passing through a transition point between two trajectories.

[0006] According to one aspect of the present application, determining Cartesian motion information in a Cartesian space of the fusion start point according to the first trajectory and a first fusion radius associated with the first trajectory; determining Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; and planning a trajectory for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0007] According to another aspect of the present application, a first motion information determining module configured to determine Cartesian motion information in a Cartesian space of the fusion start point according to the first trajectory and a first fusion radius associated with the first trajectory; A second motion information determining module is configured to determine Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; and a fusion stage trajectory planning module configured to perform trajectory planning for a fusion stage between the first trajectory and the second trajectory based on Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0008] According to another aspect of the present application, At least one processor; a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, the computer program providing electronic equipment that is executed by the at least one processor such that the at least one processor can execute a trajectory fusion method described in any embodiment of the present application.

[0009] According to another aspect of the present application, there is provided a computer-readable storage medium having stored thereon computer instructions configured, when executed by a processor, to implement the trajectory fusion method according to any of the embodiments of the present application. [Brief description of the drawings]

[0010] [Figure 1a] 2 is a flow diagram of a trajectory fusion method according to an embodiment of the present application; [Figure 1b] FIG. 2 is a schematic diagram of determining Cartesian motion information of a fusion starting point according to an embodiment of the present application; [Figure 1c] FIG. 2 is a schematic diagram of determining Cartesian motion information of a fusion end point according to an embodiment of the present application; [Diagram 2] FIG. 4 is a flow diagram of a trajectory fusion method according to another embodiment of the present application. [Diagram 3] FIG. 4 is a flow diagram of a trajectory fusion method according to another embodiment of the present application. [Figure 4] FIG. 4 is a flow diagram of a trajectory fusion method according to another embodiment of the present application. [Diagram 5] 1 is a structural schematic diagram of a trajectory fusion device according to an embodiment of the present application; [Figure 6] FIG. 2 is a structural schematic diagram of an electronic device that realizes the trajectory fusion method according to the embodiment of the present application; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] It should be noted that the terms "first", "second", etc. in the specification, claims, and drawings of the present application are not necessarily used to describe a particular order or priority, but are merely used to distinguish between similar objects. The terms used in this manner are interchangeable where appropriate, so that it should be understood that the embodiments of the present application described herein may be performed in an order other than that shown or described herein. In addition, the terms "comprise" and "have" and any variations thereof are intended to cover a non-exclusive inclusion, for example, including a process, method, system, product, or server of a series of steps or units, and are not necessarily limited to those steps or units expressly recited, but may include other steps or units not expressly recited or inherent to those processes, methods, products, or devices.

[0012] Fig. 1a is a flow chart of a trajectory fusion method according to an embodiment of the present application, which is applicable to trajectory fusion for trajectories in different spaces, and the method can be performed by a trajectory fusion device, which can be realized by adopting the form of hardware and / or software, and the trajectory fusion device can be located in various general-purpose computing devices. As shown in Fig. 1a, the method includes:

[0013] In S110, Cartesian motion information in a Cartesian space of the fusion starting point is determined according to the first trajectory and a first fusion radius associated with the first trajectory.

[0014] In order to control the robot to move along a trajectory desired by the user, the user needs to input one or more trajectories in advance to construct a trajectory pool. In the robot's motion process, the trajectory planner sequentially takes out trajectories from the trajectory pool according to the execution order of the trajectories to plan the speed so that the robot moves along the trajectory previously input by the user. If the trajectory pool contains multiple trajectories, the robot needs to move along the multiple trajectories in sequence, and the speed or acceleration is likely to be unstable in the transition stage between two trajectories, and the path of the transition stage is not unique, which affects the normal work of the robot.

[0015] In order to avoid a situation where the speed or acceleration is unstable on the path of the above-mentioned transition stage, when the user inputs multiple trajectories, the user also needs to set a fusion radius corresponding to the trajectories at the same time, so that the trajectory planner determines the fusion start point and the fusion end point according to the fusion radius, and performs trajectory fusion for two adjacent trajectories according to the fusion start point and the fusion end point, allowing the robot to stably transition from one previous trajectory to one subsequent trajectory.

[0016] The first trajectory is a trajectory input by a user along which the robot needs to travel. The fusion radius associated with the first trajectory is used to determine the fusion stage between the first trajectory and a subsequent trajectory (second trajectory) adjacent to the first trajectory. The Cartesian motion information is position, orientation, velocity, and acceleration information in Cartesian space.

[0017] In the embodiment of the present disclosure, in order to fuse trajectories in different spaces, after determining the motion information of the fusion start point and the fusion end point, the motion information is unifiedly mapped into the Cartesian space, so that the fusion of trajectories in different spaces can be realized. The trajectory planner extracts a first trajectory from the trajectory pool, and then performs motion planning for the first trajectory, and at the same time, determines whether the trajectory pool includes a first fusion radius associated with the first trajectory. If the trajectory pool does not include the first fusion radius associated with the first trajectory, it indicates that the first trajectory does not need to be fused with other trajectories, and the motion planning for the first trajectory can be continued. If the trajectory pool includes the first fusion radius associated with the first trajectory, it indicates that the first trajectory needs to be fused with other trajectories, and at this time, the Cartesian motion information of the fusion start point in the Cartesian space can be determined according to the first trajectory and the fusion radius associated with the first trajectory.

[0018] For example, if the first trajectory is a Cartesian trajectory in a Cartesian space, the Cartesian motion information of the fusion starting point in the Cartesian space can be directly determined according to the first trajectory and the first fusion radius associated with the first trajectory, where the Cartesian motion information is the position, attitude, velocity and acceleration information in the Cartesian space of the fusion starting point.

[0019] When the first trajectory is a joint trajectory in a joint space, the joint motion information of the fusion start point in the first trajectory in the joint space can be determined according to the first trajectory and the first fusion radius associated with the first trajectory, where the joint motion information is the position, posture, velocity and acceleration information of the fusion start point in the joint space. For example, the fusion start point is taken as the center, a set number of first trajectory points are obtained on both sides of the fusion start point in the first trajectory, and the fusion start point and the obtained first trajectory points are mapped into a Cartesian space, and a spline curve is fitted to the fusion start point and the first trajectory points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space. Finally, the Cartesian motion information of the fusion start point in the Cartesian space is determined according to the fitting curve, where the Cartesian motion information includes the position, posture, velocity and acceleration in the Cartesian space. Among them, the fitting of the spline curve may include, but is not limited to, quintic spline, B spline, and non-uniform rational B spline (NURBS), etc.

[0020] In one example, the start point of the first trajectory is A and the end point is B. If the first trajectory is a Cartesian trajectory in the Cartesian space, directly determine the Cartesian motion information of the fusion start point X in the Cartesian space according to the fusion radius associated with the first trajectory.

[0021] In another example, as shown in FIG. 1b, the start point of the first trajectory is A and the end point is B. When the first trajectory is a joint trajectory in the joint space, firstly determine the joint motion information of the fusion start point X in the joint space according to the fusion radius r associated with the first trajectory. For example, determine a set number of first trajectory points in the first trajectory with the fusion start point as the center, for example, determine the first trajectory points M1, N1 and P1, Q1 on both sides of the fusion start point in the first trajectory respectively. For example, the fusion start point X and the first trajectory points M1, N1, P1 and Q1 may be mapped into a Cartesian space, and a spline curve may be fitted to the trajectory points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space. Finally, determine the Cartesian motion information of the fusion start point X in the Cartesian space based on the fitting curve.

[0022] In S120, Cartesian motion information in the Cartesian space of the fusion end point is determined according to the second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius.

[0023] The second trajectory is a trajectory that is tangent to the first trajectory, i.e., the robot enters the second trajectory after the motion along the first trajectory is finished and continues to move along the second trajectory. Note that the location space of the first trajectory and the location space of the second trajectory are different. For example, the first trajectory is a joint trajectory in a joint space and the second trajectory is a Cartesian trajectory in a Cartesian space, or the first trajectory is a Cartesian trajectory in a Cartesian space and the second trajectory is a joint trajectory in a joint space.

[0024] In the embodiment of the present disclosure, in the process of planning a motion along the first trajectory, when it is detected that the motion planning has been performed to half of the first trajectory, the next trajectory adjacent to the first trajectory, i.e., the second trajectory, can be continuously obtained from the trajectory pool. To fuse the first trajectory and the second trajectory, the Cartesian motion information of the fusion end point in the second trajectory in the Cartesian space is determined according to the second trajectory and the first fusion radius.

[0025] For example, if the second trajectory is a Cartesian trajectory in a Cartesian space, the Cartesian motion information in the Cartesian space of the fusion end point can be directly determined according to the second trajectory and the first fusion radius, where the Cartesian motion information is the position, attitude, velocity and acceleration information in the Cartesian space of the fusion start point.

[0026] When the second trajectory is a joint trajectory in a joint space, first, according to the second trajectory and the first fusion radius, the joint motion information of the fusion end point in the joint space of the second trajectory can be determined, where the joint motion information is the position, posture, velocity and acceleration information of the fusion end point in the joint space. For example, the fusion end point is centered, a set number of second trajectory points are obtained in the second trajectory, the fusion end point and the obtained second trajectory points are mapped into a Cartesian space, and a spline curve is fitted to the fusion end point and the second trajectory points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space. Finally, according to the fitting curve, the Cartesian motion information of the fusion end point in the Cartesian space is determined, where the Cartesian motion information includes the position, posture, velocity and acceleration in the Cartesian space. Wherein, the fitting of the spline curve may include a quintic spline, a B spline, and a non-uniform rational B spline (NURBS), etc.

[0027] In one example, the start point of the second trajectory is B and the end point is C. If the second trajectory is a Cartesian trajectory in the Cartesian space, directly determine the Cartesian motion information of the fusion end point Y in the Cartesian space according to the first fusion radius.

[0028] In another example, as shown in FIG. 1c, the start point of the second trajectory is the end point B of the first trajectory, and the end point of the second trajectory is C. When the second trajectory is a joint trajectory in the joint space, firstly, the joint motion information of the fusion end point Y in the joint space is determined according to the first fusion radius. For example, the fusion end point is set as the center, and a set number of second trajectory points are determined in the second trajectory, for example, the second trajectory points M2, N2, P2, and Q2 are determined on both sides of the fusion end point in the second trajectory, respectively. For example, the fusion end point Y and the second trajectory points M2, N2, P2, and Q2 may be mapped into a Cartesian space, and a spline curve may be fitted to the trajectory points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space. Finally, the Cartesian motion information of the fusion end point Y in the Cartesian space is determined according to the obtained fitting curve.

[0029] In S130, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0030] In an embodiment of the present disclosure, after obtaining the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory according to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0031] For example, after obtaining the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, the first trajectory can be continued to be planned with the currently planned trajectory point in the first trajectory as the start point and the fusion start point as the end point. For example, after completing the planning of the first trajectory, that is, if the planning has already been performed up to the fusion stage of the first trajectory and the second trajectory, the trajectory of the fusion stage can be planned with the currently planned trajectory point (in the fusion stage) as the start point and the fusion end point as the end point until the planning of the trajectory of the fusion stage is completed. Of course, after the planning of the trajectory of the fusion stage between the first trajectory and the second trajectory is completed, the trajectory can be planned for the second trajectory to realize a stable transition between the first trajectory and the second trajectory of the robot.

[0032] The technical solution of the embodiment of the present application determines Cartesian motion information of the fusion start point in the Cartesian space according to the first trajectory and the first fusion radius associated with the first trajectory, and further determines Cartesian motion information of the fusion end point in the Cartesian space according to the second trajectory and the first fusion radius. Finally, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Both the fusion start point and the fusion end point are mapped in the Cartesian space, thereby avoiding the situation where the trajectories in different spaces cannot stably transition, and improving the stability of the robot's operation when passing through the transition point between the two trajectories.

[0033] 2 is a flow chart of a trajectory fusion method according to another embodiment of the present application, which is further subdivided based on the above embodiment and provides a step of determining Cartesian motion information in the Cartesian space of the fusion starting point according to a first trajectory and a first fusion radius associated with the first trajectory. Hereinafter, with reference to FIG. 2, a trajectory fusion method according to an embodiment of the present application will be described, which includes the following:

[0034] In S210, if the location space of the first trajectory is a joint space, joint motion information of the fusion start point in the joint space is determined according to the first trajectory and a first fusion radius associated with the first trajectory.

[0035] In the embodiment of the present disclosure, when the location space of the first trajectory is a joint space, firstly determine the joint motion information of the fusion starting point in the joint space according to the first trajectory and a first fusion radius associated with the first trajectory, where the fusion starting point is located on the first trajectory, and the linear distance from the fusion starting point to the first trajectory is equal to the first fusion radius, and the joint motion information of the fusion starting point includes the position, posture, velocity and acceleration information of the fusion starting point in the joint space.

[0036] In S220, a set number of first trajectory points are selected from the first trajectory with the fusion start point as the center.

[0037] In the embodiment of the present disclosure, to map the joint motion information of the fusion starting point into the Cartesian space and obtain the Cartesian motion information in the Cartesian space of the fusion starting point, firstly, the fusion starting point is taken as the center, and the first trajectory points of the setting data are respectively selected on both sides of the fusion starting point on the first trajectory.

[0038] For example, the first trajectory has a starting point A and an end point B, and the fusion starting point is a trajectory point X located on the first trajectory and close to the end point B. Taking the fusion starting point X as the center, five trajectory points are obtained along the XA direction and the XB direction on the first trajectory as the first trajectory points.

[0039] In S230, the fusion start points and the first locus points are mapped into a Cartesian space, and a spline curve is fitted to the fusion start points and the first locus points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space.

[0040] In this embodiment, the motion information of the fusion starting point is mapped into Cartesian space, the fusion starting point and a set number of first trajectory points are mapped into Cartesian space, and in order to obtain the position and orientation of the trajectory points in the Cartesian space, for example, a spline curve is fitted to the fusion starting point and the first trajectory points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space.

[0041] For example, the fusion start point X and the first trajectory points on both sides of the fusion start point X are mapped into a Cartesian space to obtain the position and orientation of the trajectory points in the Cartesian space. For example, the first trajectory points and the fusion start points are fitted by B-spline fitting to obtain a fitting curve in the Cartesian space.

[0042] In S240, Cartesian motion information in the Cartesian space of the fusion starting point is determined according to the fitting curve, including position, orientation, velocity and acceleration in the Cartesian space.

[0043] In this embodiment, the Cartesian motion information of the fusion starting point in the Cartesian space is determined according to the fitting curve, for example, the velocity and acceleration information of the fusion starting point in the Cartesian space can be calculated according to the fitting curve. Thus, the position, orientation, velocity and acceleration information of the fusion starting point in the Cartesian space are obtained.

[0044] In S250, Cartesian motion information in a Cartesian space of a fusion end point is determined according to the second trajectory and the first fusion radius.

[0045] In S260, a trajectory is planned for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0046] For example, in the trajectory planning process, the interpolation period in the trajectory planning process is adjusted according to speed control information input by the user.

[0047] In the embodiment of the present application, when the trajectory planning process enters the fusion stage of the first trajectory and the second trajectory, if the speed control information input by the user is received, the change in speed may cause the deformation of the trajectory in the fusion stage. At this time, it is necessary to adjust the interpolation period in the trajectory planning process of the fusion stage according to the speed control information input by the user to ensure the consistency of the path. For example, in the trajectory planning process of the fusion stage, the user can adjust the motion speed of the robot from 100% to 10%, and at this time, adjust the interpolation period to 1 / 10 of the original interpolation period.

[0048] For example, adjusting the interpolation period in the trajectory planning process in response to speed control information input by a user; The method includes adjusting an interpolation period of the trajectory planning process according to speed control information input by a user by adopting at least one of a nonlinear interpolation algorithm, a proportional-integral-derivative PID algorithm, and a mean value filtering algorithm.

[0049] In an embodiment of the present application, a method is provided for adjusting the interpolation period in the trajectory planning process according to the speed control information input by the user, by adopting a nonlinear interpolation algorithm, a PID algorithm or an average value filtering algorithm to adjust the interpolation period in the trajectory planning process according to the speed control information input by the user, so as to ensure that the consistency of the trajectory of the fusion stage is maintained when the user adjusts the speed.

[0050] For example, in the trajectory planning process of the fusion stage, the user adjusts the robot's movement speed from 100% to 10%, and at this time, the PID algorithm can adjust the interpolation period to 1 / 10 of the original interpolation period.

[0051] In the technical solution of the embodiment of the present application, when the location space of the first trajectory is the joint space, a fitting curve in the Cartesian space of the fusion start point is obtained by fitting a spline curve, and motion information in the Cartesian space of the fusion end point is obtained, and a trajectory is planned for the fusion stage between the first trajectory and the second trajectory according to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. By mapping the joint trajectory into the Cartesian space by the way of fitting a spline curve, the fusion of trajectories in different spaces of the robot is realized, while in the trajectory planning process, the interpolation period in the trajectory planning process is adjusted according to the speed control information input by the user, so as to avoid the change of the path caused by the speed adjustment.

[0052] 3 is a flow chart of a trajectory fusion method according to another embodiment of the present application, which is further subdivided based on the above embodiment and provides a step before planning a trajectory for the fusion stage between the first trajectory and the second trajectory, and a step of planning a trajectory for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Hereinafter, with reference to FIG. 3, a trajectory fusion method according to an embodiment of the present application will be described, which includes the following:

[0053] In S310, Cartesian motion information in a Cartesian space of the fusion starting point is determined according to the first trajectory and a first fusion radius associated with the first trajectory.

[0054] In S320, Cartesian motion information in a Cartesian space of a fusion end point is determined according to the second trajectory and the first fusion radius.

[0055] In S330, according to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, a look-ahead planning is performed for the fusion section to determine the velocities and accelerations of a plurality of fusion trajectory points in the fusion stage.

[0056] In this embodiment, in the trajectory planning process, in order to avoid the robot speed exceeding the upper speed limit, which may result in failure to execute the task or even damage to the robot, a look-ahead planning can be performed for the fusion section after obtaining the Cartesian motion information of the fusion start point and the fusion end point, so as to obtain the speeds and accelerations of multiple fusion trajectory points in the fusion stage.

[0057] The look-ahead planning refers to planning a trajectory once in advance before actually planning the trajectory of the fusion stage, in order to avoid the occurrence of a situation in which the speed exceeds the limit by directly planning the motion. For example, if the first trajectory and / or the second trajectory belong to the joint trajectory in the joint space, the look-ahead planning can be performed using a fifth-order polynomial, and if the first trajectory and the second trajectory are both Cartesian trajectories in the Cartesian space regardless of the joint space, the look-ahead planning can be performed using a method such as On-Line Trajectory Generation (OTG) trajectory planning or S-shaped trajectory planning.

[0058] In S340, when the velocity of at least one fusion trajectory point in the fusion stage reaches a velocity threshold and / or when the acceleration of at least one trajectory point reaches an acceleration threshold, a velocity scale factor is determined according to the velocity and acceleration.

[0059] Among them, the velocity scale factor is used to scale the velocity in the actual trajectory fusion process, so as to avoid the situation where the velocity exceeds the limit.

[0060] In this embodiment, in the process of performing pre-look-ahead planning for the fusion stage, if the velocity of at least one fusion trajectory point reaches a velocity threshold and / or the acceleration of at least one trajectory point reaches an acceleration threshold, a velocity scale factor can be determined according to the velocity and acceleration. For example, the velocity threshold is Vmax and the acceleration threshold is Amax. In the process of performing pre-look-ahead planning for the fusion stage, if the velocity v of one or more fusion trajectory points is greater than Vmax, they are called over-speed trajectory points, in which case the difference values ​​between the velocity v and Vmax of the multiple over-speed trajectory points can be calculated respectively, and the velocity scale factor can be determined according to the difference values. Exemplarily, the difference values ​​corresponding to the multiple over-speed trajectory points can be obtained, and the velocity scale factor can be calculated according to the largest difference value.

[0061] Similarly, in the process of performing pre-look-ahead planning for the fusion stage, if one or more fusion trajectory points have an acceleration a greater than Amax, they are called acceleration overrun trajectory points, in which case the difference values ​​between the acceleration a and Amax of the multiple acceleration overrun trajectory points can be calculated respectively, and the speed scale factor can be determined according to the difference values. For example, the difference values ​​corresponding to the multiple acceleration overrun trajectory points can be obtained, and the speed scale factor can be calculated according to the largest difference value.

[0062] In S350, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point, the Cartesian motion information of the fusion end point, and the velocity scale factor.

[0063] In this embodiment, after the velocity scale factor is calculated, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory according to the Cartesian motion information of the fusion start point, the Cartesian motion information of the fusion end point, and the velocity scale factor. For example, when planning a trajectory, the velocity of the planned trajectory point can be multiplied by the velocity scale factor to avoid the situation where the robot fails to perform the task due to the velocity exceeding the limit.

[0064] For example, planning a trajectory for a fusion stage between a first trajectory and a second trajectory includes, when a location space of at least one term of the first trajectory and the second trajectory is a joint space, employing a polynomial to plan a trajectory for a fusion stage between the first trajectory and the second trajectory.

[0065] In an embodiment of the present application, when the location space of at least one of the first and second trajectories is a joint space, a method for planning a trajectory for the fusion stage between the first and second trajectories is provided, which employs a polynomial to plan a trajectory for the fusion stage between the first and second trajectories. For example, a fifth-order polynomial is employed to plan the trajectory.

[0066] For example, planning a trajectory for a fusion stage between a first trajectory and a second trajectory further includes adopting online trajectory planning OTG to plan a trajectory for a fusion stage between the first trajectory and the second trajectory when the location spaces of the first trajectory and the second trajectory are both Cartesian spaces.

[0067] In an embodiment of the present application, when the location spaces of the first trajectory and the second trajectory are both Cartesian spaces, a method for planning a trajectory for the fusion stage between the first trajectory and the second trajectory is provided, in which OTG is adopted to plan a trajectory for the fusion stage between the first trajectory and the second trajectory.

[0068] The technical solution of the embodiment of the present application first performs pre-reading planning for the fusion path according to the Cartesian motion information of the fusion start point and the fusion end point, determines the speed and acceleration of multiple fusion trajectory points in the fusion stage, and further determines the Cartesian motion information of the fusion start point, the Cartesian motion information of the fusion end point and a speed scale factor, and performs trajectory planning for the fusion stage between the first trajectory and the second trajectory, thereby avoiding overspeeding of the speed of the fusion stage and improving the stability of the robot's motion.

[0069] FIG. 4 is a flow chart of a trajectory fusion method according to another embodiment of the present application. A specific flow of planning a trajectory includes:

[0070] In S401, a first trajectory is obtained in a trajectory pool, and a trajectory is planned for the first trajectory.

[0071] In S402, it is determined whether a first fusion radius is associated with the first trajectory, and based on the determination result that the first fusion radius is associated with the first trajectory, S403 is executed, and based on the determination result that the first fusion radius is not associated with the first trajectory, the execution of the trajectory planning operation for the first trajectory is continued.

[0072] In S403, the motion information of the fusion start point is calculated according to the first trajectory and the first fusion radius.

[0073] In S404, it is determined whether or not the first trajectory is in the joint space. Based on the determination result that the first trajectory is in the joint space, S405 is executed, and based on the determination result that the first trajectory is not in the joint space, S406 is executed.

[0074] In S405, a part of the first trajectory including the fusion start point is mapped into Cartesian space by spline fitting.

[0075] In S406, Cartesian motion information in the Cartesian space of the fusion start point is obtained.

[0076] In S407, it is determined whether the first trajectory has been planned more than halfway, and based on the determination result that the first trajectory has been planned more than halfway, S408 is executed, and based on the determination result that the first trajectory has not been planned more than halfway, the execution of the operation of determining whether the first trajectory has been planned more than halfway is continued.

[0077] In S408, a second trajectory is obtained from the trajectory pool, and motion information of the fusion end point is calculated according to the second trajectory and the first fusion radius.

[0078] In S409, it is determined whether or not the second trajectory is in the joint space. Based on the determination result that the second trajectory is in the joint space, S410 is executed, and based on the determination result that the second trajectory is not in the joint space, S411 is executed.

[0079] In S410, a portion of the second trajectory that includes the fusion end point is mapped into Cartesian space by fitting a spline.

[0080] In S411, Cartesian motion information in Cartesian space of the fusion end point is obtained.

[0081] In S412, a look-ahead plan is performed for the fusion stage according to the Cartesian motion information of the fusion start point and the fusion end point.

[0082] In S413, in the advance look-ahead planning process, it is determined whether the speed exceeds the limit, and if the speed exceeds the limit, S414 is executed, and if the speed does not exceed the limit, S415 is executed.

[0083] In S414, a speed scale factor is determined according to the overspeed information.

[0084] In S415, trajectory planning is performed for the remaining part of the first trajectory according to the velocity scale factor and the Cartesian motion information of the fusion start point (if there is no overspeed, the velocity scale factor is set to 1).

[0085] In S416, it is determined whether or not S415 has been executed successfully. If S415 has been executed successfully, S417 is executed. If S415 has not been executed successfully, the fusion of the trajectories is cancelled.

[0086] In S417, execution of the current trajectory plan continues.

[0087] In S418, it is determined whether or not the fusion stage has been entered. If the fusion stage has been entered, S419 is executed. If the fusion stage has not been entered, S417 is continued.

[0088] In S419, the trajectory of the fusion stage is planned according to the Cartesian motion information of the currently planned trajectory point and the Cartesian motion information of the fusion end point.

[0089] At S420, in response to a user's control of the speed adjustment in the fusion stage, a PID algorithm is employed to adjust the interpolation period.

[0090] In S421, it is determined whether the trajectory planning process has left the fusion stage, and if the trajectory planning process has left the fusion stage, S422 is executed, and if the trajectory planning process has not left the fusion stage, the execution returns to S419.

[0091] In S422, the second trajectory is set as a new first trajectory, the currently planned trajectory point is set as the start point, and the end point of the new first trajectory is set as the end point, and a trajectory is planned for the new first trajectory, and the execution returns to S402.

[0092] The technical solution of the embodiment of the present application determines Cartesian motion information of the fusion start point in the Cartesian space according to the first trajectory and the first fusion radius associated with the first trajectory, and further determines Cartesian motion information of the fusion end point in the Cartesian space according to the second trajectory and the first fusion radius. Finally, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Both the fusion start point and the fusion end point are mapped in the Cartesian space, thereby avoiding the situation where the trajectories in different spaces cannot stably transition, and improving the stability of the robot's operation when passing through the transition point between the two trajectories.

[0093] FIG. 5 is a structural schematic diagram of a trajectory fusion device according to an embodiment of the present application. This embodiment is applicable to trajectory fusion of robot trajectories, and is particularly suitable for trajectory fusion of trajectories in different spaces. The trajectory fusion device can be realized in the form of hardware and / or software, and can be integrated into an electronic device equipped with a trajectory fusion function, such as a server. As shown in FIG. 5, the device includes: a first motion information determination module 510 configured to determine Cartesian motion information in a Cartesian space of a fusion start point according to the first trajectory and a first fusion radius associated with the first trajectory; A second motion information determining module 520 configured to determine Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; and a fusion stage trajectory planning module 530 configured to perform trajectory planning for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point.

[0094] The technical solution of the embodiment of the present application determines Cartesian motion information of the fusion start point in the Cartesian space according to the first trajectory and the first fusion radius associated with the first trajectory, and further determines Cartesian motion information of the fusion end point in the Cartesian space according to the second trajectory and the first fusion radius. Finally, a trajectory is planned for the fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Both the fusion start point and the fusion end point are mapped in the Cartesian space, thereby avoiding the situation where the trajectories in different spaces cannot stably transition, and improving the stability of the robot's operation when passing through the transition point between the two trajectories.

[0095] For example, the first exercise information determining module 510 may: When the location space of the first trajectory is a joint space, determine joint motion information of a fusion start point in the joint space according to the first trajectory and a first fusion radius associated with the first trajectory; Selecting a set number of first trajectory points from the first trajectory with the fusion start point as a center; Mapping the fusion start points and the first locus points into a Cartesian space, fitting a spline curve to the fusion start points and the first locus points mapped into the Cartesian space, and obtaining a fitting curve in the Cartesian space; and determining Cartesian motion information in a Cartesian space of the fusion start point, including a position, orientation, velocity and acceleration in the Cartesian space, according to the fitting curve.

[0096] For example, the trajectory fusion device a look-ahead planning module configured to perform look-ahead planning for the fusion section according to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, and determine velocities and accelerations of a plurality of fusion trajectory points in the fusion stage; a velocity scale factor determination module configured to determine a velocity scale factor as a function of the velocity and acceleration of at least one fusion trajectory point in the fusion stage when the velocity and acceleration of at least one fusion trajectory point in the fusion stage reach a velocity threshold and / or an acceleration threshold, The fusion stage trajectory planning module 530 includes: The apparatus is configured to perform trajectory planning for a fusion stage between the first trajectory and the second trajectory based on the fusion start Cartesian motion information, the fusion end Cartesian motion information and the velocity scale factor.

[0097] For example, the trajectory fusion device The apparatus further comprises an interpolation period adjusting module configured to adjust an interpolation period in the trajectory planning process according to speed control information input by a user in the trajectory planning process.

[0098] For example, the interpolation period adjustment module may include: According to the speed control information input by the user, at least one of a nonlinear interpolation algorithm, a proportional-integral-derivative PID algorithm and a mean value filtering algorithm is adopted to adjust the interpolation period of the trajectory planning process.

[0099] For example, the fusion stage trajectory planning module 530 may further include: When the location space of at least one of the first and second trajectories is a joint space, a polynomial is adopted to perform trajectory planning for a fusion stage between the first and second trajectories.

[0100] For example, the fusion stage trajectory planning module 530 may further include: When the location spaces of the first trajectory and the second trajectory are both Cartesian spaces, an online trajectory planning OTG is adopted to perform trajectory planning for the fusion stage between the first trajectory and the second trajectory.

[0101] The trajectory fusion device according to the embodiment of the present application can execute the trajectory fusion method according to any embodiment of the present application, and has corresponding functional modules and beneficial effects for executing the method.

[0102] 6 shows a structural schematic diagram of an electronic device 10 that can be used to implement embodiments of the present application. The electronic device is intended to represent various types of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can further represent various types of mobile devices, such as personal digital processing, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components, their connections and relationships, and their functions shown herein are merely exemplary and are not intended to limit the implementation of the present application as described and / or claimed herein.

[0103] As shown in Fig. 6, the electronic device 10 includes at least one processor 11 and a memory communicatively connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., in which a computer program executable by the at least one processor is stored in the memory, and the processor 11 can perform various appropriate operations and processes according to the computer program stored in the read-only memory (ROM) 12 or loaded from the storage unit 18 into the random access memory (RAM) 13. The RAM 13 can also store various programs and data required for the operation of the electronic device 10. The processor 11, the ROM 12, and the RAM 13 are connected to each other by a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.

[0104] The I / O interface 15 connects to several components of the electronic device 10, including an input unit 16, e.g. a keyboard, a mouse, etc., an output unit 17, e.g. various types of displays, speakers, etc., a storage unit 18, e.g. a magnetic disk, an optical disk, etc., and a communication unit 19, e.g. a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 enables the electronic device 10 to exchange information / data with other devices, e.g. via a computer network of the Internet and / or various telecommunication networks.

[0105] The processor 11 may be a general-purpose and / or special-purpose processing component having various processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphic processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various processors that execute algorithms of machine learning models, digital signal processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 executes the methods and processes described above, such as the trajectory fusion method.

[0106] In some embodiments, the trajectory fusion method can be implemented as a computer program, which is tangibly included in a computer-readable storage medium, such as the storage unit 18. In some embodiments, the computer program can be partially or completely loaded and / or installed in the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, it can perform one or more steps of the trajectory fusion method described above. Alternatively, in other embodiments, the processor 11 is configured to perform the trajectory fusion method in any other suitable manner (e.g., by firmware).

[0107] Various embodiments of the systems and techniques described herein may be implemented in digital electronic circuitry systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific general purpose packages (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include being embodied in one or more computer programs that can be executed and / or interpreted by a programmable system including at least one programmable processor, which may be a special purpose or general purpose programmable processor that can receive data and instructions from a memory system, at least one input device, and at least one output device, and transmit data and instructions to the memory system, the at least one input device, and the at least one output device.

[0108] Computer programs for implementing the methods of the present application may be written employing any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, a special purpose computer or other programmable data processing apparatus, such that, when the computer programs are executed by the processor, the functions / operations specified in the flowcharts and / or block diagrams are performed. The computer programs may be executed entirely on the device, partially on the device, as a separate software package, partially on the device and partially on a remote device, or entirely on a remote device or server.

[0109] In the context of this application, a computer-readable storage medium may be a tangible medium that can contain or store a computer program for use in or in combination with an instruction execution system, device, or apparatus. A computer-readable storage medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or apparatus, or any suitable combination of the above. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include an electrical connection by one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical memory device, a magnetic memory device, or any suitable combination of the above.

[0110] To provide interaction with a user, the systems and techniques described herein can be implemented in an electronic device having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user, and a keyboard and pointing device (e.g., a mouse or trackball) by which a user can provide input to the electronic device. Other types of devices can be used to provide interaction with a user, for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or haptic feedback), and input from the user can be received in any form (including sound input, speech input, or tactile input).

[0111] The systems and techniques described herein may be implemented in a computing system that includes background components (e.g., as a data server), or in a computing system that includes middleware components (such as an application server), or in a computing system that includes a front-end component (a user computer having a graphical user interface or network browser through which a user can interact with embodiments of the systems and techniques described herein), or in a computing system that includes any combination of such background components, middleware components, or front-end components. The components of the system may be connected to each other by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.

[0112] The computer system may include a client terminal and a server. The client terminal and the server are generally remote from each other and usually interact with each other via a communication network. The relationship between the client terminal and the server is established by a computer program running on a corresponding computer and having a client terminal-server relationship with each other. The server may be a cloud server, also called a cloud computing server or cloud host, which is a hosting product in a cloud computing service system, to avoid the difficult management and weak business deployment that exist in traditional physical host and VPS services.

[0113] It should be understood that the various types of flows shown above can be used, and steps can be rearranged, added, or removed. For example, the steps described herein can be performed in parallel, sequentially, or in a different order, and are not limited thereto, as long as the desired results of the technical solution of the present application can be achieved.

Claims

1. determining Cartesian motion information in a Cartesian space of a fusion start point according to a first trajectory and a first fusion radius associated with the first trajectory; determining Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; and planning a trajectory for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Trajectory fusion method.

2. Determining Cartesian motion information in a Cartesian space of a fusion starting point according to a first trajectory and a first fusion radius associated with the first trajectory includes: In response to determining that the location space of the first trajectory is a joint space, determining joint motion information in the joint space of a fusion start point according to the first trajectory and a first fusion radius associated with the first trajectory; selecting a set number of first trajectory points from the first trajectory centered on the fusion start point; Mapping the fusion start points and the first locus points into a Cartesian space, and fitting a spline curve to the fusion start points and the first locus points mapped into the Cartesian space to obtain a fitting curve in the Cartesian space; determining Cartesian motion information in a Cartesian space of the fusion start point according to the fitting curve, the Cartesian motion information including a position, orientation, velocity and acceleration in the Cartesian space; The method of claim 1.

3. Prior to performing trajectory planning for a fusion stage between the first trajectory and the second trajectory, According to the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, perform a look-ahead planning for the fusion section to determine the velocities and accelerations of a plurality of fusion trajectory points in the fusion stage; and in response to determining at least one of a velocity of at least one fusion trajectory point in the fusion stage reaching a velocity threshold and an acceleration of at least one trajectory point reaching an acceleration threshold, determining a velocity scale factor as a function of the velocity and acceleration; The step of planning a trajectory for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point includes: and planning a trajectory for a fusion stage between the first trajectory and the second trajectory based on the fusion start Cartesian motion information, the fusion end Cartesian motion information, and the velocity scale factor. The method of claim 1.

4. The method further includes adjusting an interpolation period in the trajectory planning process according to speed control information input by a user in the trajectory planning process. The method of claim 1.

5. The above-mentioned method of adjusting the interpolation period in the trajectory planning process according to the speed control information input by the user includes: and adjusting an interpolation period of the trajectory planning process according to speed control information input by a user by adopting at least one of a nonlinear interpolation algorithm, a proportional integral derivative (PID) algorithm, and a mean value filtering algorithm. The method according to claim 4.

6. The step of planning a trajectory for a fusion stage between the first trajectory and the second trajectory includes: and in response to determining that a location space of at least one of the first and second trajectories is a joint space, employing a polynomial to perform trajectory planning for a fusion stage between the first and second trajectories. The method of claim 1.

7. The step of planning a trajectory for a fusion stage between the first trajectory and the second trajectory includes: and, in response to determining that the location spaces of the first trajectory and the second trajectory are respectively Cartesian spaces, employing an online trajectory planning (OTG) to plan a trajectory for a fusion stage between the first trajectory and the second trajectory. The method of claim 1.

8. a first motion information determining module configured to determine Cartesian motion information in a Cartesian space of the fusion start point according to the first trajectory and a first fusion radius associated with the first trajectory; a second motion information determining module configured to determine Cartesian motion information in a Cartesian space of a fusion end point according to a second trajectory, the location space of which is different from the location space of the first trajectory, and the first fusion radius; a fusion stage trajectory planning module configured to perform trajectory planning for a fusion stage between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point. Trajectory fusion device.

9. At least one processor; a memory communicatively coupled to the at least one processor; The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor such that the at least one processor can execute the trajectory fusion method according to any one of claims 1 to 7. electronic equipment.

10. A computer program storing computer instructions configured, when executed by a processor, to implement the trajectory fusion method according to any one of claims 1 to 7. A computer-readable storage medium.

Citation Information

Patent Citations

  • Locus interpolating device for industrial robot

    JP1987084304A

  • System for controlling locus of robot

    JP1988142405A

  • Robot control system, robot, robot control method, and program

    JP2014161918A

  • Method and apparatus for path planning, selection, and visualization

    US20100241289A1

  • Computer-assisted ascertainment of a movement of an apparatus

    US20220063101A1