WO2018119759A1 - Robot motion control method and related device - Google Patents

Robot motion control method and related device Download PDF

Info

Publication number
WO2018119759A1
WO2018119759A1 PCT/CN2016/112678 CN2016112678W WO2018119759A1 WO 2018119759 A1 WO2018119759 A1 WO 2018119759A1 CN 2016112678 W CN2016112678 W CN 2016112678W WO 2018119759 A1 WO2018119759 A1 WO 2018119759A1
Authority
WO
WIPO (PCT)
Prior art keywords
point
time
bezier curve
curve
feature point
Prior art date
Application number
PCT/CN2016/112678
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 深圳配天智能技术研究院有限公司
Priority to CN201680037943.9A priority Critical patent/CN108513636B/en
Priority to PCT/CN2016/112678 priority patent/WO2018119759A1/en
Publication of WO2018119759A1 publication Critical patent/WO2018119759A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots

Definitions

  • This invention relates to the field of motion control and, more particularly, to robot motion control techniques.
  • the movement of the robot is carried out according to a pre-planned trajectory.
  • the planned motion trajectory can be decomposed into multiple segments. See Figure 1a.
  • a segment of motion trajectory consists of two segments, lc and ln.
  • the robot needs to move from the trajectory lc to the trajectory ln.
  • the trajectory lc can be called the anterior segment trajectory, and ln can be called the posterior segment trajectory. .
  • the transition of the two-segment trajectory can be a sharp-angled transition. As shown in Fig. 1a, after the robot moves to the end of the trajectory lc (at point O), the velocity drops to zero, and then moves on the trajectory ln at a certain speed. In this kind of transition mode, the initial velocity and the final velocity on the single-segment trajectory (lc or ln) are both 0, which will greatly reduce the working efficiency of the robot, and the frequent acceleration and deceleration motion will also generate the service life of the motor and the reducer. influences.
  • a smooth transfer method can be used between the tracks at both ends. That is, a smooth curve is planned between the two trajectories, and when the robot transitions from one trajectory to another in a smooth curve manner, the speed is not zero.
  • methods for planning smooth curves include vector addition and subtraction and arc transfer.
  • the vector addition and subtraction method is to add the interpolation point of the previous trajectory lc from the inflection point to the intersection point O by the space vector addition, and coincide with the interpolation point of the backward trajectory ln from the inflection point to the intersection point O, and the superimposed interpolation.
  • the points form an arc of space that smoothes the trajectory.
  • the smooth trajectory of this kind of superposition is uncertain and will change with the change of the trajectory speed of the two sections before and after, and the accuracy is low.
  • the turn-out point A of the front track lc and the turn-out point B on the back track ln are determined, and the common cut circle of the two tracks before and after the turn-out point and the turn-in point are determined.
  • the arc AB composed of the turning point and the turning point on the common tangent circle is a smooth transition track.
  • the application range of this method is small, and it is definitely applicable only when the two trajectories need to be straight lines.
  • the robot's motion track includes linear and circular transitions, arc and arc transitions in addition to linear and linear transitions. In the latter two types of transitions, since the straight line and the arc, the arc and the arc are not necessarily coplanar, it is not always possible to find the common tangent, which makes the method unsuitable.
  • the present invention provides a robot motion control method for controlling a robot to perform motion according to a pre-established smooth trajectory represented by a third-order Bezier curve of a path.
  • the present application provides a robot motion control method for controlling a robot to move according to a pre-established smooth trajectory represented by a third-order Bezier curve of a path for each of a plurality of control cycles
  • the position points to which the robot needs to move are determined within a control cycle, wherein each control cycle includes the following steps:
  • the Bezier curve represents a curve relationship between the Bezier parameter and the duration; the value of the Bezier parameter is substituted into the expression of the third-order Bezier curve of the path to obtain a position coordinate value; wherein the path is three
  • the order Bezier curve represents a curve relationship between the Bezier parameter and the position coordinates; the position coordinate value is transmitted to the driving device to cause the driving device to move the robot to the position point indicated by the position coordinate value.
  • the method of constructing a third-order Bezier curve with respect to time includes:
  • T(u) T 0 (1-u) 3 + 3T 1 u (1-u ) 2 + 3T 2 u 2 (1-u) + T 3 u 3, wherein, u is a Bezier parameter and u ⁇ [0,1], T (u ) represented along the The length of time required for the smooth trajectory motion represented by the third-order Bezier curve of the path.
  • the time of the third-order Bezier curve with respect to time is determined according to the position feature point of the third-order Bezier curve about the path, the speed of the preset starting point, and the speed of the preset end point.
  • Feature points T 0 , T 1 , T 2 and T 3 including:
  • Determining the time feature point T 0 is 0; substituting the position feature point P 0 , the position feature point P 1 and the velocity ⁇ s into the expression Solving the time feature point T 1 , wherein the velocity ⁇ s is a preset speed of the robot at the starting point of the smooth track; and the position feature point P 2 , the position feature point P 3 , and the velocity ⁇ f are substituted into the expression Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed ⁇ f is a speed of the preset robot at the end point of the smooth track; according to the difference T 3 -2, determining T 2 and T 3.
  • the determining T 2 and T 3 according to the difference T 3-2 includes:
  • a preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
  • the determining T 2 and T 3 according to the difference T 3-2 includes:
  • the time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
  • the third-order Bezier curve about the path is used as a smooth trajectory of the robot moving from the front trajectory to the back trajectory, and the steps of constructing the third-order Bezier curve about the path include:
  • the position feature point includes a start point and a termination a point
  • the front trajectory has an inflection point
  • the rear trajectory has a turning point
  • the starting point coincides with the inflection point
  • the end point coincides with the turning point
  • the starting point The tangent vector direction is the same as the tangent vector direction of the inflection point
  • the tangent vector direction of the end point is the same as the tangent vector direction of the inflection point.
  • the present application provides a robot motion control device having a function of implementing robot motion control behavior in the above method.
  • the function can be implemented by hardware or
  • the corresponding software implementation is performed by hardware.
  • the hardware or software includes one or more modules corresponding to the functions described above.
  • the robot motion control device comprises a communication interface, a processor and a memory, the communication interface being connected to the driving device, wherein the memory stores program codes and data installed in the robot motion control device.
  • the processor is configured to invoke program code and data in the memory to determine a location point to which the robot needs to move during each control cycle of the plurality of control cycles, and specifically perform the following steps:
  • the position coordinate value is transmitted to the drive device through the communication interface to cause the drive device to move the robot to a position point indicated by the position coordinate value.
  • an embodiment of the present invention provides a robot including the above-described robot motion control device, and a driving device that drives the robot to move to a position point indicated by the position coordinate value.
  • the present application uses the third-order Bezier curve about the path as a smooth trajectory of the robot from the front trajectory to the back trajectory, and uses the third-order Bezier curve about time to plan the motion speed, and the planning speed is used.
  • each position point constitutes the above-mentioned smooth trajectory, and the control precision of the present application is high and the application range is wide.
  • Figure 1a is a schematic diagram of a robot's motion trajectory
  • FIG. 1b is a schematic diagram of path planning by vector addition and subtraction in the prior art
  • 1c is a schematic diagram of path planning by a circular arc transfer method in the prior art
  • FIG. 2 is a schematic diagram of a third-order Bezier curve for a path provided by the present application.
  • FIG. 3 is a schematic diagram of the movement of the control robot along the third-order Bezier curve provided by the present application.
  • FIG. 5 is a schematic structural diagram of a robot motion control apparatus provided by the present application.
  • FIG. 6 is another schematic structural diagram of a robot motion control apparatus provided by the present application.
  • FIG. 7 is a schematic diagram showing the hardware structure of the robot motion control apparatus provided by the present application.
  • TCP point tool coordinate center point
  • Circular motion The robot TCP point moves along a circular arc in Cartesian space
  • CP continuous motion, trajectory motion in Cartesian space, including linear motion and circular motion
  • PTP point-to-point motion, trajectory motion in joint space
  • the Bezier curve is a curve composed of line segments and nodes. Orders can be used to represent Bezier curves of different shapes.
  • n-order Bezier curve is: Where b i,n (t) is the Bernstein basis function, P 0 -P n can be called a feature point or a control point of a Bezier curve, and a feature point can be used to define a Bezier curve, and a polygon composed of feature points is called a feature polygon.
  • the curve starts at P 0 to P 1 , from P 1 to P 2 , and from P 2 to P 3 . It should be noted that generally the third-order Bezier curve does not pass P 1 , P 2 , and these two points only provide directions.
  • B′(0) n(P 1 -P 0 )
  • B′(0) is the tangent vector of the n-order Bezier curve at the starting point
  • B'(1 ) n (P n -P n-1)
  • B' (1) is the n-order Bezier curves tangent vector at the end point.
  • the tangent vector is the tangential direction. It can be seen from the above tangent vector that the tangent direction of the n-th order Bezier curve at the starting point and the ending point is consistent with the first side and the last side of the feature polygon.
  • B'(0) 3(P 1 -P 0 )
  • B'(1) 3(P 3 -P 2 )
  • This application uses a Bezier curve as a smooth trajectory for the two-segment trajectory.
  • the robot transitions from the front trajectory through the Bezier curve to the rear trajectory, and the speed of the transition motion is not zero.
  • the third-order Bezier curve is used as a smooth trajectory.
  • the smooth trajectory can also use other order Bezier curves.
  • the construction method of the third-order Bezier curve is introduced.
  • the third-order Bezier curve here can be called the third-order Bezier curve about the path, so as to be the third-order Bezier curve with respect to time below. distinguish.
  • the position feature points of the third-order Bezier curve are determined according to the front and rear trajectories, and the third-order Bezier curve is constructed as a smooth trajectory according to the determined position feature points.
  • the location feature points include a starting point and a ending point.
  • the third-order Bezier curve When constructing the third-order Bezier curve about the path, it is necessary to ensure that the starting point of the Bezier curve coincides with the turning point of the previous trajectory, the ending point of the Bezier curve coincides with the turning point of the back trajectory, and the Bezier curve is cut at the starting point.
  • the vector direction is the same as the front trajectory in the direction of the tangent vector of the inflection point.
  • the direction of the tangent vector of the Bezier curve at the end point is the same as the direction of the tangent vector of the trailing path at the point of entry.
  • the third-order Bezier curve about the path constructed above can be used as a smooth trajectory for the anterior segment trajectory and the posterior segment trajectory.
  • the present application provides a robot motion control method for controlling a robot to move according to the smooth trajectory represented by the third-order Bezier curve described above with respect to a path.
  • the control method is used to determine a position to which the robot needs to move in each of a plurality of control periods (which may also be referred to as an interpolation period), as shown in FIG. 3, on a smooth trajectory represented by a third-order Bezier curve
  • Each small dot indicates the position at which the robot moves to each control cycle.
  • Step S41 determining a duration value from the first control period to the current control period.
  • the duration value is the length of time from the first control period to the current control period. For example, if the control period is 1 millisecond and the current control period is the 81st control period, the duration from the first control period to the current control period is 0.08. s.
  • Step S42 Using the expression of the third-order Bezier curve with respect to time, the value of the Bezier parameter corresponding to the duration value is solved.
  • the expression of the third-order Bezier curve about time is pre-built, and the third-order Bezier curve about time represents the relationship between the Bezier parameter and the duration.
  • T(u) T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 .
  • T(u) represents the length of time required for the smooth trajectory motion represented by the third-order Bezier curve of the path
  • T 0 , T 1 , T 2 and T 3 are the third-order Bezier curves of the time
  • T 0 , T 1 , T 2 and T 3 are known values.
  • the value of the Bezier parameter u corresponding to the duration value can be obtained, and the Bezier parameter can be simply referred to as a parameter. It should be noted that there are three Bezier parameters u solved. Since u ⁇ [0, 1], the value in the range of [0, 1] is determined as the value of the Bezier parameter u.
  • Step S43 Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve of the path to obtain the position coordinate value.
  • the third-order Bezier curve about the path represents the relationship between the Bezier parameter and the position coordinate, and the expression is:
  • P(u) P 0 (1-u) 3 +3P 1 u(1-u) 2 +3P 2 u 2 (1-u)+P 3 u 3 .
  • P (u) represents a position coordinate on the third-order Bezier curve in the path
  • P 0, P 1, P 2 and P 3 of the third-order Bezier curve on the positions of feature points of the path has been constructed in the above-described expression Among them, P 0 , P 1 , P 2 and P 3 are all known values.
  • the third-order Bezier curve about the path is related to the third-order Bezier curve about time, and the Bezier parameter u in the two expressions is the same value. Therefore, P(u) can be solved by substituting the value of the Bezier parameter u solved in accordance with the third-order Bezier curve with respect to time into the above-described expression of the third-order Bezier curve of the path in step S42.
  • Step S44 Sending the position coordinate value to the driving device to cause the driving device to move the robot to the position point indicated by the position coordinate value.
  • a driving device (such as a drive controller) is provided in the robot to control the movement of the robot or the like.
  • the driving device Sending the position coordinate value P(u) solved in step S43 to the driving device, the driving device generates a corresponding movement command according to the position coordinate value, and transmits the movement command to the moving component such as the robot arm to control the movement of the robot to the position coordinate value.
  • the third-order Bezier curve about the path is used as a smooth trajectory of the robot from the front trajectory to the rear trajectory, and the motion velocity is planned using the third-order Bezier curve with respect to time, and the planned speed is used for determination.
  • the position point to which the robot needs to move during each control cycle, and each position point constitutes the above smooth track.
  • the robot can transfer from the previous trajectory to the rear trajectory at a speed other than 0.
  • the transit trajectory is a third-order Bezier curve about the path, and the construction of the curve does not need to rely on the robot on the two trajectories.
  • the speed therefore, can avoid the problem of low accuracy of smooth track constructed by vector addition and subtraction.
  • the curve is not a common cut circle for determining the trajectory of the front segment and the trajectory of the latter segment, and the problem of less applicability can be solved.
  • the application can be applied to the trajectory transfer scenarios of various shapes, and the application range is wide.
  • the control process includes a speed planning process that determines how fast the robot passes the smooth trajectory.
  • the speed is related to the time and the path.
  • the speed of the plan needs to be converted into a position point on the path.
  • the control robot moves to the position point within a certain time, the robot can be reflected according to the planned speed. motion. Therefore, in the robot motion control method shown in FIG. 4 above, the position point to which the motion is required is determined for each control period, and the robot moves at a certain speed from the viewpoint of the entire motion process.
  • the current speed planning scheme has S-type speed planning and T-type speed planning.
  • the path length and the starting speed are known in the two speed planning schemes, and the speed is planned for the target speed or the target time.
  • the present application uses the Bezier curve as a smooth trajectory, and the Bezier curve is a parametric curve.
  • the path length cannot be accurately calculated and can only be calculated by numerical integration. Since the path points are sparsely dense, the equal parameters do not necessarily correspond to the equal path. Length, therefore, the existing speed planning scheme does not accurately plan the speed of the Bezier curve.
  • the present application is directed to a third-order Bezier curve for a path, and determines a corresponding speed planning scheme, that is, adding a time dimension based on the coordinate dimension of the Bezier curve.
  • a corresponding speed planning scheme that is, adding a time dimension based on the coordinate dimension of the Bezier curve.
  • the Bezier curve of increasing the time dimension may be an expression of the above-mentioned third-order Bezier curve with respect to time, namely:
  • T(u) T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 .
  • the Bezier parameter u is a variable in the expression, but the values of the time control points T 0 , T 1 , T 2 and T 3 need to be determined.
  • the third-order Bezier curve about time can be constructed by substituting the above expression.
  • the position feature points (P 0 , P 1 , P 2 and P 3 ) of the third-order Bezier curve of the path the speed of the preset starting point and the speed of the preset end point, the time-dependent is determined.
  • the temporal feature points T 0 , T 1 , T 2 and T 3 of the third-order Bezier curve are determined according to the position feature points (P 0 , P 1 , P 2 and P 3 ) of the third-order Bezier curve of the path.
  • the time feature point T 0 can be determined to be zero.
  • T 2 and T 3 are determined.
  • T 0 and T 1 can be accurately calculated based on the position feature points and the preset start and end speeds.
  • T 2 and T 3 the difference T 3-2 between T 3 and T 2 can be calculated. Therefore, only the difference between T 3 and T 2 is required to satisfy T 3-2 , that is, both are satisfied. Any difference between T 3 and T 2 of T 3-2 is acceptable.
  • the following two determination methods can be provided in the present application, and it should be noted that the following two types are not limited.
  • the value of the time feature point T 3 may be set in advance, the value indicating the total duration of the smoothed trajectory, and the time feature point T 3 is subtracted from the difference T 3-2 to obtain the time feature. Point T 2 .
  • the position of the feature point may be P 1, the position of the feature point P 2, the speed ⁇ s, and the velocity ⁇ f characteristic time point T 1 is substituted into the expression
  • the time feature point T 2 is solved; the time feature point T 2 is added to the difference value T 3-2 to obtain a time feature point T 3 .
  • T 3 -T 2 can be represented as T 3-2 .
  • T 0 be 0, and the expression can be derived from the above two expressions.
  • the first derivative formula of the Bezier curve is used to derive the influence of the time feature point on the velocity of the beginning and the end, and then the time on each feature point is derived from the velocity of the beginning and the end and the spatial relationship of the feature point.
  • the robot motion control device is applied to the robot, and specifically may be a controller or a processor of the robot, configured to control the robot to perform motion according to a pre-established smooth trajectory represented by a third-order Bezier curve of the path, and the control device is controlled in each Determine the position to which the robot needs to move during the cycle.
  • control device specifically includes:
  • the duration value determining unit 51 is configured to determine a duration value from the first control period to the current control period
  • a parameter value determining unit 52 configured to solve a value of a Bezier parameter corresponding to the duration value by using a pre-built expression of a third-order Bezier curve about time; wherein the third-order Bezier curve about time represents Bezier a curve relationship between parameters and duration;
  • a coordinate value determining unit 53 for substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path to obtain a position coordinate value; wherein the third-order Bezier curve about the path represents Bezier a curve relationship between parameters and position coordinates;
  • the control device may further include a time curve construction unit 55 and a path curve construction unit 56 based on the control device illustrated in FIG. 5 described above. It should be noted that the components 51 to 54 in FIG. 6 can be referred to the above description, and are not described herein.
  • a time curve construction unit 55 for constructing a third-order Bezier curve with respect to time
  • the path curve construction unit 56 is configured to construct a third-order Bezier curve about the path, and the third-order Bezier curve about the path is used as a smooth trajectory of the robot moving from the front trajectory to the back trajectory.
  • the path curve construction unit is specifically configured to:
  • the position feature point includes a start point and a termination a point
  • the front trajectory has an inflection point
  • the rear trajectory has a turning point
  • the starting point coincides with the inflection point
  • the end point coincides with the turning point
  • the starting point The tangent vector direction is the same as the tangent vector direction of the inflection point
  • the end point is cut
  • the vector direction is the same as the tangent vector direction of the turn-in point.
  • the time curve construction unit is specifically used for:
  • T(u) T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 , where u is the Bezier parameter and u ⁇ [0 , 1], T(u) represents the length of time required for smooth trajectory motion along the third-order Bezier curve of the path.
  • the temporal feature points T 0 , T 1 , T 2 of the third-order Bezier curve with respect to time are determined according to position feature points P 0 , P 1 , P 2 and P 3 of the third-order Bezier curve with respect to the path.
  • the time curve construction unit is specifically configured to:
  • T 2 and T 3 are determined.
  • the time curve construction unit is specifically configured to:
  • a preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
  • the time curve construction unit is specifically configured to:
  • the time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
  • FIG. 7 is a schematic diagram showing the hardware structure of the robot motion control apparatus provided by the present application.
  • the robot motion control apparatus may include a processor 1, a communication interface 2, a memory 3, and a communication bus 4, wherein the processor 1, the communication interface 2, and the memory 3 complete communication with each other via the communication bus 4.
  • the memory 3 is configured to store program codes and data installed in the robot motion control device.
  • the memory 3 may be a high speed RAM memory or a non-volatile memory such as a magnetic disk memory.
  • the program code includes operational instructions of the processor.
  • the processor 1 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
  • CPU central processing unit
  • ASIC Application Specific Integrated Circuit
  • the processor 1 is configured to call program code and data in the memory 3 to determine a position point to which the robot needs to move in each control cycle of the plurality of control cycles, thereby controlling the robot according to the pre-built related path
  • the smooth trajectory represented by the third-order Bezier curve moves.
  • the processor 1 calls the program code and the data in the memory 3 to determine a location point to which the robot needs to move during each control period of the plurality of control cycles, and specifically includes the following steps:
  • the communication interface 2 is for connection to a drive device to transmit position coordinates to the drive device.
  • the communication interface 2 can be an interface of a communication module, such as an interface of a GSM module, an interface of a PCI module, or the like.
  • the application also provides a robot, including a robot motion control device and a driving device, wherein:
  • the robot motion control device is configured to determine a position point to which the robot needs to move in each control cycle; wherein each control cycle performs the following steps: determining a duration value determined from the first control cycle to the current control cycle; a pre-built expression of a third-order Bezier curve about time, solving a value of a Bezier parameter corresponding to the duration value; wherein the third-order Bezier curve about time represents a curve relationship between a Bezier parameter and a duration; Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path, obtaining a position coordinate value; wherein the third-order Bezier curve about the path represents a curve between the Bezier parameter and the position coordinate a relationship; transmitting the position coordinate value to the driving device;
  • the driving device is configured to drive the robot to move to a position point indicated by the position coordinate value.
  • the robot can be specifically a mechanical arm.
  • the steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions.
  • the software instructions may be comprised of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable hard disk, CD-ROM, or any other form of storage well known in the art.
  • An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium.
  • the storage medium can also be an integral part of the processor.
  • the processor and the storage medium can be located in an ASIC.
  • the functions described herein can be implemented in hardware, software, firmware, or any combination thereof.
  • the functions may be stored in a readable medium or transmitted as one or more instructions or code on a readable medium.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Manipulator (AREA)

