WO2024041647A1 - Cartesian space trajectory planning method and apparatus - Google Patents

Cartesian space trajectory planning method and apparatus Download PDF

Info

Publication number
WO2024041647A1
WO2024041647A1 PCT/CN2023/115052 CN2023115052W WO2024041647A1 WO 2024041647 A1 WO2024041647 A1 WO 2024041647A1 CN 2023115052 W CN2023115052 W CN 2023115052W WO 2024041647 A1 WO2024041647 A1 WO 2024041647A1
Authority
WO
WIPO (PCT)
Prior art keywords
path
trajectory
space
cartesian
planned
Prior art date
Application number
PCT/CN2023/115052
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 WO2024041647A1 publication Critical patent/WO2024041647A1/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • B25J9/161Hardware, e.g. neural networks, fuzzy logic, interfaces, processor

Definitions

  • the present application relates to the technical field related to motion control, and in particular to a trajectory planning method and device in Cartesian space.
  • the robot is a multi-axis device.
  • the most intuitive way to express the posture of the robot end (also called the execution end) is the Euler angle.
  • the Euler angle has singular points and is not suitable for interpolation. , and the planning of the posture cannot be realized.
  • the existing technology only uses Euler angles within a limited range for attitude planning.
  • trajectory planning that includes multi-segment attitude planning
  • the Euler angles are converted into quaternions, and then attitude interpolation is performed based on the quaternions, thereby planning
  • the posture of the robot's end solves the impact of the Euler angle singularity.
  • the quaternion-based trajectory interpolation method essentially operates on a spherical surface, the postures before and after rapidly changing nodes may be discontinuous.
  • embodiments of the present application provide a trajectory planning method and device in Cartesian space.
  • embodiments of the present application provide a trajectory planning method in Cartesian space, which includes: obtaining the poses of several path nodes at the end of a multi-axis device, where the poses include position coordinates in Cartesian position space and Cartesian position coordinates.
  • the attitude coordinates of the Karl attitude space, where the attitude coordinates are represented by three-dimensional continuous Euler angles.
  • the continuous Euler angle of the jth dimension of the node is equal to the sum of the rotation angle of the continuous Euler angle of the jth dimension of the i-th path node and the Euler angle of the jth dimension during the movement. is the angle of forward rotation; use the pose to smoothly fit the path nodes to obtain the planned path of the Cartesian space at the end of the multi-axis device; according to the pose of each path point of the planned path, obtain Planning trajectories in Cartesian space.
  • the attitude coordinates are represented by continuous Euler angles with continuous values, which solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the Cartesian space based on Continuous planning of poses.
  • obtaining the planned trajectory of the Cartesian space based on the position length and the angular length of each path point includes: using the position of the path point The length and the angular length constitute the path space coordinate of the path point, and the path space trajectory is interpolated according to the path space coordinate to obtain the path trajectory of the path space; according to the path space of the path point Trajectory obtains the planned trajectory.
  • the 6-dimensional pose of each planned path point in Cartesian space is converted into a 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the problem of discontinuous attitude of quaternions during interpolation , and reduce the complexity of planning calculation and improve the planning effect.
  • performing path space trajectory interpolation on the path point according to the path space coordinates to obtain the path trajectory in the path space includes: The kinematic constraints of the Karl space are used to obtain the kinematic constraints of the end of the multi-axis equipment in the path space; under the kinematic constraints of the path space, the path point is performed on the path space according to the coordinates of the path space. Trajectory interpolation is used to obtain the journey trajectory in the journey space, and the speed, acceleration and jerk of each journey trajectory point are continuous.
  • the planned trajectory of the Cartesian space is realized to comply with the kinematic constraints of the Cartesian space and the planning trajectory points.
  • Velocity, acceleration and jerk are continuous.
  • performing path space trajectory interpolation on the path point according to the path space coordinates specifically includes: performing path space trajectory interpolation on the path point according to the path space coordinates of the path space.
  • the trajectory of the position length dimension in the path space of the path point and the trajectory of the position length dimension are synchronously interpolated.
  • the planned trajectory in Cartesian space obtained from the journey trajectory in the journey space includes: the position length of each journey trajectory point according to the journey trajectory in the journey space. and the angular length, to obtain the pose of each path trajectory point; use each path trajectory point as a planned trajectory point in Cartesian space to form the planned trajectory.
  • the smooth fitting of the path nodes using the pose includes at least one of the following: using line segments and arcs to fit the path nodes according to the pose Perform smooth fitting; use B-splines or polynomials to perform smooth fitting on the path nodes according to the pose.
  • line segments and arcs are used for planning regular paths to reduce the amount of calculation
  • B-splines or polynomials are used for planning irregular paths to improve accuracy.
  • B-splines or polynomials are used for planning for scenes with high accuracy requirements
  • line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements.
  • the path nodes are smoothly fitted through line segments and arcs or B-splines or polynomials are used to smooth the planned path and meet position accuracy requirements.
  • a trajectory planning method in Cartesian space further includes: obtaining each trajectory node according to the pose of the planned trajectory point, and the trajectory node is a point on the planned trajectory.
  • the curvature of the Cartesian space is greater than the planned trajectory point of the set threshold; perform an inverse kinematic solution on the pose of the trajectory node to obtain the joint coordinates of the joint node in the joint space of the multi-axis device, and the joint node is the point corresponding to the trajectory node in the joint space; under the kinematic constraints of each axis, the joint trajectory of each axis of the multi-axis device is synchronously planned according to the node coordinates.
  • the pose of the trajectory node is converted into the joint coordinates of the joint space of the multi-axis device, and the synchronization rules are based on this.
  • the points of each joint trajectory have velocity, acceleration and jerk in the joint space, and each axis Movement is continuous.
  • embodiments of the present application provide a planning device for joint space trajectories of multi-axis equipment, including: an acquisition module, a path planning module and a Cartesian trajectory planning module; the acquisition module is used to obtain the joint space trajectory of the multi-axis equipment.
  • the postures of several path nodes, the postures include the position coordinates of the Cartesian position space and the attitude coordinates of the Cartesian attitude space, where the attitude coordinates are represented by three-dimensional continuous Euler angles.
  • the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the continuous Euler angle of the j-th dimension of the i-th path node.
  • the sum of the rotation angle of the angle and the Euler angle of the jth dimension during the movement, which is the angle of forward rotation; the path planning module is used to use the pose to smoothly fit the path node , obtain the planned path in Cartesian space at the end of the multi-axis device; the Cartesian trajectory planning module is used to obtain the planned trajectory in Cartesian space according to the pose of each path point of the planned path.
  • the attitude coordinates are represented by continuous Euler angles with continuous values, which solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the Cartesian space based on Continuous planning of poses.
  • the Cartesian trajectory planning module is specifically configured to include: the path spatial coordinate of the path point composed of the position length and the angular length of the path point, The path space trajectory interpolation is performed on the path point according to the journey space coordinates to obtain the journey trajectory in the journey space; the planned trajectory is obtained according to the journey trajectory in the journey space.
  • the 6-dimensional pose of each planned path point in Cartesian space is converted into a 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the problem of discontinuous attitude of quaternions during interpolation , and the complexity of planning calculation improves the planning effect.
  • the Cartesian trajectory planning module is specifically used to perform path space trajectory interpolation on path points according to the path space coordinates to obtain the path trajectory in the path space, including: based on multiple The kinematic constraints of the end of the axis equipment in Cartesian space are used to obtain the kinematic constraints of the end of the multi-axis equipment in the distance space; under the kinematic constraints of the distance space, the kinematic constraints of the distance space coordinates are calculated according to the distance space coordinates.
  • the path points perform path space trajectory interpolation to obtain the path trajectory in the path space.
  • the speed, acceleration and jerk of each path trajectory point are continuous.
  • the planned trajectory of the Cartesian space is realized to comply with the kinematic constraints of the Cartesian space and the planning trajectory points.
  • Velocity, acceleration and jerk are continuous.
  • the Cartesian trajectory planning module is specifically used to perform path space trajectory interpolation on path points according to the path space coordinates, including: according to the path space coordinates
  • the distance space coordinates are used to synchronously interpolate the trajectory of the position length dimension of the route space of the path point and the trajectory of the position length dimension.
  • Cartesian trajectory planning module when the Cartesian trajectory planning module obtains the planned trajectory of the Cartesian space according to the journey trajectory of the journey space, it is specifically used to include: The position length and the angle length of each journey trajectory point are used to obtain the pose of each journey trajectory point; each journey trajectory point is used as a planned trajectory point in Cartesian space to form the planned trajectory.
  • the path planning module when the path planning module uses the pose to smoothly fit the path nodes, it includes at least one of the following: using line segments and arcs according to the pose Perform smooth fitting on the path nodes; use B-splines or polynomials to perform smooth fitting on the path nodes according to the pose.
  • line segments and arcs are used for planning regular paths to reduce the amount of calculation
  • B-splines or polynomials are used for planning irregular paths to improve accuracy.
  • B-splines or polynomials are used for planning for scenes with high accuracy requirements
  • line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements. From the above, the path nodes are smoothly fitted through line segments and arcs or B-splines or polynomials are used to smooth the planned path and meet position accuracy requirements.
  • a trajectory planning device in Cartesian space further includes: an inverse motion solution module, configured to obtain each trajectory node according to the pose of the planned trajectory point, and the trajectory node For the planned trajectory points on the planned trajectory whose curvature in Cartesian space is greater than the set threshold, perform an inverse kinematic solution on the pose of the trajectory node to obtain the joint space of the joint node in the multi-axis device joint coordinates, and the joint nodes are points corresponding to the trajectory nodes in the joint space; a joint trajectory planning module is used to synchronously plan the multi-axis according to the node coordinates under the kinematic constraints of each axis. The joint trajectories of each axis of the device.
  • the posture of the trajectory node is converted into the joint coordinates of the joint space of the multi-axis device, and the joint trajectories of each axis of the multi-axis device are synchronously planned accordingly, so that the motion of each axis of the multi-axis device meets the motion synchronization of each axis. And it satisfies the kinematic constraints.
  • the speed, acceleration and jerk of each joint trajectory point are in the joint space, and the motion of each axis is continuous.
  • embodiments of the present application provide a computing device, including:
  • a communication interface connected to the bus
  • At least one memory is connected to the bus and stores program instructions. When executed by the at least one processor, the program instructions cause the at least one processor to execute any one of the embodiments of the first aspect of the present application.
  • embodiments of the present application provide a computer-readable storage medium on which program instructions are stored. When executed by a computer, the program instructions cause the computer to execute any one of the embodiments described in the first aspect of the application.
  • Figure 1 is a schematic flow chart of Embodiment 1 of a Cartesian space trajectory planning method of the present application
  • Figure 2 is a schematic flow chart of Embodiment 2 of a Cartesian space trajectory planning method of the present application
  • Figure 3A is a schematic flowchart of Embodiment 3 of a Cartesian space trajectory planning method of the present application
  • Figure 3B is a schematic flowchart of the joint space planning method in Embodiment 3 of a Cartesian space trajectory planning method of the present application;
  • Figure 4 is a schematic structural diagram of Embodiment 1 of a Cartesian space trajectory planning device of the present application
  • Figure 5 is a schematic structural diagram of Embodiment 2 of a Cartesian space trajectory planning device of the present application.
  • Figure 6 is a schematic structural diagram of Embodiment 3 of a Cartesian space trajectory planning device of the present application.
  • Figure 7 is a schematic structural diagram of a computing device according to various embodiments of the present application.
  • Cartesian space, Cartesian space coordinates Descartes space is a rectangular coordinate space, and the coordinates of the Cartesian space are poses, including position coordinates and attitude coordinates.
  • the position coordinates are three-dimensional rectangular coordinates, and the attitude coordinates are the current position of the object relative to the three-dimensional rectangular coordinates.
  • the rotation angle of the coordinates is a single dimension.
  • Speed planner A device for planning the trajectory and speed of moving objects. It plans the speed and trajectory of objects through trajectory interpolation. During speed planning, the speed and acceleration of each point are maintained continuously and obey kinematic constraints.
  • the velocity planner can plan trajectories in Cartesian space as well as trajectories in other spaces. When planning, describe velocity as an expression of time, such as a polynomial based on time.
  • Each embodiment of the present application uses continuous Euler angles with continuous values to represent attitude coordinates, solving the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the flute Continuous planning based on pose in Karl space.
  • the multi-axis equipment in this application has multiple axes and can be a robot or a machine tool.
  • Its trajectory node is the end of multi-axis equipment. The end is at several points in Cartesian space; the end of the multi-axis equipment can be the external operating part of the multi-axis equipment, such as the fingers of the robot, the tool of the machine tool, etc.; the joint node of the multi-axis equipment is the multi-axis equipment when the end of the multi-axis equipment reaches the trajectory node The corresponding points of each axis in its joint space.
  • Embodiment 1 of a trajectory planning method in Cartesian space includes: obtaining the poses of several path nodes at the end of a multi-axis device, where the poses include position coordinates in Cartesian position space and attitude coordinates in Cartesian attitude space, where , the attitude coordinates are represented by three-dimensional continuous Euler angles.
  • the j-th dimension of the i+1-th path node The continuous Euler angle is equal to the sum of the continuous Euler angle of the j-th dimension of the i-th path node and the forward rotation angle of the Euler angle of the j-th dimension during the movement; the pose is used to calculate the
  • the path nodes are smoothly fitted to obtain the planned path in Cartesian space at the end of the multi-axis device; according to the posture of each path point of the planned path, the planned trajectory in Cartesian space is obtained.
  • Figure 1 shows the process of Embodiment 1 of a Cartesian space trajectory planning method, including steps S110 to S130.
  • S110 Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the path nodes are key points in the movement process of the end of the multi-axis equipment.
  • the pose includes position coordinates and attitude coordinates in Cartesian space, and the attitude coordinates are represented by three-dimensional continuous Euler angles.
  • the continuous Euler angle of the first path node is equal to the Euler angle of the first path node, when When the end of the multi-axis equipment moves from the i-th path node to the i+1-th path node, the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the continuous Euler angle of the j-th dimension of the i-th path node.
  • the rotation angle is always the forward rotation angle, that is, the forward rotation angle of the ordinary Euler angle.
  • the first and third angles of the ordinary Euler angle are forward in the clockwise direction, and the second angle is counterclockwise. The direction is forward.
  • the three angle ranges of ordinary Euler angles are: the first angle is 0 to 2 ⁇ , the second angle is 0 to ⁇ , and the third angle is 0 to 2 ⁇ .
  • S120 Smoothly fit each path node according to the pose of each path node to obtain the planned path in Cartesian space at the end of the multi-axis device.
  • the smooth fitting of the path does not include speed planning.
  • the position and attitude of each path point in the Cartesian empty space are determined.
  • a better way to plan a path that does not pass through points is to use the straight line segment + arc method to plan transition points, and a better way to plan a path that does not pass through points is to use a B-spline function or polynomial method to plan.
  • line segments and Arc planning is used to reduce the amount of calculation
  • B-spline or polynomial planning is used for irregular paths to improve accuracy.
  • B-splines or polynomials are used for planning for scenes with high accuracy requirements
  • line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements.
  • the pose of each path point obtained by path planning is to rasterize the movement position of the end of the multi-axis equipment. It can be considered as a global planning of the movement position of the end of the multi-axis equipment, whether through non-passing points or passing points. All have realized that the planned path at the end of the multi-axis equipment meets the requirements of smoothness and accuracy.
  • the continuous Euler angle coordinate method is used to solve the traditional Euler angle discontinuity problem, which is convenient for fitting.
  • the continuous attitude value is achieved by inserting path points.
  • the pose of each point on the planned trajectory is the same as the pose of the corresponding path point on the planned path in step S120, but this step obtains the relationship between the pose and time of each path point through speed planning, that is, each path point increases
  • the planned path with added time attribute is called planned trajectory.
  • the speed planner is used to separately and synchronously plan the position trajectory of the multi-axis device end in the Cartesian position space and the attitude trajectory in the Cartesian position space.
  • the position trajectory Together with the attitude trajectory, it forms the planned trajectory of the end of the multi-axis equipment in Cartesian space.
  • the pose of each planned path point is converted into the coordinates of the journey space
  • the journey trajectory of the end of the multi-axis device in the journey space is planned according to the coordinates of the journey space
  • the journey trajectory is converted into Cartesian space planning trajectory.
  • the continuous Euler angle coordinate method is used to solve the problem of traditional Euler angle discontinuity, which is convenient for calculating the length of Cartesian attitude space.
  • This length can be used for attitude planning, solving the problem of singular points of Euler angles and quaternion.
  • Embodiment 1 of a Cartesian space trajectory planning method obtains the poses of several path nodes at the end of the multi-axis device, and uses continuous Euler angles with continuous values to represent the pose coordinates; for the poses of the path nodes Perform path fitting to obtain the planned path in Cartesian space at the end of the multi-axis device; obtain the planned trajectory in Cartesian space based on the posture of each path point of the planned path.
  • the embodiment of this method solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation by using continuous Euler angles with continuous values to represent attitude coordinates, and realizes Cartesian Continuous planning of space based on pose.
  • Embodiment 2 of a trajectory planning method in Cartesian space converts the pose of each planned path point into the coordinates of the journey space, plans the journey trajectory of the end of the multi-axis equipment in the journey space according to the coordinates of the journey space, and then converts the journey trajectory into Planning trajectories in Cartesian space.
  • the embodiment of this method converts the 6-dimensional pose of each planned path point in Cartesian space into the 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the discontinuous pose of quaternions during interpolation problem, and reduces the computational complexity and improves the planning effect.
  • Figure 2 shows the process of Embodiment 2 of a Cartesian space trajectory planning method, including steps S210 to S250.
  • S210 Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include Cartesian space Three-dimensional position coordinates and three-dimensional attitude coordinates.
  • step S110 of the first method embodiment please refer to step S110 of the first method embodiment.
  • S220 Smoothly fit each path node according to the pose of each path node to obtain the planned path in Cartesian space at the end of the multi-axis device.
  • step S120 of the first method embodiment please refer to step S120 of the first method embodiment.
  • S230 According to the pose of the planned path in Cartesian space, obtain the position length and angular length of each path point on the planned path, and form the journey space coordinates of each path point.
  • the path points include path nodes and the path points inserted in step S220.
  • the position length of the i-th path point is the planned path from the first path point to the i-th path point in sequence.
  • the length in the Cartesian position space, the angular length of the i-th path point is the length of the planned path in the Cartesian posture space through the sequential movement from the first path point to the i-th path point, and we can get the
  • the position length between the i+1 path point and the i-th path point is the distance between the i+1-th path point and the i-th path point in the Cartesian position space, and the i+1-th path point and the i-th path point are The angle length between i path points is the distance between the i+1th path point and the ith path point in Cartesian posture space.
  • the journey space includes translation coordinates and rotation coordinates.
  • the translation coordinates of a path point are the position length of the path point
  • the rotation coordinates of a path point are the angular length of the path point.
  • the calculated angle length that is, the rotation coordinate
  • the rotation coordinate is also continuous and can be used for continuous interpolation of the rotation coordinate.
  • S240 According to the distance space coordinates of each way point, use the speed planner to perform distance space trajectory interpolation on each way point to obtain the distance space trajectory.
  • the speed planner when using the speed planner to interpolate the path space trajectory of each path point, according to the kinematic constraints of the multi-axis equipment end in Cartesian space, the kinematic constraints of the multi-axis equipment end in the distance space are obtained, and in Under the kinematic constraints of the path space, the path space trajectory interpolation is performed for each path point.
  • the path point's trajectory in the translation dimension and the trajectory in the rotation dimension in the path space are synchronously interpolated according to the path space coordinates of the path space.
  • the synchronization means that the time to arrive at the trajectory point in the translation dimension and the trajectory point in the rotation dimension corresponding to a path point in the journey space is the same.
  • the speed of each interpolation point is forward-looking speed planning through the speed planner, and the speed, acceleration and jerk of the distance trajectory point in each distance coordinate dimension in the distance space are continuous.
  • the speed planner synchronously interpolates the translation coordinates and rotation coordinates of the distance space during trajectory interpolation.
  • the speed curve using the speed planner includes S-shaped curves or other shaped curves.
  • the relationship between speed and time includes taking time as Polynomials of basis functions or expressions with time cosines as basis functions.
  • the search method is used to convert the coordinates of each distance trajectory point in the distance space into the posture of each distance trajectory point in Cartesian space.
  • the journey trajectory points in the journey space correspond to the planning trajectory points in the Cartesian space.
  • the path trajectory point satisfies the kinematic constraints of the end path space of the multi-axis equipment.
  • the planned trajectory point in the Cartesian space satisfies the motion in the Cartesian space.
  • the path trajectory point satisfies the continuity of velocity, acceleration and jerk in the path space.
  • the planning trajectory point in the Cartesian space satisfies the continuity of velocity, acceleration and jerk in the Cartesian space.
  • the path trajectory is in the translation dimension.
  • the synchronization of the trajectory points and the trajectory points of the rotation dimension means that the planned trajectory is synchronized in the six dimensions of the pose.
  • Embodiment 2 of a Cartesian space trajectory planning method obtains the poses of several path nodes at the end of the multi-axis device, where the pose coordinates are represented by three-dimensional continuous Euler angles; the poses of each path node are Path fitting is used to obtain the planned path in Cartesian space at the end of the multi-axis device; according to the pose of each path point of the planned path, the position length and angular length of each path point are obtained; and based on this, the planned trajectory in Cartesian space is obtained.
  • the embodiment of this method converts the 6-dimensional pose of each planned path point in Cartesian space into the 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the discontinuous pose of quaternions during interpolation problem, and the complexity of planning calculations improves the planning effect.
  • Embodiment 3 of a trajectory planning method in Cartesian space uses the planned trajectory in Cartesian space obtained in Embodiment 2 of a trajectory planning method in Cartesian space to obtain the coordinates of the end trajectory node of the multi-axis device in the joint space, and based on this
  • the joint trajectory of the multi-axis device in the joint space is synchronously planned based on the kinematic constraints of each axis of the multi-axis device.
  • Embodiment 3 of a Cartesian space trajectory planning method will be introduced below with reference to Figures 3A and 3B.
  • Figure 3A shows the process of Embodiment 3 of a Cartesian space trajectory planning method, including steps S310 to S350.
  • S310 Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • step S110 of the first method embodiment please refer to step S110 of the first method embodiment.
  • S320 Smoothly fit each path node according to the pose of each path node, and obtain the planned path in Cartesian space at the end of the multi-axis device.
  • step S120 of the first method embodiment please refer to step S120 of the first method embodiment.
  • this step executes steps S230, S240 and S250 of the second method embodiment.
  • steps S230, S240 and S250 of the second method embodiment please refer to steps S230, S240 and S250 of the second method embodiment.
  • the trajectory node of the end of the multi-axis device in Cartesian space is obtained, and the trajectory node is the planned trajectory point on the planned trajectory in Cartesian space that has a curvature greater than the set threshold, These points are key points on the planned trajectory and determine the trend of the planned trajectory.
  • the inverse kinematic solution of the trajectory node's pose is performed to obtain the joint node of the trajectory node in the multi-axis device.
  • joint coordinates are the coordinates of the joint space.
  • the inverse kinematics solution method includes: analytical method, which uses an analytical method to find the coordinate angle of the joint node corresponding to the joint space of each axis of the trajectory node; iterative method, which uses numerical iteration to numerically iterate Find the special solution of the equation and obtain the coordinates of the joint nodes corresponding to the joint space of each axis of the trajectory node; the geometric method, for some robots with relatively simple structures, obtain the coordinates of the joint nodes corresponding to the trajectory node in the joint space of each axis through geometric relationships. coordinate.
  • This application does not limit the inverse kinematic solution method.
  • each axis can be regarded as a joint, corresponding to one dimension of the joint space, and each axis can be a translation axis or a rotation axis.
  • the speed curves used by the speed planner include S-shaped curves or curves of other shapes.
  • the relationship between speed and time includes polynomials with time as the basis function or time-based functions.
  • Cosine is the expression of the basis function.
  • the synchronization means that each axis of the multi-axis device reaches each joint node at the same time in the joint space.
  • the joint trajectory points of each axis in the joint space satisfy the kinematic constraints of the axis, and the speed, acceleration and jerk of the joint trajectory points in the joint space are continuous.
  • Figure 3B shows the flow of a joint space trajectory planning method according to an embodiment of a Cartesian space trajectory planning method, including: steps S3510 to S3540.
  • S3510 According to the joint coordinates of the joint nodes, use the speed planner to plan the first trajectory of each axis in the joint space, and obtain the planning time for each axis to reach each joint node.
  • the speed planner in this step is the speed planner described in step S350 of the second embodiment of the Cartesian space trajectory planning method, and each axis is planned under kinematic constraints.
  • S3520 According to the planned time for each axis to reach each joint node, obtain the synchronization time for each axis to reach each joint node.
  • each axis reaches the corresponding joint node of the trajectory node synchronously.
  • this step includes:
  • the longest running time of each axis between the pair of adjacent joint nodes is regarded as the synchronization time of the motion between the pair of adjacent joint nodes.
  • S3530 Based on the synchronization time of each axis arriving at each joint node and the joint coordinates of each joint node, use the speed planner to separately plan the second trajectory of each axis in the joint space.
  • the speed planner in this step is the speed planner described in step S350 of the second embodiment of the Cartesian space trajectory planning method, and realizes the speed, acceleration and acceleration of its joint trajectory points in the joint space. degree of continuity.
  • Embodiment 3 of a Cartesian space trajectory planning method uses the planned trajectory in Cartesian space obtained in Embodiment 2 of a Cartesian space trajectory planning method to obtain the coordinates of the end trajectory node of the multi-axis device in the joint space, And based on this, the joint trajectories of each axis of the multi-axis device are synchronously planned based on the kinematic constraints of each axis of the multi-axis device, thereby not only achieving the smoothness and accuracy of the planned trajectory of the end of the multi-axis device, but also meeting the requirements of the end of the multi-axis device.
  • the kinematic constraints also meet the kinematic constraints of each axis of the multi-axis equipment, and the speed, acceleration and jerk of each axis are continuous.
  • Embodiment 1 of a Cartesian space trajectory planning device executes the method described in Embodiment 1 of a Cartesian space trajectory planning method and has all its advantages.
  • Figure 4 shows the structure of Embodiment 1 of a Cartesian space trajectory planning device, including: an acquisition module 410, a path planning module 420, and a Cartesian trajectory planning module 430.
  • the acquisition module 410 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the path planning module 420 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device.
  • the path planning module 420 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device.
  • step S120 in Embodiment 1 of a Cartesian space trajectory planning method.
  • the Cartesian trajectory planning module 430 is used to obtain the planned trajectory of the Cartesian space according to the pose of the planned path in the Cartesian space. For its method and advantages, please refer to step S130 in Embodiment 1 of a Cartesian space trajectory planning method.
  • Embodiment 2 of a Cartesian space trajectory planning device executes the method described in Embodiment 2 of a Cartesian space trajectory planning method and has all its advantages.
  • Figure 5 shows the structure of Embodiment 2 of a Cartesian space trajectory planning device, including: an acquisition module 510, a path planning module 520, and a Cartesian trajectory planning module 530.
  • the acquisition module 510 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • step S210 in Embodiment 2 of a Cartesian space trajectory planning method please refer to step S210 in Embodiment 2 of a Cartesian space trajectory planning method.
  • the path planning module 520 is used to smoothly fit each path node according to the pose of each path node, and obtain a planned path in Cartesian space at the end of the multi-axis device.
  • a planned path in Cartesian space at the end of the multi-axis device please refer to step S220 in Embodiment 2 of a Cartesian space trajectory planning method.
  • the Cartesian trajectory planning module 530 is used to obtain the position length and angle length of each path point on the planned path based on the pose of the planned path in Cartesian space, and form the path space coordinates of each path point.
  • step S230 in Embodiment 2 of a Cartesian space trajectory planning method please refer to step S230 in Embodiment 2 of a Cartesian space trajectory planning method.
  • the Cartesian trajectory planning module 530 is also used to use the speed planner to interpolate the journey space trajectory of each path point according to the journey space coordinates of each path point to obtain the journey space trajectory.
  • the speed planner to interpolate the journey space trajectory of each path point according to the journey space coordinates of each path point to obtain the journey space trajectory.
  • the Cartesian trajectory planning module 530 is also used to convert the coordinates of each journey trajectory point in the journey space into the posture of each journey trajectory point in the Cartesian space, and use each journey trajectory point as a planned trajectory point in the Cartesian space to form a Cartesian space. Planning trajectories in Karl space. For its method and advantages, please refer to step S250 in Embodiment 2 of a Cartesian space trajectory planning method.
  • Embodiment 3 of a Cartesian space trajectory planning device executes the method described in Embodiment 3 of a Cartesian space trajectory planning method and has all its advantages.
  • Figure 6 shows the structure of Embodiment 3 of a Cartesian space trajectory planning device, including: an acquisition module 610, a path planning module 620, a Cartesian trajectory planning module 630, an inverse kinematics solution module 640 and a joint trajectory planning module 650. .
  • the acquisition module 610 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
  • the path planning module 620 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device.
  • the path planning module 620 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device.
  • step S320 in Embodiment 3 of a Cartesian space trajectory planning method.
  • the Cartesian trajectory planning module 630 is used to obtain the planned trajectory of the Cartesian space according to the pose of the planned path in the Cartesian space. For its method and advantages, please refer to step S330 in Embodiment 3 of a Cartesian space trajectory planning method.
  • the inverse kinematics module 640 is used to obtain the joint coordinates of the joint nodes corresponding to the end trajectory nodes of the multi-axis device in the joint space according to the planned trajectory in Cartesian space.
  • step S340 in Embodiment 3 of a Cartesian space trajectory planning method.
  • the joint trajectory planning module 650 is used to use the speed planner to synchronously plan the joint trajectories of each axis of the multi-axis device according to the joint coordinates of each joint node under the kinematic constraints of each axis of the multi-axis device.
  • step S350 in Embodiment 3 of a Cartesian space trajectory planning method please refer to step S350 in Embodiment 3 of a Cartesian space trajectory planning method.
  • An embodiment of the present application also provides a computing device, which will be described in detail below in conjunction with Figure 7 .
  • the computing device 700 includes a processor 710, a memory 720, a communication interface 730, and a bus 740.
  • the communication interface 730 in the computing device 700 shown in this figure can be used to communicate with other devices.
  • the processor 710 can be connected to the memory 720 .
  • the memory 720 can be used to store the program code and data. Therefore, the memory 720 may be a storage unit internal to the processor 710 , or may be an external storage unit independent of the processor 710 , or may include a storage unit internal to the processor 710 and an external storage unit independent of the processor 710 . part.
  • computing device 700 may also include bus 740.
  • the memory 720 and the communication interface 730 can be connected to the processor 710 through the bus 740.
  • Bus 740 may be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or Extended Industry Standard Architecture (EFStended Industry Standard Architecture, EISA) bus, etc.
  • PCI peripheral component interconnect standard
  • EISA Extended Industry Standard Architecture
  • the bus 740 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one line is used in this figure, but it does not mean that there is only one bus or one type of bus.
  • the processor 710 may be a central processing unit (CPU).
  • the processor can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (field programmable gate arrays, FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc.
  • DSPs digital signal processors
  • ASICs application specific integrated circuits
  • FPGAs field programmable gate arrays
  • a general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc.
  • the processor 710 uses one or more integrated circuits to execute relevant programs to implement the technical solutions provided by the embodiments of the present application.
  • the memory 720 may include read-only memory and random access memory and provides instructions and data to the processor 710 .
  • a portion of processor 710 may also include non-volatile random access memory.
  • processor 710 may also store device type information.
  • the processor 710 executes the computer execution instructions in the memory 720 to perform the operation steps of each method embodiment.
  • computing device 700 may correspond to the corresponding subject in performing the methods according to the various embodiments of the present application, and the above and other operations and/or functions of the various modules in the computing device 700 are respectively intended to implement the present application.
  • the corresponding processes of each method in the method embodiments will not be described again here.
  • the disclosed systems, devices and methods can be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented.
  • the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the method embodiment.
  • each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
  • the functions described are implemented in the form of software functional units and sold or used as independent products, they can Stored in a computer-readable storage medium.
  • the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product.
  • the computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application.
  • the aforementioned storage media include U disks, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks and other media that can store program codes. .
  • Embodiments of the present application also provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the program is used to perform the operating steps of each method embodiment.
  • the computer storage medium in the embodiment of the present application may be any combination of one or more computer-readable media.
  • the computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium.
  • the computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of computer readable storage media include electrical connections having one or more conductors, portable computer 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.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
  • a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device .
  • Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wire, optical cable, RF, etc., or any suitable combination of the foregoing.
  • Computer program code for performing the operations of the present application may be written in one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional Procedural programming language—such as "C" or a similar programming language.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as an Internet service provider through the Internet). connect).
  • LAN local area network
  • WAN wide area network
  • Internet service provider such as an Internet service provider through the Internet. connect

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Manipulator (AREA)
  • Numerical Control (AREA)

