WO2023173677A1 - Trajectory fusion method and apparatus, and device and storage medium - Google Patents

Trajectory fusion method and apparatus, and device and storage medium Download PDF

Info

Publication number
WO2023173677A1
WO2023173677A1 PCT/CN2022/113053 CN2022113053W WO2023173677A1 WO 2023173677 A1 WO2023173677 A1 WO 2023173677A1 CN 2022113053 W CN2022113053 W CN 2022113053W WO 2023173677 A1 WO2023173677 A1 WO 2023173677A1
Authority
WO
WIPO (PCT)
Prior art keywords
trajectory
fusion
cartesian
motion information
space
Prior art date
Application number
PCT/CN2022/113053
Other languages
French (fr)
Chinese (zh)
Inventor
杨跞
杨锋
汪宇星
李法设
Original Assignee
中科新松有限公司
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 中科新松有限公司 filed Critical 中科新松有限公司
Publication of WO2023173677A1 publication Critical patent/WO2023173677A1/en

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

Definitions

  • This application relates to the field of robot motion control technology, for example, to a trajectory fusion method, device, equipment and storage medium.
  • This application provides a trajectory fusion method, device, equipment and storage medium to improve the stability of the robot's operation when passing through the transition point between two trajectories.
  • the second trajectory and the first fusion radius determine the Cartesian motion information of the fusion end point in the Cartesian space; the space where the first trajectory is located and the space where the second trajectory is located are different;
  • a trajectory fusion device including:
  • the fusion segment trajectory planning module is configured to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
  • an electronic device including:
  • the memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor, so that the at least one processor can execute the method described in any embodiment of the present application. Trajectory fusion method.
  • Figure 1b is a schematic diagram of Cartesian motion information for determining the starting point of fusion provided according to an embodiment of the present application
  • Figure 1c is a schematic diagram of Cartesian motion information for determining the fusion endpoint provided according to an embodiment of the present application
  • Figure 3 is a flow chart of a trajectory fusion method provided according to another embodiment of the present application.
  • Figure 4 is a flow chart of a trajectory fusion method provided according to another embodiment of the present application.
  • Figure 1a is a flow chart of a trajectory fusion method provided by an embodiment of the present application. This embodiment can be applied to trajectory fusion of trajectories in different spaces. This method can be executed by a trajectory fusion device.
  • the trajectory fusion device It can be implemented in the form of hardware and/or software, and the trajectory fusion device can be configured in a variety of general computing devices. As shown in Figure 1a, the method includes:
  • the user In order to control the robot to move along the trajectory desired by the user, the user needs to input one or more trajectories in advance to form a trajectory pool.
  • the trajectory planner will sequentially take out trajectories from the trajectory pool for speed planning according to the trajectory execution sequence, so that the robot moves along the trajectory pre-inputted by the user.
  • the robot needs to move along multiple trajectories in sequence.
  • the speed or acceleration In the transition section between the two trajectories, the speed or acceleration is prone to be unstable, which in turn causes the path of the transition section to be non-unique and affects The robot works normally.
  • the first trajectory is the trajectory that the robot needs to run input by the user.
  • the fusion radius associated with the first trajectory is used to determine the fusion segment between the first trajectory and a subsequent trajectory (second trajectory) adjacent to the first trajectory.
  • Cartesian motion information refers to posture, velocity and acceleration information in Cartesian space.
  • the motion information can be uniformly mapped to the Cartesian space to achieve trajectory fusion in different spaces.
  • the trajectory planner will perform motion planning on the first trajectory, and at the same time determine whether the trajectory pool contains the first fusion radius associated with the first trajectory. If the trajectory pool does not contain the first fusion radius associated with the first trajectory, it means that the first trajectory does not need to be fused with other trajectories and only needs to continue motion planning for the first trajectory.
  • the Cartesian motion information of the fusion starting point in the Cartesian space can be determined directly based on the first trajectory and the first fusion radius associated with the first trajectory, where, Cartesian motion information is the fusion of the position, velocity and acceleration information of the starting point in Cartesian space.
  • the joint motion information of the fusion starting point in the joint space can be determined in the first trajectory based on the first trajectory and the first fusion radius associated with the first trajectory, where the joint
  • the motion information is the pose, velocity and acceleration information of the fusion starting point in the joint space.
  • a set number of first trajectory points are obtained on both sides of the fusion starting point in the first trajectory, the fusion starting point and the acquired first trajectory points are mapped to Cartesian space, and The fusion starting point and the first trajectory point mapped to the Cartesian space are fitted with a spline curve to obtain a fitting curve in the Cartesian space.
  • Cartesian motion information of the fusion starting point in Cartesian space is determined, where the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
  • spline curve fitting can include but is not limited to quintic spline, B-spline, non-uniform relational B-spline (Non Uniform Relational B Spline, NURBS), etc.
  • the starting point of the first trajectory is A and the end point is B.
  • the second trajectory is the subsequent trajectory connected to the first trajectory, that is, after the robot finishes moving along the first trajectory, it enters the second trajectory and continues to move along the second trajectory.
  • the space where the first trajectory is located is different from the space where the second trajectory is located.
  • the first trajectory is a joint trajectory in joint space
  • the second trajectory is a Cartesian trajectory in Cartesian space.
  • the first trajectory is a Cartesian trajectory in Cartesian space
  • the second trajectory is in joint space. joint trajectories.
  • the next trajectory adjacent to the first trajectory can be obtained from the trajectory pool. That is the second trajectory.
  • Cartesian motion information of the fusion end point in Cartesian space is determined on the second trajectory based on the second trajectory and the first fusion radius.
  • Cartesian motion information of the fusion endpoint in Cartesian space is determined, where the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
  • spline curve fitting can include quintic spline, B-spline, and Non-Uniform Relational B-Spline (NURBS), etc.
  • the starting point of the second trajectory is B and the end point is C.
  • the Cartesian motion information of the fusion end point Y in the Cartesian space is determined directly based on the first fusion radius.
  • the starting point of the second trajectory is the end point B of the first trajectory, and the end point of the second trajectory is C.
  • the second trajectory is a joint trajectory in the joint space
  • second trajectory points M2, N2, P2, and Q2 are respectively determined on both sides of the fusion endpoint in the second trajectory.
  • the fusion end point Y and the second trajectory points M2, N2, P2 and Q2 can be mapped to the Cartesian space, and the above trajectory points mapped to the Cartesian space can be fitted with a spline curve to obtain a fitting of the Cartesian space. curve. Finally, and the obtained fitting curve, the Cartesian motion information of the fusion end point Y in Cartesian space is determined.
  • the planning of the first trajectory can be continued with the currently planned trajectory point in the first trajectory as the starting point and the fusion starting point as the end point.
  • the planning of the first trajectory that is, when the planning has reached the fusion section of the first trajectory and the second trajectory, you can continue to use the currently planned trajectory point (in the fusion section) as the starting point and the fusion end point as the end point, Carry out trajectory planning for the fusion segment until the trajectory planning for the fusion segment is completed.
  • trajectory planning of the second trajectory can be continued to achieve a smooth transition of the robot between the first trajectory and the second trajectory.
  • the technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius.
  • the Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information.
  • the fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
  • Figure 2 is a flow chart of a trajectory fusion method provided by another embodiment of the present application. Based on the above embodiment, it is further refined and provides a method to determine the fusion based on the first trajectory and the first fusion radius associated with the first trajectory. Steps of Cartesian motion information starting in Cartesian space.
  • a trajectory fusion method provided by the embodiment of the present application will be described below with reference to Figure 2, including the following:
  • the joint motion information of the fusion starting point in the joint space is first determined based on the first trajectory and the first fusion radius associated with the first trajectory. Wherein, the fusion starting point is located on the first trajectory, and the straight-line distance between the fusion starting point and the first trajectory is equal to the first fusion radius.
  • the joint motion information of the fusion starting point includes the pose, velocity and acceleration information of the fusion starting point in the joint space.
  • the Cartesian motion information of the fusion starting point in the Cartesian space is obtained. First, with the fusion starting point as the center, select the first trajectory points of the set data on both sides of the fusion starting point in the first trajectory.
  • the starting point of the first trajectory is A and the end point is B
  • the fusion starting point is the trajectory point X located on the first trajectory and close to the end point B.
  • five trajectory points are obtained along the XA direction and the XB direction in the first trajectory as the first trajectory points.
  • the fusion starting point and a set number of first trajectory points are mapped to the Cartesian space to obtain the pose of the trajectory points in the Cartesian space. For example, perform spline fitting on the fusion starting point and the first trajectory point mapped to Cartesian space to obtain a fitting curve in Cartesian space.
  • map the first trajectory point and the fusion starting point are fitted to obtain a fitting curve in Cartesian space.
  • the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
  • the Cartesian motion information of the fusion starting point in the Cartesian space is determined. For example, based on the fitting curve, the velocity and acceleration information of the fusion starting point in the Cartesian space can be calculated. At this point, the pose, velocity and acceleration information of the fusion starting point in Cartesian space have been obtained.
  • the interpolation period in the trajectory planning process is adjusted based on the speed control information input by the user.
  • the trajectory planning process when the trajectory planning process enters the fusion section of the first trajectory and the second trajectory, if the speed control information input by the user is received, the trajectory of the fusion section may be deformed due to changes in speed.
  • the interpolation period during the trajectory planning process of the fusion segment needs to be adjusted based on the speed control information input by the user to ensure path consistency. For example, during the fusion segment trajectory planning process, the user adjusts the robot movement speed from 100% to 10%. At this time, the interpolation period can be adjusted to 1/10 of the original interpolation period.
  • adjusting the interpolation period in the trajectory planning process based on the speed control information input by the user includes:
  • At least one of the nonlinear interpolation algorithm, the proportional integral differential PID algorithm and the mean filter algorithm is used to adjust the interpolation period of the trajectory planning process.
  • a method of adjusting the interpolation period in the trajectory planning process based on the speed control information input by the user is provided: based on the speed control information input by the user, a nonlinear interpolation algorithm, a PID algorithm or a mean filter algorithm is used to adjust The interpolation period of the trajectory planning process is to ensure that the consistency of the fusion segment trajectory is maintained when the user adjusts the speed.
  • the user adjusts the robot movement speed from 100% to 10%.
  • the interpolation period can be adjusted to 1/10 of the original interpolation period through the PID algorithm.
  • the technical solution of the embodiment of the present application is to obtain the fitting curve of the fusion starting point in Cartesian space through spline curve fitting when the space where the first trajectory is located is joint space, and obtain the motion of the fusion end point in Cartesian space.
  • information performing trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
  • the joint trajectories are mapped to Cartesian space through spline curve fitting, allowing the robot to fuse trajectories in different spaces.
  • the trajectory planning process the trajectory is adjusted based on the speed control information input by the user.
  • the interpolation cycle in the planning process can avoid path changes caused by speed adjustment.
  • Figure 3 is a flow chart of a trajectory fusion method provided by another embodiment of the present application. Based on the above embodiment, it is further refined to provide trajectory planning for the fusion segment between the first trajectory and the second trajectory. Previously and based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, the step of trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory.
  • a trajectory fusion method provided by the embodiment of the present application will be described below with reference to Figure 3, including the following:
  • pre-planning of the fusion road section can be performed after obtaining the Cartesian motion information of the fusion start point and the fusion end point. , to obtain the velocity and acceleration of multiple fusion trajectory points in the fusion segment.
  • Pre-forward planning means that before actually planning the trajectory of the fusion segment, in order to avoid speed exceeding the limit in direct motion planning, a trajectory planning is performed first. For example, if the first trajectory and/or the second trajectory belong to joint trajectories in joint space, you can use a fifth degree polynomial for pre-forward planning; if the first trajectory and the second trajectory do not involve joint space, they are both in Cartesian space. For Cartesian trajectories, you can use online trajectory planning (On-Line Trajectory Generation, OTG) trajectory planning or S-shaped trajectory planning for pre-forward planning.
  • OTG On-Line Trajectory Generation
  • the speed scaling factor is used to scale the speed during the actual trajectory fusion process to avoid speed exceeding the limit.
  • the speed scaling can be determined based on the speed and acceleration. factor.
  • the velocity threshold is Vmax and the acceleration threshold is Amax.
  • the speed v of one or more fusion trajectory points is greater than Vmax, which is called an overspeed trajectory point.
  • the difference between the speed v and Vmax of multiple overspeed trajectory points can be calculated separately, and based on the difference The value determines the speed scaling factor. For example, the difference values corresponding to multiple speeding trajectory points can be obtained, and the speed scaling factor can be calculated based on the maximum difference value.
  • S350 Perform trajectory planning for the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
  • trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
  • the planned trajectory point speed can be multiplied by the speed scaling factor to avoid robot task execution failure due to speed exceeding the limit.
  • trajectory planning for the fusion segment between the first trajectory and the second trajectory includes: when at least one of the first trajectory and the second trajectory is located in a joint space, using a polynomial to calculate the sum of the first trajectory and the second trajectory.
  • the fusion segment between the second trajectories is used for trajectory planning.
  • a method of trajectory planning for the fusion segment between the first trajectory and the second trajectory is provided: when the space where at least one of the first trajectory and the second trajectory is located is the joint space, A polynomial is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory. As an example, a fifth-order polynomial is used for trajectory planning.
  • trajectory planning for the fusion segment between the first trajectory and the second trajectory also includes: when the spaces where the first trajectory and the second trajectory are located are both Cartesian spaces, using online trajectory planning OTG to map the first trajectory Trajectory planning is performed on the fusion segment between the second trajectory and the second trajectory.
  • a method of trajectory planning for the fusion segment between the first trajectory and the second trajectory is provided: when the spaces where the first trajectory and the second trajectory are located are both Cartesian spaces, OTG is used to Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory.
  • the technical solution of the embodiment of the present application first performs forward planning on the fusion path based on the Cartesian motion information of the fusion starting point and the fusion end point, determines the speed and acceleration of multiple fusion trajectory points in the fusion segment, and then fuses the Cartesian motion information of the starting point. , fuse the Cartesian motion information of the end point and the speed scaling factor, and perform trajectory planning for the fusion segment between the first trajectory and the second trajectory, which can avoid excessive speed in the fusion segment and improve the stability of the robot's motion.
  • Figure 4 is a flow chart of a trajectory fusion method provided by another embodiment of the present application.
  • the specific trajectory planning process includes the following:
  • S402. Determine whether the first trajectory is associated with the first fusion radius. Based on the determination result that the first trajectory is associated with the first fusion radius, execute S403. Based on the determination result that the first trajectory is not associated with the first fusion radius, continue to execute the The first trajectory performs trajectory planning operations.
  • S404 Determine whether the first trajectory is in the joint space. Based on the determination result that the first trajectory is in the joint space, execute S405. Based on the determination result that the first trajectory is not in the joint space, execute S406.
  • S407. Determine whether the first trajectory is more than half planned. Based on the determination result that the first trajectory is more than half planned, execute S408. Based on the determination result that the first trajectory is not planned more than half way, continue to perform the operation of determining whether the first trajectory is more than half planned.
  • S408 Obtain the second trajectory from the trajectory pool, and calculate the motion information of the fusion end point according to the second trajectory and the first fusion radius.
  • S409 Determine whether the second trajectory is in the joint space. Based on the determination result that the second trajectory is in the joint space, execute S410. Based on the determination result that the second trajectory is not in the joint space, execute S411.
  • S416 Determine whether S415 is executed successfully. Based on the judgment result that S415 is executed successfully, execute S417. Based on the judgment result that S415 is not executed successfully, cancel the trajectory fusion.
  • S418 Determine whether to enter the fusion segment. Based on the judgment result of entering the fusion segment, execute S419. Based on the judgment result of not entering the fusion segment, continue to execute S417.
  • the technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius.
  • the Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information.
  • the fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
  • FIG. 5 is a schematic structural diagram of a trajectory fusion device provided by an embodiment of the present application. This embodiment can be applied to the case of trajectory fusion of robot trajectories, especially to the case of trajectory fusion of trajectories in different spaces.
  • the trajectory fusion device can be implemented in the form of hardware and/or software, and can be integrated into an electronic device carrying the trajectory fusion function, such as a server. As shown in Figure 5, the device includes:
  • the first motion information determination module 510 is configured to determine the Cartesian motion information with the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory;
  • the second motion information determination module 520 is configured to determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius; the space where the first trajectory is located is different from the space where the second trajectory is located;
  • the fusion segment trajectory planning module 530 is configured to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
  • the technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius.
  • the Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information.
  • the fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
  • the first motion information determination module 510 is set to:
  • the space where the first trajectory is located is a joint space
  • the Cartesian motion information of the fusion starting point in the Cartesian space is determined; the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
  • trajectory fusion devices also include:
  • a pre-forward planning module is configured to perform pre-forward planning on the fusion road section based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and determine the location of multiple fusion trajectory points in the fusion section. speed and acceleration;
  • a speed scaling factor determination module configured to determine speed scaling based on the speed and acceleration when the speed of at least one fused trajectory point in the fusion segment reaches a speed threshold and/or the acceleration of at least one trajectory point reaches an acceleration threshold. factor;
  • the fusion segment trajectory planning module 530 is set to:
  • Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
  • trajectory fusion devices also include:
  • the interpolation cycle adjustment module is set to adjust the interpolation cycle during the trajectory planning process based on the speed control information input by the user.
  • the interpolation cycle adjustment module is set to:
  • At least one of the nonlinear interpolation algorithm, the proportional integral differential PID algorithm and the mean filter algorithm is used to adjust the interpolation period of the trajectory planning process.
  • the fusion segment trajectory planning module 530 is also set to:
  • a polynomial is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory.
  • the fusion segment trajectory planning module 530 is also set to:
  • online trajectory planning OTG is used to perform trajectory planning on the fusion section between the first trajectory and the second trajectory.
  • the trajectory fusion device provided by the embodiments of this application can execute the trajectory fusion method provided by any embodiment of this application, and has functional modules and beneficial effects corresponding to the execution method.
  • FIG. 6 shows a schematic structural diagram of an electronic device 10 that can be used to implement embodiments of the present application.
  • Electronic devices are intended to refer to various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers.
  • Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (eg, helmets, glasses, watches, etc.), and other similar computing devices.
  • the components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit the implementation of the present application as described and/or claimed herein.
  • 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., wherein the memory stores There is a computer program that can be executed by at least one processor.
  • the processor 11 can perform the operation 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. Performs a variety of appropriate actions and processes.
  • RAM 13 various programs and data required for the operation of the electronic device 10 can also be stored.
  • the processor 11, the ROM 12 and the RAM 13 are connected to each other via the bus 14.
  • An input/output (I/O) interface 15 is also connected to bus 14 .
  • the I/O interface 15 Multiple components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc. etc.; and communication unit 19, such as network card, modem, wireless communication transceiver, etc.
  • the communication unit 19 allows the electronic device 10 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunications networks.
  • Processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc.
  • CPU central processing unit
  • GPU graphics processing unit
  • AI artificial intelligence
  • DSP digital signal processing processor
  • the processor 11 performs a plurality of methods and processes described above, such as trajectory fusion methods.
  • the trajectory fusion method may be implemented as a computer program, which is tangibly embodied in a computer-readable storage medium, such as the storage unit 18 .
  • part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19.
  • the processor 11 may be configured to perform the trajectory fusion method in any other suitable manner (eg, by means of firmware).
  • Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip implemented in a system (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof.
  • FPGAs field programmable gate arrays
  • ASICs application specific integrated circuits
  • ASSPs application specific standard products
  • SOC system
  • CPLD complex programmable logic device
  • computer hardware firmware, software, and/or combinations thereof.
  • These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor
  • the processor which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • An output device may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
  • Computer programs for implementing the methods of the present application may be written in 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 device, such that the computer program, when executed by the processor, causes the functions/operations specified in the flowcharts and/or block diagrams to be implemented.
  • a computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
  • a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device.
  • Computer-readable storage media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing.
  • the computer-readable storage medium may be a machine-readable signal medium.
  • machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM portable compact disk read-only memory
  • magnetic storage device or any suitable combination of the above.
  • the systems and techniques described herein may be implemented on an electronic device having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display)) for displaying information to the user monitor); and a keyboard and pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device.
  • a display device eg, a CRT (cathode ray tube) or LCD (liquid crystal display)
  • a keyboard and pointing device e.g., a mouse or a trackball
  • Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including Acoustic input, voice input or tactile input) to receive input from the user.
  • the systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system.
  • the components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.
  • Computing systems may include clients and servers.
  • Clients and servers are generally remote from each other and typically interact over a communications network.
  • the relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other.
  • the server can be a cloud server, also known as a cloud computing server or cloud host. It is a host product in the cloud computing service system, which avoids the difficult management and weak business scalability of traditional physical hosts and VPS services. Condition.