Abstract

A robot motion control method and a related device. A path-related third-order Bezier curve is used as a smooth track for a robot to move from a preceding track to a subsequent track, a time-related third-order Bezier curve is used for planning the speed of motion, the planned speed is used for determining location points to which the robot needs to move in each control cycle, and the location points compose the smooth track. The present application is of increased control accuracy and has a broadened scope of application.

Description

机器人运动控制方法及相关装置Robot motion control method and related device 技术领域Technical field
本发明涉及运动控制领域,更具体地说,涉及机器人运动控制技术。This invention relates to the field of motion control and, more particularly, to robot motion control techniques.
背景技术Background technique
机器人的运动,是按照预先规划的轨迹进行的。规划的运动轨迹,可以分解为多段,见图1a,一段运动轨迹包含lc及ln两段,机器人需要从轨迹lc运动到轨迹ln上,轨迹lc可以称为前段轨迹,ln可以称为后段轨迹。The movement of the robot is carried out according to a pre-planned trajectory. The planned motion trajectory can be decomposed into multiple segments. See Figure 1a. A segment of motion trajectory consists of two segments, lc and ln. The robot needs to move from the trajectory lc to the trajectory ln. The trajectory lc can be called the anterior segment trajectory, and ln can be called the posterior segment trajectory. .
两段轨迹的过渡方式可以是尖角转接,如图1a所示,机器人运动到轨迹lc的末端(点O处)后,速度降为0,然后再以一定的速度在轨迹ln上运动。该种过渡方式中,单段轨迹(lc或ln)上的初速度和末速度均为0,会大大降低机器人的工作效率,且频繁的加减速运动也会对电机及减速器的使用寿命产生影响。The transition of the two-segment trajectory can be a sharp-angled transition. As shown in Fig. 1a, after the robot moves to the end of the trajectory lc (at point O), the velocity drops to zero, and then moves on the trajectory ln at a certain speed. In this kind of transition mode, the initial velocity and the final velocity on the single-segment trajectory (lc or ln) are both 0, which will greatly reduce the working efficiency of the robot, and the frequent acceleration and deceleration motion will also generate the service life of the motor and the reducer. influences.
为了解决以上问题,可以在两端轨迹之间使用平滑转接方式。即在两段轨迹之间规划平滑曲线,机器人以平滑曲线方式从一段轨迹过渡到另一段轨迹时,速度不为0。目前规划平滑曲线的方法有矢量加减法及圆弧转接法。In order to solve the above problem, a smooth transfer method can be used between the tracks at both ends. That is, a smooth curve is planned between the two trajectories, and when the robot transitions from one trajectory to another in a smooth curve manner, the speed is not zero. At present, methods for planning smooth curves include vector addition and subtraction and arc transfer.
见图1b,矢量加减法是通过空间向量加法,使前段轨迹lc从拐点到交点O的插补点,与后段轨迹ln从拐点到交点O的插补点重合,被叠加后的插补点会组成空间的一段弧形,使轨迹平滑。但是,该种叠加的平滑轨迹是不确定的,会随着前后两段轨迹速度的变化而变化,精准度较低。As shown in Fig. 1b, the vector addition and subtraction method is to add the interpolation point of the previous trajectory lc from the inflection point to the intersection point O by the space vector addition, and coincide with the interpolation point of the backward trajectory ln from the inflection point to the intersection point O, and the superimposed interpolation. The points form an arc of space that smoothes the trajectory. However, the smooth trajectory of this kind of superposition is uncertain and will change with the change of the trajectory speed of the two sections before and after, and the accuracy is low.
见图1c,圆弧转接法中,确定前段轨迹lc的拐出点A及后段轨迹ln上的拐出点B,求经过拐出点及拐入点的前后两段轨迹的公切圆,该公切圆上由拐出点及拐入点组成的圆弧AB为平滑转接轨迹。但是,该种方式的应用范围较小,只有在两段轨迹需均为直线的情况下肯定适用。但机器人的运动轨迹除了包含直线与直线转接,还包含直线与圆弧转接、圆弧与圆弧转接。在后两种转接中,由于直线与圆弧、圆弧与圆弧不一定共面,因此,并不一定能找到公切圆,从而导致该方式并不能适用。 As shown in Fig. 1c, in the arc transfer method, the turn-out point A of the front track lc and the turn-out point B on the back track ln are determined, and the common cut circle of the two tracks before and after the turn-out point and the turn-in point are determined. The arc AB composed of the turning point and the turning point on the common tangent circle is a smooth transition track. However, the application range of this method is small, and it is definitely applicable only when the two trajectories need to be straight lines. However, the robot's motion track includes linear and circular transitions, arc and arc transitions in addition to linear and linear transitions. In the latter two types of transitions, since the straight line and the arc, the arc and the arc are not necessarily coplanar, it is not always possible to find the common tangent, which makes the method unsuitable.
因此,需要为机器人规划一种过渡的平滑轨迹,并使机器人可以速度不为0地通过该平滑轨迹。Therefore, it is necessary to plan a smooth smooth trajectory for the robot and allow the robot to pass the smooth trajectory at a speed other than zero.
发明内容Summary of the invention
有鉴于此,本发明提供了一种机器人运动控制方法,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。In view of this, the present invention provides a robot motion control method for controlling a robot to perform motion according to a pre-established smooth trajectory represented by a third-order Bezier curve of a path.
本申请提供如下技术方案:The application provides the following technical solutions:
一方面,本申请提供了一种机器人运动控制方法,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制方法用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点,其中每个控制周期内包括以下步骤:In one aspect, the present application provides a robot motion control method for controlling a robot to move according to a pre-established smooth trajectory represented by a third-order Bezier curve of a path for each of a plurality of control cycles The position points to which the robot needs to move are determined within a control cycle, wherein each control cycle includes the following steps:
确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。Determining a duration value from a first control period to a current control period; using a pre-built expression of a third-order Bezier curve on time, solving a value of a Bezier parameter corresponding to the duration value; wherein the third order with respect to time The Bezier curve represents a curve relationship between the Bezier parameter and the duration; the value of the Bezier parameter is substituted into the expression of the third-order Bezier curve of the path to obtain a position coordinate value; wherein the path is three The order Bezier curve represents a curve relationship between the Bezier parameter and the position coordinates; the position coordinate value is transmitted to the driving device to cause the driving device to move the robot to the position point indicated by the position coordinate value.
在一个可能的设计中,所述构建关于时间的三阶Bezier曲线的方法包括:In one possible design, the method of constructing a third-order Bezier curve with respect to time includes:
依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3;依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。Determining the temporal feature points T 0 , T 1 , T of the third-order Bezier curve with respect to time according to the position feature point of the third-order Bezier curve about the path, the speed of the preset starting point, and the speed of the preset end point. 2 and T 3 ; The expression of the third-order Bezier curve with respect to time constructed according to the time feature points T 0 , T 1 , T 2 and T 3 is: T(u)=T 0 (1-u) 3 + 3T 1 u (1-u ) 2 + 3T 2 u 2 (1-u) + T 3 u 3, wherein, u is a Bezier parameter and u∈ [0,1], T (u ) represented along the The length of time required for the smooth trajectory motion represented by the third-order Bezier curve of the path.
在一个可能的设计中,所述依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3,包括: In a possible design, the time of the third-order Bezier curve with respect to time is determined according to the position feature point of the third-order Bezier curve about the path, the speed of the preset starting point, and the speed of the preset end point. Feature points T 0 , T 1 , T 2 and T 3 , including:
确定时间特征点T0为0;将位置特征点P0、位置特征点P1及速度υs代入表达式
Figure PCTCN2016112678-appb-000001
求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;将位置特征点P2、位置特征点P3及速度υf代入表达式
Figure PCTCN2016112678-appb-000002
求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;依据所述差值T3-2,确定T2及T3
Determining the time feature point T 0 is 0; substituting the position feature point P 0 , the position feature point P 1 and the velocity υ s into the expression
Figure PCTCN2016112678-appb-000001
Solving the time feature point T 1 , wherein the velocity υ s is a preset speed of the robot at the starting point of the smooth track; and the position feature point P 2 , the position feature point P 3 , and the velocity υ f are substituted into the expression
Figure PCTCN2016112678-appb-000002
Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed υ f is a speed of the preset robot at the end point of the smooth track; according to the difference T 3 -2, determining T 2 and T 3.
在一个可能的设计中,所述依据所述差值T3-2,确定T2及T3,包括:In one possible design, the determining T 2 and T 3 according to the difference T 3-2 includes:
获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2A preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
在一个可能的设计中,所述依据所述差值T3-2,确定T2及T3,包括:In one possible design, the determining T 2 and T 3 according to the difference T 3-2 includes:
将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式
Figure PCTCN2016112678-appb-000003
求解时间特征点T2
Substituting the position feature point P 1 , the position feature point P 2 , the velocity υ s , the velocity υ f , and the time feature point T 1 into the expression
Figure PCTCN2016112678-appb-000003
Solving the time feature point T 2 ;
将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3The time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
在一个可能的设计中,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹,所述关于路径的三阶Bezier曲线的构建步骤包括:In one possible design, the third-order Bezier curve about the path is used as a smooth trajectory of the robot moving from the front trajectory to the back trajectory, and the steps of constructing the third-order Bezier curve about the path include:
根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。Determining a position feature point of the third-order Bezier curve according to the front trajectory and the back trajectory, and constructing a third-order Bezier curve about the path according to the position feature point; wherein the position feature point includes a start point and a termination a point, the front trajectory has an inflection point, the rear trajectory has a turning point, and the starting point coincides with the inflection point, the end point coincides with the turning point, the starting point The tangent vector direction is the same as the tangent vector direction of the inflection point, and the tangent vector direction of the end point is the same as the tangent vector direction of the inflection point.
另一方面,本申请提供了一种机器人运动控制装置,该装置具有实现上述方法中机器人运动控制行为的功能。所述功能可以通过硬件实现,也可以 通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。In another aspect, the present application provides a robot motion control device having a function of implementing robot motion control behavior in the above method. The function can be implemented by hardware or The corresponding software implementation is performed by hardware. The hardware or software includes one or more modules corresponding to the functions described above.
在一个可能的设计中,机器人运动控制装置包括通信接口、处理器以及存储器,所述通信接口与驱动装置相连,所述存储器中存储有安装于该机器人运动控制装置中的程序代码以及数据,所述处理器用于调用所述存储器中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体执行以下步骤:In a possible design, the robot motion control device comprises a communication interface, a processor and a memory, the communication interface being connected to the driving device, wherein the memory stores program codes and data installed in the robot motion control device. The processor is configured to invoke program code and data in the memory to determine a location point to which the robot needs to move during each control cycle of the plurality of control cycles, and specifically perform the following steps:
确定从首个控制周期到当前控制周期的时长值;Determining the duration value from the first control period to the current control period;
使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;Solving a value of a Bezier parameter corresponding to the duration value using a pre-built expression of a third-order Bezier curve with respect to time; wherein the third-order Bezier curve with respect to time represents a curve relationship between the Bezier parameter and the duration ;
将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path, obtaining a position coordinate value; wherein the third-order Bezier curve about the path represents a curve between the Bezier parameter and the position coordinate relationship;
通过所述通信接口向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。The position coordinate value is transmitted to the drive device through the communication interface to cause the drive device to move the robot to a position point indicated by the position coordinate value.
再一方面,本发明实施例提供了一种机器人,其包括上述的机器人运动控制装置,以及驱动所述机器人移动至所述位置坐标值表示的位置点的驱动装置。In still another aspect, an embodiment of the present invention provides a robot including the above-described robot motion control device, and a driving device that drives the robot to move to a position point indicated by the position coordinate value.
相较于现有技术,本申请使用关于路径的三阶Bezier曲线作为机器人从前段轨迹运动至后段轨迹的平滑轨迹,并且使用关于时间的三阶Bezier曲线对运动速度进行规划,规划的速度用于确定每个控制周期内机器人需运动至的位置点,各个位置点组成上述平滑轨迹,本申请的控制精准度较高且应用范围较广。Compared with the prior art, the present application uses the third-order Bezier curve about the path as a smooth trajectory of the robot from the front trajectory to the back trajectory, and uses the third-order Bezier curve about time to plan the motion speed, and the planning speed is used. In determining the position point to which the robot needs to move during each control period, each position point constitutes the above-mentioned smooth trajectory, and the control precision of the present application is high and the application range is wide.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面 描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below, obviously, the following The drawings in the description are only some of the embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any creative work.
图1a为机器人运动轨迹的一种示意图;Figure 1a is a schematic diagram of a robot's motion trajectory;
图1b为现有技术中矢量加减法进行路径规划的示意图;FIG. 1b is a schematic diagram of path planning by vector addition and subtraction in the prior art; FIG.
图1c为现有技术中圆弧转接法进行路径规划的示意图;1c is a schematic diagram of path planning by a circular arc transfer method in the prior art;
图2为本申请提供的关于路径的三阶Bezier曲线的示意图;2 is a schematic diagram of a third-order Bezier curve for a path provided by the present application;
图3为本申请提供的控制机器人沿三阶Bezier曲线运动的示意图;FIG. 3 is a schematic diagram of the movement of the control robot along the third-order Bezier curve provided by the present application; FIG.
图4为本申请提供的机器人运动控制方法的一个流程图;4 is a flow chart of a robot motion control method provided by the present application;
图5为本申请提供的机器人运动控制装置的一个结构示意图;FIG. 5 is a schematic structural diagram of a robot motion control apparatus provided by the present application; FIG.
图6为本申请提供的机器人运动控制装置的另一结构示意图;6 is another schematic structural diagram of a robot motion control apparatus provided by the present application;
图7为本申请提供的机器人运动控制装置的硬件结构示意图。FIG. 7 is a schematic diagram showing the hardware structure of the robot motion control apparatus provided by the present application.
具体实施方式detailed description
本发明可能使用的技术名词、简写或缩写如下:The technical terms, abbreviations or abbreviations that may be used in the present invention are as follows:
TCP点:工具坐标中心点;TCP point: tool coordinate center point;
直线运动:机器人TCP点在笛卡尔空间内沿直线轨迹运动;Linear motion: The robot TCP point moves along a linear path in Cartesian space;
圆弧运动:机器人TCP点在笛卡尔空间内沿圆弧轨迹运动;Circular motion: The robot TCP point moves along a circular arc in Cartesian space;
CP:连续运动,笛卡尔空间下的轨迹运动方式,包括直线运动和圆弧运动;CP: continuous motion, trajectory motion in Cartesian space, including linear motion and circular motion;
PTP:点到点运动,关节空间下的轨迹运动方式;PTP: point-to-point motion, trajectory motion in joint space;
Bezier(贝塞尔)曲线,是由线段及节点组成的曲线,可以使用阶来表示不同形态的贝塞尔曲线。The Bezier curve is a curve composed of line segments and nodes. Orders can be used to represent Bezier curves of different shapes.
n阶Bezier曲线的公式为:
Figure PCTCN2016112678-appb-000004
其中bi,n(t)为Bernstein基函数,
Figure PCTCN2016112678-appb-000005
P0-Pn可以称为Bezier曲线的特征点或控制点,特征点可以用来定义Bezier曲线,特征点组成的多边形称为特征多边形。t=0对应Beizer曲线的起始点P0,t=1对应Beizer曲线的终止点Pn
The formula for the n-order Bezier curve is:
Figure PCTCN2016112678-appb-000004
Where b i,n (t) is the Bernstein basis function,
Figure PCTCN2016112678-appb-000005
P 0 -P n can be called a feature point or a control point of a Bezier curve, and a feature point can be used to define a Bezier curve, and a polygon composed of feature points is called a feature polygon. t=0 corresponds to the starting point P 0 of the Beizer curve, and t=1 corresponds to the end point P n of the Beizer curve.
根据以上n阶Bezier曲线的通用公式可知三阶Bezier曲线的公式,即将n=3代入公式得出三阶Bezier曲线为:According to the general formula of the above n-order Bezier curve, the formula of the third-order Bezier curve can be known, that is, the third-order Bezier curve is obtained by substituting n=3 into the formula:
B(t)=P0(1-t)3+3P1t(1-t)2+3P2t2(1-t)+P3t3,t∈[0,1]。 B(t)=P 0 (1-t) 3 +3P 1 t(1-t) 2 +3P 2 t 2 (1-t)+P 3 t 3 ,t∈[0,1].
如图2所示的三阶Bezier曲线P0P3,其中,P0、P1、P2及P3四个点可定义该Bezier曲线。该曲线起始于P0走向P1,从P1方向到P2,并从P2方向到P3。需要说明的是,一般三阶Bezier曲线不经过P1、P2,这两个点只提供方向而已。A third-order Bezier curve P 0 P 3 as shown in FIG. 2, wherein four points of P 0 , P 1 , P 2 , and P 3 can define the Bezier curve. The curve starts at P 0 to P 1 , from P 1 to P 2 , and from P 2 to P 3 . It should be noted that generally the third-order Bezier curve does not pass P 1 , P 2 , and these two points only provide directions.
对Bezier曲线求导,便可获得Bezier曲线在始末点的切矢量为
Figure PCTCN2016112678-appb-000006
则:
Deriving the Bezier curve, you can get the tangent vector of the Bezier curve at the beginning and end points.
Figure PCTCN2016112678-appb-000006
then:
当t=0时,B′(0)=n(P1-P0),B′(0)即为n阶Bezier曲线在起始点的切矢量;When t=0, B'(0)=n(P 1 -P 0 ), B′(0) is the tangent vector of the n-order Bezier curve at the starting point;
当t=1时,B′(1)=n(Pn-Pn-1),B′(1)即为n阶Bezier曲线在终止点的切矢量。When t = 1, B '(1 ) = n (P n -P n-1), B' (1) is the n-order Bezier curves tangent vector at the end point.
其中,切矢量即切线方向,由上述切矢量可知,n阶Bezier曲线在起始点和终止点处的切线方向和特征多边形的第一条边及最后一条边走向一致。以图2所示三阶Bezier曲线为例,B′(0)=3(P1-P0),B′(1)=3(P3-P2),而图2的第一条边是P1P0,最后一条边是P3P2Among them, the tangent vector is the tangential direction. It can be seen from the above tangent vector that the tangent direction of the n-th order Bezier curve at the starting point and the ending point is consistent with the first side and the last side of the feature polygon. Taking the third-order Bezier curve shown in Fig. 2 as an example, B'(0)=3(P 1 -P 0 ), B'(1)=3(P 3 -P 2 ), and the first side of FIG. 2 It is P 1 P 0 and the last edge is P 3 P 2 .
本申请使用Bezier曲线作为转接两段轨迹的平滑轨迹。机器人从前段轨迹通过Bezier曲线过渡到后段轨迹上,且过渡运动的速度不为0。This application uses a Bezier curve as a smooth trajectory for the two-segment trajectory. The robot transitions from the front trajectory through the Bezier curve to the rear trajectory, and the speed of the transition motion is not zero.
本申请中,将三阶Bezier曲线作为平滑轨迹,当然,平滑轨迹还可以使用其他阶数的Bezier曲线。以三阶Bezier曲线为例,介绍三阶Bezier曲线的构建方式,需要说明的是,此处的三阶Bezier曲线可以称为关于路径的三阶Bezier曲线,以便与下文关于时间的三阶Bezier曲线区分。In the present application, the third-order Bezier curve is used as a smooth trajectory. Of course, the smooth trajectory can also use other order Bezier curves. Taking the third-order Bezier curve as an example, the construction method of the third-order Bezier curve is introduced. It should be noted that the third-order Bezier curve here can be called the third-order Bezier curve about the path, so as to be the third-order Bezier curve with respect to time below. distinguish.
根据前段轨迹及后段轨迹确定三阶Bezier曲线的位置特征点,根据确定出的位置特征点,构建三阶Bezier曲线作为平滑轨迹。其中,位置特征点中包含起始点及终止点。The position feature points of the third-order Bezier curve are determined according to the front and rear trajectories, and the third-order Bezier curve is constructed as a smooth trajectory according to the determined position feature points. Among them, the location feature points include a starting point and a ending point.
可以理解的是,如图2所示,运动过程中,机器人在前段轨迹lc的末端及后段轨迹ln的初端会脱离原来的轨迹,因此,在前端轨迹lc的末端有拐出点A,在后段轨迹ln的初端有拐入点B。It can be understood that, as shown in FIG. 2, during the motion, the robot will deviate from the original trajectory at the end of the front trajectory lc and the beginning of the trajectory ln. Therefore, there is an inflection point A at the end of the front end trajectory lc. At the beginning of the trailing trajectory ln, there is a turn-in point B.
在构建关于路径的三阶Bezier曲线时,需要保证Bezier曲线的起始点与前段轨迹的拐出点重合,Bezier曲线的终止点与后段轨迹的拐入点重合,且Bezier曲线在起始点的切矢量方向与前段轨迹在拐出点的切矢量方向相同、 Bezier曲线在终止点的切矢量方向与后段轨迹在拐入点的切矢量方向相同。When constructing the third-order Bezier curve about the path, it is necessary to ensure that the starting point of the Bezier curve coincides with the turning point of the previous trajectory, the ending point of the Bezier curve coincides with the turning point of the back trajectory, and the Bezier curve is cut at the starting point. The vector direction is the same as the front trajectory in the direction of the tangent vector of the inflection point. The direction of the tangent vector of the Bezier curve at the end point is the same as the direction of the tangent vector of the trailing path at the point of entry.
以上构建的关于路径的三阶Bezier曲线可以作为转接前段轨迹及后段轨迹的平滑轨迹。The third-order Bezier curve about the path constructed above can be used as a smooth trajectory for the anterior segment trajectory and the posterior segment trajectory.
本申请提供了一种机器人运动控制方法,该方法用于控制机器人按照上述关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。控制方法用于在多个控制周期(也可以称为插补周期)中的每个控制周期内确定机器人需运动至的位置点,如图3所示,三阶Bezier曲线表示的平滑轨迹上的各个小圆点,表示的是各个控制周期内机器人运动到的位置点。The present application provides a robot motion control method for controlling a robot to move according to the smooth trajectory represented by the third-order Bezier curve described above with respect to a path. The control method is used to determine a position to which the robot needs to move in each of a plurality of control periods (which may also be referred to as an interpolation period), as shown in FIG. 3, on a smooth trajectory represented by a third-order Bezier curve Each small dot indicates the position at which the robot moves to each control cycle.
如图4所示,在每个控制周期执行以下步骤S41~S41。As shown in FIG. 4, the following steps S41 to S41 are executed every control cycle.
步骤S41:确定从首个控制周期到当前控制周期的时长值。Step S41: determining a duration value from the first control period to the current control period.
其中,时长值为从首个控制周期到当前控制周期的时间长度,例如控制周期为1毫秒,当前控制周期为第81个控制周期,则从首个控制周期到当前控制周期的时长值为0.08s。The duration value is the length of time from the first control period to the current control period. For example, if the control period is 1 millisecond and the current control period is the 81st control period, the duration from the first control period to the current control period is 0.08. s.
步骤S42:使用关于时间的三阶Bezier曲线的表达式,求解时长值对应的Bezier参数的值。Step S42: Using the expression of the third-order Bezier curve with respect to time, the value of the Bezier parameter corresponding to the duration value is solved.
其中,关于时间的三阶Bezier曲线的表达式为预先构建的,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的关系。Wherein, the expression of the third-order Bezier curve about time is pre-built, and the third-order Bezier curve about time represents the relationship between the Bezier parameter and the duration.
构建的关于时间的三阶Bezier曲线的表达式为:The expression for the third-order Bezier curve constructed on time is:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 .
其中,T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长,T0、T1、T2及T3为所述关于时间的三阶Bezier曲线的时间特征点,在已构建的上述表达式中,时间特征点T0、T1、T2及T3为已知值,关于如何确定四个时间特征点的值请见下文,此处并不赘述。Where T(u) represents the length of time required for the smooth trajectory motion represented by the third-order Bezier curve of the path, and T 0 , T 1 , T 2 and T 3 are the third-order Bezier curves of the time The time feature point, in the above-mentioned expression that has been constructed, the time feature points T 0 , T 1 , T 2 , and T 3 are known values. For how to determine the values of the four time feature points, see below. Narration.
将步骤S41确定的时长值作为T(u)代入已构建的上述表达式中,可求得时长值对应的Bezier参数u的值,Bezier参数可简称为参数。需要说明的是,求解到的Bezier参数u有三个,由于u∈[0,1],因此将属于[0,1]范围内的值确定为Bezier参数u的值。Substituting the duration value determined in step S41 as T(u) into the above-mentioned expression constructed, the value of the Bezier parameter u corresponding to the duration value can be obtained, and the Bezier parameter can be simply referred to as a parameter. It should be noted that there are three Bezier parameters u solved. Since u ∈ [0, 1], the value in the range of [0, 1] is determined as the value of the Bezier parameter u.
步骤S43:将Bezier参数的值代入关于路径的三阶Bezier曲线的表达式中,获得位置坐标值。 Step S43: Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve of the path to obtain the position coordinate value.
其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的关系,表达式为:Wherein, the third-order Bezier curve about the path represents the relationship between the Bezier parameter and the position coordinate, and the expression is:
P(u)=P0(1-u)3+3P1u(1-u)2+3P2u2(1-u)+P3u3P(u)=P 0 (1-u) 3 +3P 1 u(1-u) 2 +3P 2 u 2 (1-u)+P 3 u 3 .
其中,P(u)表示关于路径的三阶Bezier曲线中的位置坐标,P0、P1、P2及P3为关于路径的三阶Bezier曲线的位置特征点,在已构建的上述表达式中,P0、P1、P2及P3均为已知值。Wherein, P (u) represents a position coordinate on the third-order Bezier curve in the path, P 0, P 1, P 2 and P 3 of the third-order Bezier curve on the positions of feature points of the path, has been constructed in the above-described expression Among them, P 0 , P 1 , P 2 and P 3 are all known values.
需要说明的是,关于路径的三阶Bezier曲线与关于时间的三阶Bezier曲线是具有关联关系的,两个表达式中的Bezier参数u为相同值。因此,将步骤S42中根据关于时间的三阶Bezier曲线求解到的Bezier参数u的值代入上述关于路径的三阶Bezier曲线的表达式,便可求解出P(u)。It should be noted that the third-order Bezier curve about the path is related to the third-order Bezier curve about time, and the Bezier parameter u in the two expressions is the same value. Therefore, P(u) can be solved by substituting the value of the Bezier parameter u solved in accordance with the third-order Bezier curve with respect to time into the above-described expression of the third-order Bezier curve of the path in step S42.
步骤S44:向驱动装置发送位置坐标值,以使驱动装置将机器人移动至位置坐标值表示的位置点。Step S44: Sending the position coordinate value to the driving device to cause the driving device to move the robot to the position point indicated by the position coordinate value.
其中,机器人中设置驱动装置(如驱动控制器等),以控制机器人的移动旋转等动作。向驱动装置发送步骤S43求解到的位置坐标值P(u),驱动装置根据位置坐标值生成相应的移动命令,并向机械臂等运动部件发送该移动命令,以控制机器人移动至该位置坐标值所表示的位置点。如图3所示,若当前控制周期为首个控制周期,则控制机器人移动至第一个小圆点处,若当前控制周期为第二个控制周期,则控制机器人移动至第二个小圆点处,以此类推,在最后一个控制周期,控制机器人移动至平滑轨迹的终点。Among them, a driving device (such as a drive controller) is provided in the robot to control the movement of the robot or the like. Sending the position coordinate value P(u) solved in step S43 to the driving device, the driving device generates a corresponding movement command according to the position coordinate value, and transmits the movement command to the moving component such as the robot arm to control the movement of the robot to the position coordinate value. The location point indicated. As shown in FIG. 3, if the current control period is the first control period, the control robot moves to the first small circle, and if the current control period is the second control period, the control robot moves to the second small dot. At the same time, the robot moves to the end of the smooth trajectory.
以上机器人运动控制方法中,使用关于路径的三阶Bezier曲线作为机器人从前段轨迹运动至后段轨迹的平滑轨迹,并且使用关于时间的三阶Bezier曲线对运动速度进行规划,规划的速度用于确定每个控制周期内机器人需运动至的位置点,各个位置点组成上述平滑轨迹。In the above robot motion control method, the third-order Bezier curve about the path is used as a smooth trajectory of the robot from the front trajectory to the rear trajectory, and the motion velocity is planned using the third-order Bezier curve with respect to time, and the planned speed is used for determination. The position point to which the robot needs to move during each control cycle, and each position point constitutes the above smooth track.
在本申请中,机器人可以速度不为0地从前段轨迹转接至后段轨迹,该转接轨迹为关于路径的三阶Bezier曲线,由于曲线的构建并不需要依赖机器人在前后两段轨迹上的速度,因此,可以避免矢量加减法构建的平滑轨迹精准度较低的问题。并且,该曲线并非确定前段轨迹与后段轨迹的公切圆,可以解决适用性较小的问题,本申请可以应用在各种形状的轨迹转接场景中,应用范围较广。 In the present application, the robot can transfer from the previous trajectory to the rear trajectory at a speed other than 0. The transit trajectory is a third-order Bezier curve about the path, and the construction of the curve does not need to rely on the robot on the two trajectories. The speed, therefore, can avoid the problem of low accuracy of smooth track constructed by vector addition and subtraction. Moreover, the curve is not a common cut circle for determining the trajectory of the front segment and the trajectory of the latter segment, and the problem of less applicability can be solved. The application can be applied to the trajectory transfer scenarios of various shapes, and the application range is wide.
构建平滑轨迹后,需要控制机器人按照该平滑轨迹运动。控制过程中包括速度规划过程,速度规划过程即确定机器人以怎样的速度通过该平滑轨迹。After constructing a smooth trajectory, it is necessary to control the robot to move according to the smooth trajectory. The control process includes a speed planning process that determines how fast the robot passes the smooth trajectory.
可以理解的是,速度与时间及路径是有关联关系的,规划的速度需要转化为路径上的位置点,控制机器人在一定时间内移动至该位置点,便可以体现出机器人是按照规划的速度运动。因此,以上图4所示的机器人运动控制方法中,为每个控制周期确定所需运动到的位置点,从整个运动过程来看,机器人是按照一定的速度运动的。It can be understood that the speed is related to the time and the path. The speed of the plan needs to be converted into a position point on the path. When the control robot moves to the position point within a certain time, the robot can be reflected according to the planned speed. motion. Therefore, in the robot motion control method shown in FIG. 4 above, the position point to which the motion is required is determined for each control period, and the robot moves at a certain speed from the viewpoint of the entire motion process.
目前的速度规划方案有S型速度规划及T型速度规划,该两种速度规划方案中已知路径长度及始末速度,对目标速度或目标时间进行速度规划。该两种速度规划方案中,需要保证等差参数对应等差路径长度,因此,只能适用于直线或者圆弧。The current speed planning scheme has S-type speed planning and T-type speed planning. The path length and the starting speed are known in the two speed planning schemes, and the speed is planned for the target speed or the target time. In the two speed planning schemes, it is necessary to ensure that the equal difference parameter corresponds to the length of the equal path, and therefore, it can only be applied to a straight line or an arc.
然而,本申请使用Bezier曲线作为平滑轨迹,Bezier曲线为参数曲线,路径长度无法精确计算,只能通过数值积分计算得出,且由于路径点稀疏密集程度不同,等差参数不一定对应等差路径长度,因此,现有的速度规划方案并不能精确地对Bezier曲线进行速度规划。However, the present application uses the Bezier curve as a smooth trajectory, and the Bezier curve is a parametric curve. The path length cannot be accurately calculated and can only be calculated by numerical integration. Since the path points are sparsely dense, the equal parameters do not necessarily correspond to the equal path. Length, therefore, the existing speed planning scheme does not accurately plan the speed of the Bezier curve.
对此,本申请针对关于路径的三阶Bezier曲线,确定相对应的速度规划方案,即在Bezier曲线坐标维度的基础上,增加时间维度。通过控制时间维度上的时间特征点,来控制机器人满足预先设置的始末速度,这样,速度规划的插补周期与Bezier曲线的参数一一对应,并且,Bezier曲线的每个点都是通过时间来控制速度变化,从而达到始末速度连续的目的。In this regard, the present application is directed to a third-order Bezier curve for a path, and determines a corresponding speed planning scheme, that is, adding a time dimension based on the coordinate dimension of the Bezier curve. By controlling the time feature points in the time dimension, the robot is controlled to meet the preset start and end speeds, so that the interpolation period of the speed plan corresponds to the parameters of the Bezier curve, and each point of the Bezier curve is the transit time. To control the speed change, so as to achieve the purpose of continuous speed.
其中,增加时间维度的Bezier曲线可以为上述关于时间的三阶Bezier曲线的表达式,即:Wherein, the Bezier curve of increasing the time dimension may be an expression of the above-mentioned third-order Bezier curve with respect to time, namely:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 .
可以理解的是,该表达式中Bezier参数u为变量,但需确定出时间控制点T0、T1、T2及T3的值。确定出该四个时间特征点后,代入上述表达式便可以构建出关于时间的三阶Bezier曲线。It can be understood that the Bezier parameter u is a variable in the expression, but the values of the time control points T 0 , T 1 , T 2 and T 3 need to be determined. After determining the four time feature points, the third-order Bezier curve about time can be constructed by substituting the above expression.
以下介绍如何确定该四个时间特征点的值。The following describes how to determine the value of the four time feature points.
其中,依据关于路径的三阶Bezier曲线的位置特征点(P0、P1、P2及P3)、 预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3Wherein, according to the position feature points (P 0 , P 1 , P 2 and P 3 ) of the third-order Bezier curve of the path, the speed of the preset starting point and the speed of the preset end point, the time-dependent is determined. The temporal feature points T 0 , T 1 , T 2 and T 3 of the third-order Bezier curve.
具体地,可以将时间特征点T0确定为0。Specifically, the time feature point T 0 can be determined to be zero.
将位置特征点P0、位置特征点P1及速度υs代入表达式
Figure PCTCN2016112678-appb-000007
求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度,起始点即位置特征点P0
Substituting position feature point P 0 , position feature point P 1 and velocity υ s into an expression
Figure PCTCN2016112678-appb-000007
Feature computation time point T 1, wherein the velocity υ s is set in advance in the robot starting a smooth trajectory velocity, i.e., the starting point position of the feature point P 0.
将位置特征点P2、位置特征点P3及速度υf代入表达式
Figure PCTCN2016112678-appb-000008
求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度,终止点为位置特征点P3
Substituting the position feature point P 2 , the position feature point P 3 , and the velocity υ f into the expression
Figure PCTCN2016112678-appb-000008
Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed υ f is a preset speed of the robot at the end point of the smooth trajectory, and the end point is the position feature point P 3 .
依据所述差值T3-2,确定T2及T3Based on the difference T 3-2 , T 2 and T 3 are determined.
需要说明的是,以上根据位置特征点及预先设置的始末速度,可以精确地计算出T0及T1。至于T2及T3,可以计算出T3与T2的差值T3-2,因此,只需要T3与T2的差值满足T3-2即可,也就是说满足两者之间的差值为T3-2的任意T3与T2的值均可以。本申请可以提供以下两种确定方式,需要说明的是,并不局限于以下两种。It should be noted that T 0 and T 1 can be accurately calculated based on the position feature points and the preset start and end speeds. As for T 2 and T 3 , the difference T 3-2 between T 3 and T 2 can be calculated. Therefore, only the difference between T 3 and T 2 is required to satisfy T 3-2 , that is, both are satisfied. Any difference between T 3 and T 2 of T 3-2 is acceptable. The following two determination methods can be provided in the present application, and it should be noted that the following two types are not limited.
在一个具体示例中,可以预先设置时间特征点T3的值,该值表示经过该平滑轨迹的总时长,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2In a specific example, the value of the time feature point T 3 may be set in advance, the value indicating the total duration of the smoothed trajectory, and the time feature point T 3 is subtracted from the difference T 3-2 to obtain the time feature. Point T 2 .
在另一具体示例中,可以将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式
Figure PCTCN2016112678-appb-000009
求解时间特征点T2;将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3
In another specific example, the position of the feature point may be P 1, the position of the feature point P 2, the speed υ s, and the velocity υ f characteristic time point T 1 is substituted into the expression
Figure PCTCN2016112678-appb-000009
The time feature point T 2 is solved; the time feature point T 2 is added to the difference value T 3-2 to obtain a time feature point T 3 .
其中,表达式
Figure PCTCN2016112678-appb-000010
Figure PCTCN2016112678-appb-000011
的获得方式为:
Where the expression
Figure PCTCN2016112678-appb-000010
and
Figure PCTCN2016112678-appb-000011
The way to get it is:
分别对关于路径的三阶Bezier曲线的表达式 P(u)=P0(1-u)3+3P1u(1-u)2+3P2u2(1-u)+P3u3在起始点P0及终止点P3处求导,获得P'(0)=-3P0+3P1及P'(1)=-3P2+3P3Expressions for the third-order Bezier curve on the path, respectively, P(u)=P 0 (1-u) 3 +3P 1 u(1-u) 2 +3P 2 u 2 (1-u)+P 3 u 3 Deriving at the starting point P 0 and the ending point P 3 , obtaining P′(0)=-3P 0 +3P 1 and P′(1)=-3P 2 +3P 3 ;
分别对关于时间的三阶Bezier曲线的表达式T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3在起始点P0及终止点P3处求导,获得T'(0)=-3T0+3T1及T'(1)=-3T2+3T3The expression T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 respectively for the third-order Bezier curve with respect to time Deriving at the starting point P 0 and the ending point P 3 , obtaining T'(0)=-3T 0 +3T 1 and T'(1)=-3T 2 +3T 3 .
其中,u=0对应的是起始点P0,u=1对应的是终止点P3Where u=0 corresponds to the starting point P 0 , and u=1 corresponds to the ending point P 3 .
根据P'(0)=-3P0+3P1及T'(0)=-3T0+3T1可以得出有关起始点处速度的以下表达式:According to P'(0)=-3P 0 +3P 1 and T'(0)=-3T 0 +3T 1 , the following expression about the velocity at the starting point can be obtained:
Figure PCTCN2016112678-appb-000012
Figure PCTCN2016112678-appb-000012
根据P'(1)=-3P2+3P3及T'(1)=-3T2+3T3可以得出有关终止点处速度的以下表达式:According to P'(1)=-3P 2 +3P 3 and T'(1)=-3T 2 +3T 3 , the following expression about the velocity at the end point can be obtained:
Figure PCTCN2016112678-appb-000013
Figure PCTCN2016112678-appb-000013
其中,T3-T2可以表示为T3-2Wherein T 3 -T 2 can be represented as T 3-2 .
设T0为0,根据以上两个表达式可以得出表达式
Figure PCTCN2016112678-appb-000014
Figure PCTCN2016112678-appb-000015
Let T 0 be 0, and the expression can be derived from the above two expressions.
Figure PCTCN2016112678-appb-000014
and
Figure PCTCN2016112678-appb-000015
另外,若设
Figure PCTCN2016112678-appb-000016
以上表达式可以写为:
Figure PCTCN2016112678-appb-000017
进一步地,可以将
Figure PCTCN2016112678-appb-000018
写为
Figure PCTCN2016112678-appb-000019
In addition, if
Figure PCTCN2016112678-appb-000016
The above expression can be written as:
Figure PCTCN2016112678-appb-000017
Further, you can
Figure PCTCN2016112678-appb-000018
Written as
Figure PCTCN2016112678-appb-000019
以上推导过程中,使用Bezier曲线的一阶导公式推导出时间特征点对于始末速度的影响,再由始末速度及特征点空间关系推导出每个位置特征点上的时间。In the above derivation process, the first derivative formula of the Bezier curve is used to derive the influence of the time feature point on the velocity of the beginning and the end, and then the time on each feature point is derived from the velocity of the beginning and the end and the spatial relationship of the feature point.
见图5,其示出了本申请提供的机器人运动控制装置的结构。 See Figure 5, which shows the structure of the robot motion control device provided by the present application.
机器人运动控制装置应用于机器人中,具体可为机器人的控制器或处理器,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制装置在每个控制周期内确定机器人需运动至的位置点。The robot motion control device is applied to the robot, and specifically may be a controller or a processor of the robot, configured to control the robot to perform motion according to a pre-established smooth trajectory represented by a third-order Bezier curve of the path, and the control device is controlled in each Determine the position to which the robot needs to move during the cycle.
其中,如图5所示,所述控制装置具体包括:As shown in FIG. 5, the control device specifically includes:
时长值确定单元51,用于确定从首个控制周期到当前控制周期的时长值;The duration value determining unit 51 is configured to determine a duration value from the first control period to the current control period;
参数值确定单元52,用于使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;a parameter value determining unit 52, configured to solve a value of a Bezier parameter corresponding to the duration value by using a pre-built expression of a third-order Bezier curve about time; wherein the third-order Bezier curve about time represents Bezier a curve relationship between parameters and duration;
坐标值确定单元53,用于将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;a coordinate value determining unit 53 for substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path to obtain a position coordinate value; wherein the third-order Bezier curve about the path represents Bezier a curve relationship between parameters and position coordinates;
移动至坐标值单元54,用于向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。Moving to the coordinate value unit 54 for transmitting the position coordinate value to the driving device to cause the driving device to move the robot to a position point indicated by the position coordinate value.
见图6,其示出了本申请提供的机器人运动控制装置的另一种结构。该控制装置在上述图5所示的控制装置的基础上,还可以包括:时间曲线构建单元55及路径曲线构建单元56。需要说明的是,图6中的部件51~54可以参见上述说明,此处并不赘述。Referring to Figure 6, there is shown another configuration of the robotic motion control device provided by the present application. The control device may further include a time curve construction unit 55 and a path curve construction unit 56 based on the control device illustrated in FIG. 5 described above. It should be noted that the components 51 to 54 in FIG. 6 can be referred to the above description, and are not described herein.
时间曲线构建单元55,用于构建关于时间的三阶Bezier曲线;a time curve construction unit 55 for constructing a third-order Bezier curve with respect to time;
路径曲线构建单元56,用于构建关于路径的三阶Bezier曲线,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹。The path curve construction unit 56 is configured to construct a third-order Bezier curve about the path, and the third-order Bezier curve about the path is used as a smooth trajectory of the robot moving from the front trajectory to the back trajectory.
其中,在所述构建关于路径的三阶Bezier曲线的方面,所述路径曲线构建单元具体用于:Wherein, in the aspect of constructing the third-order Bezier curve about the path, the path curve construction unit is specifically configured to:
根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切 矢量方向与所述拐入点的切矢量方向相同。Determining a position feature point of the third-order Bezier curve according to the front trajectory and the back trajectory, and constructing a third-order Bezier curve about the path according to the position feature point; wherein the position feature point includes a start point and a termination a point, the front trajectory has an inflection point, the rear trajectory has a turning point, and the starting point coincides with the inflection point, the end point coincides with the turning point, the starting point The tangent vector direction is the same as the tangent vector direction of the inflection point, and the end point is cut The vector direction is the same as the tangent vector direction of the turn-in point.
其中,所述在构建关于时间的三阶Bezier曲线的方面,所述时间曲线构建单元具体用于:Wherein, in terms of constructing a third-order Bezier curve with respect to time, the time curve construction unit is specifically used for:
依据关于路径的三阶Bezier曲线的位置特征点P0、P1、P2及P3,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3Determining the temporal feature points T 0 , T 1 , T 2 and T 3 of the third-order Bezier curve with respect to time according to the position feature points P 0 , P 1 , P 2 and P 3 of the third-order Bezier curve of the path;
依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:According to the time feature points T 0 , T 1 , T 2 and T 3 , the expression of the third-order Bezier curve with respect to time is:
T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 , where u is the Bezier parameter and u∈[0 , 1], T(u) represents the length of time required for smooth trajectory motion along the third-order Bezier curve of the path.
其中,在依据关于路径的三阶Bezier曲线的位置特征点P0、P1、P2及P3,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3的方面,所述时间曲线构建单元具体用于:Wherein, the temporal feature points T 0 , T 1 , T 2 of the third-order Bezier curve with respect to time are determined according to position feature points P 0 , P 1 , P 2 and P 3 of the third-order Bezier curve with respect to the path. In the aspect of T 3 , the time curve construction unit is specifically configured to:
确定时间特征点T0为0;Determining that the time feature point T 0 is 0;
将位置特征点P0、位置特征点P1及速度υs代入表达式
Figure PCTCN2016112678-appb-000020
求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
Substituting position feature point P 0 , position feature point P 1 and velocity υ s into an expression
Figure PCTCN2016112678-appb-000020
Solving a time feature point T 1 , wherein the speed υ s is a speed of a preset robot at a starting point of the smooth track;
将位置特征点P2、位置特征点P3及速度υf代入表达式
Figure PCTCN2016112678-appb-000021
求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
Substituting the position feature point P 2 , the position feature point P 3 , and the velocity υ f into the expression
Figure PCTCN2016112678-appb-000021
Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed υ f is a preset speed of the robot at the end point of the smooth track;
依据所述差值T3-2,确定T2及T3Based on the difference T 3-2 , T 2 and T 3 are determined.
在一个示例中,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:In an example, in the aspect of determining T 2 and T 3 according to the difference T 3-2 , the time curve construction unit is specifically configured to:
获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2A preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
在另一示例中,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:In another example, in the aspect of determining T 2 and T 3 according to the difference T 3-2 , the time curve construction unit is specifically configured to:
将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式
Figure PCTCN2016112678-appb-000022
求解时间特征点T2
Substituting the position feature point P 1 , the position feature point P 2 , the velocity υ s , the velocity υ f , and the time feature point T 1 into the expression
Figure PCTCN2016112678-appb-000022
Feature computation time point T 2;
将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3The time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
见图7,其示出了本申请提供的机器人运动控制装置的硬件结构示意图。如图7所示,该机器人运动控制装置可以包括:处理器1,通信接口2,存储器3以及通信总线4,其中处理器1、通信接口2以及存储器3通过通信总线4完成相互间的通信。FIG. 7 is a schematic diagram showing the hardware structure of the robot motion control apparatus provided by the present application. As shown in FIG. 7, the robot motion control apparatus may include a processor 1, a communication interface 2, a memory 3, and a communication bus 4, wherein the processor 1, the communication interface 2, and the memory 3 complete communication with each other via the communication bus 4.
存储器3,用于存放安装于该机器人运动控制装置中的程序代码以及数据。存储器3可以是高速RAM存储器,也可以是非易失性存储器(non-volatile memory),例如磁盘存储器。所述程序代码包括处理器的操作指令。The memory 3 is configured to store program codes and data installed in the robot motion control device. The memory 3 may be a high speed RAM memory or a non-volatile memory such as a magnetic disk memory. The program code includes operational instructions of the processor.
处理器1可能是一个中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本申请实施例的一个或多个集成电路。The processor 1 may be a central processing unit CPU, or an Application Specific Integrated Circuit (ASIC), or one or more integrated circuits configured to implement the embodiments of the present application.
所述处理器1用于调用所述存储器3中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,从而控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动。所述处理器1调用所述存储器3中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体包括以下步骤:The processor 1 is configured to call program code and data in the memory 3 to determine a position point to which the robot needs to move in each control cycle of the plurality of control cycles, thereby controlling the robot according to the pre-built related path The smooth trajectory represented by the third-order Bezier curve moves. The processor 1 calls the program code and the data in the memory 3 to determine a location point to which the robot needs to move during each control period of the plurality of control cycles, and specifically includes the following steps:
确定从首个控制周期到当前控制周期的时长值;Determining the duration value from the first control period to the current control period;
使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;Solving a value of a Bezier parameter corresponding to the duration value using a pre-built expression of a third-order Bezier curve with respect to time; wherein the third-order Bezier curve with respect to time represents a curve relationship between the Bezier parameter and the duration ;
将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path, obtaining a position coordinate value; wherein the third-order Bezier curve about the path represents a curve between the Bezier parameter and the position coordinate relationship;
通过所述通信接口2向驱动装置发送所述位置坐标值,以使所述驱动装 置将所述机器人移动至所述位置坐标值表示的位置点。所述通信接口2用于与驱动装置相连,从而向驱动装置发送位置坐标。所述通信接口2可以为通信模块的接口,如GSM模块的接口,PCI模块的接口等。Sending the position coordinate value to the driving device through the communication interface 2, so that the driving device is installed The robot is moved to a position point indicated by the position coordinate value. The communication interface 2 is for connection to a drive device to transmit position coordinates to the drive device. The communication interface 2 can be an interface of a communication module, such as an interface of a GSM module, an interface of a PCI module, or the like.
本申请还提供了一种机器人,包括机器人运动控制装置及驱动装置,其中:The application also provides a robot, including a robot motion control device and a driving device, wherein:
所述机器人运动控制装置,用于在每个控制周期内确定机器人需运动至的位置点;其中,每个控制周期执行以下步骤:确定确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向所述驱动装置发送所述位置坐标值;The robot motion control device is configured to determine a position point to which the robot needs to move in each control cycle; wherein each control cycle performs the following steps: determining a duration value determined from the first control cycle to the current control cycle; a pre-built expression of a third-order Bezier curve about time, solving a value of a Bezier parameter corresponding to the duration value; wherein the third-order Bezier curve about time represents a curve relationship between a Bezier parameter and a duration; Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path, obtaining a position coordinate value; wherein the third-order Bezier curve about the path represents a curve between the Bezier parameter and the position coordinate a relationship; transmitting the position coordinate value to the driving device;
所述驱动装置,用于驱动所述机器人移动至所述位置坐标值表示的位置点。The driving device is configured to drive the robot to move to a position point indicated by the position coordinate value.
其中,机器人可以具体为机械臂。Among them, the robot can be specifically a mechanical arm.
结合本发明公开内容所描述的方法或者算法的步骤可以硬件的方式来实现,也可以是由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于RAM存储器、闪存、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、移动硬盘、CD-ROM或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于ASIC中。The steps of a method or algorithm described in connection with the present disclosure may be implemented in a hardware, or may be implemented by a processor executing software instructions. The software instructions may be comprised of corresponding software modules that may be stored in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, removable hard disk, CD-ROM, or any other form of storage well known in the art. In the medium. An exemplary storage medium is coupled to the processor to enable the processor to read information from, and write information to, the storage medium. Of course, the storage medium can also be an integral part of the processor. The processor and the storage medium can be located in an ASIC.
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在可读介质中或者作为可读介质上的一个或多个指令或代码进行传输。Those skilled in the art will appreciate that in one or more examples described above, the functions described herein can be implemented in hardware, software, firmware, or any combination thereof. When implemented in software, the functions may be stored in a readable medium or transmitted as one or more instructions or code on a readable medium.
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行 了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。 The specific embodiments described above carry out the objects, technical solutions and beneficial effects of the present invention. In the following detailed description, it should be understood that the foregoing is only the embodiment of the present invention, and is not intended to limit the scope of the present invention, any of which is based on the technical solution of the present invention. Modifications, equivalent substitutions, improvements, etc., are intended to be included within the scope of the invention.