Abstract

A Cartesian space trajectory planning method, comprising: obtaining poses of a plurality of path nodes at the tail end of a multi-axis device, wherein the poses comprise position coordinates of a Cartesian position space and attitude coordinates of a Cartesian attitude space, and the attitude coordinates are represented by three-dimensional continuous Euler angles; performing path fitting on the poses of the path nodes to obtain a planned path of the Cartesian space of the tail end of the multi-axis device; and obtaining a planned trajectory of the Cartesian space according to the poses of path points of the planned path. According to the planning method, the attitude coordinates are represented by using the continuous Euler angles of continuous values, the singular point problem of the conventional Euler angle during interpolation and the discontinuous attitude problem of a quaternion during interpolation are solved, and pose-based continuous planning of the Cartesian space is realized. Also provided are a trajectory planning apparatus, a computing device, and a computer-readable storage medium.

Description

一种笛卡尔空间的轨迹规划方法及装置A trajectory planning method and device in Cartesian space
本申请要求在先国家申请的优先权,在先国家为中国,在先国家申请的申请号是202211033779.8、申请日是2022年8月26日,在先国家申请的全部内容通过引用合并于此。This application claims the priority of the prior country application. The prior country application is China. The application number of the prior country application is 202211033779.8 and the filing date is August 26, 2022. The entire content of the prior country application is incorporated herein by reference.
技术领域Technical field
本申请涉及运动控制相关技术领域,尤其涉及一种笛卡尔空间的轨迹规划方法及装置。The present application relates to the technical field related to motion control, and in particular to a trajectory planning method and device in Cartesian space.
背景技术Background technique
机器人为一种多轴设备,机器人末端(也称为执行端)的姿态最直观的表示方法是欧拉角,但是在械人末端轨迹规划时因为欧拉角存在奇异点,不适合进行插补,且无法实现其中姿态的规划。The robot is a multi-axis device. The most intuitive way to express the posture of the robot end (also called the execution end) is the Euler angle. However, when planning the robot end trajectory, the Euler angle has singular points and is not suitable for interpolation. , and the planning of the posture cannot be realized.
现有技术把欧拉角在限定范围内只用于姿态规划,对于包含多段的姿态规划的轨迹规划,则把欧拉角转换为四元数,再基于四元数进行姿态插补,从而规划机器人末端的姿态,解决了欧拉角奇异点的影响。The existing technology only uses Euler angles within a limited range for attitude planning. For trajectory planning that includes multi-segment attitude planning, the Euler angles are converted into quaternions, and then attitude interpolation is performed based on the quaternions, thereby planning The posture of the robot's end solves the impact of the Euler angle singularity.
但是因为基于四元数的轨迹插补方法本质在一个球面上进行,导致快速变化的节点前后的姿态可能是不连续的。However, because the quaternion-based trajectory interpolation method essentially operates on a spherical surface, the postures before and after rapidly changing nodes may be discontinuous.
发明内容Contents of the invention
有鉴于此,本申请实施例提供了一种笛卡尔空间的轨迹规划方法及装置。In view of this, embodiments of the present application provide a trajectory planning method and device in Cartesian space.
第一方面,本申请实施例提供了一种笛卡尔空间的轨迹规划方法,包括:获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔位置空间的位置坐标和笛卡尔姿态空间的姿态坐标,其中,所述姿态坐标用三维的连续欧拉角表示,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的所述连续欧拉角等于第i个路径节点的第j维的所述连续欧拉角与在该运动过程中第j维的欧拉角的旋转角度之和该旋转角度是正向旋转的角度;利用所述位姿对所述路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径;根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹。In a first aspect, embodiments of the present application provide a trajectory planning method in Cartesian space, which includes: obtaining the poses of several path nodes at the end of a multi-axis device, where the poses include position coordinates in Cartesian position space and Cartesian position coordinates. The attitude coordinates of the Karl attitude space, where the attitude coordinates are represented by three-dimensional continuous Euler angles. When the end of the multi-axis device moves from the i-th path node to the i+1-th path node, the i+1-th path The continuous Euler angle of the jth dimension of the node is equal to the sum of the rotation angle of the continuous Euler angle of the jth dimension of the i-th path node and the Euler angle of the jth dimension during the movement. is the angle of forward rotation; use the pose to smoothly fit the path nodes to obtain the planned path of the Cartesian space at the end of the multi-axis device; according to the pose of each path point of the planned path, obtain Planning trajectories in Cartesian space.
由上,对姿态坐标采用连续取值的连续欧拉角表示,解决了常规欧拉角在插补时的奇异点问题和四元数在插补时姿态不连续问题,实现了笛卡尔空间基于位姿的连续规划。From the above, the attitude coordinates are represented by continuous Euler angles with continuous values, which solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the Cartesian space based on Continuous planning of poses.
在第一方面的一种可能实施方式中,所述根据所述各路径点的所述位置长度和所述角度长度,获得笛卡尔空间的规划轨迹,包括:由所述路径点的所述位置长度和所述角度长度组成所述路径点的路程空间坐标,根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹;根据所述路程空间的路程轨迹获得所述规划轨迹。 In a possible implementation of the first aspect, obtaining the planned trajectory of the Cartesian space based on the position length and the angular length of each path point includes: using the position of the path point The length and the angular length constitute the path space coordinate of the path point, and the path space trajectory is interpolated according to the path space coordinate to obtain the path trajectory of the path space; according to the path space of the path point Trajectory obtains the planned trajectory.
由上,把各规划路径点在笛卡尔空间的6维度位姿转换为在路程空间的2维度路程坐标,不仅解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题,而且降低了规划计算的复杂度,提高了规划效果。From the above, the 6-dimensional pose of each planned path point in Cartesian space is converted into a 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the problem of discontinuous attitude of quaternions during interpolation , and reduce the complexity of planning calculation and improve the planning effect.
在第一方面的一种可能实施方式中,所述根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹,包括:根据多轴设备末端在笛卡尔空间的运动学约束条件,获得多轴设备末端在所述路程空间的运动学约束条件;在所述路程空间的运动学约束条件下,根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹,各路程轨迹点的速度、加速度和加加速度连续。In a possible implementation of the first aspect, performing path space trajectory interpolation on the path point according to the path space coordinates to obtain the path trajectory in the path space includes: The kinematic constraints of the Karl space are used to obtain the kinematic constraints of the end of the multi-axis equipment in the path space; under the kinematic constraints of the path space, the path point is performed on the path space according to the coordinates of the path space. Trajectory interpolation is used to obtain the journey trajectory in the journey space, and the speed, acceleration and jerk of each journey trajectory point are continuous.
由上,通过路程轨迹的规划遵从路程空间的运动学约束条件和路程轨迹点的速度、加速度和加加速度连续,实现笛卡尔空间的规划轨迹遵从笛卡尔空间的运动学约束条件和规划轨迹点的速度、加速度和加加速度连续。From the above, through the planning of the journey trajectory complying with the kinematic constraints of the journey space and the velocity, acceleration and jerk continuity of the journey trajectory points, the planned trajectory of the Cartesian space is realized to comply with the kinematic constraints of the Cartesian space and the planning trajectory points. Velocity, acceleration and jerk are continuous.
在第一方面的一种可能实施方式中,所述根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,具体包括:根据所述路程空间的所述路程空间坐标,对所述路径点的所述路程空间的所述位置长度维度的轨迹和所述位置长度维度的轨迹进行同步插补。In a possible implementation manner of the first aspect, performing path space trajectory interpolation on the path point according to the path space coordinates specifically includes: performing path space trajectory interpolation on the path point according to the path space coordinates of the path space. The trajectory of the position length dimension in the path space of the path point and the trajectory of the position length dimension are synchronously interpolated.
由上,通过路程空间的位置长度维度的轨迹和位置长度维度的轨迹的规划同步,实现笛卡尔空间的规划轨迹在位姿的6个维度上轨迹同步。From the above, through the planning synchronization of the trajectory in the position length dimension of the journey space and the trajectory in the position length dimension, the trajectory synchronization of the planned trajectory in the Cartesian space in the six dimensions of pose is achieved.
在第一方面的一种可能实施方式中,所述根据所述路程空间的路程轨迹获笛卡尔空间的规划轨迹,包括:根据所述路程空间的路程轨迹的各路程轨迹点的所述位置长度和所述角度长度,获得所述各路程轨迹点的所述位姿;把所述各路程轨迹点作为笛卡尔空间的规划轨迹点,构成所述规划轨迹。In a possible implementation of the first aspect, the planned trajectory in Cartesian space obtained from the journey trajectory in the journey space includes: the position length of each journey trajectory point according to the journey trajectory in the journey space. and the angular length, to obtain the pose of each path trajectory point; use each path trajectory point as a planned trajectory point in Cartesian space to form the planned trajectory.
由上,根据路程轨迹的各路程轨迹点的位置长度和角度长度,结合路程轨迹趋势获得各路程轨迹点的位姿,可以通过搜索法实现路程空间与笛卡尔空间的坐标转换。From the above, according to the position length and angle length of each path point of the path trajectory, combined with the path trajectory trend, the pose of each path point can be obtained, and the coordinate conversion between the path space and the Cartesian space can be realized through the search method.
在第一方面的一种可能实施方式中,所述利用所述位姿对所述路径节点进行平滑拟合,至少包括下列之一:根据所述位姿利用线段和圆弧对所述路径节点进行平滑拟合;根据所述位姿利用B样条或多项式对所述路径节点进行平滑拟合。在一些实施例中,对规则路径选用线段和圆弧进行规划,降低计算量,对不规则路径采用B样条或多项式进行规划,提高精度。在另一些实施例中,对精度要求高的场景采用B样条或多项式进行规划,在满足精度要求时要平衡计算量的场景选用线段和圆弧进行规划。In a possible implementation of the first aspect, the smooth fitting of the path nodes using the pose includes at least one of the following: using line segments and arcs to fit the path nodes according to the pose Perform smooth fitting; use B-splines or polynomials to perform smooth fitting on the path nodes according to the pose. In some embodiments, line segments and arcs are used for planning regular paths to reduce the amount of calculation, and B-splines or polynomials are used for planning irregular paths to improve accuracy. In other embodiments, B-splines or polynomials are used for planning for scenes with high accuracy requirements, and line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements.
由上,通过线段和圆弧对所述路径节点或利用B样条或多项式对所述路径节点进行平滑拟合,实现规划路径的平滑和满足位置精度要求。From the above, the path nodes are smoothly fitted through line segments and arcs or B-splines or polynomials are used to smooth the planned path and meet position accuracy requirements.
在第一方面的一种可能实施方式中,一种笛卡尔空间的轨迹规划方法还包括:根据所述规划轨迹点的位姿,获得各轨迹节点,所述轨迹节点为所述规划轨迹上在笛卡尔空间的曲率大于设定阈值的规划轨迹点;对所述轨迹节点的所述位姿进行运动学逆解,获得关节节点在所述多轴设备的关节空间的关节坐标,所述关节节点为所述轨迹节点在所述关节空间对应的点;在各轴的运动学约束条件下,根据所述节坐标,同步规划所述多轴设备各轴的关节轨迹。In a possible implementation of the first aspect, a trajectory planning method in Cartesian space further includes: obtaining each trajectory node according to the pose of the planned trajectory point, and the trajectory node is a point on the planned trajectory. The curvature of the Cartesian space is greater than the planned trajectory point of the set threshold; perform an inverse kinematic solution on the pose of the trajectory node to obtain the joint coordinates of the joint node in the joint space of the multi-axis device, and the joint node is the point corresponding to the trajectory node in the joint space; under the kinematic constraints of each axis, the joint trajectory of each axis of the multi-axis device is synchronously planned according to the node coordinates.
由上,把轨迹节点的位姿转换为多轴设备的关节空间的关节坐标,并据此同步规 划多轴设备各轴的关节轨迹,实现多轴设备的各轴运动满足各轴的运动同步,且满足运动学约束条件,同时各关节轨迹的点在关节空间速度、加速度和加加速度,各轴运动连续。From the above, the pose of the trajectory node is converted into the joint coordinates of the joint space of the multi-axis device, and the synchronization rules are based on this. Draw the joint trajectories of each axis of the multi-axis device to realize that the motion of each axis of the multi-axis device meets the motion synchronization of each axis and satisfies the kinematic constraints. At the same time, the points of each joint trajectory have velocity, acceleration and jerk in the joint space, and each axis Movement is continuous.
第二方面,本申请实施例提供了一种多轴设备的关节空间轨迹的规划装置,包括:获取模块、路径规划模块和笛卡尔轨迹规划模块;所述获取模块用于获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔位置空间的位置坐标和笛卡尔姿态空间的姿态坐标,其中,所述姿态坐标用三维的连续欧拉角表示,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的所述连续欧拉角等于第i个路径节点的第j维的所述连续欧拉角与在该运动过程中第j维的欧拉角的旋转角度之和,该旋转角度是正向旋转的角度;所述路径规划模块用于利用所述位姿对所述路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径;所述笛卡尔轨迹规划模块用于根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹。In the second aspect, embodiments of the present application provide a planning device for joint space trajectories of multi-axis equipment, including: an acquisition module, a path planning module and a Cartesian trajectory planning module; the acquisition module is used to obtain the joint space trajectory of the multi-axis equipment. The postures of several path nodes, the postures include the position coordinates of the Cartesian position space and the attitude coordinates of the Cartesian attitude space, where the attitude coordinates are represented by three-dimensional continuous Euler angles. When the end of the multi-axis device is When the i-th path node moves to the i+1-th path node, the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the continuous Euler angle of the j-th dimension of the i-th path node. The sum of the rotation angle of the angle and the Euler angle of the jth dimension during the movement, which is the angle of forward rotation; the path planning module is used to use the pose to smoothly fit the path node , obtain the planned path in Cartesian space at the end of the multi-axis device; the Cartesian trajectory planning module is used to obtain the planned trajectory in Cartesian space according to the pose of each path point of the planned path.
由上,对姿态坐标采用连续取值的连续欧拉角表示,解决了常规欧拉角在插补时的奇异点问题和四元数在插补时姿态不连续问题,实现了笛卡尔空间基于位姿的连续规划。From the above, the attitude coordinates are represented by continuous Euler angles with continuous values, which solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the Cartesian space based on Continuous planning of poses.
在第二方面的一种可能实施方式中,所述笛卡尔轨迹规划模块具体用于,包括:由所述路径点的所述位置长度和所述角度长度组成所述路径点的路程空间坐标,根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹;根据所述路程空间的路程轨迹获得所述规划轨迹。In a possible implementation of the second aspect, the Cartesian trajectory planning module is specifically configured to include: the path spatial coordinate of the path point composed of the position length and the angular length of the path point, The path space trajectory interpolation is performed on the path point according to the journey space coordinates to obtain the journey trajectory in the journey space; the planned trajectory is obtained according to the journey trajectory in the journey space.
由上,把各规划路径点在笛卡尔空间的6维度位姿转换为在路程空间的2维度路程坐标,不仅解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题,而且规划计算的复杂度,提高了规划效果。From the above, the 6-dimensional pose of each planned path point in Cartesian space is converted into a 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the problem of discontinuous attitude of quaternions during interpolation , and the complexity of planning calculation improves the planning effect.
在第二方面的一种可能实施方式中,所述笛卡尔轨迹规划模块在根据路程空间坐标对路径点进行路程空间轨迹插补获得所述路程空间的路程轨迹时具体用于,包括:根据多轴设备末端在笛卡尔空间的运动学约束条件,获得多轴设备末端在所述路程空间的运动学约束条件;在所述路程空间的运动学约束条件下,根据所述路程空间坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹,各路程轨迹点的速度、加速度和加加速度连续。In a possible implementation of the second aspect, the Cartesian trajectory planning module is specifically used to perform path space trajectory interpolation on path points according to the path space coordinates to obtain the path trajectory in the path space, including: based on multiple The kinematic constraints of the end of the axis equipment in Cartesian space are used to obtain the kinematic constraints of the end of the multi-axis equipment in the distance space; under the kinematic constraints of the distance space, the kinematic constraints of the distance space coordinates are calculated according to the distance space coordinates. The path points perform path space trajectory interpolation to obtain the path trajectory in the path space. The speed, acceleration and jerk of each path trajectory point are continuous.
由上,通过路程轨迹的规划遵从路程空间的运动学约束条件和路程轨迹点的速度、加速度和加加速度连续,实现笛卡尔空间的规划轨迹遵从笛卡尔空间的运动学约束条件和规划轨迹点的速度、加速度和加加速度连续。From the above, through the planning of the journey trajectory complying with the kinematic constraints of the journey space and the velocity, acceleration and jerk continuity of the journey trajectory points, the planned trajectory of the Cartesian space is realized to comply with the kinematic constraints of the Cartesian space and the planning trajectory points. Velocity, acceleration and jerk are continuous.
在第二方面的一种可能实施方式中,所述笛卡尔轨迹规划模块在根据所述路程空间坐标对路径点进行路程空间轨迹插补时具体用于,包括:根据所述路程空间的所述路程空间坐标,对所述路径点的所述路程空间的所述位置长度维度的轨迹和所述位置长度维度的轨迹进行同步插补。In a possible implementation of the second aspect, the Cartesian trajectory planning module is specifically used to perform path space trajectory interpolation on path points according to the path space coordinates, including: according to the path space coordinates The distance space coordinates are used to synchronously interpolate the trajectory of the position length dimension of the route space of the path point and the trajectory of the position length dimension.
由上,通过路程空间的位置长度维度的轨迹和位置长度维度的轨迹的规划同步,实现笛卡尔空间的规划轨迹在位姿的6个维度上轨迹同步。 From the above, through the planning synchronization of the trajectory in the position length dimension of the journey space and the trajectory in the position length dimension, the trajectory synchronization of the planned trajectory in the Cartesian space in the six dimensions of pose is achieved.
在第二方面的一种可能实施方式中,所述笛卡尔轨迹规划模块在根据路程空间的路程轨迹获得笛卡尔空间的规划轨迹时,具体用于,包括:根据所述路程空间的路程轨迹的各路程轨迹点的所述位置长度和所述角度长度,获得所述各路程轨迹点的所述位姿;把所述各路程轨迹点作为笛卡尔空间的规划轨迹点,构成所述规划轨迹。In a possible implementation of the second aspect, when the Cartesian trajectory planning module obtains the planned trajectory of the Cartesian space according to the journey trajectory of the journey space, it is specifically used to include: The position length and the angle length of each journey trajectory point are used to obtain the pose of each journey trajectory point; each journey trajectory point is used as a planned trajectory point in Cartesian space to form the planned trajectory.
由上,根据路程轨迹的各路程轨迹点的位置长度和角度长度,结合路程轨迹趋势获得各路程轨迹点的位姿,可以通过搜索法实现路程空间与笛卡尔空间的坐标转换。From the above, according to the position length and angle length of each path point of the path trajectory, combined with the path trajectory trend, the pose of each path point can be obtained, and the coordinate conversion between the path space and the Cartesian space can be realized through the search method.
在第二方面的一种可能实施方式中,所述路径规划模块在利用所述位姿对所述路径节点进行平滑拟合时,至少包括下列之一:根据所述位姿利用线段和圆弧对所述路径节点进行平滑拟合;根据所述位姿利用B样条或多项式对所述路径节点进行平滑拟合。在一些实施例中,对规则路径选用线段和圆弧进行规划,降低计算量,对不规则路径采用B样条或多项式进行规划,提高精度。在另一些实施例中,对精度要求高的场景采用B样条或多项式进行规划,在满足精度要求时要平衡计算量的场景选用线段和圆弧进行规划。由上,通过线段和圆弧对所述路径节点或利用B样条或多项式对所述路径节点进行平滑拟合,实现规划路径的平滑和满足位置精度要求。In a possible implementation of the second aspect, when the path planning module uses the pose to smoothly fit the path nodes, it includes at least one of the following: using line segments and arcs according to the pose Perform smooth fitting on the path nodes; use B-splines or polynomials to perform smooth fitting on the path nodes according to the pose. In some embodiments, line segments and arcs are used for planning regular paths to reduce the amount of calculation, and B-splines or polynomials are used for planning irregular paths to improve accuracy. In other embodiments, B-splines or polynomials are used for planning for scenes with high accuracy requirements, and line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements. From the above, the path nodes are smoothly fitted through line segments and arcs or B-splines or polynomials are used to smooth the planned path and meet position accuracy requirements.
在第二方面的一种可能实施方式中,一种笛卡尔空间的轨迹规划装置还包括:运动逆解模块,用于根据所述规划轨迹点的位姿,获得各轨迹节点,所述轨迹节点为所述规划轨迹上在笛卡尔空间的曲率大于设定阈值的规划轨迹点,并对所述轨迹节点的所述位姿进行运动学逆解,获得关节节点在所述多轴设备的关节空间的关节坐标,所述关节节点为所述轨迹节点在所述关节空间对应的点;关节轨迹规划模块,用于在各轴的运动学约束条件下,根据所述节坐标同步规划所述多轴设备各轴的关节轨迹。In a possible implementation of the second aspect, a trajectory planning device in Cartesian space further includes: an inverse motion solution module, configured to obtain each trajectory node according to the pose of the planned trajectory point, and the trajectory node For the planned trajectory points on the planned trajectory whose curvature in Cartesian space is greater than the set threshold, perform an inverse kinematic solution on the pose of the trajectory node to obtain the joint space of the joint node in the multi-axis device joint coordinates, and the joint nodes are points corresponding to the trajectory nodes in the joint space; a joint trajectory planning module is used to synchronously plan the multi-axis according to the node coordinates under the kinematic constraints of each axis. The joint trajectories of each axis of the device.
由上,把轨迹节点的位姿转换为多轴设备的关节空间的关节坐标,并据此同步规划多轴设备各轴的关节轨迹,实现多轴设备的各轴运动满足各轴的运动同步,且满足运动学约束条件,同时各关节轨迹的点在关节空间速度、加速度和加加速度,各轴运动连续。From the above, the posture of the trajectory node is converted into the joint coordinates of the joint space of the multi-axis device, and the joint trajectories of each axis of the multi-axis device are synchronously planned accordingly, so that the motion of each axis of the multi-axis device meets the motion synchronization of each axis. And it satisfies the kinematic constraints. At the same time, the speed, acceleration and jerk of each joint trajectory point are in the joint space, and the motion of each axis is continuous.
第三方面,本申请实施例提供了一种计算设备,包括,In a third aspect, embodiments of the present application provide a computing device, including:
总线;bus;
通信接口,其与所述总线连接;A communication interface connected to the bus;
至少一个处理器,其与所述总线连接;以及at least one processor connected to the bus; and
至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行本申请第一方面任一所述实施方式。At least one memory is connected to the bus and stores program instructions. When executed by the at least one processor, the program instructions cause the at least one processor to execute any one of the embodiments of the first aspect of the present application.
第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有程序指令,所述程序指令当被计算机执行时使得所述计算机执行申请第一方面任一所述实施方式。In a fourth aspect, embodiments of the present application provide a computer-readable storage medium on which program instructions are stored. When executed by a computer, the program instructions cause the computer to execute any one of the embodiments described in the first aspect of the application.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对实施例中所需要使用的附 图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。In order to explain the technical solutions of the embodiments of the present application more clearly, the appendices required to be used in the embodiments will be described below. The drawings are briefly introduced, and it should be understood that the following drawings only show certain embodiments of the present application, and therefore should not be regarded as limiting the scope. For those of ordinary skill in the art, without exerting creative efforts, Under the premise, other related drawings can also be obtained based on these drawings.
图1为本申请的一种笛卡尔空间的轨迹规划方法实施例一的流程示意图;Figure 1 is a schematic flow chart of Embodiment 1 of a Cartesian space trajectory planning method of the present application;
图2为本申请的一种笛卡尔空间的轨迹规划方法实施例二的流程示意图;Figure 2 is a schematic flow chart of Embodiment 2 of a Cartesian space trajectory planning method of the present application;
图3A为本申请的一种笛卡尔空间的轨迹规划方法实施例三的流程示意图;Figure 3A is a schematic flowchart of Embodiment 3 of a Cartesian space trajectory planning method of the present application;
图3B为本申请的一种笛卡尔空间的轨迹规划方法实施例三的关节空间规划方法的流程示意图;Figure 3B is a schematic flowchart of the joint space planning method in Embodiment 3 of a Cartesian space trajectory planning method of the present application;
图4为本申请的一种笛卡尔空间的轨迹规划装置实施例一的结构示意图;Figure 4 is a schematic structural diagram of Embodiment 1 of a Cartesian space trajectory planning device of the present application;
图5为本申请的一种笛卡尔空间的轨迹规划装置实施例二的结构示意图;Figure 5 is a schematic structural diagram of Embodiment 2 of a Cartesian space trajectory planning device of the present application;
图6为本申请的一种笛卡尔空间的轨迹规划装置实施例三的结构示意图;Figure 6 is a schematic structural diagram of Embodiment 3 of a Cartesian space trajectory planning device of the present application;
图7为本申请各实施例的一种计算设备的结构示意图。Figure 7 is a schematic structural diagram of a computing device according to various embodiments of the present application.
具体实施方式Detailed ways
在以下的描述中,涉及到“一些实施例”,其描述了所有可能实施例的子集,但是可以理解,“一些实施例”可以是所有可能实施例的相同子集或不同子集,并且可以在不冲突的情况下相互结合。In the following description, reference is made to "some embodiments" which describe a subset of all possible embodiments, but it is understood that "some embodiments" may be the same subset or a different subset of all possible embodiments, and Can be combined with each other without conflict.
在以下的描述中,所涉及的术语“第一\第二\第三等”或模块A、模块B、模块C等,仅用于区别类似的对象,或用于区别不同的实施例,不代表针对对象的特定排序,可以理解地,在允许的情况下可以互换特定的顺序或先后次序,以使这里描述的本申请实施例能够以除了在这里图示或描述的以外的顺序实施。In the following description, the terms "first\second\third, etc." or module A, module B, module C, etc. are only used to distinguish similar objects or to distinguish different embodiments. Representing a specific ordering of objects, it will be understood that the specific order or sequence may be interchanged where permitted so that the embodiments of the application described herein can be practiced in an order other than that illustrated or described herein.
在以下的描述中,所涉及的表示步骤的标号,如S110、S120……等,并不表示一定会按此步骤执行,在允许的情况下可以互换前后步骤的顺序,或同时执行。In the following description, the labels indicating steps involved, such as S110, S120, etc., do not necessarily mean that this step will be executed. If permitted, the order of the preceding and following steps can be interchanged, or executed at the same time.
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中所使用的术语只是为了描述本申请实施例的目的,不是旨在限制本申请。Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the technical field to which this application belongs. The terms used herein are only for the purpose of describing the embodiments of the present application and are not intended to limit the present application.
笛卡尔空间、笛卡尔空间坐标:笛卡尔空间为直角坐标空间,笛卡尔空间的坐标为位姿,包括位置坐标和姿态坐标,位置坐标为三维直角坐标,姿态坐标为物体当前位置相对于三维直角坐标的旋转角度。Cartesian space, Cartesian space coordinates: Descartes space is a rectangular coordinate space, and the coordinates of the Cartesian space are poses, including position coordinates and attitude coordinates. The position coordinates are three-dimensional rectangular coordinates, and the attitude coordinates are the current position of the object relative to the three-dimensional rectangular coordinates. The rotation angle of the coordinates.
速度规划器:运动物体的轨迹和速度规划的装置,通过轨迹插补法规划物体的速度和轨迹,在速度规划时保持各点的速度连续和加速度连续,且服从运动学约束条件。速度规划器既可以对笛卡尔空间的轨迹进行规划,也可以对其他空间的轨迹进行规划。规划时把速度描述为时间的表达式,例如以时间为基的多项式。Speed planner: A device for planning the trajectory and speed of moving objects. It plans the speed and trajectory of objects through trajectory interpolation. During speed planning, the speed and acceleration of each point are maintained continuously and obey kinematic constraints. The velocity planner can plan trajectories in Cartesian space as well as trajectories in other spaces. When planning, describe velocity as an expression of time, such as a polynomial based on time.
本申请的各实施例对姿态坐标采用连续取值的连续欧拉角表示,解决了常规欧拉角在插补时的奇异点问题和四元数在插补时姿态不连续问题,实现了笛卡尔空间基于位姿的连续规划。Each embodiment of the present application uses continuous Euler angles with continuous values to represent attitude coordinates, solving the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation, and realizes the flute Continuous planning based on pose in Karl space.
下面结合附图介绍本申请的一种笛卡尔空间的轨迹规划方法实施例、装置实施例和其他相关实施例。The following describes a Cartesian space trajectory planning method embodiment, device embodiment and other related embodiments of the present application with reference to the accompanying drawings.
本申请中多轴设备具有多个轴,可以为机器人、机床。其轨迹节点为多轴设备末 端在笛卡尔空间的若干点;多轴设备末端可以为多轴设备对外操作部位,如机器人的手指、机床的刀具等;多轴设备的关节节点为多轴设备末端到达轨迹节点时多轴设备的各轴在其关节空间中对应的点。The multi-axis equipment in this application has multiple axes and can be a robot or a machine tool. Its trajectory node is the end of multi-axis equipment. The end is at several points in Cartesian space; the end of the multi-axis equipment can be the external operating part of the multi-axis equipment, such as the fingers of the robot, the tool of the machine tool, etc.; the joint node of the multi-axis equipment is the multi-axis equipment when the end of the multi-axis equipment reaches the trajectory node The corresponding points of each axis in its joint space.
下面首先结合附图1至图3B介绍一种笛卡尔空间的轨迹规划方法各规划方法实施例。The following first introduces various planning method embodiments of a Cartesian space trajectory planning method with reference to Figures 1 to 3B.
一种笛卡尔空间的轨迹规划方法实施例一包括:获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔位置空间的位置坐标和笛卡尔姿态空间的姿态坐标,其中,所述姿态坐标用三维的连续欧拉角表示,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的所述连续欧拉角等于第i个路径节点的第j维的所述连续欧拉角与在该运动过程中第j维的欧拉角的正向旋转角度之和;利用所述位姿对所述路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径;根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹。Embodiment 1 of a trajectory planning method in Cartesian space includes: obtaining the poses of several path nodes at the end of a multi-axis device, where the poses include position coordinates in Cartesian position space and attitude coordinates in Cartesian attitude space, where , the attitude coordinates are represented by three-dimensional continuous Euler angles. When the end of the multi-axis device moves from the i-th path node to the i+1-th path node, the j-th dimension of the i+1-th path node The continuous Euler angle is equal to the sum of the continuous Euler angle of the j-th dimension of the i-th path node and the forward rotation angle of the Euler angle of the j-th dimension during the movement; the pose is used to calculate the The path nodes are smoothly fitted to obtain the planned path in Cartesian space at the end of the multi-axis device; according to the posture of each path point of the planned path, the planned trajectory in Cartesian space is obtained.
图1示出了一种笛卡尔空间的轨迹规划方法实施例一的流程,包括步骤S110至S130。Figure 1 shows the process of Embodiment 1 of a Cartesian space trajectory planning method, including steps S110 to S130.
S110:获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的三维位置坐标和三维姿态坐标。S110: Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
其中,路径节点为多轴设备末端的移动过程中关键点。Among them, the path nodes are key points in the movement process of the end of the multi-axis equipment.
其中,所述位姿包括笛卡尔空间的位置坐标和姿态坐标,姿态坐标用三维的连续欧拉角表示。Wherein, the pose includes position coordinates and attitude coordinates in Cartesian space, and the attitude coordinates are represented by three-dimensional continuous Euler angles.
其中以第i个路径节点i的第j维连续欧拉角为例说明连续欧拉角的定义,第一个路径节点的所述连续欧拉角等于第一个路径节点的欧拉角,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的连续欧拉角等于第i个路径节点的第j维的连续欧拉角与在该运动过程中第j维的欧拉角的旋转角度之和。该旋转角度始终是正向旋转的角度即普通的欧拉角的正向旋转的角度,普通的欧拉角的第一个角和第三个角顺时针方向为正向,第二个角逆时针方向为正向。Taking the j-th dimension continuous Euler angle of the i-th path node i as an example to illustrate the definition of the continuous Euler angle, the continuous Euler angle of the first path node is equal to the Euler angle of the first path node, when When the end of the multi-axis equipment moves from the i-th path node to the i+1-th path node, the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the continuous Euler angle of the j-th dimension of the i-th path node. The sum of the pulling angle and the rotation angle of the Euler angle in the jth dimension during the motion. The rotation angle is always the forward rotation angle, that is, the forward rotation angle of the ordinary Euler angle. The first and third angles of the ordinary Euler angle are forward in the clockwise direction, and the second angle is counterclockwise. The direction is forward.
其中,普通的欧拉角的三个角范围分别是:第一个角为0到2π,第二个角为0到π,第三个角为0到2π。每个欧拉角增大到最大值时,如果继续增大则跳变到最小值再继续增大;每个欧拉角减小到最小值时,如果继续减小则跳变到最大值再继续减小。例如,以欧拉角的第一种取值范围中第二个角为例,当其初始位置为时,再顺时针旋转π,传统的方法其从变化到π,然后跳变到0再变化到采用连续欧拉角坐标的方法其从直接变化到取值连续。Among them, the three angle ranges of ordinary Euler angles are: the first angle is 0 to 2π, the second angle is 0 to π, and the third angle is 0 to 2π. When each Euler angle increases to the maximum value, if it continues to increase, it will jump to the minimum value and then continue to increase; when each Euler angle decreases to the minimum value, if it continues to decrease, it will jump to the maximum value and then continue to increase. Continue to decrease. For example, taking the second angle in the first value range of Euler's angle as an example, when its initial position is when, and then rotate π clockwise, the traditional method starts from changes to π, then jumps to 0 and then changes to Using the method of continuous Euler angle coordinates, it is derived from directly change to The values are continuous.
S120:根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。S120: Smoothly fit each path node according to the pose of each path node to obtain the planned path in Cartesian space at the end of the multi-axis device.
其中,路径的平滑拟合不包括速度规划,为实现路径节点在笛卡尔空间中规划路径几何平滑,确定各路径点在笛卡尔空空间的位置与姿态。Among them, the smooth fitting of the path does not include speed planning. In order to realize the geometric smoothness of the planned path of the path node in the Cartesian space, the position and attitude of each path point in the Cartesian empty space are determined.
其中,在路径规划过程中可以采用经过点与不经过点的两种路径拟合算法。不经过点的路径规划的较好方法为过渡点采用直线线段+圆弧的方法规划,经过点的较好方法采用B样条函数或多项式的方法规划。在一些实施例中,对规则路径选用线段和 圆弧进行规划,降低计算量,对不规则路径采用B样条或多项式进行规划,提高精度。在另一些实施例中,对精度要求高的场景采用B样条或多项式进行规划,在满足精度要求时要平衡计算量的场景选用线段和圆弧进行规划。其中,路径规划获得的各路径点的位姿是对多轴设备末端的运动位置进行栅格化,可以认为是对多轴设备末端的运动位置进行全局规划,无论是通过不经过点或经过点都实现了多轴设备末端的规划路径满足平滑与精度的要求。Among them, two path fitting algorithms, passing points and non-passing points, can be used in the path planning process. A better way to plan a path that does not pass through points is to use the straight line segment + arc method to plan transition points, and a better way to plan a path that does not pass through points is to use a B-spline function or polynomial method to plan. In some embodiments, line segments and Arc planning is used to reduce the amount of calculation, and B-spline or polynomial planning is used for irregular paths to improve accuracy. In other embodiments, B-splines or polynomials are used for planning for scenes with high accuracy requirements, and line segments and arcs are used for planning in scenes where the amount of calculation needs to be balanced while meeting accuracy requirements. Among them, the pose of each path point obtained by path planning is to rasterize the movement position of the end of the multi-axis equipment. It can be considered as a global planning of the movement position of the end of the multi-axis equipment, whether through non-passing points or passing points. All have realized that the planned path at the end of the multi-axis equipment meets the requirements of smoothness and accuracy.
由上,采用连续欧拉角坐标的方式解决了传统欧拉角不连续的问题,便于进行拟合,在路径的平滑拟合通过***路径点的方法实现姿态取值的连续。From the above, the continuous Euler angle coordinate method is used to solve the traditional Euler angle discontinuity problem, which is convenient for fitting. In the smooth fitting of the path, the continuous attitude value is achieved by inserting path points.
S130:根据各规划路径点的位姿,获得多轴设备末端在笛卡尔空间的规划轨迹。S130: Obtain the planned trajectory of the multi-axis equipment end in Cartesian space based on the pose of each planned path point.
其中,规划轨迹上各点的位姿与步骤S120中规划路径上相应路径点的位姿相同,但本步骤通过速度规划获得了各路径点的位姿与时间的关系,也就是各路径点增加了时间属性,为了区别,把增加了时间属性的规划路径称为规划轨迹。Among them, the pose of each point on the planned trajectory is the same as the pose of the corresponding path point on the planned path in step S120, but this step obtains the relationship between the pose and time of each path point through speed planning, that is, each path point increases For the sake of distinction, the planned path with added time attribute is called planned trajectory.
其中,在一些实施例中,根据各规划路径点的位姿,利用速度规划器分别且同步规划多轴设备末端在笛卡尔位置空间的位置轨迹和在笛卡尔位置空间的姿态轨迹,该位置轨迹与姿态轨迹组成多轴设备末端在笛卡尔空间的规划轨迹。In some embodiments, according to the pose of each planned path point, the speed planner is used to separately and synchronously plan the position trajectory of the multi-axis device end in the Cartesian position space and the attitude trajectory in the Cartesian position space. The position trajectory Together with the attitude trajectory, it forms the planned trajectory of the end of the multi-axis equipment in Cartesian space.
由上,采用连续欧拉角坐标的方式解决了传统欧拉角不连续的问题,便于在笛卡尔姿态空间对姿态进行插补,解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题。From the above, the use of continuous Euler angle coordinates solves the problem of discontinuity of traditional Euler angles, facilitates interpolation of attitude in Cartesian attitude space, solves the problem of singular points of Euler angles and the use of quaternions in interpolation Attitude discontinuity problem.
其中,在另一些实施例中,把各规划路径点的位姿转换为路程空间的坐标,根据路程空间的坐标规划多轴设备末端在路程空间的路程轨迹,再把路程轨迹转换为笛卡尔空间的规划轨迹。Among them, in other embodiments, the pose of each planned path point is converted into the coordinates of the journey space, the journey trajectory of the end of the multi-axis device in the journey space is planned according to the coordinates of the journey space, and then the journey trajectory is converted into Cartesian space planning trajectory.
由上,采用连续欧拉角坐标的方式解决了传统欧拉角不连续的问题,便于计算笛卡尔姿态空间的长度,该长度可用于姿态规划,解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题。From the above, the continuous Euler angle coordinate method is used to solve the problem of traditional Euler angle discontinuity, which is convenient for calculating the length of Cartesian attitude space. This length can be used for attitude planning, solving the problem of singular points of Euler angles and quaternion. The problem of attitude discontinuity during interpolation.
综上,一种笛卡尔空间的轨迹规划方法实施例一获取多轴设备末端的若干个路径节点的位姿,对其中姿态坐标采用连续取值的连续欧拉角表示;对路径节点的位姿进行路径拟合,获得多轴设备末端的笛卡尔空间的规划路径;根据规划路径的各路径点的位姿,获得笛卡尔空间的规划轨迹。本方法实施例通过对姿态坐标采用连续取值的连续欧拉角表示,解决了常规欧拉角在插补时的奇异点问题和四元数在插补时姿态不连续问题,实现了笛卡尔空间基于位姿的连续规划。In summary, Embodiment 1 of a Cartesian space trajectory planning method obtains the poses of several path nodes at the end of the multi-axis device, and uses continuous Euler angles with continuous values to represent the pose coordinates; for the poses of the path nodes Perform path fitting to obtain the planned path in Cartesian space at the end of the multi-axis device; obtain the planned trajectory in Cartesian space based on the posture of each path point of the planned path. The embodiment of this method solves the singular point problem of conventional Euler angles during interpolation and the attitude discontinuity problem of quaternions during interpolation by using continuous Euler angles with continuous values to represent attitude coordinates, and realizes Cartesian Continuous planning of space based on pose.
一种笛卡尔空间的轨迹规划方法实施例二把各规划路径点的位姿转换为路程空间的坐标,根据路程空间的坐标规划多轴设备末端在路程空间的路程轨迹,再把路程轨迹转换为笛卡尔空间的规划轨迹。本方法实施例把各规划路径点在笛卡尔空间的6维度位姿转换为在路程空间的2维度路程坐标,不仅解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题,而且降低了计算的复杂度,提高了规划效果。Embodiment 2 of a trajectory planning method in Cartesian space converts the pose of each planned path point into the coordinates of the journey space, plans the journey trajectory of the end of the multi-axis equipment in the journey space according to the coordinates of the journey space, and then converts the journey trajectory into Planning trajectories in Cartesian space. The embodiment of this method converts the 6-dimensional pose of each planned path point in Cartesian space into the 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the discontinuous pose of quaternions during interpolation problem, and reduces the computational complexity and improves the planning effect.
图2示出了一种笛卡尔空间的轨迹规划方法实施例二的流程,包括步骤S210至S250。Figure 2 shows the process of Embodiment 2 of a Cartesian space trajectory planning method, including steps S210 to S250.
S210:获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的 三维位置坐标和三维姿态坐标。S210: Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include Cartesian space Three-dimensional position coordinates and three-dimensional attitude coordinates.
其中,本步骤的具体方法和优点请参照方法实施例一的步骤S110。For the specific method and advantages of this step, please refer to step S110 of the first method embodiment.
S220:根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。S220: Smoothly fit each path node according to the pose of each path node to obtain the planned path in Cartesian space at the end of the multi-axis device.
其中,本步骤的具体方法和优点请参照方法实施例一的步骤S120。For the specific method and advantages of this step, please refer to step S120 of the first method embodiment.
S230:根据笛卡尔空间的规划路径的位姿,获得规划路径上各路径点的位置长度和角度长度,并组成各路径点的路程空间坐标。S230: According to the pose of the planned path in Cartesian space, obtain the position length and angular length of each path point on the planned path, and form the journey space coordinates of each path point.
其中,路径点包括路径节点和步骤S220中的***的路径点。以第i个路径点为例说明各路径点的位置长度和角度长度的定义,第i个路径点的位置长度为从第一个路径点顺序运动到第i个路径点所经过的规划路径在笛卡尔位置空间中的长度,第i个路径点的所述角度长度为从第一个路径点顺序运动到第i个路径点所经过的规划路径在笛卡尔姿态空间中的长度,可以得到第i+1个路径点与第i个路径点之间的位置长度为笛卡尔位置空间中第i+1个路径点与第i个路径点之间的距离,第i+1个路径点与第i个路径点之间的角度长度为笛卡尔姿态空间中第i+1个路径点与第i个路径点之间的距离。The path points include path nodes and the path points inserted in step S220. Taking the i-th path point as an example to illustrate the definition of the position length and angle length of each path point, the position length of the i-th path point is the planned path from the first path point to the i-th path point in sequence. The length in the Cartesian position space, the angular length of the i-th path point is the length of the planned path in the Cartesian posture space through the sequential movement from the first path point to the i-th path point, and we can get the The position length between the i+1 path point and the i-th path point is the distance between the i+1-th path point and the i-th path point in the Cartesian position space, and the i+1-th path point and the i-th path point are The angle length between i path points is the distance between the i+1th path point and the ith path point in Cartesian posture space.
其中,路程空间包括平动坐标和转动坐标,一个路径点的平动坐标为该路径点的位置长度,一个路径点的转动坐标为该路径点的角度长度。Among them, the journey space includes translation coordinates and rotation coordinates. The translation coordinates of a path point are the position length of the path point, and the rotation coordinates of a path point are the angular length of the path point.
由上,因为使用了连续欧拉角表示姿态,计算的角度长度即转动坐标也是连续的,可用于转动坐标连续插补。From the above, because continuous Euler angles are used to represent the attitude, the calculated angle length, that is, the rotation coordinate, is also continuous and can be used for continuous interpolation of the rotation coordinate.
S240:根据各路径点的路程空间坐标,利用速度规划器对各路径点进行路程空间轨迹插补,获得路程空间的路程轨迹。S240: According to the distance space coordinates of each way point, use the speed planner to perform distance space trajectory interpolation on each way point to obtain the distance space trajectory.
其中,在利用速度规划器对各路径点进行路程空间轨迹插补时,根据多轴设备末端在笛卡尔空间的运动学约束条件,获得多轴设备末端在路程空间的运动学约束条件,并在该路程空间的运动学约束条件下,进行对各路径点进行路程空间轨迹插补。Among them, when using the speed planner to interpolate the path space trajectory of each path point, according to the kinematic constraints of the multi-axis equipment end in Cartesian space, the kinematic constraints of the multi-axis equipment end in the distance space are obtained, and in Under the kinematic constraints of the path space, the path space trajectory interpolation is performed for each path point.
其中,在利用速度规划器对各路径点进行路程空间轨迹插补时,根据路程空间的路程空间坐标,对路径点的在路程空间中的平动维度的轨迹和转动维度的轨迹进行同步插补。该同步为到达一个路径点在路程空间中对应的平动维度的轨迹点和转动维度的轨迹点的时间相同。Among them, when using the speed planner to interpolate the path space trajectory of each path point, the path point's trajectory in the translation dimension and the trajectory in the rotation dimension in the path space are synchronously interpolated according to the path space coordinates of the path space. . The synchronization means that the time to arrive at the trajectory point in the translation dimension and the trajectory point in the rotation dimension corresponding to a path point in the journey space is the same.
其中,各插补点的速度通过速度规划器进行前瞻速度规划,且路程轨迹点在路程空间中各路程坐标维度的速度、加速度和加加速度的连续。Among them, the speed of each interpolation point is forward-looking speed planning through the speed planner, and the speed, acceleration and jerk of the distance trajectory point in each distance coordinate dimension in the distance space are continuous.
其中,速度规划器在轨迹插补时对路程空间的平动坐标和转动坐标同步插补,采用速度规划器的速度曲线包括S形曲线或其他形状的曲线,速度与时间的关系包括以时间为基函数的多项式或以时间余弦为基函数的表达式。Among them, the speed planner synchronously interpolates the translation coordinates and rotation coordinates of the distance space during trajectory interpolation. The speed curve using the speed planner includes S-shaped curves or other shaped curves. The relationship between speed and time includes taking time as Polynomials of basis functions or expressions with time cosines as basis functions.
由上,因为路程空间的转动坐标也为连续值,在进行路程空间的轨迹规划时,实现了转动坐标的连续规划,相当于实现笛卡尔空间的姿态连续规划,解决了欧拉角存在奇异点而不适合进行插补的问题,避免了基于四元数的轨迹插补方法的姿态不连续问题。From the above, because the rotation coordinates in the distance space are also continuous values, when planning the trajectory in the distance space, the continuous planning of the rotation coordinates is realized, which is equivalent to the continuous planning of the attitude in the Cartesian space, and solves the problem of singular points in Euler angles. It is not suitable for interpolation and avoids the attitude discontinuity problem of the quaternion-based trajectory interpolation method.
S250:把路程空间的各路程轨迹点的坐标转换为各路程轨迹点在笛卡尔空间的位姿,并把各路程轨迹点作为笛卡尔空间的规划轨迹点,构成笛卡尔空间的规划轨迹。 S250: Convert the coordinates of each journey trajectory point in the journey space into the posture of each journey trajectory point in Cartesian space, and use each journey trajectory point as a planned trajectory point in the Cartesian space to form a planned trajectory in the Cartesian space.
其中,根据路程轨迹的运动趋势和路程空间的各路程轨迹点的坐标,采用搜索的方法把路程空间的各路程轨迹点的坐标转换为各路程轨迹点在笛卡尔空间的位姿。Among them, according to the motion trend of the distance trajectory and the coordinates of each distance trajectory point in the distance space, the search method is used to convert the coordinates of each distance trajectory point in the distance space into the posture of each distance trajectory point in Cartesian space.
其中,路程空间的路程轨迹点与笛卡尔空间的规划轨迹点一一对应。在利用速度规划器对各路径点进行路程空间轨迹插补时,路程轨迹点满足多轴设备末端路程空间的运动学约束条件,本质上就是笛卡尔空间的规划轨迹点满足在笛卡尔空间的运动学约束条件,路程轨迹点满足路程空间的速度、加速度和加加速度的连续本质上就是笛卡尔空间的规划轨迹点满足在笛卡尔空间的速度、加速度和加加速度的连续,路程轨迹在平动维度的轨迹点和转动维度的轨迹点上同步就是规划轨迹在位姿的6个维度上同步。Among them, the journey trajectory points in the journey space correspond to the planning trajectory points in the Cartesian space. When using the speed planner to interpolate the path space trajectory of each path point, the path trajectory point satisfies the kinematic constraints of the end path space of the multi-axis equipment. In essence, the planned trajectory point in the Cartesian space satisfies the motion in the Cartesian space. Learning constraints, the path trajectory point satisfies the continuity of velocity, acceleration and jerk in the path space. Essentially, the planning trajectory point in the Cartesian space satisfies the continuity of velocity, acceleration and jerk in the Cartesian space. The path trajectory is in the translation dimension. The synchronization of the trajectory points and the trajectory points of the rotation dimension means that the planned trajectory is synchronized in the six dimensions of the pose.
综上,一种笛卡尔空间的轨迹规划方法实施例二获取多轴设备末端的若干个路径节点的位姿,其中,姿态坐标用三维的连续欧拉角表示;对各路径节点的位姿进行路径拟合,获得多轴设备末端的笛卡尔空间的规划路径;根据规划路径的各路径点的位姿,获得各路径点的位置长度和角度长度;并据此获得笛卡尔空间的规划轨迹。本方法实施例把各规划路径点在笛卡尔空间的6维度位姿转换为在路程空间的2维度路程坐标,不仅解决欧拉角的奇异点的问题和四元数在插补时姿态不连续问题,而且规划计算的复杂度,提高了规划效果。In summary, Embodiment 2 of a Cartesian space trajectory planning method obtains the poses of several path nodes at the end of the multi-axis device, where the pose coordinates are represented by three-dimensional continuous Euler angles; the poses of each path node are Path fitting is used to obtain the planned path in Cartesian space at the end of the multi-axis device; according to the pose of each path point of the planned path, the position length and angular length of each path point are obtained; and based on this, the planned trajectory in Cartesian space is obtained. The embodiment of this method converts the 6-dimensional pose of each planned path point in Cartesian space into the 2-dimensional journey coordinate in the journey space, which not only solves the problem of singular points of Euler angles and the discontinuous pose of quaternions during interpolation problem, and the complexity of planning calculations improves the planning effect.
一种笛卡尔空间的轨迹规划方法实施例三利用一种笛卡尔空间的轨迹规划方法实施例二获得的笛卡尔空间的规划轨迹,获得多轴设备末端轨迹节点在关节空间的坐标,并据此在多轴设备的各轴的运动学约束条件同步规划多轴设备的在关节空间的关节轨迹。Embodiment 3 of a trajectory planning method in Cartesian space uses the planned trajectory in Cartesian space obtained in Embodiment 2 of a trajectory planning method in Cartesian space to obtain the coordinates of the end trajectory node of the multi-axis device in the joint space, and based on this The joint trajectory of the multi-axis device in the joint space is synchronously planned based on the kinematic constraints of each axis of the multi-axis device.
下面结合附图3A和图3B介绍一种笛卡尔空间的轨迹规划方法实施例三。Embodiment 3 of a Cartesian space trajectory planning method will be introduced below with reference to Figures 3A and 3B.
图3A示出了一种笛卡尔空间的轨迹规划方法实施例三的流程,包括步骤S310至S350。Figure 3A shows the process of Embodiment 3 of a Cartesian space trajectory planning method, including steps S310 to S350.
S310:获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的三维位置坐标和三维姿态坐标。S310: Obtain the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space.
其中,本步骤的具体方法和优点请参照方法实施例一的步骤S110。For the specific method and advantages of this step, please refer to step S110 of the first method embodiment.
S320:根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。S320: Smoothly fit each path node according to the pose of each path node, and obtain the planned path in Cartesian space at the end of the multi-axis device.
其中,本步骤的具体方法和优点请参照方法实施例一的步骤S120。For the specific method and advantages of this step, please refer to step S120 of the first method embodiment.
S330:根据笛卡尔空间的规划路径的位姿,获得笛卡尔空间的规划轨迹。S330: Obtain the planned trajectory of the Cartesian space based on the pose of the planned path in the Cartesian space.
其中,本步骤执行了方法实施例二的步骤S230、S240和S250,其主要方法和优点请参照方法实施例二的步骤S230、S240和S250。Among them, this step executes steps S230, S240 and S250 of the second method embodiment. For its main methods and advantages, please refer to steps S230, S240 and S250 of the second method embodiment.
S340:根据笛卡尔空间的规划轨迹获得多轴设备末端轨迹节点对应的关节节点在关节空间的关节坐标。S340: Obtain the joint coordinates of the joint node corresponding to the end trajectory node of the multi-axis device in the joint space according to the planned trajectory in Cartesian space.
其中,根据笛卡尔空间的规划轨迹点的位姿,获得多轴设备末端在笛卡尔空间的轨迹节点,所述轨迹节点为在笛卡尔空间的规划轨迹上曲率大于设定阈值的规划轨迹点,这些点为规划轨迹上的关键点,决定规划轨迹的趋势。Among them, according to the pose of the planned trajectory point in Cartesian space, the trajectory node of the end of the multi-axis device in Cartesian space is obtained, and the trajectory node is the planned trajectory point on the planned trajectory in Cartesian space that has a curvature greater than the set threshold, These points are key points on the planned trajectory and determine the trend of the planned trajectory.
其中,对轨迹节点的位姿进行运动学逆解,获得轨迹节点在多轴设备的关节节点 的关节坐标。其中,关节坐标为关节空间的坐标,运动学逆解方法包括:解析法,以解析的方式求轨迹节点在各轴的关节空间对应的关节节点的坐标角度;迭代法,通过数值迭代法数值迭代求出方程的特解,获得轨迹节点在各轴的关节空间对应的关节节点的坐标;几何法,对一些结构比较简单的机器人通过几何关系获得轨迹节点在各轴的关节空间对应的关节节点的坐标。本申请对运动学逆解方法不予限制。Among them, the inverse kinematic solution of the trajectory node's pose is performed to obtain the joint node of the trajectory node in the multi-axis device. joint coordinates. Among them, the joint coordinates are the coordinates of the joint space. The inverse kinematics solution method includes: analytical method, which uses an analytical method to find the coordinate angle of the joint node corresponding to the joint space of each axis of the trajectory node; iterative method, which uses numerical iteration to numerically iterate Find the special solution of the equation and obtain the coordinates of the joint nodes corresponding to the joint space of each axis of the trajectory node; the geometric method, for some robots with relatively simple structures, obtain the coordinates of the joint nodes corresponding to the trajectory node in the joint space of each axis through geometric relationships. coordinate. This application does not limit the inverse kinematic solution method.
S350:在多轴设备各轴的运动学约束条件下,根据各关节节点的关节坐标,利用速度规划器同步规划多轴设备各轴的关节轨迹。S350: Under the kinematic constraints of each axis of the multi-axis equipment, use the speed planner to synchronously plan the joint trajectories of each axis of the multi-axis equipment based on the joint coordinates of each joint node.
其中,每个轴可以看成是一个关节,对应一个关节空间的一维,每个轴可以平移轴或旋转轴。Among them, each axis can be regarded as a joint, corresponding to one dimension of the joint space, and each axis can be a translation axis or a rotation axis.
其中,速度规划器在规划各轴在关节空间的关节轨迹时,采用速度规划器的速度曲线包括S形曲线或其他形状的曲线,速度与时间的关系包括以时间为基函数的多项式或以时间余弦为基函数的表达式。Among them, when the speed planner plans the joint trajectories of each axis in the joint space, the speed curves used by the speed planner include S-shaped curves or curves of other shapes. The relationship between speed and time includes polynomials with time as the basis function or time-based functions. Cosine is the expression of the basis function.
其中,所述同步为多轴设备的各轴在关节空间中在相同时间到达每个关节节点。Wherein, the synchronization means that each axis of the multi-axis device reaches each joint node at the same time in the joint space.
其中,每个轴在关节空间的关节轨迹点满足该轴的运动学约束条件,且在关节空间实现其关节轨迹点的速度、加速度和加加速度连续。Among them, the joint trajectory points of each axis in the joint space satisfy the kinematic constraints of the axis, and the speed, acceleration and jerk of the joint trajectory points in the joint space are continuous.
其中,本步骤的具体方法请参照一种笛卡尔空间的轨迹规划方法实施例的关节空间轨迹规划方法的流程。For the specific method of this step, please refer to the process of the joint space trajectory planning method of a Cartesian space trajectory planning method embodiment.
图3B示出了一种笛卡尔空间的轨迹规划方法实施例的关节空间轨迹规划方法的流程,包括:步骤S3510至S3540。Figure 3B shows the flow of a joint space trajectory planning method according to an embodiment of a Cartesian space trajectory planning method, including: steps S3510 to S3540.
S3510:根据关节节点的关节坐标,利用速度规划器分别规划每个轴在关节空间的第一轨迹,获得每个轴到达各关节节点的规划时间。S3510: According to the joint coordinates of the joint nodes, use the speed planner to plan the first trajectory of each axis in the joint space, and obtain the planning time for each axis to reach each joint node.
其中,本步骤的速度规划器为一种笛卡尔空间的轨迹规划方法实施例二的步骤S350中描述的速度规划器,且各轴均在运动学约束条件下进行规划。Among them, the speed planner in this step is the speed planner described in step S350 of the second embodiment of the Cartesian space trajectory planning method, and each axis is planned under kinematic constraints.
S3520:根据每个轴到达各关节节点的规划时间,获得每个轴到达各关节节点的同步时间。S3520: According to the planned time for each axis to reach each joint node, obtain the synchronization time for each axis to reach each joint node.
其中,在一个关节节点对应的同步时间每个轴同步到达该轨迹节点的对应的关节节点。Among them, at the synchronization time corresponding to a joint node, each axis reaches the corresponding joint node of the trajectory node synchronously.
其中,本步骤的一种可能的实施方式包括:Among them, a possible implementation of this step includes:
1)根据每个轴的各关节节点的规划时间,获得每个轴在各相邻关节节点之间运动的运行时长。1) According to the planning time of each joint node of each axis, the running time of each axis' movement between adjacent joint nodes is obtained.
2)对于任一对相邻关节节点,把各轴在该对相邻关节节点之间的运行时长中最长的运行时长作为该对相邻关节节点之间运动的同步时长。2) For any pair of adjacent joint nodes, the longest running time of each axis between the pair of adjacent joint nodes is regarded as the synchronization time of the motion between the pair of adjacent joint nodes.
3)根据每对相邻关节节点的同步时长,依次确定多轴设备每个轴到达每个关节节点的同步时间。3) Based on the synchronization duration of each pair of adjacent joint nodes, determine the synchronization time for each axis of the multi-axis device to reach each joint node in turn.
S3530:根据每个轴到达每个关节节点的同步时间和每个关节节点的关节坐标,利用速度规划器分别规划每个轴在关节空间的第二轨迹。S3530: Based on the synchronization time of each axis arriving at each joint node and the joint coordinates of each joint node, use the speed planner to separately plan the second trajectory of each axis in the joint space.
其中,本步骤的速度规划器为一种笛卡尔空间的轨迹规划方法实施例二的步骤S350中描述的速度规划器,且在关节空间实现其关节轨迹点的速度、加速度和加加速 度连续。Among them, the speed planner in this step is the speed planner described in step S350 of the second embodiment of the Cartesian space trajectory planning method, and realizes the speed, acceleration and acceleration of its joint trajectory points in the joint space. degree of continuity.
S3540:当一个轴的第二轨迹上存在速度、加速度或加加速度跳变的点时,对该点的速度、加速度或加加速度进行滤波,并根滤波结果优化相应的第二轨迹,获得各关节空间的关节轨迹。S3540: When there is a point where the speed, acceleration or jerk jumps on the second trajectory of an axis, filter the speed, acceleration or jerk of the point, and optimize the corresponding second trajectory based on the filtering result to obtain each joint joint trajectories in space.
综上,一种笛卡尔空间的轨迹规划方法实施例三利用一种笛卡尔空间的轨迹规划方法实施例二获得的笛卡尔空间的规划轨迹,获得多轴设备末端轨迹节点在关节空间的坐标,并据此在多轴设备的各轴的运动学约束条件同步规划多轴设备的各轴的关节轨迹,从而不仅实现了多轴设备的末端规划轨迹的平滑和精度,且满足多轴设备的末端的运动学约束条件,还满足了多轴设备各轴的运动学约束,且实现在各轴的速度、加速度和加加速度连续。In summary, Embodiment 3 of a Cartesian space trajectory planning method uses the planned trajectory in Cartesian space obtained in Embodiment 2 of a Cartesian space trajectory planning method to obtain the coordinates of the end trajectory node of the multi-axis device in the joint space, And based on this, the joint trajectories of each axis of the multi-axis device are synchronously planned based on the kinematic constraints of each axis of the multi-axis device, thereby not only achieving the smoothness and accuracy of the planned trajectory of the end of the multi-axis device, but also meeting the requirements of the end of the multi-axis device. The kinematic constraints also meet the kinematic constraints of each axis of the multi-axis equipment, and the speed, acceleration and jerk of each axis are continuous.
下面结合图4至图6介绍本申请的一种笛卡尔空间的轨迹规划装置实施例。An embodiment of a trajectory planning device in Cartesian space of the present application will be introduced below with reference to FIGS. 4 to 6 .
一种笛卡尔空间的轨迹规划装置实施例一执行一种笛卡尔空间的轨迹规划方法实施例一所述方法,具有其一切优点。Embodiment 1 of a Cartesian space trajectory planning device executes the method described in Embodiment 1 of a Cartesian space trajectory planning method and has all its advantages.
图4示出了一种笛卡尔空间的轨迹规划装置实施例一的结构,包括:获取模块410、路径规划模块420和笛卡尔轨迹规划模块430。Figure 4 shows the structure of Embodiment 1 of a Cartesian space trajectory planning device, including: an acquisition module 410, a path planning module 420, and a Cartesian trajectory planning module 430.
获取模块410用于获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的三维位置坐标和三维姿态坐标。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例一的步骤S110。The acquisition module 410 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space. For its method and advantages, please refer to step S110 in Embodiment 1 of a Cartesian space trajectory planning method.
路径规划模块420用于根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例一的步骤S120。The path planning module 420 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device. For its method and advantages, please refer to step S120 in Embodiment 1 of a Cartesian space trajectory planning method.
笛卡尔轨迹规划模块430用于根据笛卡尔空间的规划路径的位姿,获得笛卡尔空间的规划轨迹。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例一的步骤S130。The Cartesian trajectory planning module 430 is used to obtain the planned trajectory of the Cartesian space according to the pose of the planned path in the Cartesian space. For its method and advantages, please refer to step S130 in Embodiment 1 of a Cartesian space trajectory planning method.
一种笛卡尔空间的轨迹规划装置实施例二执行一种笛卡尔空间的轨迹规划方法实施例二所述方法,具有其一切优点。Embodiment 2 of a Cartesian space trajectory planning device executes the method described in Embodiment 2 of a Cartesian space trajectory planning method and has all its advantages.
图5示出了一种笛卡尔空间的轨迹规划装置实施例二的结构,包括:获取模块510、路径规划模块520和笛卡尔轨迹规划模块530。Figure 5 shows the structure of Embodiment 2 of a Cartesian space trajectory planning device, including: an acquisition module 510, a path planning module 520, and a Cartesian trajectory planning module 530.
获取模块510用于获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的三维位置坐标和三维姿态坐标。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例二的步骤S210。The acquisition module 510 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space. For its method and advantages, please refer to step S210 in Embodiment 2 of a Cartesian space trajectory planning method.
路径规划模块520用于根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例二的步骤S220。The path planning module 520 is used to smoothly fit each path node according to the pose of each path node, and obtain a planned path in Cartesian space at the end of the multi-axis device. For its method and advantages, please refer to step S220 in Embodiment 2 of a Cartesian space trajectory planning method.
笛卡尔轨迹规划模块530用于根据笛卡尔空间的规划路径的位姿,获得规划路径上各路径点的位置长度和角度长度,并组成各路径点的路程空间坐标。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例二的步骤S230。 The Cartesian trajectory planning module 530 is used to obtain the position length and angle length of each path point on the planned path based on the pose of the planned path in Cartesian space, and form the path space coordinates of each path point. For its method and advantages, please refer to step S230 in Embodiment 2 of a Cartesian space trajectory planning method.
笛卡尔轨迹规划模块530还用于根据各路径点的路程空间坐标,利用速度规划器对各路径点进行路程空间轨迹插补,获得路程空间的路程轨迹。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例二的步骤S240。The Cartesian trajectory planning module 530 is also used to use the speed planner to interpolate the journey space trajectory of each path point according to the journey space coordinates of each path point to obtain the journey space trajectory. For its method and advantages, please refer to step S240 in Embodiment 2 of a Cartesian space trajectory planning method.
笛卡尔轨迹规划模块530还用于把路程空间的各路程轨迹点的坐标转换为各路程轨迹点在笛卡尔空间的位姿,并把各路程轨迹点作为笛卡尔空间的规划轨迹点,构成笛卡尔空间的规划轨迹。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例二的步骤S250。The Cartesian trajectory planning module 530 is also used to convert the coordinates of each journey trajectory point in the journey space into the posture of each journey trajectory point in the Cartesian space, and use each journey trajectory point as a planned trajectory point in the Cartesian space to form a Cartesian space. Planning trajectories in Karl space. For its method and advantages, please refer to step S250 in Embodiment 2 of a Cartesian space trajectory planning method.
一种笛卡尔空间的轨迹规划装置实施例三执行一种笛卡尔空间的轨迹规划方法实施例三所述方法,具有其一切优点。Embodiment 3 of a Cartesian space trajectory planning device executes the method described in Embodiment 3 of a Cartesian space trajectory planning method and has all its advantages.
图6示出了一种笛卡尔空间的轨迹规划装置实施例三的结构,包括:获取模块610、路径规划模块620、笛卡尔轨迹规划模块630、运动学逆解模块640和关节轨迹规划模块650。Figure 6 shows the structure of Embodiment 3 of a Cartesian space trajectory planning device, including: an acquisition module 610, a path planning module 620, a Cartesian trajectory planning module 630, an inverse kinematics solution module 640 and a joint trajectory planning module 650. .
获取模块610用于获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔空间的三维位置坐标和三维姿态坐标。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例三的步骤S310。The acquisition module 610 is used to acquire the poses of several path nodes at the end of the multi-axis device, where the poses include three-dimensional position coordinates and three-dimensional attitude coordinates in Cartesian space. For its method and advantages, please refer to step S310 in Embodiment 3 of a Cartesian space trajectory planning method.
路径规划模块620用于根据各路径节点的位姿对各路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例三的步骤S320。The path planning module 620 is used to perform smooth fitting of each path node according to the pose of each path node to obtain a planned path in Cartesian space at the end of the multi-axis device. For its method and advantages, please refer to step S320 in Embodiment 3 of a Cartesian space trajectory planning method.
笛卡尔轨迹规划模块630用于根据笛卡尔空间的规划路径的位姿,获得笛卡尔空间的规划轨迹。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例三的步骤S330。The Cartesian trajectory planning module 630 is used to obtain the planned trajectory of the Cartesian space according to the pose of the planned path in the Cartesian space. For its method and advantages, please refer to step S330 in Embodiment 3 of a Cartesian space trajectory planning method.
运动学逆解模块640用于根据笛卡尔空间的规划轨迹获得多轴设备末端轨迹节点对应的关节节点在关节空间的关节坐标。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例三的步骤S340。The inverse kinematics module 640 is used to obtain the joint coordinates of the joint nodes corresponding to the end trajectory nodes of the multi-axis device in the joint space according to the planned trajectory in Cartesian space. For its method and advantages, please refer to step S340 in Embodiment 3 of a Cartesian space trajectory planning method.
关节轨迹规划模块650用于在多轴设备各轴的运动学约束条件下,根据各关节节点的关节坐标,利用速度规划器同步规划多轴设备各轴的关节轨迹。其方法和优点请参照一种笛卡尔空间的轨迹规划方法实施例三的步骤S350。The joint trajectory planning module 650 is used to use the speed planner to synchronously plan the joint trajectories of each axis of the multi-axis device according to the joint coordinates of each joint node under the kinematic constraints of each axis of the multi-axis device. For its method and advantages, please refer to step S350 in Embodiment 3 of a Cartesian space trajectory planning method.
本申请实施例还提供了一种计算设备,下面结合图7详细介绍。An embodiment of the present application also provides a computing device, which will be described in detail below in conjunction with Figure 7 .
该计算设备700包括,处理器710、存储器720、通信接口730、总线740。The computing device 700 includes a processor 710, a memory 720, a communication interface 730, and a bus 740.
应理解,该图所示的计算设备700中的通信接口730可以用于与其他设备之间进行通信。It should be understood that the communication interface 730 in the computing device 700 shown in this figure can be used to communicate with other devices.
其中,该处理器710可以与存储器720连接。该存储器720可以用于存储该程序代码和数据。因此,该存储器720可以是处理器710内部的存储单元,也可以是与处理器710独立的外部存储单元,还可以是包括处理器710内部的存储单元和与处理器710独立的外部存储单元的部件。The processor 710 can be connected to the memory 720 . The memory 720 can be used to store the program code and data. Therefore, the memory 720 may be a storage unit internal to the processor 710 , or may be an external storage unit independent of the processor 710 , or may include a storage unit internal to the processor 710 and an external storage unit independent of the processor 710 . part.
可选的,计算设备700还可以包括总线740。其中,存储器720、通信接口730可以通过总线740与处理器710连接。总线740可以是外设部件互连标准(Peripheral  Component Interconnect,PCI)总线或扩展工业标准结构(EFStended Industry Standard Architecture,EISA)总线等。所述总线740可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。Optionally, computing device 700 may also include bus 740. Among them, the memory 720 and the communication interface 730 can be connected to the processor 710 through the bus 740. Bus 740 may be a peripheral component interconnect standard (Peripheral Component Interconnect, PCI) bus or Extended Industry Standard Architecture (EFStended Industry Standard Architecture, EISA) bus, etc. The bus 740 can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one line is used in this figure, but it does not mean that there is only one bus or one type of bus.
应理解,在本申请实施例中,该处理器710可以采用中央处理单元(central processing unit,CPU)。该处理器还可以是其它通用处理器、数字信号处理器(digital signal processor,DSP)、专用集成电路(application specific integrated circuit,ASIC)、现成可编程门阵列(field programmable gate Array,FPGA)或者其它可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。或者该处理器710采用一个或多个集成电路,用于执行相关程序,以实现本申请实施例所提供的技术方案。It should be understood that in this embodiment of the present application, the processor 710 may be a central processing unit (CPU). The processor can also be other general-purpose processors, digital signal processors (DSPs), application specific integrated circuits (ASICs), off-the-shelf programmable gate arrays (field programmable gate arrays, FPGAs) or other Programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor may be a microprocessor or the processor may be any conventional processor, etc. Or the processor 710 uses one or more integrated circuits to execute relevant programs to implement the technical solutions provided by the embodiments of the present application.
该存储器720可以包括只读存储器和随机存取存储器,并向处理器710提供指令和数据。处理器710的一部分还可以包括非易失性随机存取存储器。例如,处理器710还可以存储设备类型的信息。The memory 720 may include read-only memory and random access memory and provides instructions and data to the processor 710 . A portion of processor 710 may also include non-volatile random access memory. For example, processor 710 may also store device type information.
在计算设备700运行时,所述处理器710执行所述存储器720中的计算机执行指令执行各方法实施例的操作步骤。When the computing device 700 is running, the processor 710 executes the computer execution instructions in the memory 720 to perform the operation steps of each method embodiment.
应理解,根据本申请实施例的计算设备700可以对应于执行根据本申请各实施例的方法中的相应主体,并且计算设备700中的各个模块的上述和其它操作和/或功能分别为了实现本方法实施例各方法的相应流程,为了简洁,在此不再赘述。It should be understood that the computing device 700 according to the embodiments of the present application may correspond to the corresponding subject in performing the methods according to the various embodiments of the present application, and the above and other operations and/or functions of the various modules in the computing device 700 are respectively intended to implement the present application. For the sake of brevity, the corresponding processes of each method in the method embodiments will not be described again here.
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。Those of ordinary skill in the art will appreciate that the units and algorithm steps of each example described in conjunction with the embodiments disclosed herein can be implemented with electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Skilled artisans may implement the described functionality using different methods for each specific application, but such implementations should not be considered beyond the scope of this application.
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be described again here.
在本申请所提供的几个实施例中,应该理解到,所揭露的***、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in this application, it should be understood that the disclosed systems, devices and methods can be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components may be combined or can be integrated into another system, or some features can be ignored, or not implemented. On the other hand, the coupling or direct coupling or communication connection between each other shown or discussed may be through some interfaces, and the indirect coupling or communication connection of the devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本方法实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the method embodiment.
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present application can be integrated into one processing unit, each unit can exist physically alone, or two or more units can be integrated into one unit.
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以 存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。If the functions described are implemented in the form of software functional units and sold or used as independent products, they can Stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present application is essentially or the part that contributes to the existing technology or the part of the technical solution can be embodied in the form of a software product. The computer software product is stored in a storage medium, including Several instructions are used to cause a computer device (which may be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in various embodiments of this application. The aforementioned storage media include U disks, mobile hard disks, read-only memory (ROM), random access memory (RAM), magnetic disks or optical disks and other media that can store program codes. .
本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时用于执行各方法实施例的操作步骤。Embodiments of the present application also provide a computer-readable storage medium on which a computer program is stored. When the program is executed by a processor, the program is used to perform the operating steps of each method embodiment.
本申请实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是,但不限于,电、磁、光、电磁、红外线、或半导体的***、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括,具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行***、装置或者器件使用或者与其结合使用。The computer storage medium in the embodiment of the present application may be any combination of one or more computer-readable media. The computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. The computer-readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or device, or any combination thereof. More specific examples (non-exhaustive list) of computer readable storage media include electrical connections having one or more conductors, portable computer 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. As used herein, a computer-readable storage medium may be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device.
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行***、装置或者器件使用或者与其结合使用的程序。A computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above. A computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device .
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括、但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including, but not limited to, wireless, wire, optical cable, RF, etc., or any suitable combination of the foregoing.
可以以一种或多种程序设计语言或其组合来编写用于执行本申请操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。Computer program code for performing the operations of the present application may be written in one or more programming languages, including object-oriented programming languages such as Java, Smalltalk, C++, and conventional Procedural programming language—such as "C" or a similar programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In situations involving remote computers, the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as an Internet service provider through the Internet). connect).
注意,上述仅为本申请的较佳实施例及所运用技术原理。本领域技术人员会理解,本申请不限于这里所述特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,均属于本申请保护范畴。 Note that the above are only the preferred embodiments of the present application and the technical principles used. Those skilled in the art will understand that the present application is not limited to the specific embodiments described here, and that various obvious changes, readjustments and substitutions can be made by those skilled in the art without departing from the scope of the present application. Therefore, although the present application has been described in detail through the above embodiments, the present application is not limited to the above embodiments. Without departing from the concept of the present application, it can also include more other equivalent embodiments, all of which belong to the present application. Apply for protection scope.