Abstract

Disclosed in the present application are a trajectory fusion method and apparatus, and a device and a storage medium. The method comprises: according to a first trajectory and a first fusion radius associated with the first trajectory, determining Cartesian motion information of a fusion start point in a Cartesian space; according to a second trajectory and the first fusion radius, determining Cartesian motion information of a fusion end point in the Cartesian space, wherein a space where the first trajectory is located is different from a space where the second trajectory is located; and on the basis of the Cartesian motion information of the fusion start point and the Cartesian motion information of the fusion end point, performing trajectory planning on a fusion section between the first trajectory and the second trajectory.

Description

轨迹融合方法、装置、设备及存储介质Trajectory fusion method, device, equipment and storage medium
本申请要求在2022年3月18日提交中国专利局、申请号为202210270671.4的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。This application claims priority to the Chinese patent application with application number 202210270671.4, which was submitted to the China Patent Office on March 18, 2022. The entire content of this application is incorporated into this application by reference.
技术领域Technical field
本申请涉及机器人运动控制技术领域,例如涉及一种轨迹融合方法、装置、设备及存储介质。This application relates to the field of robot motion control technology, for example, to a trajectory fusion method, device, equipment and storage medium.
背景技术Background technique
随着机器人技术的不断发展,机械臂应用场景越来越广泛。例如,精密装配、检测拣选、涂胶涂油以及上下料等场景。为了保证机械臂在执行上述操作时的动作精确性,需要对机械臂进行精准控制。With the continuous development of robotics technology, the application scenarios of robotic arms are becoming more and more extensive. For example, scenarios such as precision assembly, inspection and picking, gluing and oiling, and loading and unloading. In order to ensure the accuracy of the movement of the robotic arm when performing the above operations, the robotic arm needs to be precisely controlled.
在机械臂执行任务过程中,通常要沿着预先规划的一条或者多条轨迹运动。在需要沿着多条轨迹运动的情况下,机器人需要从当前轨迹的起始点,行驶至两条轨迹相接的中间点,最后到下一条轨迹的终止点。在行驶过程中,机器人的速度从0开始加速,行驶至中间点时速度再到0,再行驶到下一条轨迹时再加速,在行驶至终止点时再到0。这种连续启停运动,不仅会影响机器人执行任务的效率,还会对机器人的寿命造成一定影响。When a robotic arm performs a task, it usually moves along one or more pre-planned trajectories. When it is necessary to move along multiple trajectories, the robot needs to travel from the starting point of the current trajectory, to the middle point where the two trajectories meet, and finally to the end point of the next trajectory. During the driving process, the robot's speed starts to accelerate from 0, reaches 0 when it reaches the middle point, accelerates again when it reaches the next trajectory, and returns to 0 when it reaches the end point. This continuous start-stop motion will not only affect the efficiency of the robot in performing tasks, but will also have a certain impact on the life of the robot.
发明内容Contents of the invention
本申请提供了一种轨迹融合方法、装置、设备及存储介质,提高机器人在经过两条轨迹之间过渡点时运行的稳定性。This application provides a trajectory fusion method, device, equipment and storage medium to improve the stability of the robot's operation when passing through the transition point between two trajectories.
根据本申请的一方面,提供了一种轨迹融合方法,包括:According to one aspect of the present application, a trajectory fusion method is provided, including:
依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息;Determine the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory;
依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;所述第一轨迹所在空间和第二轨迹所在空间不同;According to the second trajectory and the first fusion radius, determine the Cartesian motion information of the fusion end point in the Cartesian space; the space where the first trajectory is located and the space where the second trajectory is located are different;
基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
根据本申请的另一方面,提供了一种轨迹融合装置,包括:According to another aspect of the present application, a trajectory fusion device is provided, including:
第一运动信息确定模块,设置为依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息;The first motion information determination module is configured to determine the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory;
第二运动信息确定模块,设置为依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;所述第一轨迹所在空间和第二轨迹所在空间不同;The second motion information determination module is configured to determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius; the space where the first trajectory is located is different from the space where the second trajectory is located;
融合段轨迹规划模块,设置为基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。The fusion segment trajectory planning module is configured to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
根据本申请的另一方面,提供了一种电子设备,所述电子设备包括:According to another aspect of the present application, an electronic device is provided, the electronic device including:
至少一个处理器;以及at least one processor; and
与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein,
所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行本申请任一实施例所述的轨迹融合方法。The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor, so that the at least one processor can execute the method described in any embodiment of the present application. Trajectory fusion method.
根据本申请的另一方面,提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机指令设置为使处理器执行时实现本申请任一实施例所述的轨迹融合方法。According to another aspect of the present application, a computer-readable storage medium is provided. The computer-readable storage medium stores computer instructions. The computer instructions are configured to enable the processor to implement any embodiment of the present application when executed. trajectory fusion method.
附图说明Description of the drawings
图1a是根据本申请一实施例提供的一种轨迹融合方法的流程图;Figure 1a is a flow chart of a trajectory fusion method provided according to an embodiment of the present application;
图1b是根据本申请一实施例提供的确定融合起点的笛卡尔运动信息的示意图;Figure 1b is a schematic diagram of Cartesian motion information for determining the starting point of fusion provided according to an embodiment of the present application;
图1c是根据本申请一实施例提供的确定融合终点的笛卡尔运动信息的示意图;Figure 1c is a schematic diagram of Cartesian motion information for determining the fusion endpoint provided according to an embodiment of the present application;
图2是根据本申请另一实施例提供的一种轨迹融合方法的流程图;Figure 2 is a flow chart of a trajectory fusion method provided according to another embodiment of the present application;
图3是根据本申请另一实施例提供的一种轨迹融合方法的流程图;Figure 3 is a flow chart of a trajectory fusion method provided according to another embodiment of the present application;
图4是根据本申请另一实施例提供的一种轨迹融合方法的流程图;Figure 4 is a flow chart of a trajectory fusion method provided according to another embodiment of the present application;
图5是根据本申请一实施例提供的一种轨迹融合装置的结构示意图;Figure 5 is a schematic structural diagram of a trajectory fusion device provided according to an embodiment of the present application;
图6是实现本申请实施例的轨迹融合方法的电子设备的结构示意图。Figure 6 is a schematic structural diagram of an electronic device that implements the trajectory fusion method according to an embodiment of the present application.
具体实施方式Detailed ways
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。It should be noted that the terms "first", "second", etc. in the description and claims of this application and the above-mentioned drawings are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It is to be understood that the data so used are interchangeable under appropriate circumstances so that the embodiments of the application described herein can be practiced in sequences other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, e.g., a process, method, system, product, or apparatus that encompasses a series of steps or units and need not be limited to those explicitly listed. Those steps or elements may instead include other steps or elements not expressly listed or inherent to the process, method, product or apparatus.
图1a为本申请一实施例提供了一种轨迹融合方法的流程图,本实施例可适用于对处于不同空间的轨迹进行轨迹融合情况,该方法可以由轨迹融合装置来执行,该轨迹融合装置可以采用硬件和/或软件的形式实现,该轨迹融合装置可配置于多种通用计算设备中。如图1a所示,该方法包括:Figure 1a is a flow chart of a trajectory fusion method provided by an embodiment of the present application. This embodiment can be applied to trajectory fusion of trajectories in different spaces. This method can be executed by a trajectory fusion device. The trajectory fusion device It can be implemented in the form of hardware and/or software, and the trajectory fusion device can be configured in a variety of general computing devices. As shown in Figure 1a, the method includes:
S110、依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息。S110. Determine the Cartesian motion information of the fusion starting point in the Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory.
为控制机器人沿着用户期望的轨迹运动,用户需要预先输入一条或者多条轨迹,构成轨迹池。在机器人运动过程中,轨迹规划器会按照轨迹执行顺序, 从轨迹池中依次取出轨迹进行速度规划,使得机器人沿着用户预先输入的轨迹运动。在轨迹池中包含多条轨迹时,机器人需要依次沿着多条轨迹运动,在两条轨迹之间的过渡段,容易出现速度或加速度不平稳的情况,进而导致过渡段的路径不唯一,影响机器人正常工作。In order to control the robot to move along the trajectory desired by the user, the user needs to input one or more trajectories in advance to form a trajectory pool. During the movement of the robot, the trajectory planner will sequentially take out trajectories from the trajectory pool for speed planning according to the trajectory execution sequence, so that the robot moves along the trajectory pre-inputted by the user. When the trajectory pool contains multiple trajectories, the robot needs to move along multiple trajectories in sequence. In the transition section between the two trajectories, the speed or acceleration is prone to be unstable, which in turn causes the path of the transition section to be non-unique and affects The robot works normally.
为避免上述过渡段路径速度或加速度不平稳的情况,用户在输入多条轨迹时,需要同时设置轨迹对应的融合半径,以使轨迹规划器通过融合半径确定融合起点和融合终点,进而依据融合起点和融合终点对相邻两条轨迹进行轨迹融合,使机器人能够平稳的由前一轨迹过渡到后一轨迹。In order to avoid the above-mentioned unstable path speed or acceleration in the transition section, when users input multiple trajectories, they need to set the fusion radius corresponding to the trajectory at the same time, so that the trajectory planner determines the fusion starting point and fusion end point through the fusion radius, and then based on the fusion starting point and fusion endpoint to fuse two adjacent trajectories so that the robot can smoothly transition from the previous trajectory to the next trajectory.
第一轨迹是用户输入的机器人需要运行的轨迹。第一轨迹关联的融合半径用于确定第一轨迹以及与第一轨迹相邻的后一轨迹(第二轨迹)之间的融合段。笛卡尔运动信息是指笛卡尔空间中的位姿、速度和加速度信息。The first trajectory is the trajectory that the robot needs to run input by the user. The fusion radius associated with the first trajectory is used to determine the fusion segment between the first trajectory and a subsequent trajectory (second trajectory) adjacent to the first trajectory. Cartesian motion information refers to posture, velocity and acceleration information in Cartesian space.
本公开实施例中,为了对不同空间的轨迹进行融合,可以在确定融合起点和融合终点的运动信息后,将运动信息统一映射到笛卡尔空间,以实现不同空间的轨迹融合。轨迹规划器在轨迹池中提取到第一轨迹后,会对第一轨迹进行运动规划,同时判断轨迹池中是否包含与第一轨迹关联的第一融合半径。轨迹池中不包含与第一轨迹关联的第一融合半径,则说明第一轨迹不需要与其他轨迹进行融合,仅需继续对第一轨迹进行运动规划即可。轨迹池中包含与第一轨迹关联的第一融合半径,则说明第一轨迹需要与其他轨迹融合为,此时,可以依据第一轨迹以及第一轨迹关联的融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息。In the embodiment of the present disclosure, in order to fuse trajectories in different spaces, after determining the motion information of the fusion starting point and the fusion end point, the motion information can be uniformly mapped to the Cartesian space to achieve trajectory fusion in different spaces. After extracting the first trajectory from the trajectory pool, the trajectory planner will perform motion planning on the first trajectory, and at the same time determine whether the trajectory pool contains the first fusion radius associated with the first trajectory. If the trajectory pool does not contain the first fusion radius associated with the first trajectory, it means that the first trajectory does not need to be fused with other trajectories and only needs to continue motion planning for the first trajectory. If the trajectory pool contains the first fusion radius associated with the first trajectory, it means that the first trajectory needs to be fused with other trajectories. At this time, the fusion starting point can be determined based on the first trajectory and the fusion radius associated with the first trajectory. Cartesian motion information in space.
例如,在第一轨迹是笛卡尔空间的笛卡尔轨迹的情况下,可以直接依据第一轨迹以及第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息,其中,笛卡尔运动信息是融合起点在笛卡尔空间的位姿、速度以及加速度信息。For example, when the first trajectory is a Cartesian trajectory in Cartesian space, the Cartesian motion information of the fusion starting point in the Cartesian space can be determined directly based on the first trajectory and the first fusion radius associated with the first trajectory, where, Cartesian motion information is the fusion of the position, velocity and acceleration information of the starting point in Cartesian space.
在第一轨迹是关节空间的关节轨迹的情况下,首先可以依据第一轨迹以及第一轨迹关联的第一融合半径,在第一轨迹中确定融合起点在关节空间的关节运动信息,其中,关节运动信息是融合起点在关节空间的位姿、速度以及加速度信息。例如,以融合起点为中心,在第一轨迹中融合起点的两侧分别获取设定数量的第一轨迹点,将所述融合起点和获取到的第一轨迹点映射到笛卡尔空间,并将映射到笛卡尔空间的融合起点和第一轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。最终,依据拟合曲线,确定融合起点在笛卡尔空间的笛卡尔运动信息,其中,笛卡尔运动信息包括笛卡尔空间的位姿、速度和加速度。其中,样条曲线拟合可以包括但不局限于五次样条、B样条以及非均匀关系B样条(Non Uniform Relational B Spline,NURBS)等。When the first trajectory is a joint trajectory in the joint space, first, the joint motion information of the fusion starting point in the joint space can be determined in the first trajectory based on the first trajectory and the first fusion radius associated with the first trajectory, where the joint The motion information is the pose, velocity and acceleration information of the fusion starting point in the joint space. For example, with the fusion starting point as the center, a set number of first trajectory points are obtained on both sides of the fusion starting point in the first trajectory, the fusion starting point and the acquired first trajectory points are mapped to Cartesian space, and The fusion starting point and the first trajectory point mapped to the Cartesian space are fitted with a spline curve to obtain a fitting curve in the Cartesian space. Finally, based on the fitting curve, the Cartesian motion information of the fusion starting point in Cartesian space is determined, where the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space. Among them, spline curve fitting can include but is not limited to quintic spline, B-spline, non-uniform relational B-spline (Non Uniform Relational B Spline, NURBS), etc.
在一个示例中,第一轨迹的起点是A,终点是B。在第一轨迹是处于笛卡尔空间的笛卡尔轨迹的情况下,直接依据与第一轨迹关联的融合半径,确定融合起点X在笛卡尔空间的笛卡尔运动信息。In one example, the starting point of the first trajectory is A and the end point is B. In the case where the first trajectory is a Cartesian trajectory in Cartesian space, the Cartesian motion information of the fusion starting point X in the Cartesian space is determined directly based on the fusion radius associated with the first trajectory.
在另一个示例中,如图1b所示,第一轨迹的起点是A,终点是B。在第一轨迹是处于关节空间的关节轨迹的情况下,首先依据与第一轨迹关联的融合半 径r,确定融合起点X在关节空间的关节运动信息。例如,以融合起点为中心,在第一轨迹中确定设定数量的第一轨迹点,例如,在第一轨迹中融合起点的两侧分别确定第一轨迹点M1、N1以及P1、Q1。例如,可以将融合起点X和第一轨迹点M1、N1、P1和Q1映射到笛卡尔空间,并将映射到笛卡尔空间的上述轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。最终,基于拟合曲线,确定融合起点X在笛卡尔空间的笛卡尔运动信息。In another example, as shown in Figure 1b, the starting point of the first trajectory is A and the end point is B. When the first trajectory is a joint trajectory in joint space, first determine the joint motion information of the fusion starting point X in the joint space based on the fusion radius r associated with the first trajectory. For example, with the fusion starting point as the center, a set number of first trajectory points are determined in the first trajectory. For example, first trajectory points M1, N1, P1, and Q1 are respectively determined on both sides of the fusion starting point in the first trajectory. For example, you can map the fusion starting point curve. Finally, based on the fitting curve, the Cartesian motion information of the fusion starting point X in Cartesian space is determined.
S120、依据第二轨迹和第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;第一轨迹所在空间和第二轨迹所在空间不同。S120. Based on the second trajectory and the first fusion radius, determine the Cartesian motion information of the fusion end point in the Cartesian space; the space where the first trajectory is located is different from the space where the second trajectory is located.
第二轨迹是与第一轨迹相接的后一轨迹,即机器人沿着第一轨迹运动结束后,进入第二轨迹并继续沿着第二轨迹运动。值得注意的是,第一轨迹所在空间与第二轨迹所在空间不同。例如,第一轨迹是处于关节空间的关节轨迹,第二轨迹处于笛卡尔空间的笛卡尔轨迹,又或者是,第一轨迹是处于笛卡尔空间的笛卡尔轨迹,第二轨迹是处于关节空间的关节轨迹。The second trajectory is the subsequent trajectory connected to the first trajectory, that is, after the robot finishes moving along the first trajectory, it enters the second trajectory and continues to move along the second trajectory. It is worth noting that the space where the first trajectory is located is different from the space where the second trajectory is located. For example, the first trajectory is a joint trajectory in joint space, and the second trajectory is a Cartesian trajectory in Cartesian space. Or, the first trajectory is a Cartesian trajectory in Cartesian space, and the second trajectory is in joint space. joint trajectories.
本公开实施例中,在沿着第一轨迹进行运动规划过程中,检测到运动规划已经执行到第一轨迹的一半时,可以从轨迹池中继续获取与第一轨迹相邻的下一轨迹,即第二轨迹。为了将第一轨迹和第二轨迹进行融合,依据第二轨迹和第一融合半径,在第二轨迹上确定融合终点在笛卡尔空间的笛卡尔运动信息。In the embodiment of the present disclosure, during the motion planning process along the first trajectory, when it is detected that the motion planning has been executed to half of the first trajectory, the next trajectory adjacent to the first trajectory can be obtained from the trajectory pool. That is the second trajectory. In order to fuse the first trajectory and the second trajectory, Cartesian motion information of the fusion end point in Cartesian space is determined on the second trajectory based on the second trajectory and the first fusion radius.
例如,在第二轨迹是笛卡尔空间的笛卡尔轨迹的情况下,可以直接依据第二轨迹以及第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息,其中,笛卡尔运动信息是融合起点在笛卡尔空间的位姿、速度以及加速度信息。For example, when the second trajectory is a Cartesian trajectory in Cartesian space, the Cartesian motion information of the fusion end point in the Cartesian space can be determined directly based on the second trajectory and the first fusion radius, where the Cartesian motion information is Fusion of the pose, velocity and acceleration information of the starting point in Cartesian space.
在第二轨迹是关节空间的关节轨迹的情况下,首先可以依据第二轨迹以及第一融合半径,在第二轨迹中确定融合终点在关节空间的关节运动信息,其中,关节运动信息是融合终点在关节空间的位姿、速度以及加速度信息。例如,以融合终点为中心,在第二轨迹中获取设定数量的第二轨迹点,将所述融合终点和获取到的第二轨迹点映射到笛卡尔空间,并将映射到笛卡尔空间的融合终点和第二轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。最终,依据拟合曲线,确定融合终点在笛卡尔空间的笛卡尔运动信息,其中,笛卡尔运动信息包括笛卡尔空间的位姿、速度和加速度。其中,样条曲线拟合可以包括五次样条、B样条以及非均匀关系B样条(Non Uniform Relational B Spline,NURBS)等。When the second trajectory is a joint trajectory in the joint space, first, the joint motion information of the fusion end point in the joint space can be determined in the second trajectory based on the second trajectory and the first fusion radius, where the joint motion information is the fusion end point. Position, velocity and acceleration information in joint space. For example, with the fusion end point as the center, 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 to the Cartesian space, and the points mapped to the Cartesian space are Fusion of the end point and the second trajectory point performs spline curve fitting to obtain a fitting curve in Cartesian space. Finally, based on the fitting curve, the Cartesian motion information of the fusion endpoint in Cartesian space is determined, where the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space. Among them, spline curve fitting can include quintic spline, B-spline, and Non-Uniform Relational B-Spline (NURBS), etc.
在一个示例中,第二轨迹的起点是B,终点是C。在第二轨迹是处于笛卡尔空间的笛卡尔轨迹的情况下,直接依据与第一融合半径,确定融合终点Y在笛卡尔空间的笛卡尔运动信息。In one example, the starting point of the second trajectory is B and the end point is C. In the case where the second trajectory is a Cartesian trajectory in Cartesian space, the Cartesian motion information of the fusion end point Y in the Cartesian space is determined directly based on the first fusion radius.
在另一个示例中,如图1c所示,第二轨迹的起点是第一轨迹的终点B,第二轨迹的终点是C。在第二轨迹是处于关节空间的关节轨迹的情况下,首先依据与第一融合半径,确定融合终点Y在关节空间的关节运动信息。例如,以融合终点为中心,在第二轨迹中确定设定数量的第二轨迹点,例如,在第二轨迹中融合终点的两侧分别确定第二轨迹点M2、N2以及P2、Q2。例如,可以将融合终点Y和第二轨迹点M2、N2、P2和Q2映射到笛卡尔空间,并将映射到 笛卡尔空间的上述轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。最终,以及得到的拟合曲线,确定融合终点Y在笛卡尔空间的笛卡尔运动信息。In another example, as shown in Figure 1c, the starting 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, first determine the joint motion information of the fusion end point Y in the joint space based on the first fusion radius. For example, with the fusion endpoint as the center, a set number of second trajectory points are determined in the second trajectory. For example, second trajectory points M2, N2, P2, and Q2 are respectively determined on both sides of the fusion endpoint in the second trajectory. For example, the fusion end point Y and the second trajectory points M2, N2, P2 and Q2 can be mapped to the Cartesian space, and the above trajectory points mapped to the Cartesian space can be fitted with a spline curve to obtain a fitting of the Cartesian space. curve. Finally, and the obtained fitting curve, the Cartesian motion information of the fusion end point Y in Cartesian space is determined.
S130、基于融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划。S130. Based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, perform trajectory planning for the fusion segment between the first trajectory and the second trajectory.
本公开实施例中,在获取到融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息后,依据融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规格。In the embodiment of the present disclosure, after obtaining the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, the first trajectory and the second trajectory are calculated based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point. Fusion segments between trajectories perform trajectory specification.
例如,在获取到融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息后,可以继续以第一轨迹中当前规划的轨迹点为起点,以融合起点为终点继续进行第一轨迹的规划。例如,在完成第一轨迹的规划后,即规划已经进行到第一轨迹和第二轨迹的融合段时,可以继续以当前规划的轨迹点(处于融合段)为起点,以融合终点为终点,进行融合段的轨迹规划,直至完成融合段的轨迹规划。当然,在完成第一轨迹和第二轨迹之间融合段的轨迹规划后,可以继续对第二轨迹进行轨迹规划,实现机器人在第一轨迹和第二轨迹之间的平稳过渡。For example, after obtaining the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, the planning of the first trajectory can be continued with the currently planned trajectory point in the first trajectory as the starting point and the fusion starting point as the end point. For example, after completing the planning of the first trajectory, that is, when the planning has reached the fusion section of the first trajectory and the second trajectory, you can continue to use the currently planned trajectory point (in the fusion section) as the starting point and the fusion end point as the end point, Carry out trajectory planning for the fusion segment until the trajectory planning for the fusion segment is completed. Of course, after completing the trajectory planning of the fusion section between the first trajectory and the second trajectory, trajectory planning of the second trajectory can be continued to achieve a smooth transition of the robot between the first trajectory and the second trajectory.
本申请实施例的技术方案,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息,进而依据第二轨迹和第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息,最终基于融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,通过将融合起点和融合终点均映射到笛卡尔空间,避免了无法对不同空间的轨迹进行平稳过渡的情况,提升了机器人在经过两条轨迹之间过渡点时运行的稳定性。The technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius. The Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information. The fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
图2为本申请另一实施例提供的一种轨迹融合方法的流程图,在上述实施例的基础上进一步细化,提供了依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息的步骤。下面结合图2对本申请实施例提供的一种轨迹融合方法进行说明,包括以下:Figure 2 is a flow chart of a trajectory fusion method provided by another embodiment of the present application. Based on the above embodiment, it is further refined and provides a method to determine the fusion based on the first trajectory and the first fusion radius associated with the first trajectory. Steps of Cartesian motion information starting in Cartesian space. A trajectory fusion method provided by the embodiment of the present application will be described below with reference to Figure 2, including the following:
S210、在第一轨迹所在空间为关节空间的情况下,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在关节空间的关节运动信息。S210. When the space where the first trajectory is located is the joint space, determine the joint motion information of the fusion starting point in the joint space based on the first trajectory and the first fusion radius associated with the first trajectory.
本公开实施例中,在第一轨迹所在空间是关节空间的情况下,首先依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在关节空间的关节运动信息。其中,融合起点位于第一轨迹,且融合起点距离第一轨迹的直线距离等于第一融合半径,融合起点的关节运动信息包括融合起点在关节空间的位姿、速度和加速度信息。In the embodiment of the present disclosure, when the space where the first trajectory is located is the joint space, the joint motion information of the fusion starting point in the joint space is first determined based on the first trajectory and the first fusion radius associated with the first trajectory. Wherein, the fusion starting point is located on the first trajectory, and the straight-line distance between the fusion starting point and the first trajectory is equal to the first fusion radius. The joint motion information of the fusion starting point includes the pose, velocity and acceleration information of the fusion starting point in the joint space.
S220、以融合起点为中心,在第一轨迹中选取设定数量的第一轨迹点。S220: With the fusion starting point as the center, select a set number of first trajectory points in the first trajectory.
本公开实施例中,为了融合起点的关节运动信息映射到笛卡尔空间,得到融合起点在笛卡尔空间的笛卡尔运动信息。首先,以融合起点为中心,分别在第一轨迹中融合起点的两侧选择设定数据的第一轨迹点。In the embodiment of the present disclosure, in order to map the joint motion information of the fusion starting point to the Cartesian space, the Cartesian motion information of the fusion starting point in the Cartesian space is obtained. First, with the fusion starting point as the center, select the first trajectory points of the set data on both sides of the fusion starting point in the first trajectory.
示例性的,第一轨迹的起点是A、终点是B,融合起点是位于第一轨迹且靠近终点B的轨迹点X。以融合起点X为中心,在第一轨迹中沿着XA方向和XB方向分别获取5个轨迹点作为第一轨迹点。For example, the starting point of the first trajectory is A and the end point is B, and the fusion starting point is the 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 in the first trajectory as the first trajectory points.
S230、将融合起点和第一轨迹点映射到笛卡尔空间,并将映射到笛卡尔空间的融合起点和第一轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。S230. Map the fusion starting point and the first trajectory point to a Cartesian space, and perform spline fitting on the fusion starting point and the first trajectory point mapped to the Cartesian space to obtain a fitting curve in the Cartesian space.
本实施例中,为了将融合起点的运动信息映射到笛卡尔空间,将融合起点和设定数量的第一轨迹点映射到笛卡尔空间,得到轨迹点在笛卡尔空间的位姿。例如,将映射到笛卡尔空间的融合起点和第一轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线。In this embodiment, in order to map the motion information of the fusion starting point to the Cartesian space, the fusion starting point and a set number of first trajectory points are mapped to the Cartesian space to obtain the pose of the trajectory points in the Cartesian space. For example, perform spline fitting on the fusion starting point and the first trajectory point mapped to Cartesian space to obtain a fitting curve in Cartesian space.
示例性的,将融合起点X以及融合起点X两侧的第一轨迹点映射到笛卡尔空间,得到轨迹点在笛卡尔空间的位姿。例如,通过B样条拟合,将第一轨迹点和融合起点拟合得到笛卡尔空间的拟合曲线。For example, map the fusion starting point X and the first trajectory points on both sides of the fusion starting point X to the Cartesian space to obtain the pose of the trajectory point in the Cartesian space. For example, through B-spline fitting, the first trajectory point and the fusion starting point are fitted to obtain a fitting curve in Cartesian space.
S240、依据拟合曲线,确定融合起点在笛卡尔空间的笛卡尔运动信息;笛卡尔运动信息包括笛卡尔空间的位姿、速度和加速度。S240. According to the fitting curve, determine the Cartesian motion information of the fusion starting point in the Cartesian space; the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
本实施例中,依据拟合曲线,确定融合起点在笛卡尔空间的笛卡尔运动信息,例如,依据拟合曲线,可以计算得到融合起点在笛卡尔空间的速度和加速度信息。至此,获取到了融合起点在笛卡尔空间的位姿、速度和加速度信息。In this embodiment, based on the fitting curve, the Cartesian motion information of the fusion starting point in the Cartesian space is determined. For example, based on the fitting curve, the velocity and acceleration information of the fusion starting point in the Cartesian space can be calculated. At this point, the pose, velocity and acceleration information of the fusion starting point in Cartesian space have been obtained.
S250、依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息。S250. Determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius.
S260、基于融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划。S260. Based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, perform trajectory planning for the fusion segment between the first trajectory and the second trajectory.
例如,在轨迹规划过程中,依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期。For example, during the trajectory planning process, the interpolation period in the trajectory planning process is adjusted based on the speed control information input by the user.
本申请实施例中,在轨迹规划过程进入到第一轨迹与第二轨迹的融合段时,若接收到用户输入的速度控制信息,则可能因为速度的变化,造成融合段轨迹的变形。此时,需要依据用户输入的速度控制信息,调整融合段轨迹规划过程中的插补周期,从而保证路径一致性。示例性的,在融合段轨迹规划过程中,用户将机器人运动速度由100%调整至10%,此时,可以将插补周期调整为原插补周期的1/10。In the embodiment of the present application, when the trajectory planning process enters the fusion section of the first trajectory and the second trajectory, if the speed control information input by the user is received, the trajectory of the fusion section may be deformed due to changes in speed. At this time, the interpolation period during the trajectory planning process of the fusion segment needs to be adjusted based on the speed control information input by the user to ensure path consistency. For example, during the fusion segment trajectory planning process, the user adjusts the robot movement speed from 100% to 10%. At this time, the interpolation period can be adjusted to 1/10 of the original interpolation period.
例如,依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期,包括:For example, adjusting the interpolation period in the trajectory planning process based on the speed control information input by the user includes:
依据用户输入的速度控制信息,采用非线性插值算法、比例积分微分PID算法以及均值滤波算法中的至少一项调整轨迹规划过程的插补周期。According to the speed control information input by the user, at least one of the nonlinear interpolation algorithm, the proportional integral differential PID algorithm and the mean filter algorithm is used to adjust the interpolation period of the trajectory planning process.
本申请实施例中,提供一种依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期的方式:依据用户输入的速度控制信息,采用非线性插值算法、PID算法或者均值滤波算法调整轨迹规划过程的插补周期,以保证在用户进行速度调整时,保持融合段轨迹的一致性。In the embodiment of this application, a method of adjusting the interpolation period in the trajectory planning process based on the speed control information input by the user is provided: based on the speed control information input by the user, a nonlinear interpolation algorithm, a PID algorithm or a mean filter algorithm is used to adjust The interpolation period of the trajectory planning process is to ensure that the consistency of the fusion segment trajectory is maintained when the user adjusts the speed.
示例性的,在融合段轨迹规划过程中,用户将机器人运动速度由100%调整至10%,此时,可以通过PID算法,将插补周期调整为原插补周期的1/10。For example, during the fusion segment trajectory planning process, the user adjusts the robot movement speed from 100% to 10%. At this time, the interpolation period can be adjusted to 1/10 of the original interpolation period through the PID algorithm.
本申请实施例的技术方案,在第一轨迹所在空间为关节空间的情况下,通过样条曲线拟合,获取融合起点在笛卡尔空间的拟合曲线,并获取融合终点在笛卡尔空间的运动信息,基于融合起点的笛卡尔运动信息和所述融合终点的笛 卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划。一方面,通过样条曲线拟合的方式,将关节轨迹映射到笛卡尔空间,实现机器人在不同空间进行轨迹融合,另一方面,在轨迹规划过程中,依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期,可以避免因速度调整引起的路径变化。The technical solution of the embodiment of the present application is to obtain the fitting curve of the fusion starting point in Cartesian space through spline curve fitting when the space where the first trajectory is located is joint space, and obtain the motion of the fusion end point in Cartesian space. information, performing trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point. On the one hand, the joint trajectories are mapped to Cartesian space through spline curve fitting, allowing the robot to fuse trajectories in different spaces. On the other hand, during the trajectory planning process, the trajectory is adjusted based on the speed control information input by the user. The interpolation cycle in the planning process can avoid path changes caused by speed adjustment.
图3为本申请另一实施例提供的一种轨迹融合方法的流程图,在上述实施例的基础上进一步细化,提供了在对第一轨迹和第二轨迹之间的融合段进行轨迹规划之前以及基于融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划的步骤。下面结合图3对本申请实施例提供的一种轨迹融合方法进行说明,包括以下:Figure 3 is a flow chart of a trajectory fusion method provided by another embodiment of the present application. Based on the above embodiment, it is further refined to provide trajectory planning for the fusion segment between the first trajectory and the second trajectory. Previously and based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, the step of trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory. A trajectory fusion method provided by the embodiment of the present application will be described below with reference to Figure 3, including the following:
S310、依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息。S310. Determine the Cartesian motion information of the fusion starting point in the Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory.
S320、依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息。S320. Determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius.
S330、依据融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对融合路段进行预前瞻规划,确定融合段中多个融合轨迹点的速度和加速度。S330. Based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, perform forward planning on the fusion road section and determine the speed and acceleration of multiple fusion trajectory points in the fusion section.
本实施例中,为避免在轨迹规划过程中,出现机器人速度超出速度上限,造成任务执行失败甚至机器人损坏,可以在获取到融合起点和融合终点的笛卡尔运动信息后对融合路段进行预前瞻规划,来获取融合段中多个融合轨迹点的速度和加速度。In this embodiment, in order to avoid the robot speed exceeding the upper speed limit during the trajectory planning process, causing task execution failure or even damage to the robot, pre-planning of the fusion road section can be performed after obtaining the Cartesian motion information of the fusion start point and the fusion end point. , to obtain the velocity and acceleration of multiple fusion trajectory points in the fusion segment.
预前瞻规划是指在真正进行融合段轨迹规划前,为了避免直接进行运动规划出现速度超限的情况,先执行一次轨迹规划。例如,如果第一轨迹和/或第二轨迹属于关节空间的关节轨迹,则可以使用五次多项式进行预前瞻规划;若果第一轨迹和第二轨迹不涉及关节空间,均为笛卡尔空间的笛卡尔轨迹,则可以使用在线轨迹规划(On-Line Trajectory Generation,OTG)轨迹规划或者S形轨迹规划等方式进行预前瞻规划。Pre-forward planning means that before actually planning the trajectory of the fusion segment, in order to avoid speed exceeding the limit in direct motion planning, a trajectory planning is performed first. For example, if the first trajectory and/or the second trajectory belong to joint trajectories in joint space, you can use a fifth degree polynomial for pre-forward planning; if the first trajectory and the second trajectory do not involve joint space, they are both in Cartesian space. For Cartesian trajectories, you can use online trajectory planning (On-Line Trajectory Generation, OTG) trajectory planning or S-shaped trajectory planning for pre-forward planning.
S340、在融合段中至少一个融合轨迹点的速度达到速度阈值和/或至少一个轨迹点的加速度达到加速度阈值的情况下,依据速度和加速度,确定速度缩放因子。S340. When the speed of at least one fused trajectory point in the fusion segment reaches the speed threshold and/or the acceleration of at least one trajectory point reaches the acceleration threshold, determine the speed scaling factor based on the speed and acceleration.
其中,速度缩放因子用于在进行实际轨迹融合过程中,对速度进行缩放,避免出现速度超限的情况。Among them, the speed scaling factor is used to scale the speed during the actual trajectory fusion process to avoid speed exceeding the limit.
本实施例中,在对融合段进行预前瞻规划过程中,如果至少一个融合轨迹点的速度达到速度阈值和/或至少一个轨迹点的加速度达到加速度阈值,则可以依据速度和加速度,确定速度缩放因子。例如,速度阈值是Vmax,加速度阈值是Amax。对融合段进行预前瞻规划过程中,一个或者多个融合轨迹点的速度v大于Vmax,称为超速轨迹点,则可以分别计算多个超速轨迹点的速度v与Vmax的差值,并依据差值确定速度缩放因子。示例性的,可以获取多个超速轨迹点对应的差值,并依据最大差值来计算速度缩放因子。In this embodiment, during the pre-planning process of the fusion segment, if the speed of at least one fusion trajectory point reaches the speed threshold and/or the acceleration of at least one trajectory point reaches the acceleration threshold, the speed scaling can be determined based on the speed and acceleration. factor. For example, the velocity threshold is Vmax and the acceleration threshold is Amax. During the forward planning process of the fusion segment, the speed v of one or more fusion trajectory points is greater than Vmax, which is called an overspeed trajectory point. Then the difference between the speed v and Vmax of multiple overspeed trajectory points can be calculated separately, and based on the difference The value determines the speed scaling factor. For example, the difference values corresponding to multiple speeding trajectory points can be obtained, and the speed scaling factor can be calculated based on the maximum difference value.
同理,对融合段进行预前瞻规划过程中,一个或者多个融合轨迹点的加速度a大于Amax,称为超加速轨迹点,则可以分别计算多个超加速轨迹点的加 速度a与Amax的差值,并依据差值确定速度缩放因子。示例性的,可以获取多个超加速轨迹点对应的差值,并依据最大差值来计算速度缩放因子。In the same way, during the forward planning process of the fusion segment, the acceleration a of one or more fusion trajectory points is greater than Amax, which is called a super-acceleration trajectory point. Then the difference between the acceleration a and Amax of multiple super-acceleration trajectory points can be calculated separately. value, and determine the speed scaling factor based on the difference. For example, the difference values corresponding to multiple hyperacceleration trajectory points can be obtained, and the speed scaling factor can be calculated based on the maximum difference value.
S350、基于融合起点的笛卡尔运动信息、融合终点的笛卡尔运动信息以及速度缩放因子,对第一轨迹和第二轨迹之间的融合段进行轨迹规划。S350: Perform trajectory planning for the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
本实施例中,在计算得到速度缩放因子后,基于融合起点的笛卡尔运动信息、融合终点的笛卡尔运动信息以及速度缩放因子,对第一轨迹和第二轨迹之间的融合段进行轨迹规划。例如,可以在进行轨迹规划时,将将规划得到的轨迹点速度与速度缩放因子相乘,避免因速度超限引起机器人任务执行失败的情况。In this embodiment, after the speed scaling factor is calculated, trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor. . For example, when planning the trajectory, the planned trajectory point speed can be multiplied by the speed scaling factor to avoid robot task execution failure due to speed exceeding the limit.
例如,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,包括:在第一轨迹和第二轨迹中的至少一项所在空间是关节空间的情况下,采用多项式对第一轨迹和第二轨迹之间的融合段进行轨迹规划。For example, trajectory planning for the fusion segment between the first trajectory and the second trajectory includes: when at least one of the first trajectory and the second trajectory is located in a joint space, using a polynomial to calculate the sum of the first trajectory and the second trajectory. The fusion segment between the second trajectories is used for trajectory planning.
本申请实施例中,提供一种对第一轨迹和第二轨迹之间的融合段进行轨迹规划的方式:在第一轨迹和第二轨迹中的至少一项所在空间时关节空间的情况下,采用多项式对第一轨迹和第二轨迹之间的融合段进行轨迹规划。示例性的,采用五次多项式进行轨迹规划。In the embodiment of the present application, a method of trajectory planning for the fusion segment between the first trajectory and the second trajectory is provided: when the space where at least one of the first trajectory and the second trajectory is located is the joint space, A polynomial is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory. As an example, a fifth-order polynomial is used for trajectory planning.
例如,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,还包括:在第一轨迹和第二轨迹所在空间均是笛卡尔空间的情况下,采用在线轨迹规划OTG对第一轨迹和第二轨迹之间的融合段进行轨迹规划。For example, trajectory planning for the fusion segment between the first trajectory and the second trajectory also includes: when the spaces where the first trajectory and the second trajectory are located are both Cartesian spaces, using online trajectory planning OTG to map the first trajectory Trajectory planning is performed on the fusion segment between the second trajectory and the second trajectory.
本申请实施例中,提供一种对第一轨迹和第二轨迹之间的融合段进行轨迹规划的方式:在第一轨迹和第二轨迹所在空间均是笛卡尔空间的情况下,采用OTG对第一轨迹和第二轨迹之间的融合段进行轨迹规划。In the embodiment of the present application, a method of trajectory planning for the fusion segment between the first trajectory and the second trajectory is provided: when the spaces where the first trajectory and the second trajectory are located are both Cartesian spaces, OTG is used to Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory.
本申请实施例的技术方案,首先依据融合起点和融合终点的笛卡尔运动信息对融合路径进行预前瞻规划,确定融合段中多个融合轨迹点的速度和加速度,进而融合起点的笛卡尔运动信息、融合终点的笛卡尔运动信息以及速度缩放因子,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,可以避免融合段速度超速的情况,提高机器人运动稳定性。The technical solution of the embodiment of the present application first performs forward planning on the fusion path based on the Cartesian motion information of the fusion starting point and the fusion end point, determines the speed and acceleration of multiple fusion trajectory points in the fusion segment, and then fuses the Cartesian motion information of the starting point. , fuse the Cartesian motion information of the end point and the speed scaling factor, and perform trajectory planning for the fusion segment between the first trajectory and the second trajectory, which can avoid excessive speed in the fusion segment and improve the stability of the robot's motion.
图4为本申请另一实施例提供的一种轨迹融合方法的流程图,具体轨迹规划流程,包括以下:Figure 4 is a flow chart of a trajectory fusion method provided by another embodiment of the present application. The specific trajectory planning process includes the following:
S401、在轨迹池中获取第一轨迹,并对第一轨迹进行轨迹规划。S401. Obtain the first trajectory in the trajectory pool, and perform trajectory planning on the first trajectory.
S402、判断第一轨迹是否关联有第一融合半径,基于第一轨迹中关联有第一融合半径的判断结果,执行S403,基于第一轨迹未关联有第一融合半径的判断结果,继续执行对第一轨迹进行轨迹规划的操作。S402. Determine whether the first trajectory is associated with the first fusion radius. Based on the determination result that the first trajectory is associated with the first fusion radius, execute S403. Based on the determination result that the first trajectory is not associated with the first fusion radius, continue to execute the The first trajectory performs trajectory planning operations.
S403、根据第一轨迹和第一融合半径,计算融合起点的运动信息。S403. Calculate the motion information of the fusion starting point according to the first trajectory and the first fusion radius.
S404、判断第一轨迹是否处于关节空间,基于第一轨迹处于关节空间的判断结果,执行S405,基于第一轨迹不处于关节空间的判断结果,执行S406。S404. Determine whether the first trajectory is in the joint space. Based on the determination result that the first trajectory is in the joint space, execute S405. Based on the determination result that the first trajectory is not in the joint space, execute S406.
S405、通过样条拟合,将第一轨迹中包含融合起点的一部分映射到笛卡尔空间。S405. Map the part of the first trajectory including the fusion starting point to Cartesian space through spline fitting.
S406、获取融合起点在笛卡尔空间的笛卡尔运动信息。S406. Obtain the Cartesian motion information of the fusion starting point in Cartesian space.
S407、判断第一轨迹是否规划超过一半,基于第一轨迹规划超过一半的判断结果,执行S408,基于第一轨迹未规划超过一半的判断结果,继续执行判断第一轨迹是否规划超过一半的操作。S407. Determine whether the first trajectory is more than half planned. Based on the determination result that the first trajectory is more than half planned, execute S408. Based on the determination result that the first trajectory is not planned more than half way, continue to perform the operation of determining whether the first trajectory is more than half planned.
S408、从轨迹池中获取第二轨迹,并根据第二轨迹和第一融合半径计算融合终点的运动信息。S408: Obtain the second trajectory from the trajectory pool, and calculate the motion information of the fusion end point according to the second trajectory and the first fusion radius.
S409、判断第二轨迹是否处于关节空间,基于第二轨迹处于关节空间的判断结果,执行S410,基于第二轨迹未处于关节空间的判断结果,执行S411。S409. Determine whether the second trajectory is in the joint space. Based on the determination result that the second trajectory is in the joint space, execute S410. Based on the determination result that the second trajectory is not in the joint space, execute S411.
S410、通过样条拟合,将第二轨迹中包含融合终点的一部分映射到笛卡尔空间。S410. Map the part of the second trajectory including the fusion endpoint to Cartesian space through spline fitting.
S411、获取融合终点在笛卡尔空间的笛卡尔运动信息。S411. Obtain the Cartesian motion information of the fusion end point in Cartesian space.
S412、根据融合起点和融合终点的笛卡尔运动信息,对融合段进行预前瞻规划。S412. Carry out forward planning for the fusion segment based on the Cartesian motion information of the fusion start point and the fusion end point.
S413、判断预前瞻规划过程中,是否速度超限,基于速度超限的判断结果,执行S414,基于速度未超限的判断结果,执行S415。S413. Determine whether the speed exceeds the limit during the pre-forward planning process. Based on the judgment result that the speed exceeds the limit, execute S414. Based on the judgment result that the speed does not exceed the limit, execute S415.
S414、根据超速信息,确定速度缩放系数。S414. Determine the speed scaling coefficient based on the overspeed information.
S415、根据速度缩放系数,以及融合起点的笛卡尔运动信息对第一轨迹的剩余部分进行轨迹规划(若无超速,则速度缩放系数置为1)。S415. Perform trajectory planning for the remaining part of the first trajectory according to the speed scaling coefficient and the Cartesian motion information of the fusion starting point (if there is no overspeed, the speed scaling coefficient is set to 1).
S416、判断S415是否执行成功,基于S415执行成功的判断结果,执行S417,基于S415未执行成功的判断结果,取消轨迹融合。S416. Determine whether S415 is executed successfully. Based on the judgment result that S415 is executed successfully, execute S417. Based on the judgment result that S415 is not executed successfully, cancel the trajectory fusion.
S417、继续执行当前轨迹规划。S417. Continue to execute the current trajectory planning.
S418、判断是否进入融合段,基于进入融合段的判断结果,执行S419,基于未进入融合段的判断结果,继续执行S417。S418. Determine whether to enter the fusion segment. Based on the judgment result of entering the fusion segment, execute S419. Based on the judgment result of not entering the fusion segment, continue to execute S417.
S419、根据当前规划轨迹点的笛卡尔运动信息,以及融合终点的笛卡尔运动信息,进行融合段轨迹规划。S419. Perform fusion segment trajectory planning based on the Cartesian motion information of the current planned trajectory point and the Cartesian motion information of the fusion end point.
S420、响应于用户在融合段的速度调节控制,采用PID算法对插补周期进行调节。S420. In response to the user's speed adjustment control in the fusion section, use the PID algorithm to adjust the interpolation period.
S421、判断轨迹规划过程是否离开融合段,基于轨迹规划过程离开融合段的判断结果,执行S422,基于轨迹规划过程未离开融合段的判断结果,返回执行S419。S421. Determine whether the trajectory planning process leaves the fusion section. Based on the determination result that the trajectory planning process leaves the fusion section, execute S422. Based on the determination result that the trajectory planning process does not leave the fusion section, return to execution S419.
S422、将第二轨迹作为新的第一轨迹,以当前规划的轨迹点为起点,新的第一轨迹的终点为终点,对新的第一轨迹进行轨迹规划,并返回执行S402。S422. Use the second trajectory as the new first trajectory, take the currently planned trajectory point as the starting point, and the end point of the new first trajectory as the end point, perform trajectory planning on the new first trajectory, and return to execution S402.
本申请实施例的技术方案,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息,进而依据第二轨迹和第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息,最终基于融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,通过将融合起点和融合终点均映射到笛卡尔空间,避免了无法对不同空间的轨迹进行平稳过渡的情况,提升了机器人在经过两条轨迹之间过渡点时运行的稳定性。The technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius. The Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information. The fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
图5为本申请实施例提供的一种轨迹融合装置的结构示意图。本实施例可 适用于对处机器人轨迹进行轨迹融合的情况,尤其适用于对处于不同空间的轨迹进行轨迹融合的情况。该轨迹融合装置可以采用硬件和/或软件的形式实现,并可集成于承载轨迹融合功能的电子设备中,例如服务器中。如图5所示,该装置包括:Figure 5 is a schematic structural diagram of a trajectory fusion device provided by an embodiment of the present application. This embodiment can be applied to the case of trajectory fusion of robot trajectories, especially to the case of trajectory fusion of trajectories in different spaces. The trajectory fusion device can be implemented in the form of hardware and/or software, and can be integrated into an electronic device carrying the trajectory fusion function, such as a server. As shown in Figure 5, the device includes:
第一运动信息确定模块510,设置为依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息;The first motion information determination module 510 is configured to determine the Cartesian motion information with the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory;
第二运动信息确定模块520,设置为依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;所述第一轨迹所在空间和第二轨迹所在空间不同;The second motion information determination module 520 is configured to determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius; the space where the first trajectory is located is different from the space where the second trajectory is located;
融合段轨迹规划模块530,设置为基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。The fusion segment trajectory planning module 530 is configured to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
本申请实施例的技术方案,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息,进而依据第二轨迹和第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息,最终基于融合起点的笛卡尔运动信息和融合终点的笛卡尔运动信息,对第一轨迹和第二轨迹之间的融合段进行轨迹规划,通过将融合起点和融合终点均映射到笛卡尔空间,避免了无法对不同空间的轨迹进行平稳过渡的情况,提升了机器人在经过两条轨迹之间过渡点时运行的稳定性。The technical solution of the embodiment of the present application determines the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory, and then determines the fusion end point based on the second trajectory and the first fusion radius. The Cartesian motion information in Cartesian space is finally based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and the trajectory planning of the fusion segment between the first trajectory and the second trajectory is performed by combining the fusion starting point and the Cartesian motion information. The fusion endpoints are all mapped to Cartesian space, which avoids the inability to smoothly transition trajectories in different spaces and improves the stability of the robot's operation when passing through the transition point between two trajectories.
例如,第一运动信息确定模块510,设置为:For example, the first motion information determination module 510 is set to:
在所述第一轨迹所在空间为关节空间的情况下,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在关节空间的关节运动信息;When the space where the first trajectory is located is a joint space, determine the joint motion information of the fusion starting point in the joint space based on the first trajectory and the first fusion radius associated with the first trajectory;
以所述融合起点为中心,在所述第一轨迹中选取设定数量的第一轨迹点;Taking the fusion starting point as the center, select a set number of first trajectory points in the first trajectory;
将所述融合起点和所述第一轨迹点映射到笛卡尔空间,并将映射到笛卡尔空间的融合起点和第一轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线;Map the fusion starting point and the first trajectory point to a Cartesian space, and perform spline fitting on the fusion starting point and the first trajectory point mapped to the Cartesian space to obtain a fitting curve in the Cartesian space;
依据所述拟合曲线,确定所述融合起点在笛卡尔空间的笛卡尔运动信息;所述笛卡尔运动信息包括笛卡尔空间的位姿、速度和加速度。According to the fitting curve, the Cartesian motion information of the fusion starting point in the Cartesian space is determined; the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
例如,轨迹融合装置,还包括:For example, trajectory fusion devices also include:
预前瞻规划模块,设置为依据所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述融合路段进行预前瞻规划,确定所述融合段中多个融合轨迹点的速度和加速度;A pre-forward planning module is configured to perform pre-forward planning on the fusion road section based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, and determine the location of multiple fusion trajectory points in the fusion section. speed and acceleration;
速度缩放因子确定模块,设置为在所述融合段中至少一个融合轨迹点的速度达到速度阈值和/或至少一个轨迹点的加速度达到加速度阈值的情况下,依据所述速度和加速度,确定速度缩放因子;A speed scaling factor determination module configured to determine speed scaling based on the speed and acceleration when the speed of at least one fused trajectory point in the fusion segment reaches a speed threshold and/or the acceleration of at least one trajectory point reaches an acceleration threshold. factor;
融合段轨迹规划模块530,设置为:The fusion segment trajectory planning module 530 is set to:
基于所述融合起点的笛卡尔运动信息、所述融合终点的笛卡尔运动信息以及所述速度缩放因子,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
例如,轨迹融合装置,还包括:For example, trajectory fusion devices also include:
插补周期调整模块,设置为在轨迹规划过程中,依据用户输入的速度控制 信息,调整轨迹规划过程中的插补周期。The interpolation cycle adjustment module is set to adjust the interpolation cycle during the trajectory planning process based on the speed control information input by the user.
例如,插补周期调整模块,设置为:For example, the interpolation cycle adjustment module is set to:
依据用户输入的速度控制信息,采用非线性插值算法、比例积分微分PID算法以及均值滤波算法中的至少一项调整轨迹规划过程的插补周期。According to the speed control information input by the user, at least one of the nonlinear interpolation algorithm, the proportional integral differential PID algorithm and the mean filter algorithm is used to adjust the interpolation period of the trajectory planning process.
例如,融合段轨迹规划模块530,还设置为:For example, the fusion segment trajectory planning module 530 is also set to:
在所述第一轨迹和第二轨迹中的至少一项所在空间是关节空间的情况下,采用多项式对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。When the space in which at least one of the first trajectory and the second trajectory is located is a joint space, a polynomial is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory.
例如,融合段轨迹规划模块530,还设置为:For example, the fusion segment trajectory planning module 530 is also set to:
在所述第一轨迹和第二轨迹所在空间均是笛卡尔空间的情况下,采用在线轨迹规划OTG对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。When the spaces where the first trajectory and the second trajectory are located are both Cartesian spaces, online trajectory planning OTG is used to perform trajectory planning on the fusion section between the first trajectory and the second trajectory.
本申请实施例所提供的轨迹融合装置可执行本申请任意实施例所提供的轨迹融合方法,具备执行方法相应的功能模块和有益效果。The trajectory fusion device provided by the embodiments of this application can execute the trajectory fusion method provided by any embodiment of this application, and has functional modules and beneficial effects corresponding to the execution method.
图6示出了可以用来实施本申请的实施例的电子设备10的结构示意图。电子设备旨在表示多种形式的数字计算机,诸如,膝上型计算机、台式计算机、工作台、个人数字助理、服务器、刀片式服务器、大型计算机、和其它适合的计算机。电子设备还可以表示多种形式的移动装置,诸如,个人数字处理、蜂窝电话、智能电话、可穿戴设备(如头盔、眼镜、手表等)和其它类似的计算装置。本文所示的部件、它们的连接和关系、以及它们的功能仅仅作为示例,并且不意在限制本文中描述的和/或者要求的本申请的实现。FIG. 6 shows a schematic structural diagram of an electronic device 10 that can be used to implement embodiments of the present application. Electronic devices are intended to refer to various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. Electronic devices may also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smart phones, wearable devices (eg, helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are examples only and are not intended to limit the implementation of the present application as described and/or claimed herein.
如图6所示,电子设备10包括至少一个处理器11,以及与至少一个处理器11通信连接的存储器,如只读存储器(ROM)12、随机访问存储器(RAM)13等,其中,存储器存储有可被至少一个处理器执行的计算机程序,处理器11可以根据存储在只读存储器(ROM)12中的计算机程序或者从存储单元18加载到随机访问存储器(RAM)13中的计算机程序,来执行多种适当的动作和处理。在RAM 13中,还可存储电子设备10操作所需的多种程序和数据。处理器11、ROM 12以及RAM 13通过总线14彼此相连。输入/输出(I/O)接口15也连接至总线14。As shown in Figure 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., wherein the memory stores There is a computer program that can be executed by at least one processor. The processor 11 can perform the operation 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. Performs a variety of appropriate actions and processes. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via the bus 14. An input/output (I/O) interface 15 is also connected to bus 14 .
电子设备10中的多个部件连接至I/O接口15,包括:输入单元16,例如键盘、鼠标等;输出单元17,例如多种类型的显示器、扬声器等;存储单元18,例如磁盘、光盘等;以及通信单元19,例如网卡、调制解调器、无线通信收发机等。通信单元19允许电子设备10通过诸如因特网的计算机网络和/或多种电信网络与其他设备交换信息/数据。Multiple components in the electronic device 10 are connected to the I/O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a magnetic disk, an optical disk, etc. etc.; and communication unit 19, such as network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information/data with other devices through a computer network such as the Internet and/or various telecommunications networks.
处理器11可以是多种具有处理和计算能力的通用和/或专用处理组件。处理器11的一些示例包括但不限于中央处理单元(CPU)、图形处理单元(GPU)、多种专用的人工智能(AI)计算芯片、多种运行机器学习模型算法的处理器、数字信号处理器(DSP)、以及任何适当的处理器、控制器、微控制器等。处理器11执行上文所描述的多个方法和处理,例如轨迹融合方法。 Processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, digital signal processing processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 performs a plurality of methods and processes described above, such as trajectory fusion methods.
在一些实施例中,轨迹融合方法可被实现为计算机程序,其被有形地包含于计算机可读存储介质,例如存储单元18。在一些实施例中,计算机程序的部 分或者全部可以经由ROM 12和/或通信单元19而被载入和/或安装到电子设备10上。当计算机程序加载到RAM 13并由处理器11执行时,可以执行上文描述的轨迹融合方法的一个或多个步骤。备选地,在其他实施例中,处理器11可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行轨迹融合方法。In some embodiments, the trajectory fusion method may be implemented as a computer program, which is tangibly embodied in a computer-readable storage medium, such as the storage unit 18 . In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 10 via the ROM 12 and/or the communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the trajectory fusion method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the trajectory fusion method in any other suitable manner (eg, by means of firmware).
本文中以上描述的系统和技术的多种实施方式可以在数字电子电路系统、集成电路系统、现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、芯片上系统的系统(SOC)、复杂可编程逻辑设备(CPLD)、计算机硬件、固件、软件、和/或它们的组合中实现。这些多种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。Various implementations of the systems and techniques described above may be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on a chip implemented in a system (SOC), complex programmable logic device (CPLD), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include implementation in one or more computer programs executable and/or interpreted on a programmable system including at least one programmable processor, the programmable processor The processor, which may be a special purpose or general purpose programmable processor, may receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device. An output device.
用于实施本申请的方法的计算机程序可以采用一个或多个编程语言的任何组合来编写。这些计算机程序可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器,使得计算机程序当由处理器执行时使流程图和/或框图中所规定的功能/操作被实施。计算机程序可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。Computer programs for implementing the methods of the present application may be written in 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 device, such that the computer program, when executed by the processor, causes the functions/operations specified in the flowcharts and/or block diagrams to be implemented. A computer program may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
在本申请的上下文中,计算机可读存储介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的计算机程序。计算机可读存储介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。备选地,计算机可读存储介质可以是机器可读信号介质。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。In the context of this application, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. Computer-readable storage media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing. Alternatively, the computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
为了提供与用户的交互,可以在电子设备上实施此处描述的系统和技术,该电子设备具有:用于向用户显示信息的显示装置(例如,CRT(阴极射线管)或者LCD(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给电子设备。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having a display device (eg, a CRT (cathode ray tube) or LCD (liquid crystal display)) for displaying information to the user monitor); and a keyboard and pointing device (e.g., a mouse or a trackball) through which a user can provide input to the electronic device. Other kinds of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and may be provided in any form, including Acoustic input, voice input or tactile input) to receive input from the user.
可以将此处描述的系统和技术实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计 算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(LAN)、广域网(WAN)、区块链网络和互联网。The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., A user's computer having a graphical user interface or web browser through which the user can interact with implementations of the systems and technologies described herein), or including such backend components, middleware components, or any combination of front-end components in a computing system. The components of the system may be interconnected by any form or medium of digital data communication (eg, a communications network). Examples of communication networks include: local area network (LAN), wide area network (WAN), blockchain network, and the Internet.
计算系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以避免了传统物理主机与VPS服务中,存在的管理难度大,业务扩展性弱的情况。Computing systems may include clients and servers. Clients and servers are generally remote from each other and typically interact over a communications network. The relationship of client and server is created by computer programs running on corresponding computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host. It is a host product in the cloud computing service system, which avoids the difficult management and weak business scalability of traditional physical hosts and VPS services. Condition.
应该理解,可以使用上面所示的多种形式的流程,重新排序、增加或删除步骤。例如,本申请中记载的多个步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本申请的技术方案所期望的结果,本文在此不进行限制。It should be understood that various forms of the process shown above may be used, with steps reordered, added or deleted. For example, multiple steps described in this application can be executed in parallel, sequentially, or in different orders. As long as the desired results of the technical solution of this application can be achieved, there is no limitation here.

Claims (10)

  1. 一种轨迹融合方法,包括:A trajectory fusion method including:
    依据第一轨迹和所述第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息;Determine the Cartesian motion information of the fusion starting point in Cartesian space according to the first fusion radius associated with the first trajectory and the first trajectory;
    依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;所述第一轨迹所在空间和第二轨迹所在空间不同;According to the second trajectory and the first fusion radius, determine the Cartesian motion information of the fusion end point in the Cartesian space; the space where the first trajectory is located and the space where the second trajectory is located are different;
    基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划。Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
  2. 根据权利要求1所述的方法,其中,所述依据第一轨迹和所述第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息,包括:The method according to claim 1, wherein determining the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory includes:
    响应于确定所述第一轨迹所在空间为关节空间,依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在关节空间的关节运动信息;In response to determining that the space where the first trajectory is located is the joint space, determine the joint motion information of the fusion starting point in the joint space based on the first trajectory and the first fusion radius associated with the first trajectory;
    以所述融合起点为中心,在所述第一轨迹中选取设定数量的第一轨迹点;Taking the fusion starting point as the center, select a set number of first trajectory points in the first trajectory;
    将所述融合起点和所述第一轨迹点映射到笛卡尔空间,并将映射到笛卡尔空间的融合起点和第一轨迹点进行样条曲线拟合,得到笛卡尔空间的拟合曲线;Map the fusion starting point and the first trajectory point to a Cartesian space, and perform spline fitting on the fusion starting point and the first trajectory point mapped to the Cartesian space to obtain a fitting curve in the Cartesian space;
    依据所述拟合曲线,确定所述融合起点在笛卡尔空间的笛卡尔运动信息;所述笛卡尔运动信息包括笛卡尔空间的位姿、速度和加速度。According to the fitting curve, the Cartesian motion information of the fusion starting point in the Cartesian space is determined; the Cartesian motion information includes the posture, velocity and acceleration of the Cartesian space.
  3. 根据权利要求1所述的方法,在对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划之前,还包括:The method according to claim 1, before performing trajectory planning on the fusion segment between the first trajectory and the second trajectory, further comprising:
    依据所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述融合路段进行预前瞻规划,确定所述融合段中多个融合轨迹点的速度和加速度;According to the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point, pre-planning is performed on the fusion road section to determine the speed and acceleration of multiple fusion trajectory points in the fusion section;
    响应于确定所述融合段中至少一个融合轨迹点的速度达到速度阈值,和至少一个轨迹点的加速度达到加速度阈值中至少之一,依据所述速度和加速度,确定速度缩放因子;In response to determining that the speed of at least one fused trajectory point in the fusion segment reaches a speed threshold and the acceleration of at least one trajectory point reaches at least one of the acceleration thresholds, determining a speed scaling factor based on the speed and acceleration;
    所述基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划,包括:The trajectory planning of the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point includes:
    基于所述融合起点的笛卡尔运动信息、所述融合终点的笛卡尔运动信息以及所述速度缩放因子,对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划。Trajectory planning is performed on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point, the Cartesian motion information of the fusion end point, and the speed scaling factor.
  4. 根据权利要求1所述的方法,还包括:The method of claim 1, further comprising:
    在轨迹规划过程中,依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期。During the trajectory planning process, the interpolation period in the trajectory planning process is adjusted based on the speed control information input by the user.
  5. 根据权利要求4所述的方法,其中,所述依据用户输入的速度控制信息,调整轨迹规划过程中的插补周期,包括:The method according to claim 4, wherein adjusting the interpolation period in the trajectory planning process according to the speed control information input by the user includes:
    依据用户输入的速度控制信息,采用非线性插值算法、比例积分微分PID算法以及均值滤波算法中的至少一项调整轨迹规划过程的插补周期。According to the speed control information input by the user, at least one of the nonlinear interpolation algorithm, the proportional integral differential PID algorithm and the mean filter algorithm is used to adjust the interpolation period of the trajectory planning process.
  6. 根据权利要求1所述的方法,其中,所述对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划,包括:The method according to claim 1, wherein the performing trajectory planning on the fusion segment between the first trajectory and the second trajectory includes:
    响应于确定所述第一轨迹和第二轨迹中的至少一项所在空间是关节空间, 采用多项式对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划。In response to determining that the space in which at least one of the first trajectory and the second trajectory is located is a joint space, a polynomial is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory.
  7. 根据权利要求1所述的方法,其中,所述对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划,还包括:The method according to claim 1, wherein the performing trajectory planning on the fusion segment between the first trajectory and the second trajectory further includes:
    响应于确定所述第一轨迹和所述第二轨迹所在空间分别是笛卡尔空间,采用在线轨迹规划OTG对所述第一轨迹和所述第二轨迹之间的融合段进行轨迹规划。In response to determining that the spaces where the first trajectory and the second trajectory are located are respectively Cartesian spaces, online trajectory planning OTG is used to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory.
  8. 一种轨迹融合装置,包括:A trajectory fusion device including:
    第一运动信息确定模块,设置为依据第一轨迹和第一轨迹关联的第一融合半径,确定融合起点在笛卡尔空间的笛卡尔运动信息;The first motion information determination module is configured to determine the Cartesian motion information of the fusion starting point in Cartesian space based on the first trajectory and the first fusion radius associated with the first trajectory;
    第二运动信息确定模块,设置为依据第二轨迹和所述第一融合半径,确定融合终点在笛卡尔空间的笛卡尔运动信息;第一轨迹所在空间和第二轨迹所在空间不同;The second motion information determination module is configured to determine the Cartesian motion information of the fusion end point in Cartesian space based on the second trajectory and the first fusion radius; the space where the first trajectory is located is different from the space where the second trajectory is located;
    融合段轨迹规划模块,设置为基于所述融合起点的笛卡尔运动信息和所述融合终点的笛卡尔运动信息,对所述第一轨迹和第二轨迹之间的融合段进行轨迹规划。The fusion segment trajectory planning module is configured to perform trajectory planning on the fusion segment between the first trajectory and the second trajectory based on the Cartesian motion information of the fusion starting point and the Cartesian motion information of the fusion end point.
  9. 一种电子设备,包括:An electronic device including:
    至少一个处理器;以及at least one processor; and
    与所述至少一个处理器通信连接的存储器;其中,a memory communicatively connected to the at least one processor; wherein,
    所述存储器存储有可被所述至少一个处理器执行的计算机程序,所述计算机程序被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的轨迹融合方法。The memory stores a computer program executable by the at least one processor, the computer program being executed by the at least one processor, so that the at least one processor can execute any one of claims 1-7 The trajectory fusion method described.
  10. 一种计算机可读存储介质,其中,所述计算机可读存储介质存储有计算机指令,所述计算机指令设置为使处理器执行时实现权利要求1-7中任一项所述的轨迹融合方法。A computer-readable storage medium, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are configured to enable a processor to implement the trajectory fusion method according to any one of claims 1-7 when executed.
PCT/CN2022/113053 2022-03-18 2022-08-17 Trajectory fusion method and apparatus, and device and storage medium WO2023173677A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210270671.4 2022-03-18
CN202210270671.4A CN114474072B (en) 2022-03-18 2022-03-18 Track fusion method, device, equipment and storage medium

Publications (1)

Publication Number Publication Date
WO2023173677A1 true WO2023173677A1 (en) 2023-09-21

Family

ID=81486159

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2022/113053 WO2023173677A1 (en) 2022-03-18 2022-08-17 Trajectory fusion method and apparatus, and device and storage medium

Country Status (2)

Country Link
CN (1) CN114474072B (en)
WO (1) WO2023173677A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114474072B (en) * 2022-03-18 2023-07-04 中科新松有限公司 Track fusion method, device, equipment and storage medium
CN116512237B (en) * 2022-11-28 2023-09-19 广东建石科技有限公司 Industrial robot vision servo method, device, electronic equipment and storage medium

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105500354A (en) * 2016-02-02 2016-04-20 南京埃斯顿机器人工程有限公司 Transitional track planning method applied by industrial robot
CN106313047A (en) * 2016-09-28 2017-01-11 华中科技大学 Robot real-time corner transition method based on Bezier spline
US20210339390A1 (en) * 2020-05-04 2021-11-04 X Development Llc Trajectory planning for path-based applications
CN113741336A (en) * 2021-09-10 2021-12-03 上海景吾智能科技有限公司 Real-time motion-based Cartesian space trajectory planning method and system
CN114131612A (en) * 2021-12-20 2022-03-04 中国科学院长春光学精密机械与物理研究所 Redundant manipulator real-time look-ahead trajectory planning method based on NURBS curve interpolation algorithm
CN114474072A (en) * 2022-03-18 2022-05-13 中科新松有限公司 Track fusion method, device, equipment and storage medium

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100743143B1 (en) * 2005-08-30 2007-07-27 주식회사 로보스타 apparatus for transition trajectory generation between non-smoothly connected paths of Industrial Robots
CN102091879B (en) * 2011-01-04 2012-12-05 长沙红点自动化科技有限公司 Transitional track planning method for welding robot
DE102015109708B3 (en) * 2015-06-17 2016-01-21 Uwe Simon Method for controlling the movement sequence of a motor-driven machine or tool component
CN112077851B (en) * 2020-09-17 2021-06-25 南京埃斯顿自动化股份有限公司 Industrial robot transition track planning method based on mixed space
CN113442142B (en) * 2021-07-14 2022-08-23 杭州泛海科技有限公司 Smoothing method for Cartesian space motion trail of six-axis serial industrial robot

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105500354A (en) * 2016-02-02 2016-04-20 南京埃斯顿机器人工程有限公司 Transitional track planning method applied by industrial robot
CN106313047A (en) * 2016-09-28 2017-01-11 华中科技大学 Robot real-time corner transition method based on Bezier spline
US20210339390A1 (en) * 2020-05-04 2021-11-04 X Development Llc Trajectory planning for path-based applications
CN113741336A (en) * 2021-09-10 2021-12-03 上海景吾智能科技有限公司 Real-time motion-based Cartesian space trajectory planning method and system
CN114131612A (en) * 2021-12-20 2022-03-04 中国科学院长春光学精密机械与物理研究所 Redundant manipulator real-time look-ahead trajectory planning method based on NURBS curve interpolation algorithm
CN114474072A (en) * 2022-03-18 2022-05-13 中科新松有限公司 Track fusion method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN114474072B (en) 2023-07-04
CN114474072A (en) 2022-05-13

Similar Documents

Publication Publication Date Title
WO2023173677A1 (en) Trajectory fusion method and apparatus, and device and storage medium
CN111546347B (en) Mechanical arm path planning method suitable for dynamic environment
WO2022198994A1 (en) Robot arm motion planning method and apparatus, and readable storage medium and robot arm
CN113682318B (en) Vehicle running control method and device
CN113223113B (en) Lane line processing method and device, electronic equipment and cloud control platform
CN111798114A (en) Model training and order processing method, device, equipment and storage medium
CN112927328A (en) Expression migration method and device, electronic equipment and storage medium
WO2023221963A1 (en) Following error determination method and apparatus, device, and storage medium
CN113971723B (en) Method, device, equipment and storage medium for constructing three-dimensional map in high-precision map
JP6290029B2 (en) Production control support device, production control support method and program
CN117261880A (en) Vehicle control method, device, equipment and storage medium
WO2024016892A1 (en) Method and apparatus for external-parameter calibration of sensors, and electronic device
CN113021329B (en) Robot motion control method and device, readable storage medium and robot
CN112541464A (en) Method and device for determining associated road object, road side equipment and cloud control platform
US20230123671A1 (en) Localization and mapping
CN114792125A (en) Data processing method and device based on distributed training, electronic equipment and medium
CN114771518B (en) Lane center guide wire generation method and device, electronic equipment and medium
CN116572997B (en) Vehicle controller, vehicle and vehicle control method
CN114954654B (en) Calculation method, control method and device for zero offset compensation angle of steering wheel of vehicle
CN111829540B (en) Driving track generation method and device, electronic equipment and storage medium
CN117260738A (en) Robot control method, device, equipment and storage medium
CN115056847B (en) Calculation method, control method and device for zero offset compensation angle of steering wheel of vehicle
RU2756437C1 (en) Method and system for planning the movement of a manipulator robot by correcting the reference trajectories
CN115625712A (en) Robot joint constraint trajectory planning method, device, equipment and medium
CN116524165B (en) Migration method, migration device, migration equipment and migration storage medium for three-dimensional expression model

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 22931699

Country of ref document: EP

Kind code of ref document: A1