CN111331591B - Robot control method and device - Google Patents
Robot control method and device Download PDFInfo
- Publication number
- CN111331591B CN111331591B CN201811548931.XA CN201811548931A CN111331591B CN 111331591 B CN111331591 B CN 111331591B CN 201811548931 A CN201811548931 A CN 201811548931A CN 111331591 B CN111331591 B CN 111331591B
- Authority
- CN
- China
- Prior art keywords
- path
- robot
- point
- speed
- motion
- Prior art date
- Legal status (The legal status 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 status listed.)
- Active
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
Abstract
The embodiment of the invention provides a robot control method and device, and relates to robot motion controlThe technical field of preparation. The embodiment of the invention can ensure that the robot completes the transition between the paths along the motion of the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along with the motion time, and does not need to reduce the speed of the robot at the initial position point q in order to meet the related track constraint condition0And a termination point q2The speed of (2). The method comprises the following steps: determining two adjacent motion paths in the motion process of the robot; selecting a starting point q on a first path0Selecting a termination point q on the second path2(ii) a So thatWith a starting position point q0As a starting point, with an end point q2As an end point, a preset path point q is used1Constructing a target second-order Bezier curve for the control point; and when the robot is controlled to transit from the first path to the second path, the robot is controlled to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along with the movement time.
Description
Technical Field
The invention relates to the technical field of robot motion control, in particular to a robot control method and device.
Background
Robots have now begun to perform heavy, high-risk tasks in various scenarios in place of humans. And the motion trail planning of the robot greatly influences the performance of the robot. In a conventional motion trajectory planning method, a motion trajectory of a robot is generally planned by specifying path points. Specifically, the operator may specify a series of waypoints through each of which the robot passes in a given motion command. In this process, the robot needs to move along one path until it approaches a waypoint, starts decelerating, stops reaching the waypoint, and then accelerates to move along the other path to the next waypoint. The method can achieve the effect of accurately reaching the position of the path point. Meanwhile, since the method has a pause when passing through each path point, it takes a long time when there are many path points, which affects the working efficiency of the robot.
In view of the above-mentioned prior art, if a smooth transition method can be adopted at a path point when controlling the movement of the robot, so that the robot does not need to be completely stopped when moving to the path point, the working efficiency of the robot can be greatly improved. Therefore, how to plan the transition track between the paths when controlling the movement of the robot so as to make the operation efficiency of the robot higher becomes a problem which needs to be solved urgently.
Disclosure of Invention
The embodiment of the invention provides a robot control method and device, which can enable a robot to complete transition between paths along a target second-order Bezier curve motion in a mode that curve parameters uniformly change along motion time, and does not need to reduce the speed of a starting position point q in order to meet related track constraint conditions0And a termination point q2The speed of (2).
In order to achieve the purpose, the invention adopts the following technical scheme:
in a first aspect, an embodiment of the present invention provides a robot control method, including determining two adjacent motion paths, a first path and a second path, in a motion process of a robot; wherein the first path and the second path intersect at a predetermined path point q1(ii) a Selecting a starting point q on a first path0Selecting a termination point q on the second path2(ii) a So thatWherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them; with a starting position point q0As a starting point, with an end point q2As an end point, a preset path point q is used1Constructing a target second-order Bezier curve for the control point; and when the robot is controlled to transit from the first path to the second path, the robot is controlled to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along with the movement time.
In a second aspect, an embodiment of the present invention provides a robot control apparatus, including: the path determining unit is used for determining two adjacent motion paths, namely a first path and a second path, in the motion process of the robot; wherein the first path and the second path intersect at a predetermined path point q1(ii) a A transition point selection unit for selecting a start position point q on the first path after the determination unit determines the first path and the second path0Selecting a termination point q on the second path2(ii) a So thatWherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them; a curve generating unit for selecting the starting position point q at the transition point selecting unit0And a termination point q2Then, starting from the point q0As a starting point, with an end point q2AsEnd point, with a predetermined path point q1Constructing a target second-order Bezier curve for the control point; and the control unit is used for controlling the robot to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along the movement time when the robot is transited from the first path to the second path after the curve generating unit constructs the target second-order Bezier curve.
In a third aspect, an embodiment of the present invention provides a robot control apparatus, including: a processor, a memory, a bus, and a communication interface; the memory is used for storing computer execution instructions, the processor is connected with the memory through a bus, and when the robot control device runs, the processor executes the computer execution instructions stored in the memory so as to enable the robot control device to execute the robot control method provided by the first aspect.
In a fourth aspect, embodiments of the present invention provide a computer storage medium comprising instructions that, when run on a robot control apparatus, cause the robot control apparatus to perform the robot control method as provided in the first aspect above.
In the embodiment of the present invention, in consideration of the scenario that a curved track is constructed between two motion paths to achieve an effect of improving the motion efficiency of the robot by enabling the robot to perform smooth transition between two adjacent motion paths, generally, the speed of the transition starting point or the transition ending point needs to be reduced to satisfy the relevant track constraint condition, which may cause the motion efficiency of the transition track to be reduced, and thus the effect of improving the motion efficiency of the robot cannot be achieved. In order to solve the above problem, in the embodiment of the present invention, a target second-order Bezier curve is used as a trajectory of a transition path of a robot, and a formula is usedTo select a suitable starting position point q on the target second-order Bezier curve0And a termination point q2. The initial position point q selected by the method provided by the embodiment of the invention0And a termination point q2Can lead the robot to follow the target second-order Bezie in a mode that the curve parameters are uniformly changed along the motion timeWhen the r curve moves, the point q at the initial position does not need to be lowered for meeting the related track constraint condition0And a termination point q2The speed of the motor realizes smooth transition on the premise of ensuring the movement efficiency. In addition, the starting position point q selected by the method of the embodiment of the invention0And a termination point q2The robot can not be influenced by the change of the speed multiplying power of the robot, can move along the same curve path under different speed multiplying powers, achieves the effect that the transition path is irrelevant to the movement speed, and ensures the safety in practical application.
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 description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art that other drawings can be obtained based on these drawings without creative efforts.
Fig. 1 is a schematic diagram of a track of a robot in a motion process according to an embodiment of the present invention;
FIG. 2 is a schematic diagram of a variation of a curve parameter s with time according to an embodiment of the present invention;
fig. 3 is a schematic flowchart of a robot control method according to an embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating the variation of the movement speed of each kinematic joint when the robot moves according to the embodiment of the present invention;
FIG. 5 is a diagram of an initial endpoint provided in accordance with an embodiment of the present inventionA schematic diagram of the movement of (a);
FIG. 6 is a diagram of an initial starting point according to an embodiment of the present inventionA schematic diagram of the movement of (a);
fig. 7 is a schematic structural diagram of a robot control device according to an embodiment of the present invention;
fig. 8 is a schematic structural diagram of a transition point selection unit according to an embodiment of the present invention;
fig. 9 is a schematic structural diagram of a control unit according to an embodiment of the present invention;
fig. 10 is a schematic structural diagram of another robot control device according to an embodiment of the present invention;
fig. 11 is a schematic structural diagram of another robot control device according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
As used herein, the terms "unit," "module," and the like are intended to refer to a computer-related entity, either hardware, firmware, a combination of hardware and software, or software in execution. For example, a unit may be, but is not limited to being: a processing object running on a processor, an executable, a thread of execution, a program, and/or a computer.
First, the inventive principle of the present invention is described: in such a scenario that a curved track is constructed between two adjacent motion paths to achieve an effect of improving the motion efficiency of the robot by enabling the robot to perform smooth transition between the two adjacent motion paths, generally, the speed of the transition starting point or the transition ending point needs to be reduced to satisfy the relevant track constraint condition, which may cause a problem of reducing the motion efficiency of the transition track, and thus the effect of improving the motion efficiency of the robot may not be achieved.
Based on the above problem, the invention contemplates that a target second-order Bezier curve is first constructed as a transition trajectory of the robot between the first path and the second path, and the specific target second-order Bezier curve is expressed by the following formula (1):
q(s)=(1-s)2q0+2s(1-s)q1+s2q2 (1)
wherein q is0A position vector being the start of a target second order Bezier curve on the first path; q. q.s2A position vector of an end point of a target second-order Bezier curve on the second path; and a preset path point position vector of the intersection of the first path and the second path is obtained.
Illustratively, as shown in fig. 1, the trajectory diagram during the movement of the robot is shown. Including two adjacent paths of motion, path 1 and path 2. Wherein, the path 1 and the path 2 are respectively n-dimensional straight lines, and the starting point of the path 1 is qst1End point is qed1Path 2 starting point is qst2End point is qed2,qst1、qed1、qst2、qed2Are all n-dimensional joint position vectors, n is the number of robot joints, qed1And q isst2Is superposed on the preset path point q1. And further can pass through from the starting position point q on the path 10To the end point q on path 22In between, construct one to preset the path point q1A second order Bezier curve, which is a control point, as a transition path between path 1 and path 2 to achieve a smooth transition from the first path to the second path.
Furthermore, in order to ensure the stability of the motion, it is necessary that the robot calculates the motion state of the robot on the second-order Bezier curve as q when the robot performs the transition using the second-order Bezier curve0The velocity of the robot and the robot's q-calculated from the state of motion of the robot on the first path0The velocity of the robot is equal and the motion state of the robot on the second-order Bezier curve is calculated as q2The velocity of the robot and the motion state of the robot on the second path2The velocities are equal.
Therefore, in the present invention, it is conceived that: firstly, curve parameter s in target second-order Bezier curveSet to vary uniformly from 0 to 1 with time as shown in fig. 2, i.e., s ═ T/te ∈ [0,1 ∈]. Wherein T is the total motion time of the robot on a target second-order Bezier curve, and T is the starting position point q of the robot0The time required to move to a position point on the target second-order Bezier curve corresponding to the curve parameter s, where s (0) is 0 and s (t) is 1.
Then, the speed of the robot moving on the target second-order Bezier curve and the acceleration of the robot moving on the target second-order Bezier curve can be obtained by solving the first derivative and the second derivative of the formula (1). In particular, the joint velocity of the robot moving on the target second-order Bezier curveThe joint acceleration of the robot moving on the target second-order Bezier curve is shown in the following formula (2)As shown in the following equation (3):
as can be seen from equation (3), the joint acceleration is constant during the transition. That is, at this time when the transition locus control point q is present0、q1、q2After the transition time T is determined, the acceleration in the transition process is determined, namely the velocity of each joint in the transition process is determined from the starting point velocityUniform acceleration to end point velocity
Thus, from the above, on the target second-order Bezier curve, the starting point velocity isEnd point velocity of
Therefore, to ensure smooth motion, the above starting speedShould pass the starting point q when the robot moves on the first path0At the same speed, the above-mentioned end speedShould pass the end point q when the robot moves on the second path2Are the same. And passes q when the robot moves on the first path0The velocity of the point and the velocity of the robot passing q while moving on the second path2Ratio of velocity of point to | | q1-q0||/||q2-q1If the difference between the values of | is large, it is often necessary to reduce the distance q the robot passes through when moving on the first path0Speed of point or passing q while the robot moves on the second path2Velocity of the point such that q is passed on path 10Velocity of the point and the speed of the path 2 passing q2Ratio of velocity of point to | | q1-q0||/||q2-q1If | is equal, the transition trajectory motion efficiency is reduced, and if the transition trajectory motion efficiency is serious, the transition trajectory motion efficiency may be reduced along qst1→q0→q2→qed2Motion time ratio edge q without stopping in motion midwayst1→q1→qed2Is in motion and is in q1The motion time of the stop is longer, and the significance of improving the motion efficiency by adding the transition track is lost.
Therefore, the starting point q of the target second-order Bezier curve is selected in the embodiment of the invention0And end point q2Then, by reasonably selecting q0、q2So as to pass q on path 10With speed of and q passing on path 22Is compared with | q1-q0|/|q2-q1I.e. without changing the path 1 through q0With speed of and q passing on path 22Thereby greatly improving the motion efficiency of the transition track.
The first embodiment is as follows:
based on the invention principle, the embodiment of the invention provides a robot control method which is applied to a scene of controlling the motion of a robot. Specifically, as shown in fig. 3, the method specifically includes:
s101, two adjacent motion paths, namely a first path and a second path, in the motion process of the robot are determined. Wherein the first path and the second path intersect at a predetermined path point q1;
Illustratively, as shown in fig. 1, the trajectory diagram during the movement of the robot is shown. Including two adjacent paths of motion, path 1 and path 2. Where path 1 starts at qst1End point is qed1Path 2 starting point is qst2End point is qed2,qst1、qed1、qst2、qed2Are all n-dimensional joint position vectors, n is the number of robot joints, qed1And q isst2And (4) overlapping.
S102, selecting a starting position point q on a first path0Selecting a termination point q on the second path2. So that
Wherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them.
In particular, in one implementation, it is considered that each kinematic joint is usually moved by a single-step movement method when the robot moves on a specified path at present. The single-step motion refers to a motion mode in which the motion is directly from the starting point of the path to the end point of the path (i.e., the path is an n-dimensional straight line), and the speed is 0 at the beginning and the end of the path. When single-step movement is carried out, each joint adopts trapezoidal speed planning, and the movement of each joint is synchronous (namely synchronous starting, synchronous stopping, synchronous accelerating and synchronous decelerating). For example, assuming that a certain robot has two kinematic joints, the motion planning result of the robot has two kinematic joints on a certain motion path, as shown in fig. 4, wherein a broken line a represents the joint motion speed of the kinematic joint i on the motion pathThe broken line b represents the joint movement speed of the moving joint j on the movement path according to the change of timeThe change over time. It can be seen that the joint i and the joint j are at taWith simultaneous acceleration of movement during a time period tuMove at constant speed at the same time within the time period tdThe motion is decelerated simultaneously during the time period.
Therefore, based on the way that each motion joint usually moves by a single-step motion method when the robot moves on the designated path, in order to determine the proper starting position point q0And a termination point q2The step S102 may specifically include:
s1021, selecting on the first pathAn initial starting pointSelecting an initial end point on the second pathDetermining an initial starting point for a robot while moving on a first pathSpeed of movement ofAnd the robot is at an initial end point while moving on the second pathSpeed of movement of
It is considered that for the current two paths (i.e., the first path and the second path), a transition may also need to be made with the previous path and a transition may also need to be made with the next path. Thus, a collision occurs in order to avoid that the transition trajectory between the first path and the second path overlaps with the transition trajectory of the previous path or the next path. In one implementation, the initial starting pointBetween the midpoint and the end point of the path 1, an initial end pointBetween the start and midpoint of path 2.
Selecting an initial starting point on a first pathSelecting an initial end point on the second pathThe method specifically comprises the following steps: according to the set transition percentage X, selecting a point on the first path with a distance of 0.5X% path 1 from the end point of the first path as an initial starting pointSelecting a point on the second path that is a distance of "0.5X%. X% path 2 distance" from the start point of the second path as the initial end pointNamely the following equation (5):
Wherein the content of the first and second substances,indicating that the robot is at an initial starting point while moving on a first pathSpeed of movement ofThe scalar value of (a) is determined,indicating that the robot is at the initial end point while moving on the second pathSpeed of movement ofThe scalar value of (a) is determined,representing a predetermined path point q1And the initial starting pointThe distance between the two or more of the two or more,indicating the initial endpointAnd a predetermined path point q1The distance between them.
In particular, ifAn initial starting point may be setAs a starting position point q0. At the same time, q is required to be reduced2To q1Direction shift to lower | q |2-q1L | so as to finally makeAs shown in fig. 5.
Is provided withWhen the temperature of the water is higher than the set temperature,at this time, situation-based judgment is requiredAccording to the location ofLocation determination ofThe distance of movement is required. Specifically, the method comprises the following steps:
situation one, ifIn the acceleration section of the single-step motion trail of the second path, the adjusted q can be obtained through calculation2Still in the acceleration section of the single step motion profile of the second path,
case two, ifAt the uniform speed section of the single-step motion track of the second path(The value can be obtained for the acceleration in the second path single-step track after the second path is subjected to single-step motion track planning), and the adjusted q can be obtained through calculation2Still in the constant velocity segment of the single step motion trajectory of the second path,
situation three, ifAt the uniform speed section of the single-step motion track of the second pathThen after calculation, the adjusted q can be obtained2During the acceleration section of the single-step motion trail of the second path,
case four, according to the definition of the transition track data,it is not possible to step down the deceleration section of the trajectory in the second path.
In particular, ifThe initial endpoint may be reachedAs a termination point q2. At the same time, q is required to be reduced0To q1Direction shift to lower | q |1-q0| so that ultimatelyAs shown in fig. 6.
Is provided withWhen the temperature of the water is higher than the set temperature,at this time, it is necessary to divideSituation determinationAccording to the location ofLocation determination ofThe distance of movement is required. Specifically, the method comprises the following steps:
situation one, ifIn the deceleration section of the single-step motion track of the first path, the adjusted q can be obtained through calculation0Still in the deceleration section of the single-step motion trajectory of the first path,
case two, ifAt a constant speed section of the single-step track of the first path, and(the deceleration of the single-step motion track of the first path can be obtained after the single-step motion track planning is carried out on the first path), and the adjusted q can be obtained through calculation0Still in the constant velocity segment of the single step motion trajectory of the second path,
case three, such asAt a constant speed section of the single-step motion track of the first path, andthen after calculation, the adjusted q can be obtained0In the deceleration section of the single-step motion track of the second path,
case four, according to the definition of the transition track data,it is not possible to accelerate the segment of the single-step trajectory in the first path.
Through the contents of the above steps S1021-S1024, it can be finally determined thatStarting position point q0And a termination point q2。
S103, determining a starting position point q0And a termination point q2Then, starting from the point q0As a starting point, with an end point q2As an end point, a preset path point q is used1And constructing a target second-order Bezier curve for the control point.
In particular, for the description of the target second-order Bezier curve, see the above formula (1) and the relevant contents of formula (1).
And S104, controlling the robot to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along with the movement time when the robot is transited from the first path to the second path.
In one implementation, the maximum acceleration of each moving joint of the robot and other preset speed limiting conditions (such as limitation on the speed of the robot joint for better completion of robot work) are considered to have an influence on the moving speed and acceleration of the robot when moving along the target second-order Bezier curve. Therefore, in step S104 of controlling the robot to move, the method specifically further includes:
and controlling the motion state of the robot when the robot moves along the target second-order Bezier curve according to the maximum acceleration of each motion joint of the robot and a preset speed limit condition.
In the embodiment of the invention, the uniformly accelerated or uniformly decelerated motion of each motion joint is considered in the transition process, so that the transition process meets the speed constraint as long as the transition starting point and the transition end point meet the speed constraint. Therefore, the preset speed limit conditions at least include:
the method comprises the following steps that under a constraint condition that firstly, when the robot decelerates along a first path at an initial position point at the maximum deceleration, the stop position of the robot does not exceed a preset path point;
the constraint condition II is that the speed of the robot at the initial position point is not greater than the maximum speed of the robot on the first path;
the constraint condition (c) is that when the robot decelerates along the second path at the termination position point with the maximum deceleration, the stop position of the robot does not exceed the termination point of the second path;
the constraint (c) that the velocity at the end position point does not exceed the maximum velocity on the second path.
In particular, it is considered that the joint acceleration direction is constant when the robot moves along the target second order Bezier curve in such a way that the curve parameters vary uniformly with the movement time, as in fig. 1The direction shown. And the maximum acceleration of the robot along a certain fixed direction is also constant under the limitation of the maximum acceleration of each motion joint. If the maximum acceleration of each joint is set asThe maximum acceleration in direction r (unit vector) is then:
Let D | | | q2-2q1+q0If at all, thenAnd if the direction vector of the transitional track joint acceleration is adopted, the acceleration constraint is as follows:
as can be seen from the above equation, the acceleration constraint of the transition trajectory can be converted into the constraint of the transition time, i.e.:
therefore, the method for controlling the motion state of the robot when the robot moves along the target second-order Bezier curve according to the maximum acceleration of each motion joint of the robot and the preset speed limit condition specifically comprises the following steps:
s1041, controlling the motion time of the robot on the target second-order Bezier curve to meet the following formula:
wherein, T is the motion time of the robot on the target second-order Bezier curve, and D | | | q2-2q1+q0||,For robot in direction raThe maximum acceleration of (2).
In the embodiment of the invention, the movement time of the robot on the target second-order Bezier curve is limited to be more than or equal toTo ensure that the robot meets acceleration constraints during the transition.
In addition, it is considered that the maximum velocity of each joint is set to(constant segment velocity), then the maximum velocity in direction r (unit vector) is:
When the single-step motion trajectory adopts the trapezoidal speed planning, the constraint condition (i) is described as follows by using a mathematical expression:
wherein the content of the first and second substances,for maximum deceleration in the first path direction, a first path direction vector rp1=(qed1-qst1)/||qed1-qst1||。
Constraint 2 is described by a mathematical expression as:
constraint conditions c are described by mathematical expressions as:
wherein,For maximum deceleration in the direction of the second path, a second path direction vector rp2=(qed-q2)/||qed-q2||;
The constraint condition (r) is described by a mathematical expression as:
the velocity of the start point of the transition trajectory can be obtained from equation (2), and can be obtained by combining equations (11) and (12):
therefore, the constraint conditions (i) and (ii) can be converted into the transition time constraint:
the transition trajectory end point velocity can be obtained from equation (2), and can be obtained by combining equations (13) and (14):
therefore, the constraint condition (c) and the constraint condition (c) can be converted into the transition time constraint:
therefore, according to the maximum acceleration of each motion joint of the robot and the preset speed limit condition, the motion state of the robot when moving along the target second-order Bezier curve is controlled, and the method specifically comprises the following steps:
s1042, controlling the motion time of the robot on the target second-order Bezier curve to meet the following requirements:
wherein T is the motion time of the robot on the target second-order Bezier curve,for the robot in a first path direction rp1The maximum deceleration of the vehicle (c) is,for the robot in a first path direction rp1Maximum speed of upper; q. q.sedIs the end point of the second path,for the robot in the second path direction rp2The maximum deceleration of the vehicle (c) is,for the robot in the second path direction rp2Upper, the maximum speed of the motor.
S1043, combining the derivation results of the above steps S1041 and S1042, the constraint of the transition trajectory speed and the acceleration can be converted into a constraint of the total transition time:
T≥max(T1,T2,T3) (21)
take T as max (T)1,T2,T3) Therefore, the speed and acceleration constraints in the transition track process can be met.
S1044, solving the initial position point q0End point q2After the position and the transition time T are obtained, the joint position and the joint velocity at each time of the transition locus can be obtained by substituting the above equations (1), (2) and (3)And (5) solving the transition track by the degree and the acceleration. Therefore, when the robot is controlled to transit from the first path to the second path, the robot is controlled to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along with the movement time.
In the embodiment of the present invention, in consideration of the scenario that a curved track is constructed between two motion paths to achieve an effect of improving the motion efficiency of the robot by enabling the robot to perform smooth transition between two adjacent motion paths, generally, the speed of the transition starting point or the transition ending point needs to be reduced to satisfy the relevant track constraint condition, which may cause the motion efficiency of the transition track to be reduced, and thus the effect of improving the motion efficiency of the robot cannot be achieved. Aiming at the problems, in the embodiment of the invention, the track of the transition path of the robot is constructed by adopting a second-order Bezier curve and a formulaTo select a suitable starting position point q on the target second-order Bezier curve0And a termination point q2. The initial position point q selected by the method provided by the embodiment of the invention0And a termination point q2When the robot moves along the target second-order Bezier curve in a mode that the curve parameters uniformly change along the movement time, the point q at the initial position does not need to be reduced in order to meet the related track constraint condition0And a termination point q2The speed of (2). In addition, the starting position point q selected by the method of the embodiment of the invention0And a termination point q2The method is not influenced by the change of the speed multiplying power of the robot, and the robot can move along the same target second-order Bezier curve under different speed multiplying powers.
Example two:
an embodiment of the present invention provides a robot control device, which is used for executing the robot control method. Fig. 7 is a schematic diagram of a possible structure of a robot control device according to an embodiment of the present invention. Specifically, the robot controller 20 includes: path determination section 201, transition point selection section 202, curve generation section 203, and control section 204.
Wherein:
a path determining unit 201, configured to determine two adjacent motion paths, a first path and a second path, in the motion process of the robot; wherein the first path and the second path intersect at a predetermined path point q1;
A transition point selection unit 202 for selecting a start position point q on the first path after the determination unit 201 determines the first path and the second path0Selecting a termination point q on the second path2(ii) a So that
Wherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them;
a curve generating unit 203 for selecting the starting position point q at the transition point selecting unit 2020And a termination point q2Then, starting from the point q0As a starting point, with an end point q2As an end point, a preset path point q is used1Constructing a target second-order Bezier curve for the control point;
and the control unit 204 is configured to, after the curve generating unit 203 constructs the target second-order Bezier curve, control the robot to move along the target second-order Bezier curve in a manner that the curve parameters uniformly change along the movement time when the robot transitions from the first path to the second path.
Optionally, as shown in fig. 8, the transition point selecting unit 202 specifically includes: a selecting subunit 2021 and a judging subunit 2022; a mobile subunit 2023; wherein the content of the first and second substances,
a selection subunit 2021 for selecting an initial starting point on the first pathSelecting an initial end point on the second pathDetermining an initial starting point for a robot while moving on a first pathSpeed of movement ofAnd the robot is at an initial end point while moving on the second pathSpeed of movement of
A judgment subunit 2022 for judgingAndthe magnitude relationship of (1); wherein the content of the first and second substances,indicating that the robot is at an initial starting point while moving on a first pathSpeed of movement ofThe scalar value of (a) is determined,indicating that the robot is at the initial end point while moving on the second pathSpeed of movement ofThe scalar value of (a) is determined,representing a predetermined path point q1And the initial starting pointThe distance between the two or more of the two or more,indicating the initial endpointAnd a predetermined path point q1The distance between them;
a mobile subunit 2023 for determiningWill initiate an endpointMoving to a preset path point; if it is determinedThen the initial starting point will beAnd moving to a preset path point.
Optionally, the control unit 204 is specifically configured to determine a motion state of the robot when the robot moves along the target second-order Bezier curve according to the maximum acceleration of each motion joint of the robot and a preset speed limit condition; wherein, the preset speed limiting condition at least comprises: when the robot decelerates along the first path at the initial position point with the maximum deceleration, the stop position of the robot does not exceed the preset path point; the speed of the robot at the starting position point must not be greater than the maximum speed of the robot on the first path; when the robot decelerates along the second path at the termination position point with the maximum deceleration, the stop position of the robot does not exceed the termination point of the second path; the velocity at the termination point does not exceed the maximum velocity on the second path.
Optionally, as shown in fig. 9, the control unit 204 specifically includes: an acceleration restraint subunit 2041; the acceleration constraint subunit 2041 is configured to control the motion time of the robot on the target second-order Bezier curve to satisfy:
wherein, T is the motion time of the robot on the target second-order Bezier curve, and D | | | q2-2q1+q0||,For robot edge raMaximum acceleration in direction; r isaThe direction is the acceleration direction of the robot when moving along the target second-order Bezier curve.
Optionally, as shown in fig. 9, the control unit 204 specifically includes: a speed limiting subunit 2042; the speed constraint subunit 2042 is configured to control the motion time of the robot on the target second-order Bezier curve to satisfy:
wherein T is the motion time of the robot on the target second-order Bezier curve,for the robot in a first path direction rp1The maximum deceleration of the vehicle (c) is,for the robot in a first path direction rp1Maximum speed of upper; q. q.sedIs the end point of the second path,for the robot in the second path direction rp2The maximum deceleration of the vehicle (c) is,for the robot in the second path direction rp2Upper, the maximum speed of the motor.
The functions and effects of the modules in the robot control device provided in the embodiments of the present invention may refer to the corresponding descriptions in the robot control method of the embodiments, and are not described herein again.
In the case of an integrated unit, fig. 10 shows a schematic view of a possible configuration of the robot controller according to the above embodiment. Robot controller 30 includes: a processing module 301, a communication module 302 and a storage module 303. The processing module 301 is used for controlling and managing the operation of the robot control device 30, for example, the processing module 301 is used for supporting the robot control device 30 to execute the processes S101 to S104 in fig. 1. The communication module 302 is used to support the communication of the robot control device with other entities. The storage module 303 is used to store program codes and data of the robot control device.
The processing module 301 may be a processor or a controller, such as a Central Processing Unit (CPU), a general-purpose processor, a Digital Signal Processor (DSP), an application-specific integrated circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, a transistor logic device, a hardware component, or any combination thereof. Which may implement or perform the various illustrative logical blocks, modules, and circuits described in connection with the disclosure. A processor may also be a combination of computing functions, e.g., comprising one or more microprocessors, a DSP and a microprocessor, or the like. The communication module 302 may be a transceiver, a transceiving circuit or a communication interface, etc. The storage module 303 may be a memory.
When the processing module 301 is a processor as shown in fig. 11, the communication module 302 is a transceiver as shown in fig. 11, and the storage module 303 is a memory as shown in fig. 11, the robot controller according to the embodiment of the present invention may be the following robot controller 40.
Referring to fig. 11, the robot controller 40 includes: a processor 401, a transceiver 402, a memory 403, and a bus 404.
The processor 401, the transceiver 402 and the memory 403 are connected to each other through a bus 404; the bus 404 may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The bus may be divided into an address bus, a data bus, a control bus, etc. For ease of illustration, only one thick line is shown, but this does not mean that there is only one bus or one type of bus.
The Memory 403 may be a Read-Only Memory (ROM) or other type of static storage device that can store static information and instructions, a Random Access Memory (RAM) or other type of dynamic storage device that can store information and instructions, an Electrically Erasable Programmable Read-Only Memory (EEPROM), a Compact Disc Read-Only Memory (CD-ROM) or other optical Disc storage, optical Disc storage (including Compact Disc, laser Disc, optical Disc, digital versatile Disc, blu-ray Disc, etc.), magnetic disk storage media or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer, but is not limited to these. The memory may be self-contained and coupled to the processor via a bus. The memory may also be integral to the processor.
Wherein the memory 403 is used for storing application program codes for executing the scheme of the present invention, and the execution is controlled by the processor 401. The transceiver 402 is used for receiving the content input by the external device, and the processor 401 is used for executing the application program code stored in the memory 403, thereby implementing the robot control method in the embodiment of the present invention.
It should be understood that, in various embodiments of the present invention, the sequence numbers of the above-mentioned processes do not mean the execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation on the implementation process of the embodiments of the present invention.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present invention.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the above-described systems, apparatuses and units may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again.
In addition, functional units in the embodiments of the present invention may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented using a software program, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The procedures or functions described in accordance with the embodiments of the invention are all or partially effected when the computer program instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or can comprise one or more data storage devices, such as a server, a data center, etc., that can be integrated with the medium. The usable medium may be a magnetic medium (e.g., floppy Disk, hard Disk, magnetic tape), an optical medium (e.g., DVD), or a semiconductor medium (e.g., Solid State Disk (SSD)), among others.
The above description is only for the specific embodiments of the present invention, but the scope of the present invention is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present invention, and all the changes or substitutions should be covered within the scope of the present invention. Therefore, the protection scope of the present invention shall be subject to the protection scope of the appended claims.
Claims (10)
1. A robot control method, comprising:
determining two adjacent motion paths, namely a first path and a second path, in the motion process of the robot; wherein the first path and the second path intersect at a predetermined path point q1;
Selecting a starting location point q on said first path0Selecting a termination point q on said second path2(ii) a So that
Wherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them;
with said starting position point q0As a starting point, with the end position point q2As an end point, the preset path point q is used1Constructing a target second-order Bezier curve for the control point;
and controlling the robot to move along the target second-order Bezier curve in a mode that the curve parameters are uniformly changed along the movement time when the robot is transited from the first path to the second path.
2. A robot control method according to claim 1, characterized in that said selecting a starting position point q on said first path0Selecting a termination point q on said second path2(ii) a So thatThe method specifically comprises the following steps:
selecting an initial starting point on said first pathSelecting an initial end point on the second pathDetermining that the robot is at the initial starting point while moving on the first pathSpeed of movement ofAnd the robot is at the initial end point while moving on the second pathSpeed of movement of
Judgment ofAndthe magnitude relationship of (1); wherein the content of the first and second substances,representing the robot at the initial starting point while moving on the first pathSpeed of movement ofThe value of the modulus of the (c) component,indicating that the robot is at the initial end point while moving on the second pathSpeed of movement ofThe value of the modulus of the (c) component,representing said predetermined path point q1And the initial starting pointThe distance between the two or more of the two or more,indicates the initial end pointAnd the preset path point q1The distance between them;
if it is determinedThe initial end point is setMoving to the preset path point; if it is determinedThe initial starting point is setMoving to the preset path point;
3. The robot control method according to claim 1, wherein the controlling the robot to move along the target second-order Bezier curve with a curve parameter that varies uniformly with movement time while transitioning from the first path to the second path comprises:
controlling the motion state of the robot when the robot moves along the target second-order Bezier curve according to the maximum acceleration of each motion joint of the robot and a preset speed limiting condition; wherein the content of the first and second substances,
the preset speed limiting conditions at least comprise: when the robot decelerates along the first path at the starting position point at the maximum deceleration, the stopping position of the robot does not exceed the preset path point; the speed of the robot at the starting position point must not be greater than the maximum speed of the robot on the first path; when the robot decelerates along the second path at the termination position point with a maximum deceleration, the stop position of the robot does not exceed the termination point of the second path; the speed at the termination point does not exceed a maximum speed on the second path.
4. The robot control method according to claim 3, wherein the controlling the motion state of the robot when moving along the target second-order Bezier curve according to the maximum acceleration of each moving joint of the robot and a preset speed limit condition specifically comprises:
controlling the motion time of the robot on the target second-order Bezier curve to meet the following conditions:
5. The robot control method according to claim 3, wherein the controlling the motion state of the robot when moving along the target second-order Bezier curve according to the maximum acceleration of each moving joint of the robot and a preset speed limit condition specifically comprises:
controlling the motion time of the robot on the target second-order Bezier curve to meet the following conditions:
wherein T is the motion time of the robot on the target second-order Bezier curve,for the robot in the first path direction rp1The maximum deceleration of the vehicle (c) is,for the robot in the first path direction rp1Maximum speed of upper; q. q.sedIs the end point of the second path,for the robot in the second path direction rp2The maximum deceleration of the vehicle (c) is,for the robot in the second path direction rp2Upper, the maximum speed of the motor.
6. A robot control apparatus, comprising:
the path determining unit is used for determining two adjacent motion paths, namely a first path and a second path, in the motion process of the robot; wherein the first path and the second path intersect at a predetermined path point q1;
A transition point selection unit for selecting a start position point q on the first path after the path determination unit determines the first path and the second path0Selecting a termination point q on said second path2(ii) a So that
Wherein the content of the first and second substances,representing the robot at the starting position point q while moving on the first path0The module value of the speed of motion of (d),representing the robot at the end point q while moving on the second path2The motion velocity module value, | q |1-q0| represents the preset path point q1And said starting position point q0Distance between, | q |2-q1| represents the termination point q2And the preset path point q1The distance between them;
a curve generating unit for selecting the starting position point q at the transition point selecting unit0And said termination point q2Then, using the starting position point q0As a starting point, with the end position point q2As an end point, the preset path point q is used1Constructing a target second-order Bezier curve for the control point;
and the control unit is used for controlling the robot to move along the target second-order Bezier curve in a mode that curve parameters are uniformly changed along with the movement time when the robot is transited from the first path to the second path after the curve generating unit constructs the target second-order Bezier curve.
7. The robot controller according to claim 6, wherein the transition point selection unit specifically includes: selecting a subunit and judging the subunit; a mobile subunit; wherein the content of the first and second substances,
the selecting subunit is configured to select an initial starting point on the first pathSelecting an initial end point on the second pathDetermining that the robot is at the initial starting point while moving on the first pathSpeed of movement ofAnd the robot is at the initial end point while moving on the second pathSpeed of movement of
A judgment subunit for judgingAndthe magnitude relationship of (1); wherein the content of the first and second substances,representing the robot at the initial starting point while moving on the first pathSpeed of movement ofThe value of the modulus of the (c) component,indicating that the robot is at the initial end point while moving on the second pathSpeed of movement ofThe value of the modulus of the (c) component,representing said predetermined path point q1And the initial starting pointThe distance between the two or more of the two or more,representing the initial end pointAnd the preset path point q1The distance between them;
8. The robot controller according to claim 6,
the control unit is specifically used for determining the motion state of the robot when the robot moves along the target second-order Bezier curve according to the maximum acceleration of each motion joint of the robot and a preset speed limit condition; wherein the content of the first and second substances,
the preset speed limiting conditions at least comprise: when the robot decelerates along the first path at the starting position point at the maximum deceleration, the stopping position of the robot does not exceed the preset path point; the speed of the robot at the starting position point must not be greater than the maximum speed of the robot on the first path; when the robot decelerates along the second path at the termination position point with a maximum deceleration, the stop position of the robot does not exceed the termination point of the second path; the speed at the termination point does not exceed a maximum speed on the second path.
9. The robot control device according to claim 8, wherein the control unit specifically includes: an acceleration restraint subunit;
the acceleration constraint subunit is configured to control the motion time of the robot on the target second-order Bezier curve to satisfy:
10. The robot control device according to claim 8, wherein the control unit specifically includes: a speed constraint subunit;
the speed constraint subunit is configured to control a motion time of the robot on the target second-order Bezier curve to satisfy:
wherein T is the motion time of the robot on the target second-order Bezier curve,for the robot in the first path direction rp1The maximum deceleration of the vehicle (c) is,for the robot in the first path direction rp1Maximum speed of upper; q. q.sedIs the end point of the second path,for the robot in the second path direction rp2The maximum deceleration of the vehicle (c) is,for the robot in the second path direction rp2Upper, the maximum speed of the motor.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548931.XA CN111331591B (en) | 2018-12-18 | 2018-12-18 | Robot control method and device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811548931.XA CN111331591B (en) | 2018-12-18 | 2018-12-18 | Robot control method and device |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111331591A CN111331591A (en) | 2020-06-26 |
CN111331591B true CN111331591B (en) | 2021-04-16 |
Family
ID=71175777
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811548931.XA Active CN111331591B (en) | 2018-12-18 | 2018-12-18 | Robot control method and device |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111331591B (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114055459B (en) * | 2020-08-06 | 2023-05-02 | 库卡机器人(广东)有限公司 | Track planning method, device, electronic equipment and storage medium |
CN114508222B (en) * | 2020-11-16 | 2023-06-20 | 广东博智林机器人有限公司 | Robot-based knife coating operation method and device |
CN113848932B (en) * | 2021-10-09 | 2023-12-01 | 国网智能科技股份有限公司 | Valve hall fire-fighting robot laser navigation system and method |
CN114815846A (en) * | 2022-05-11 | 2022-07-29 | 深圳市正浩创新科技股份有限公司 | Movement control method and device for self-moving equipment and storage medium |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03213284A (en) * | 1990-01-19 | 1991-09-18 | Yokogawa Electric Corp | Robot controller |
CN105500354A (en) * | 2016-02-02 | 2016-04-20 | 南京埃斯顿机器人工程有限公司 | Transitional track planning method applied by industrial robot |
CN105710881A (en) * | 2016-03-16 | 2016-06-29 | 杭州娃哈哈精密机械有限公司 | Continuous trajectory planning transition method for robot tail end |
CN106313047A (en) * | 2016-09-28 | 2017-01-11 | 华中科技大学 | Robot real-time corner transition method based on Bezier spline |
CN106826829A (en) * | 2017-02-22 | 2017-06-13 | 武汉工程大学 | A kind of industrial robot fairing trace generator method of Controllable Error |
CN108568817A (en) * | 2018-03-13 | 2018-09-25 | 同济大学 | A kind of Delta robot trajectories connection control method based on Bezier |
-
2018
- 2018-12-18 CN CN201811548931.XA patent/CN111331591B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH03213284A (en) * | 1990-01-19 | 1991-09-18 | Yokogawa Electric Corp | Robot controller |
CN105500354A (en) * | 2016-02-02 | 2016-04-20 | 南京埃斯顿机器人工程有限公司 | Transitional track planning method applied by industrial robot |
CN105710881A (en) * | 2016-03-16 | 2016-06-29 | 杭州娃哈哈精密机械有限公司 | Continuous trajectory planning transition method for robot tail end |
CN106313047A (en) * | 2016-09-28 | 2017-01-11 | 华中科技大学 | Robot real-time corner transition method based on Bezier spline |
CN106826829A (en) * | 2017-02-22 | 2017-06-13 | 武汉工程大学 | A kind of industrial robot fairing trace generator method of Controllable Error |
CN108568817A (en) * | 2018-03-13 | 2018-09-25 | 同济大学 | A kind of Delta robot trajectories connection control method based on Bezier |
Also Published As
Publication number | Publication date |
---|---|
CN111331591A (en) | 2020-06-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111331591B (en) | Robot control method and device | |
CN108549328B (en) | Self-adaptive speed planning method and system | |
CN107980109B (en) | Robot motion trajectory planning method and related device | |
CN107980108B (en) | Robot motion trajectory planning method and related device | |
EP2022608A2 (en) | Improved blending algorithm for trajectory planning | |
Xie et al. | Vibration reduction for flexible systems by command smoothing | |
US11541540B2 (en) | Method and apparatus for trajectory-planning | |
CN110377065B (en) | Speed control method, apparatus and computer readable storage medium | |
CN111761581A (en) | Path planning method and device, and narrow space traveling method and device | |
WO2022161315A1 (en) | Robot path planning method, operation method, robot and medium | |
CN109313429B (en) | S-shaped speed planning method, device and system, robot and numerical control machine | |
US11185981B2 (en) | Robot control apparatus, robot control method, and program | |
KR102297735B1 (en) | Robot control apparatus, robot control method, and program | |
CN110398993B (en) | Speed control method, apparatus and computer readable storage medium | |
CN113858213B (en) | Robot dynamic track planning method for target synchronization | |
WO2019186815A1 (en) | Self-propelled device, self-propelling method, and recording medium | |
CN113852321A (en) | Instruction generation device, instruction generation method, and computer readable medium | |
CN112711252A (en) | Mobile robot, path tracking method thereof, and computer-readable storage medium | |
JP7020092B2 (en) | Crane operation control device | |
JP2020102183A (en) | Control device and method for controlling mechanical equipment | |
US20240077845A1 (en) | Numerical controller and numerical control program | |
CN113253687B (en) | Method and device for optimizing scheduling based on arc connectivity and electronic equipment | |
CN111670093A (en) | Robot motion control method, control system and storage device | |
CN116985136B (en) | Quaternion-based mechanical arm node attitude speed look-ahead control method and device | |
CN114589695B (en) | Transfer method, device and storage medium for robot motion trail |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CP01 | Change in the name or title of a patent holder | ||
CP01 | Change in the name or title of a patent holder |
Address after: 230013 Southwest District of Hefei City, Anhui Province Patentee after: Hefei xinyihua Intelligent Machine Co.,Ltd. Address before: 230013 Southwest District of Hefei City, Anhui Province Patentee before: HEFEI SINEVA INTELLIGENT MACHINE Co.,Ltd. |