Claims (10)

  1. 一种笛卡尔空间的轨迹规划方法,其特征在于,包括:A trajectory planning method in Cartesian space, which is characterized by including:
    获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔位置空间的位置坐标和笛卡尔姿态空间的姿态坐标,其中,所述姿态坐标用三维的连续欧拉角表示,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的所述连续欧拉角等于第i个路径节点的第j维的所述连续欧拉角与在该运动过程中第j维的欧拉角的正向旋转角度之和;Obtain the poses of several path nodes at the end of the multi-axis device. The poses include position coordinates in the Cartesian position space and attitude coordinates in the Cartesian attitude space, where the attitude coordinates are represented by three-dimensional continuous Euler angles, When the end of the multi-axis device moves from the i-th path node to the i+1-th path node, the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the j-th dimension of the i-th path node The sum of the continuous Euler angles and the forward rotation angle of the Euler angle in the jth dimension during the motion;
    利用所述位姿对所述路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径;Use the pose to perform smooth fitting on the path nodes to obtain the planned path in Cartesian space at the end of the multi-axis device;
    根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹。According to the pose of each path point of the planned path, a planned trajectory in Cartesian space is obtained.
  2. 根据权利要求1所述方法,其特征在于,所述根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹,包括:The method of claim 1, wherein obtaining the planned trajectory in Cartesian space based on the pose of each path point of the planned path includes:
    根据所述规划路径的各路径点的所述位姿,获得所述各路径点的位置长度和角度长度,一个路径点的所述位置长度为在笛卡尔位置空间中从第一个路径点到该路径点的所述规划路径的长度,一个路径点的所述角度长度为在笛卡尔姿态空间中从第一个路径点到该路径点的所述规划路径的长度;According to the pose of each path point of the planned path, the position length and angular length of each path point are obtained. The position length of a path point is from the first path point to the first path point in the Cartesian position space. The length of the planned path of the path point, and the angular length of a path point is the length of the planned path from the first path point to the path point in Cartesian posture space;
    由所述位置长度和所述角度长度组成路程空间的坐标,根据所述路程空间的坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹;The coordinates of the journey space are composed of the position length and the angular length, and the journey space trajectory is interpolated on the path point according to the coordinates of the journey space to obtain the journey trajectory of the journey space;
    根据所述路程轨迹获得所述规划轨迹。The planned trajectory is obtained based on the journey trajectory.
  3. 根据权利要求2所述方法,其特征在于,所述根据所述路程空间的坐标对所述路径点进行路程空间轨迹插补,获得所述路程空间的路程轨迹,包括:The method according to claim 2, characterized in that the step of performing distance space trajectory interpolation on the path point according to the coordinates of the distance space to obtain the distance trajectory of the distance space includes:
    根据多轴设备末端在笛卡尔空间的运动学约束条件,获得多轴设备末端在所述路程空间的运动学约束条件;According to the kinematic constraints of the end of the multi-axis equipment in Cartesian space, the kinematic constraints of the end of the multi-axis equipment in the distance space are obtained;
    在所述路程空间的运动学约束条件下,根据所述路程空间的坐标对所述路径点进行路程空间轨迹插补,获得所述路程轨迹,各路程轨迹点的速度、加速度和加加速度连续。Under the kinematic constraints of the path space, path space trajectory interpolation is performed on the path point according to the coordinates of the path space to obtain the path trajectory. The velocity, acceleration and jerk of each path trajectory point are continuous.
  4. 根据权利要求3所述方法,其特征在于,所述根据所述路程空间的坐标对所述路径点进行路程空间轨迹插补,具体包括:The method according to claim 3, characterized in that, performing path space trajectory interpolation on the path point according to the coordinates of the path space, specifically includes:
    根据所述路程空间的坐标,对所述路径点在所述路程空间的所述位置长度维度的轨迹和所述姿态长度维度的轨迹进行同步插补。According to the coordinates of the journey space, the trajectory of the position length dimension and the trajectory of the attitude length dimension of the path point in the journey space are synchronously interpolated.
  5. 根据权利要求2所述方法,其特征在于,所述根据所述路程轨迹获得所述规划轨迹,包括:The method according to claim 2, wherein obtaining the planned trajectory according to the journey trajectory includes:
    根据各路程轨迹点的所述位置长度和所述角度长度,获得所述各路程轨迹点的所述位姿;According to the position length and the angular length of each journey trajectory point, the pose of each journey trajectory point is obtained;
    把所述各路程轨迹点作为笛卡尔空间的规划轨迹点,构成所述规划轨迹。Each of the journey trajectory points is regarded as a planned trajectory point in Cartesian space to form the planned trajectory.
  6. 根据权利要求1所述方法,其特征在于,所述利用所述位姿对所述路径节点进行平滑拟合,至少包括下列之一:The method according to claim 1, characterized in that using the pose to perform smooth fitting on the path nodes includes at least one of the following:
    根据所述位姿利用线段和圆弧对所述路径节点进行平滑拟合;Use line segments and arcs to smoothly fit the path nodes according to the pose;
    根据所述位姿利用B样条或多项式对所述路径节点进行平滑拟合。 The path nodes are smoothly fitted using B-splines or polynomials according to the pose.
  7. 根据权利要求1所述方法,其特征在于,还包括:The method according to claim 1, further comprising:
    根据所述规划轨迹点的位姿,获得各轨迹节点,所述轨迹节点为所述规划轨迹上在笛卡尔空间的曲率大于设定阈值的规划轨迹点;Obtain each trajectory node according to the pose of the planned trajectory point, and the trajectory node is a planned trajectory point on the planned trajectory whose curvature in Cartesian space is greater than a set threshold;
    对所述轨迹节点的所述位姿进行运动学逆解,获得关节节点在所述多轴设备的关节空间的关节坐标,所述关节节点为所述轨迹节点在所述关节空间对应的点;Perform an inverse kinematic solution on the pose of the trajectory node to obtain the joint coordinates of the joint node in the joint space of the multi-axis device, where the joint node is the corresponding point of the trajectory node in the joint space;
    在所述多轴设备各轴的运动学约束条件下,根据所述节坐标,同步规划所述多轴设备各轴的关节轨迹。Under the kinematic constraints of each axis of the multi-axis device, the joint trajectories of each axis of the multi-axis device are synchronously planned according to the node coordinates.
  8. 一种多轴设备的关节空间轨迹的规划装置,其特征在于,包括:获取模块、路径规划模块和笛卡尔轨迹规划模块;A planning device for joint space trajectories of multi-axis equipment, which is characterized in that it includes: an acquisition module, a path planning module and a Cartesian trajectory planning module;
    所述获取模块用于获取多轴设备末端的若干个路径节点的位姿,所述位姿包括笛卡尔位置空间的位置坐标和笛卡尔姿态空间的姿态坐标,其中,所述姿态坐标用三维的连续欧拉角表示,当多轴设备末端从第i个路径节点运动到第i+1个路径节点时,第i+1个路径节点的第j维的所述连续欧拉角等于第i个路径节点的第j维的所述连续欧拉角与在该运动过程中第j维的欧拉角的旋转角度之和;The acquisition module is used to obtain the poses of several path nodes at the end of the multi-axis device. The poses include position coordinates in the Cartesian position space and attitude coordinates in the Cartesian attitude space, where the attitude coordinates are expressed in three-dimensional The continuous Euler angle means that when the end of the multi-axis device moves from the i-th path node to the i+1-th path node, the continuous Euler angle of the j-th dimension of the i+1-th path node is equal to the i-th The sum of the continuous Euler angles of the jth dimension of the path node and the rotation angle of the Euler angles of the jth dimension during the movement;
    所述路径规划模块用于利用所述位姿对所述路径节点进行平滑拟合,获得多轴设备末端的笛卡尔空间的规划路径;The path planning module is used to perform smooth fitting on the path nodes using the pose to obtain the planned path in Cartesian space at the end of the multi-axis device;
    所述笛卡尔轨迹规划模块用于根据所述规划路径的各路径点的所述位姿,获得笛卡尔空间的规划轨迹。The Cartesian trajectory planning module is used to obtain the planned trajectory in Cartesian space according to the pose of each path point of the planned path.
  9. 一种计算设备,其特征在于,包括:A computing device, characterized by including:
    总线;bus;
    通信接口,其与所述总线连接;A communication interface connected to the bus;
    至少一个处理器,其与所述总线连接;以及at least one processor connected to the bus; and
    至少一个存储器,其与所述总线连接并存储有程序指令,所述程序指令当被所述至少一个处理器执行时使得所述至少一个处理器执行权利要求1至7任一所述方法。At least one memory is connected to the bus and stores program instructions, which when executed by the at least one processor cause the at least one processor to perform the method of any one of claims 1 to 7.
  10. 一种计算机可读存储介质,其上存储有程序指令,其特征在于,所述程序指令当被计算机执行时使得所述计算机执行权利要求1至7任一所述方法。 A computer-readable storage medium on which program instructions are stored, characterized in that, when executed by a computer, the program instructions cause the computer to execute the method of any one of claims 1 to 7.