Claims (14)

  1. 一种机器人运动控制方法,其特征在于,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制方法用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点,其中每个控制周期内包括以下步骤:A robot motion control method for controlling a robot to move according to a pre-built smooth trajectory represented by a third-order Bezier curve of a path for each control cycle in a plurality of control cycles Determine the location point to which the robot needs to move, and each of the control cycles includes the following steps:
    确定从首个控制周期到当前控制周期的时长值;Determining the duration value from the first control period to the current control period;
    使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;Solving a value of a Bezier parameter corresponding to the duration value using a pre-built expression of a third-order Bezier curve with respect to time; wherein the third-order Bezier curve with respect to time represents a curve relationship between the Bezier parameter and the duration ;
    将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;Substituting the value of the Bezier parameter into the expression of the third-order Bezier curve about the path, obtaining a position coordinate value; wherein the third-order Bezier curve about the path represents a curve between the Bezier parameter and the position coordinate relationship;
    向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。The position coordinate value is transmitted to the driving device to cause the driving device to move the robot to a position point indicated by the position coordinate value.
  2. 根据权利要求1所述的机器人运动控制方法,其特征在于,构建所述关于时间的三阶Bezier曲线的方法包括:The robot motion control method according to claim 1, wherein the method of constructing the third-order Bezier curve with respect to time comprises:
    依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3Determining the temporal feature points T 0 , T 1 , T of the third-order Bezier curve with respect to time according to the position feature point of the third-order Bezier curve about the path, the speed of the preset starting point, and the speed of the preset end point. 2 and T 3 ;
    依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:According to the time feature points T 0 , T 1 , T 2 and T 3 , the expression of the third-order Bezier curve with respect to time is:
    T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 , where u is the Bezier parameter and u∈[0 , 1], T(u) represents the length of time required for smooth trajectory motion along the third-order Bezier curve of the path.
  3. 根据权利要求2所述的机器人运动控制方法,其特征在于,所述依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3,包括: The robot motion control method according to claim 2, wherein the determining is based on a position feature point of a third-order Bezier curve about a path, a speed of a preset starting point, and a speed of a preset end point. The temporal feature points T 0 , T 1 , T 2 and T 3 of the third-order Bezier curve of time include:
    确定时间特征点T0为0;Determining that the time feature point T 0 is 0;
    将位置特征点P0、位置特征点P1及速度υs代入表达式
    Figure PCTCN2016112678-appb-100001
    求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
    Substituting position feature point P 0 , position feature point P 1 and velocity υ s into an expression
    Figure PCTCN2016112678-appb-100001
    Solving a time feature point T 1 , wherein the speed υ s is a speed of a preset robot at a starting point of the smooth track;
    将位置特征点P2、位置特征点P3及速度υf代入表达式
    Figure PCTCN2016112678-appb-100002
    求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
    The position of the feature point P 2, P 3 and the positions of feature points into Expression velocity υ f
    Figure PCTCN2016112678-appb-100002
    Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed υ f is a preset speed of the robot at the end point of the smooth track;
    依据所述差值T3-2,确定T2及T3Based on the difference T 3-2 , T 2 and T 3 are determined.
  4. 根据权利要求3所述的机器人运动控制方法,其特征在于,所述依据所述差值T3-2,确定T2及T3,包括:The robot motion control method according to claim 3, wherein the determining T 2 and T 3 according to the difference T 3-2 comprises:
    获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2A preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
  5. 根据权利要求3所述的机器人运动控制方法,其特征在于,所述依据所述差值T3-2,确定T2及T3,包括:The robot motion control method according to claim 3, wherein the determining T 2 and T 3 according to the difference T 3-2 comprises:
    将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式
    Figure PCTCN2016112678-appb-100003
    求解时间特征点T2
    Substituting the position feature point P 1 , the position feature point P 2 , the velocity υ s , the velocity υ f , and the time feature point T 1 into the expression
    Figure PCTCN2016112678-appb-100003
    Solving the time feature point T 2 ;
    将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3The time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
  6. 根据权利要求1所述的机器人运动控制方法,其特征在于,所述关于路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹,构建所述关于路径的三阶Bezier曲线的方法包括:The robot motion control method according to claim 1, wherein the third-order Bezier curve about the path is used as a smooth trajectory of the robot moving from the front trajectory to the rear trajectory, and the third-order Bezier curve of the path is constructed. Methods include:
    根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;Determining a position feature point of the third-order Bezier curve according to the front trajectory and the back trajectory, and constructing a third-order Bezier curve about the path according to the position feature point;
    其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出 点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。Wherein the location feature point includes a start point and a termination point, and the front track has an exit a point, the back track has a turn-in point, and the start point coincides with the turn-out point, the end point coincides with the turn-in point, the cut vector direction of the start point and the turn-out The tangent vector direction of the point is the same, and the tangent vector direction of the end point is the same as the tangent vector direction of the inflection point.
  7. 一种机器人运动控制装置,其特征在于,用于控制机器人按照预先构建的关于路径的三阶Bezier曲线表示的平滑轨迹进行运动,所述控制装置用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点;所述控制装置包括:A robot motion control apparatus for controlling a robot to move according to a pre-established smooth trajectory represented by a third-order Bezier curve of a path, the control apparatus for each control cycle in a plurality of control cycles Determining a location point to which the robot needs to move; the control device includes:
    时长值确定单元,用于确定从首个控制周期到当前控制周期的时长值;a duration value determining unit for determining a duration value from the first control period to the current control period;
    参数值确定单元,用于使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;a parameter value determining unit for solving a value of a Bezier parameter corresponding to the duration value using a pre-built expression of a third-order Bezier curve with respect to time; wherein the third-order Bezier curve with respect to time represents a Bezier parameter a curve relationship with the duration;
    坐标值确定单元,用于将所述Bezier参数的值代入所述关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;a coordinate value determining unit, configured to substitute a value of the Bezier parameter into the expression of the third-order Bezier curve about the path to obtain a position coordinate value; wherein the third-order Bezier curve about the path represents a Bezier parameter a curve relationship with position coordinates;
    移动至坐标值单元,用于向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。Moving to a coordinate value unit for transmitting the position coordinate value to the driving device to cause the driving device to move the robot to a position point indicated by the position coordinate value.
  8. 根据权利要求7所述的机器人运动控制装置,其特征在于,还包括:The robot motion control device according to claim 7, further comprising:
    时间曲线构建单元,用于构建所述关于时间的三阶Bezier曲线;a time curve construction unit for constructing the third-order Bezier curve about time;
    其中,所述在构建关于时间的三阶Bezier曲线的方面,所述时间曲线构建单元具体用于:Wherein, in terms of constructing a third-order Bezier curve with respect to time, the time curve construction unit is specifically used for:
    依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3Determining the temporal feature points T 0 , T 1 , T of the third-order Bezier curve with respect to time according to the position feature point of the third-order Bezier curve about the path, the speed of the preset starting point, and the speed of the preset end point. 2 and T 3 ;
    依据所述时间特征点T0、T1、T2及T3,构建的关于时间的三阶Bezier曲线的表达式为:According to the time feature points T 0 , T 1 , T 2 and T 3 , the expression of the third-order Bezier curve with respect to time is:
    T(u)=T0(1-u)3+3T1u(1-u)2+3T2u2(1-u)+T3u3,其中,u为Bezier参数且u∈[0,1],T(u)表示沿着所述关于路径的三阶Bezier曲线表示的平滑轨迹运动所需的时长。 T(u)=T 0 (1-u) 3 +3T 1 u(1-u) 2 +3T 2 u 2 (1-u)+T 3 u 3 , where u is the Bezier parameter and u∈[0 , 1], T(u) represents the length of time required for smooth trajectory motion along the third-order Bezier curve of the path.
  9. 根据权利要求7所述的机器人运动控制装置,其特征在于,在依据关于路径的三阶Bezier曲线的位置特征点、预设的起始点的速度及预设的终止点的速度,确定所述关于时间的三阶Bezier曲线的时间特征点T0、T1、T2及T3的方面,所述时间曲线构建单元具体用于:The robot motion control apparatus according to claim 7, wherein said determining is based on a position feature point of a third-order Bezier curve with respect to a path, a speed of a preset starting point, and a speed of a preset end point. Aspects of the temporal feature points T 0 , T 1 , T 2 and T 3 of the third-order Bezier curve of time, the time curve construction unit being specifically used for:
    确定时间特征点T0为0;Determining that the time feature point T 0 is 0;
    将位置特征点P0、位置特征点P1及速度υs代入表达式
    Figure PCTCN2016112678-appb-100004
    求解时间特征点T1,其中,所述速度υs为预先设置的机器人在所述平滑轨迹的起始点的速度;
    Substituting position feature point P 0 , position feature point P 1 and velocity υ s into an expression
    Figure PCTCN2016112678-appb-100004
    Solving a time feature point T 1 , wherein the speed υ s is a speed of a preset robot at a starting point of the smooth track;
    将位置特征点P2、位置特征点P3及速度υf代入表达式
    Figure PCTCN2016112678-appb-100005
    求解时间特征点T3与时间特征点T2的差值T3-2,其中,所述速度υf为预先设置的机器人在所述平滑轨迹的终止点的速度;
    Substituting the position feature point P 2 , the position feature point P 3 , and the velocity υ f into the expression
    Figure PCTCN2016112678-appb-100005
    Solving a difference T 3-2 between the time feature point T 3 and the time feature point T 2 , wherein the speed υ f is a preset speed of the robot at the end point of the smooth track;
    依据所述差值T3-2,确定T2及T3Based on the difference T 3-2 , T 2 and T 3 are determined.
  10. 根据权利要求9所述的机器人运动控制装置,其特征在于,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:The robot motion control device according to claim 9, wherein in the determining the T 2 and the T 3 according to the difference T 3-2 , the time curve constructing unit is specifically configured to:
    获取预先设置的时间特征点T3,将所述时间特征点T3减去所述差值T3-2,获得时间特征点T2A preset time feature point T 3 is obtained , and the time feature point T 3 is subtracted from the difference value T 3-2 to obtain a time feature point T 2 .
  11. 根据权利要求9所述的机器人运动控制装置,其特征在于,在所述依据所述差值T3-2,确定T2及T3的方面,所述时间曲线构建单元具体用于:The robot motion control device according to claim 9, wherein in the determining the T 2 and the T 3 according to the difference T 3-2 , the time curve constructing unit is specifically configured to:
    将位置特征点P1、位置特征点P2、速度υs、速度υf及时间特征点T1代入表达式
    Figure PCTCN2016112678-appb-100006
    求解时间特征点T2
    Substituting the position feature point P 1 , the position feature point P 2 , the velocity υ s , the velocity υ f , and the time feature point T 1 into the expression
    Figure PCTCN2016112678-appb-100006
    Solving the time feature point T 2 ;
    将所述时间特征点T2加上所述差值T3-2,获得时间特征点T3The time feature point T 2 is added to the time difference point T 3-2 to obtain a time feature point T 3 .
  12. 根据权利要求7所述的机器人运动控制装置,其特征在于,还包括:The robot motion control device according to claim 7, further comprising:
    路径曲线构建单元,用于构建所述关于路径的三阶Bezier曲线,所述关于 路径的三阶Bezier曲线作为机器人从前段轨迹运动到后段轨迹的平滑轨迹;a path curve construction unit for constructing the third-order Bezier curve about the path, the The third-order Bezier curve of the path is used as a smooth trajectory of the robot moving from the front trajectory to the back trajectory;
    其中,在所述构建关于路径的三阶Bezier曲线的方面,所述路径曲线构建单元具体用于:Wherein, in the aspect of constructing the third-order Bezier curve about the path, the path curve construction unit is specifically configured to:
    根据所述前段轨迹及所述后段轨迹确定三阶Bezier曲线的位置特征点,根据所述位置特征点,构建关于路径的三阶Bezier曲线;其中,所述位置特征点中包含起始点及终止点,所述前段轨迹具有拐出点,所述后段轨迹具有拐入点,且所述起始点与所述拐出点重合,所述终止点与所述拐入点重合,所述起始点的切矢量方向与所述拐出点的切矢量方向相同,所述终止点的切矢量方向与所述拐入点的切矢量方向相同。Determining a position feature point of the third-order Bezier curve according to the front trajectory and the back trajectory, and constructing a third-order Bezier curve about the path according to the position feature point; wherein the position feature point includes a start point and a termination a point, the front trajectory has an inflection point, the rear trajectory has a turning point, and the starting point coincides with the inflection point, the end point coincides with the turning point, the starting point The tangent vector direction is the same as the tangent vector direction of the inflection point, and the tangent vector direction of the end point is the same as the tangent vector direction of the inflection point.
  13. 一种机器人运动控制装置,其特征在于,包括通信接口、处理器以及存储器,所述通信接口与驱动装置相连,所述存储器中存储有安装于该机器人运动控制装置中的程序代码以及数据,所述处理器用于调用所述存储器中的程序代码以及数据以确定机器人在多个控制周期中的每个控制周期内所需运动至的位置点,具体包括以下步骤:A robot motion control device, comprising: a communication interface, a processor and a memory, wherein the communication interface is connected to a driving device, wherein the memory stores program codes and data installed in the robot motion control device. The processor is configured to invoke program code and data in the memory to determine a location point to which the robot needs to move during each control cycle of the plurality of control cycles, and specifically includes the following steps:
    确定从首个控制周期到当前控制周期的时长值;Determining the duration value from the first control period to the current control period;
    使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;Solving a value of a Bezier parameter corresponding to the duration value using a pre-built expression of a third-order Bezier curve with respect to time; wherein the third-order Bezier curve with respect to time represents a curve relationship between the Bezier parameter and the duration ;
    将所述Bezier参数的值代入预先构建的关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;Substituting the value of the Bezier parameter into a pre-built expression of a third-order Bezier curve about the path to obtain a position coordinate value; wherein the third-order Bezier curve about the path represents between the Bezier parameter and the position coordinate Curve relationship
    通过所述通信接口向驱动装置发送所述位置坐标值,以使所述驱动装置将所述机器人移动至所述位置坐标值表示的位置点。The position coordinate value is transmitted to the drive device through the communication interface to cause the drive device to move the robot to a position point indicated by the position coordinate value.
  14. 一种机器人,其特征在于,包括:机器人运动控制装置及驱动装置,其中:A robot comprising: a robot motion control device and a driving device, wherein:
    所述机器人运动控制装置,用于在多个控制周期中的每个控制周期内确定机器人需运动至的位置点;其中,每个控制周期执行以下步骤:确定从首个控制周期到当前控制周期的时长值;使用预先构建的关于时间的三阶Bezier曲线的表达式,求解所述时长值对应的Bezier参数的值;其中,所述关于时 间的三阶Bezier曲线表示的是Bezier参数与时长之间的曲线关系;将所述Bezier参数的值代入预先构建的关于路径的三阶Bezier曲线的表达式中,获得位置坐标值;其中,所述关于路径的三阶Bezier曲线表示的是Bezier参数与位置坐标之间的曲线关系;向所述驱动装置发送所述位置坐标值;The robot motion control device is configured to determine a position point to which the robot needs to move during each of the plurality of control cycles; wherein each control cycle performs the following steps: determining the first control cycle to the current control cycle a duration value; using a pre-built expression of a third-order Bezier curve for time, solving a value of a Bezier parameter corresponding to the duration value; wherein The third-order Bezier curve represents the curve relationship between the Bezier parameter and the duration; the value of the Bezier parameter is substituted into the pre-built expression of the third-order Bezier curve about the path to obtain the position coordinate value; The third-order Bezier curve about the path represents a curve relationship between the Bezier parameter and the position coordinates; the position coordinate value is sent to the driving device;
    所述驱动装置,用于驱动所述机器人移动至所述位置坐标值表示的位置点。 The driving device is configured to drive the robot to move to a position point indicated by the position coordinate value.