PCT/CN2023/115052 2022-08-26 2023-08-25 Cartesian space trajectory planning method and apparatus WO2024041647A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202211033779.8A CN115179298A (en) 2022-08-26 2022-08-26 Cartesian space trajectory planning method and device
CN202211033779.8 2022-08-26

Publications (1)

Publication Number Publication Date
WO2024041647A1 true WO2024041647A1 (en) 2024-02-29

Family

ID=83523764

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/115052 WO2024041647A1 (en) 2022-08-26 2023-08-25 Cartesian space trajectory planning method and apparatus

Country Status (2)

Country Link
CN (1) CN115179298A (en)
WO (1) WO2024041647A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115179298A (en) * 2022-08-26 2022-10-14 北京东土科技股份有限公司 Cartesian space trajectory planning method and device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107571261A (en) * 2017-08-30 2018-01-12 中国科学院自动化研究所 The smooth transient method and device of the more space tracking planning of teaching robot
CN111399514A (en) * 2020-03-30 2020-07-10 浙江钱江机器人有限公司 Robot time optimal trajectory planning method
CN111611742A (en) * 2020-06-11 2020-09-01 上海卫星工程研究所 Plane deformation absolute-relative Euler angle calculation method and system
CN113084821A (en) * 2021-04-30 2021-07-09 哈尔滨工业大学 Spraying robot time optimal trajectory planning method based on dynamics
US20210339390A1 (en) * 2020-05-04 2021-11-04 X Development Llc Trajectory planning for path-based applications
CN115179298A (en) * 2022-08-26 2022-10-14 北京东土科技股份有限公司 Cartesian space trajectory planning method and device

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107571261A (en) * 2017-08-30 2018-01-12 中国科学院自动化研究所 The smooth transient method and device of the more space tracking planning of teaching robot
CN111399514A (en) * 2020-03-30 2020-07-10 浙江钱江机器人有限公司 Robot time optimal trajectory planning method
US20210339390A1 (en) * 2020-05-04 2021-11-04 X Development Llc Trajectory planning for path-based applications
CN111611742A (en) * 2020-06-11 2020-09-01 上海卫星工程研究所 Plane deformation absolute-relative Euler angle calculation method and system
CN113084821A (en) * 2021-04-30 2021-07-09 哈尔滨工业大学 Spraying robot time optimal trajectory planning method based on dynamics
CN115179298A (en) * 2022-08-26 2022-10-14 北京东土科技股份有限公司 Cartesian space trajectory planning method and device