PCT/CN2016/112678 2016-12-28 2016-12-28 Robot motion control method and related device WO2018119759A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201680037943.9A CN108513636B (en) 2016-12-28 2016-12-28 Robot motion control method and related device
PCT/CN2016/112678 WO2018119759A1 (en) 2016-12-28 2016-12-28 Robot motion control method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2016/112678 WO2018119759A1 (en) 2016-12-28 2016-12-28 Robot motion control method and related device

Publications (1)

Publication Number Publication Date
WO2018119759A1 true WO2018119759A1 (en) 2018-07-05

Family

ID=62706659

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/112678 WO2018119759A1 (en) 2016-12-28 2016-12-28 Robot motion control method and related device

Country Status (2)

Country Link
CN (1) CN108513636B (en)
WO (1) WO2018119759A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203870A (en) * 2018-11-22 2020-05-29 深圳市优必选科技有限公司 Steering engine motion control method and device and terminal equipment
CN114379615A (en) * 2021-12-30 2022-04-22 卡斯柯信号有限公司 Method, device and medium for displaying train position in configuration human-computer interface

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112405537B (en) * 2020-11-11 2022-07-12 配天机器人技术有限公司 Robot space track interpolation method and robot

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03213284A (en) * 1990-01-19 1991-09-18 Yokogawa Electric Corp Robot controller
CN102122172A (en) * 2010-12-31 2011-07-13 中国科学院计算技术研究所 Image pickup system and control method thereof for machine motion control
CN102207736A (en) * 2010-03-31 2011-10-05 中国科学院自动化研究所 Robot path planning method and apparatus thereof based on Bezier curve
CN103907068A (en) * 2011-09-02 2014-07-02 布鲁克斯自动化公司 Time-optimal trajectories for robotic transfer devices

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102147600B (en) * 2011-04-30 2012-09-19 上海交通大学 Numerical control interpolation system for real-time generation of curvature-continuous path
KR101611098B1 (en) * 2014-06-18 2016-04-08 숭실대학교산학협력단 Continuous synchronization method and apparatus
CN104268330B (en) * 2014-09-19 2017-08-25 华南理工大学 A kind of Bezier approximating methods of complex curve
CN104966320B (en) * 2015-07-21 2017-12-15 北京工业大学 A kind of pattern-painting automatic generation method based on three rank Bezier curves

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03213284A (en) * 1990-01-19 1991-09-18 Yokogawa Electric Corp Robot controller
CN102207736A (en) * 2010-03-31 2011-10-05 中国科学院自动化研究所 Robot path planning method and apparatus thereof based on Bezier curve
CN102122172A (en) * 2010-12-31 2011-07-13 中国科学院计算技术研究所 Image pickup system and control method thereof for machine motion control
CN103907068A (en) * 2011-09-02 2014-07-02 布鲁克斯自动化公司 Time-optimal trajectories for robotic transfer devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111203870A (en) * 2018-11-22 2020-05-29 深圳市优必选科技有限公司 Steering engine motion control method and device and terminal equipment
CN111203870B (en) * 2018-11-22 2021-12-17 深圳市优必选科技有限公司 Steering engine motion control method and device and terminal equipment
CN114379615A (en) * 2021-12-30 2022-04-22 卡斯柯信号有限公司 Method, device and medium for displaying train position in configuration human-computer interface

Also Published As

Publication number Publication date
CN108513636A (en) 2018-09-07
CN108513636B (en) 2021-08-10

Similar Documents

Publication Publication Date Title
WO2018119745A1 (en) Robot motion control method and related apparatus
CN107263484B (en) Robot joint space point-to-point motion trajectory planning method
US9041337B2 (en) Motion profile generator
CN101493687B (en) Real time forward looking whole-process acceleration and deceleration controlled NURBS curve self-adapting subsection interpolation method
CN107980109B (en) Robot motion trajectory planning method and related device
WO2018119759A1 (en) Robot motion control method and related device
CN111830979B (en) Track optimization method and device
EP3486612B1 (en) Method for generating a trajectory
US8774965B2 (en) Method and device for controlling a manipulator
EP2022608A2 (en) Improved blending algorithm for trajectory planning
WO2018209864A1 (en) Moving control method and device, robot and storage medium
CN114466730B (en) Motion planning for optimizing speed of a robot while maintaining limits on acceleration and jerk
JP2009053926A (en) Route-planning device and route-planning method
CN112965443B (en) High-precision interpolation control method for corner trajectory tracking of cutting bed
CN109048091A (en) Laser cutting speed planing method, device, storage medium and computer equipment
CN109683615A (en) The speed look-ahead approach and robot controller in the path that robot continuously moves
WO2019167511A1 (en) Mobile body control device and mobile body control method
CN114211495B (en) Self-adaptive track optimization method and system for semiconductor wafer conveying mechanical arm
CN110355752A (en) Robot controller, robot control method and storage medium
WO2018195689A1 (en) S-type velocity planning method, device and system, and robot and numerical control machine tool
CN111195913A (en) Robot processing method and device and industrial robot
CN110355753A (en) Robot controller, robot control method and storage medium
KR100664681B1 (en) The direct interpolation system and method using sampled data of the robot path described with parametric curve
CN114763133A (en) Vehicle parking planning method, device, equipment and computer storage medium
CN112549027A (en) Cartesian space and joint space curve smooth transition method and device

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16925455

Country of ref document: EP

Kind code of ref document: A1