Also Published As

Publication number Publication date
CN115179298A (en) 2022-10-14

Similar Documents

Publication Publication Date Title
WO2021103648A1 (en) Hand key point detection method, gesture recognition method, and related devices
WO2024041648A1 (en) Trajectory planning method and apparatus for robot end
CN107980109B (en) Robot motion trajectory planning method and related device
CN107980108B (en) Robot motion trajectory planning method and related device
WO2024041647A1 (en) Cartesian space trajectory planning method and apparatus
US20100265255A1 (en) Generation of cubic bezier control points in computer graphics systems
WO2022007350A1 (en) Global path planning method and apparatus, terminal, and readable storage medium
CN109676606B (en) Method for calculating arm angle range of mechanical arm, mechanical arm and robot
WO2020135608A1 (en) Industrial robot demonstration track recurrence method and system and robot
WO2022198993A1 (en) Method and apparatus for manipulator motion planning, readable storage medium, and manipulator
CN109871800A (en) A kind of estimation method of human posture, device and storage medium
JP2022553356A (en) Data processing method and related device
WO2022193668A1 (en) Inverse solution method and apparatus for arm angle interval of mechanical arm, and terminal device
CN111024082B (en) Method and device for planning local path of robot and robot
WO2020093253A1 (en) Robot motion control method, control system and storage device
CN111857037A (en) Transition track generation method, robot and computer readable storage medium
WO2024041646A1 (en) Trajectory planning method and apparatus for joint space of multi-shaft device
WO2024011792A1 (en) Image processing method and apparatus, electronic device, and storage medium
CN113119104B (en) Mechanical arm control method, mechanical arm control device, computing equipment and system
WO2022161315A1 (en) Robot path planning method, operation method, robot and medium
CN112356032B (en) Posture smooth transition method and system
CN113103240B (en) Method, device and system for realizing C2 continuous robot trajectory planning
WO2021027945A1 (en) Coordinate obtaining method and apparatus for movable device
CN112009460A (en) Vehicle control method, device, equipment and storage medium
WO2022198992A1 (en) Method and apparatus for planning robot arm motion, and readable storage medium and robot arm

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: 23856732

Country of ref document: EP

Kind code of ref document: A1