[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN108927825A - Multi-axis robot structural parameters accurate measurement method based on axis invariant - Google Patents

Multi-axis robot structural parameters accurate measurement method based on axis invariant Download PDF

Info

Publication number
CN108927825A
CN108927825A CN201810933375.1A CN201810933375A CN108927825A CN 108927825 A CN108927825 A CN 108927825A CN 201810933375 A CN201810933375 A CN 201810933375A CN 108927825 A CN108927825 A CN 108927825A
Authority
CN
China
Prior art keywords
axis
invariant
vector
rod piece
sequence
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.)
Granted
Application number
CN201810933375.1A
Other languages
Chinese (zh)
Other versions
CN108927825B (en
Inventor
居鹤华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201810933375.1A priority Critical patent/CN108927825B/en
Priority to PCT/CN2018/112641 priority patent/WO2020034402A1/en
Publication of CN108927825A publication Critical patent/CN108927825A/en
Application granted granted Critical
Publication of CN108927825B publication Critical patent/CN108927825B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J19/00Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
    • B25J19/0095Means or methods for testing manipulators
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/02Programme-controlled manipulators characterised by movement of the arms, e.g. cartesian coordinate type
    • B25J9/023Cartesian coordinate type

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Length Measuring Devices With Unspecified Measuring Means (AREA)
  • Manipulator (AREA)

Abstract

The multi-axis robot structural parameters accurate measurement method based on axis invariant that the invention discloses a kind of.Multi-axis robot system is established, multi-axis robot system includes rod piece sequence and joint sequence, the joint sequence set in chain is converted into corresponding axis sequence and his father's axis sequence, the axis of axis sequence is translation shaft or rotation axis;The description multi-axis robot system is corresponded to using axis set, based on natural system of coordinates, natural joint space is with natural coordinates system for reference, and the origin of natural coordinates system is located at joints axes and coordinate system direction is consistent in system reset;Fixing axle invariant is constituted by the position vector of origin on axis invariant and axis.Using the measuring point on laser tracker or other measuring devices measurement rod piece, measurement process is always successively carried out by root rod piece to leaf rod piece, guarantees the accuracy of modeling.

Description

Multi-axis robot structural parameters accurate measurement method based on axis invariant
Technical field
The present invention relates to a kind of multi-axis robot structural parameters accurate measurement methods, belong to robotic technology field.
Background technique
Multiple axes system models the risk management for needing to realize system topological, coordinate system, structure parameter and matter inertia, ability Accuracy, reliability and the real-time that guarantee system is realized.The kinematics and kinetic model of risk management are machine intelligences Importance and system suitability and inheritance basis.For multi-axis robot system, in machining and assembling process In can inevitably lead to design structure parameter there are errors, it is therefore desirable to solve the engineering structure ginseng of multi-axis robot system The problem of number (Engineering Structure Parameters) precise measurement.
Summary of the invention
The multiaxis multi-axis robot structure ginseng based on axis invariant that technical problem to be solved by the invention is to provide a kind of Number accurate measurement methods are avoided with cartesian cartesian coordinate system to ask with reference to caused multi-axis robot structural parameters measurement error is excessive Topic.
In order to solve the above technical problems, the invention adopts the following technical scheme:
A kind of multi-axis robot structural parameters accurate measurement method based on axis invariant, characterized in that
Multi-axis robot system D={ T, A, B, K, F, NT } is established, multi-axis robot system includes rod piece sequence and joint The joint sequence set in chain is converted into corresponding axis sequence and his father's axis sequence by sequence, and the axis of the axis sequence is translation shaft Or rotation axis;
The description multi-axis robot system is corresponded to using axis set, based on natural system of coordinates, natural joint is empty Between be with natural coordinates system F for reference, the origin of natural coordinates system F is located at joints axes and the coordinate system in system reset Direction is consistent;
Wherein:For oriented Span tree, A is axis sequence, and F is rod piece Referential sequence, B are rod piece body sequence, and K is kinematic pair type sequence, and NT is the sequence, that is, non-tree for constraining axis;F is that Descartes is straight Angular coordinate system sequence.To take axis sequenceMember;Revolute pair R, prismatic pair P, screw pair H, Contact Pair O;
Fixing axle invariant is constituted by the position vector of origin on axis invariant and axis, multiple axes system structural parameters are solid Dead axle invariantConfiguration space is expressed as
Wherein, kinematic pair Along axisLine position,Around axisAngle Position;Joint variable qlFor By origin when zero-bitTo origin OlTranslation vector;
Using the measuring point l on laser tracker or other measuring devices measurement rod piece lS′And lS, measurement process is always by root Rod piece is successively carried out to leaf rod piece;
Each axis fixing axle invariant is determined using laser tracker or other measuring devices measurement mechanical arm distal point, is measured Process is always successively carried out by root rod piece to leaf rod piece.
Measuring process includes
Firstly, obtaining rod piece l rotationPoint position after angle isAnd
Then, rod piece l rotation is obtainedPoint position after angle isAnd
Finally, unit location vector is calculatedAnd
When system is in zero-bit, fixing axle invariantBy laser tracker or 3D Coordinate measuring machine obtains.
By origin when for zero-bitTo origin OlTranslation vector, and rememberIndicate position construction parameter;Relatively Common reference system F[i]The measurement of axis invariant is fixed;
Measuring prism and tested rod piece l are consolidated, laser tracker i tracking measurement prism centers l is passed throughSPosition, obtain To corresponding position vectorTo obtain the unit vector with tested rod piece l consolidation
Axis invariantCalculating step are as follows:
Firstly, using Euler's quaternary number formulaIt determines in Euler's quaternary numberAnd
Secondly, its conjugate matrices operation substitutes by Euler's quaternary number multiplying, obtain
Then, according toSubstitution formula?
Finally, being obtained by double vector posture formulas
The determination process of double vector posture formulas are as follows:
By first unit vectorTo target unit vectorPosture, be equivalent to around axisRotational angleWherein:Then there are double vector posture formulas are as follows:
It is obtained by above formula
Wherein:| | for preventing numerical value Spilling when calculating.
Determine fixing axle invariant origin process are as follows:
By measuring point lS′And lSMidpointTo axisThe intersection point obtained as vertical line is defined as axisFixed point Ol。S'、S、 S*For the point in rod piece l.Then have
It is obtained by (18)
In above formula, rotation transformation battle array
It is obtained by formula (19)
Consider fixed point OlIt is midpointProjection, that is, have
ByAnd formula (20)
Formula (21) are substituted into formula (19) to obtainirl,
Or
From the foregoing, it will be observed that conditionThan orthogonal basis elIt is more easily satisfied.It includes processing that this method, which facilitates precise measurement, And the axis invariant of rigging error.
When engineering survey, by system root rod piece, until all leaf;After one rod piece of every measurement, that is, made It is dynamic;Selecting the state after all rod pieces are braked is zero-bit state, is denoted as by the joint variable that joint sensors measureReferred to as mechanical zero;And have
So far, system structure parameter fixing axle invariant is obtainedAnd mechanical zero
Multiple axes system control amount is denoted asMeanwhile with non-natural coordinate system be reference joint variable In the presence of referring to zero-bitJoint variable qlWith control amount qΔ, mechanical zeroAnd refer to zero-bitRelationship is as follows
Each axis fixing axle invariant is determined using laser tracker or other measuring devices measurement mechanical arm distal point:
Laser tracking ball by being fixed on mechanical arm tail end determines fixing axle invariant, when one tracking ball in end, Each joint turn 3 times, measure 3 points, when obtaining two tracking balls of two vectors or end, respectively track two laser with Track ball, each articulation is primary, obtains two vectors, then determines fixing axle invariant using accurate measurement method.
Advantageous effects of the invention:
The method of this method in engineering can be with precise measurement fixing axle invariant based on natural system of coordinatesIt can To reach the repeatable accuracy in joint, it is excessive with reference to caused structural parameters measurement error for avoiding with cartesian cartesian coordinate system Problem, the development for accurate multi-axis robot system are laid a good foundation.
The present invention proposes and demonstrates the multiple axes system structural parameters precision measurement method based on axis invariant, and feature exists In: the structural parameters based on fixing axle invariant directly obtained using laser tracker or other measuring device accurate measurements, Guarantee the accuracy of modeling.
Multiple axes system kinematics based on axis invariant has unified the classical kinematics principle of four-dimensional plural number and quaternary number;It mentions The high compactedness of multiple axes system Real-Time Kinematic systems;To improve the calculating efficiency of kinematics system.
Detailed description of the invention
Fig. 1 natural system of coordinates and axis chain;
Fig. 2 fixing axle invariant;
Fig. 3 radially projecting and natural zero-bit schematic diagram;
Fig. 4 fixed-axis rotation schematic diagram;
Fig. 5 axis invariant accurate measurement schematic diagram;
The origin of Fig. 6 fixing axle invariant determines schematic diagram.
Specific embodiment
The invention will be further described below in conjunction with the accompanying drawings.Following embodiment is only used for clearly illustrating the present invention Technical solution, and not intended to limit the protection scope of the present invention.
Define 1 natural coordinates axis: title is coaxial with kinematic axis or measurement axis, and the unit reference axis with fixed origin is certainly Right reference axis, also known as nature reference axis.
Define 2 naturals system of coordinates: as shown in Figure 1, if multiple axes system D is in zero-bit, all Descartes's body coordinate system directions Unanimously, and body coordinate origin is located on the axis of kinematic axis, then the coordinate system is natural coordinates system, abbreviation natural coordinates System.
Natural system of coordinates advantage is: (1) coordinate system easily determines;(2) joint variable when zero-bit is zero;(3) zero-bit When posture it is consistent;(4) it is not easily introduced measurement accumulated error.
By definition 2 it is found that when system is in zero-bit, the natural system of coordinates and pedestal of all rod pieces or the direction of system of the world Unanimously.System is in zero-bitWhen, natural system of coordinatesAround axial vectorRotational angleIt willGo to F[l]?Under coordinate vector withIn F[l]Under coordinate vectorIt is identical, that is, have
Known by above formula,OrIndependent of adjacent coordinate systemAnd F[l];Therefore claimOrFor axis invariant.? When not emphasizing invariance, coordinate vector (abbreviation axial vector) can be referred to as.OrCharacterization is bodyIt is shared with body l Reference units coordinate vector, with reference pointAnd OlIt is unrelated.BodyIt is rod piece or axis with body l.
Axis invariant and reference axis have essential distinction:
(1) reference axis is that have the reference direction of zero-bit and unit scales, can describe the position being translatable in the direction, but Rotational angle around the direction cannot completely be described, because reference axis itself does not have radial reference direction, i.e., there is no characterizations The zero-bit of rotation.In practical application, requiring supplementation with the radial reference of the axis.Such as: in Descartes system F[l]In, it is rotated around lx, It need to be with reference to zero-bit with ly or lz.Reference axis itself is 1D, and 3 orthogonal 1D reference axis constitute Descartes's frame of 3D.
(2) axis invariant is the mikey reference axis of 3D, its own is exactly a frame.Its own has radial reference Axis refers to zero-bit.Solid axes and the radial reference axis of its own can determine Descartes's frame.Solid axes can be with Reflect kinematic axis and measure three of axis and refers to attribute substantially.
The axial vector of no chain index is denoted as by existing documentAnd referred to as Euler's axis (Euler Axis), corresponding joint Angle is known as Eulerian angles (Euler Angle).Why the application no longer continues to use Euler's axis, and referred to as axis invariant, be because Axis invariant has with properties:
[1] rotation transformation battle array is givenBecause it is real matrix, mould is unit, therefore it has a factual investigation λ1And Two complex eigenvalue λ being conjugated each other2=eAnd λ3=e-iφ;Wherein: i is pure imaginary number.Therefore, | λ1|·||λ2||·||λ3|| =1, obtain λ1=1.Axial vectorIt is factual investigation λ1=1 corresponding characteristic vector, is invariant;
[2] it is 3D reference axis, not only there is axial reference direction, but also there is radial direction to refer to zero-bit, will saves and give in 3.3.1 To illustrate.
[3] under natural system of coordinates:That is axis invariantIt is very special vector, it leads the time Number also has invariance, and has very good mathematical operations performance;
For axis invariant, absolute derivative is exactly its Relative Derivations.Because axis invariant is the nature with invariance Reference axis, therefore its absolute derivative perseverance is zero vector.Therefore, axis invariant has the invariance to time diffusion.Have:
[4] in natural coordinates system, pass through axial vectorAnd joint variableRotational coordinates battle array can be described directlyIt is not necessary to establish respective system for the rod piece in addition to root.Meanwhile needing the root coordinate system that defines for ginseng with unique It examines, the measurement accuracy of system structure parameter can be improved;
[5] axial vector is appliedSuperior operational, by establish include topological structure, coordinate system, polarity, structure parameter and power Learn the unified multiple axes system kinematics and kinetic model of the risk management of parameter.
Because of base vector elIt is and F[l]Any vector of consolidation, base vectorBe withAny vector of consolidation, againIt is F[l]AndShared unit vector, thereforeIt is F[l]AndShared base vector.Therefore, axis invariantIt is F[l]AndAltogether Some refers to base.Axis invariant is the natural coordinates base of parametrization, is the primitive of multiple axes system.The translation of fixing axle invariant with Translation and the rotation for rotating the coordinate system consolidated with it are of equal value.
It is reference with natural system of coordinates when system is in zero-bit, measurement obtains coordinate vectorIn kinematic pair When movement, axial vectorIt is invariant;Axial vectorAnd joint variableUniquely determine kinematic pairRotation relation.
Therefore, using natural coordinates system, when system is in zero-bit, only a public referential need to be determined, without Respective body coordinate system must be determined for each rod piece in system, because they are uniquely determined by axis invariant and natural coordinates.When Carry out network analysis when, in addition to pedestal system, with rod piece consolidation other naturals system of coordinates only occur in it is conceptive, and with it is actual It measures unrelated.Natural coordinates system is multiple axes system (MAS) theory analysis and engineering effect:
(1) the structural parameters measurement of system needs to measure with unified referential;Otherwise, not only engineering survey process is tired It is trivial, and introduce different system and can introduce bigger measurement error.
(2) natural coordinates system is applied, in addition to root rod piece, the natural coordinates system of other rod pieces is by structure parameter and joint Variable determines naturally, facilitates the kinematics and dynamics analysis of MAS system.
(3) in engineering, it can realize using optical measuring apparatus such as laser trackers to the accurate of fixing axle invariant Measurement.
(4) due to the special case that kinematic pair R and P, screw pair H, Contact Pair O are cylindrical pair C, can simplify using cylindrical pair MAS kinematics and kinetics analysis.
Define 3 invariants: the amount measured independent of one group of coordinate system is referred to as invariant.
Define 4 rotational coordinates vectors: around coordinate vectorTurn to Angle PositionCoordinate vectorFor
Define 5 translation coordinate vectors: along coordinate vectorIt is translatable to line positionCoordinate vectorFor
Define 6 natural coordinates: using natural coordinates axial vector as reference direction, the Angle Position of relative system zero-bit or line position It sets, is denoted as ql, referred to as natural coordinates;The amount mapped one by one with natural coordinates is referred to as joint variable;Wherein:
Define 7 mechanical zeros: for kinematic pairT is carved at the beginning0When, the zero-bit of joint absolute encoderIt is different It is set to zero, which is known as mechanical zero;
Therefore jointControl amountFor
Define 8 proper motion vectors: will be by natural coordinates axial vectorAnd natural coordinates qlDetermining vectorReferred to as certainly Right motion vector.Wherein:
Proper motion vector realizes the Unified Expression of axis translation and rotation.It will be determined by natural coordinates axial vector and joint Vector, such asReferred to as free movement vector, also known as free spiral rotation.Obviously, axial vectorBe it is specific from By spiral.
Define 9 joint spaces: with joint natural coordinates qlThe space of expression is known as joint space.
Define 10 configuration spaces: the cartesian space of expression position and posture (abbreviation pose) is referred to as configuration space, is double Vector space or the space 6D.
It defines 11 natural joint spaces: being reference with natural system of coordinates, pass through joint variableIt indicates, in system zero-bit Must haveJoint space, referred to as natural joint space.
As shown in Fig. 2, given chain linkOrigin OlBy position vectorThe axial vector of constraintFor fixed axial vector, note ForWherein:
Axial vectorIt is the natural reference axis of joint natural coordinates.CauseIt is axis invariant, therefore claimsIt is constant for fixing axle Amount, it characterizes kinematic pairStructural relation, that is, natural coordinates axis has been determined.Fixing axle invariantIt is chain linkStructure The natural description of parameter.
Define 12 natural coordinates shaft spaces: using fixing axle invariant as nature reference axis, with corresponding natural coordinates table The space shown is known as natural coordinates shaft space, referred to as natural shaft space.It is the 3d space with 1 freedom degree.
As shown in Fig. 2,AndNot because of rod piece ΩlMovement and change, be constant structural reference amount.It has determined Axis l is relative to axisFive structural parameters;With joint variable qlTogether, rod piece Ω is completely expressedlThe position 6D shape.It is givenWhen, the natural system of coordinates of rod piece consolidation can be by structural parametersAnd joint variableIt is unique true It is fixed.Claim axis invariantFixing axle invariantJoint variableAndFor natural invariant.Obviously, constant by fixing axle AmountAnd joint variableThe joint nature invariant of compositionWith by coordinate systemThe space bit shape determined to F [l]With mapping relations one by one, i.e.,
Given multiple axes system D={ T, A, B, K, F, NT }, in system zero-bit, as long as establishing pedestal system or inertial system, with And the reference point O on each axisl, other member coordinates also determine naturally.Substantially, it is only necessary to determine pedestal system or inertial system.
A given structure diagram with closed chain connected by kinematic pair, can select any of circuit kinematic pair, The stator and mover that form the kinematic pair is separated;To obtain a loop-free tree, referred to as Span Tree.T indicates the span tree with direction, to describe the topological relation of tree chain movement.
I is structural parameters;A is axis sequence, and F is rod piece referential sequence, and B is rod piece body sequence, and K is kinematic pair type sequence Column, NT are the sequence, that is, non-tree for constraining axis.To take axis sequenceMember.Revolute pair R, prismatic pair P, screw pair H, Contact Pair O is the special case of cylindrical pair C.
The basic topology symbol and operation for describing kinematic chain are the bases for constituting kinematic chain topology notation, and definition is such as Under:
[1] kinematic chain by partial ordering set (] mark.
【2】A[l]For the member for taking axis sequence A;Because there is axis name l unique number to correspond to A[l]Serial number, therefore A[l]Meter Calculation complexity is O (1).
【3】For the father's axis for taking axis l;AxisComputation complexity be O (1).Computation complexity O () indicates calculating process Number of operations, the number for being often referred to floating multiplication and adding.With floating multiplication with plus number expression computation complexity it is very loaded down with trivial details, therefore often Using the primary operational number in algorithm cyclic process;Such as: the number of the operations such as joint position, speed, acceleration.
【4】To take axis sequenceMember;Computation complexity is O (1).
【5】llkTo take the kinematic chain by axis l to axis k, output is expressed asAndRadix note For |llk|。llkImplementation procedure: it executesIfThen executeOtherwise, terminate.llkComputation complexity be O (|llk|)。
【6】lL is the son for taking axis l.The operation indicates the address k that member l is found in A;To obtain the sub- A of axis l[k]。 CauseWithout partial order structure, thereforelThe computation complexity of l is
【7】lL, which indicates to obtain, closes subtree by what axis l and its subtree were constituted,l LFor the subtree without l;Recurrence executeslL is calculated Complexity is
[8] branch, the increase of subtree and non-tree arc and delete operation are also necessary component part;To pass through dynamic Span tree and Dynamic Graph describe primary topology.In branchllkIn, ifThen remember I.e.Indicate the son that member m is taken in branch.
Define following formula or expression-form:
Axis and rod piece have one-to-one correspondence property;The attribute amount of between centersAnd the attribute amount between rod pieceWith partial order.
Agreement:Indicate attribute occupy-place;If attribute p or P be about position,It is interpreted as coordinate system's Origin is to F[l]Origin;If attribute p or P be about direction,It is interpreted as coordinate systemTo F[l]
AndIt should be interpreted as the function about time t respectivelyAndAndAndIt is t0Moment Constant or constant array.But romanAndIt should be regarded as constant or constant array.
Arrange in the application: in kinematic chain symbolic operation system, attribute variable or constant with partial order, nominally Index comprising indicating partial order;Comprising the upper left corner and lower right corner index or include the upper right corner and lower right corner index;They Direction always by upper left corner index to lower right corner index, or by upper right corner index to lower right corner index, be narration in the application Simplicity omits the description in direction sometimes, even if omitting, those skilled in the art are by character expression it will also be appreciated that this Shen Please in use each parameter, for certain attribute accord with, their direction is always by the upper left corner index of partial order index to the lower right corner Index, or by upper right corner index to lower right corner index.Such as:It can sketch (to indicate the vector that is translatable by k to l);Indicate (by K is to l's) line position;Indicate (by k to l's) translation vector;Wherein: r indicates that " translation " attribute symbol, remaining attribute symbol correspond to Are as follows: attribute, which accords with φ, indicates " rotation ";Attribute, which accords with Q, indicates " rotational transformation matrix ";Attribute, which accords with l, indicates " kinematic chain ";Attribute accords with u table Show " unit vector ";Attribute, which accords with w, indicates " angular speed ";Footmark is that i indicates inertial coodinate system or earth coordinates;Other footmarks can Think other letters, or number.
The specification of symbols of the application and agreement are according to the partial order of kinematic chain, chain link be kinematic chain basic unit this two What a principle determined, reflect the substantive characteristics of kinematic chain.Chain index expression is connection relationship, the reference of upper right index characterization System.It is succinct using this symbolic formulation, accurate, convenient for exchange and wirtiting.Meanwhile they are the notations of structuring, The element and relationship for forming each attribute amount are contained, is convenient for computer disposal, lays the foundation for computer auto-building modle.Index Meaning needs the background i.e. context accorded with by attribute to be understood;Such as: if attribute symbol is translation type, the upper left corner refers to Mark origin and the direction of indicates coordinate system;If attribute symbol is rotary type, the direction of upper left corner index expression coordinate system.
(1)lSPoint S in rod piece l;And the point S in S representation space.
(2)The origin O of rod piece kkTo the origin O of rod piece llTranslation vector;
In natural system of coordinates F[k]Under coordinate vector, i.e., by the coordinate vector of k to l;
(3)Origin OkTo point lSTranslation vector;
In F[k]Under coordinate vector;
(4)Origin OkTo the translation vector of point S;
In F[k]Under coordinate vector;
(5)Connecting rodAnd the kinematic pair of rod piece l;
Kinematic pairAxial vector;
AndExist respectivelyAnd F[l]Under coordinate vector;It is axis invariant, is a structural constant;
For gyration vector, gyration vector/angle vectorIt is free vector, i.e., the vector can free shift;
(6)Along axisLine position (translation position),
Around axisAngle Position, i.e. joint angle, joint variable are scalar;
(7) when lower left corner index is 0, mechanical zero is indicated;Such as:
Translation shaftMechanical zero,
Rotation axisMechanical zero;
(8) 0- three-dimensional null matrix;1- three-dimensional unit matrix;
(9) arrange: " " indicate continuation character;Indicate attribute occupy-place;Then
Power symbolIt indicatesX power;Upper right corner footmark ∧ orIndicate separator;Such as:OrForX power.It indicates the transposition of, indicates not execute transposition to member to set transposition;Such as:
For projection symbol, indicate vector or second-order tensor to the projection vector or projection sequence of reference base, i.e. coordinate vector Or coordinate array, projection are dot-product operation " ";Such as: position vectorIn coordinate system F[k]In projection vector be denoted as
For multiplication cross symbol;Such as:It is axis invariantMultiplication cross matrix;Give any vectorMultiplication cross matrix be Multiplication cross matrix is second-order tensor.
The priority that multiplication cross accords with operation is higher than projection symbolPriority.Projection symbolPriority be higher than member access symbolOrMember accesses symbolPriority is accorded with higher than power
(10) projection vector of the unit vector in earth coordinatesUnit zero-bit vector
(11)By origin when zero-bitTo origin OlTranslation vector, and rememberIndicate position construction parameter.
(12)iQl, the rotation transformation battle array of opposite absolute space;
(13) using natural coordinates axial vector as reference direction, the Angle Position or line position of relative system zero-bit are denoted as ql, claim For natural coordinates;Joint variableNatural joint coordinate is φl
(14) orderly set r=[1,4,3,2] is given for oneT, remember r[x]Expression takes the xth row element of set r.Often Note [x], [y], [z] and [w] expression takes the column element of the 1st, 2,3 and 4.
(15)iljIndicate the kinematic chain by i to j;llkTo take the kinematic chain by axis l to axis k;
Given kinematic chainIf n indicates Descartes's rectangular system, claimFor cartesian axis Chain;If n indicates nature reference axis, claimFor natural axis chain.
(16) Rodrigues quaternary number expression-form:
Euler's quaternary number expression-form:
Quaternary number (also referred to as axis quaternary number) expression-form of invariant
1. the precise measurement principle of fixing axle invariant
Because the machining of multiple axes system and assembling process (Machining and Assembly Processes) can not Leading to design structure parameter (Design Structure Parameters) avoidablely, there are errors, so needing to solve more The problem of engineering structure parameter (Engineering Structure Parameters) precise measurement of axle system.In the following, explaining State the engineering knot using automatic laser tracker (Automatic Laser Tracking System) precise measurement multiple axes system The method of structure parameter.
Under adjacent natural system of coordinates, adjacent rod piece l andAxial vector coordinate having the same;On the other hand, axis is sweared AmountBy originIt is directed towardOutside, axial vectorBy origin OlIt is directed toward OlOutside, their coordinates having the same, i.e. axis InvariantWith ordering relation, its positive sequence and backward indistinction.Therefore
In multiple axes system theory, because of axial vectorReference axis as joint actuator and sensor is system reference Specification, therefore formulaPerseverance is set up, i.e. axial vectorIt is invariant.
2. the zero-bit shafting based on axis invariant
As shown in figure 3, given kinematic pairAxial vectorAnd the zero-bit (Zero position) with unit length VectorAnd S is located in unit sphere;Claim axial vectorTo zero-bit vectorUnit vector after direction rotates 90 ° is certainly Right zero axle (Natural zero axis) vector, is denoted asBy axial vectorAnd natural zero axleIt can be determined by right-handed system Natural radial axle (Radial axis) vectorBy the natural zero axle of system initial timeAnd radial axleIt is denoted as respectively AndAnd it is referred to as system zero-bit axial vector and system zero-bit radial axle vector.
Then have: zero-bit vectorTo axial vectorProjecting scalar, that is, coordinate isZero-bit vectorTo axial vectorProjection vector isZero-bit vectorTo zero-bit axial vectorProjection vector isTherefore obtain zero-bit vectorRadially projecting transformationAnd system zero-bit projective transformationRespectively
Axial vectorIt is rightMoment vector (Moment Vector) beZero-bit vectorIt is expressed as
3. the fixed-axis rotation based on axis invariant
As shown in figure 4, given axial vectorAnd the unit vector consolidated with itBefore rotation, for unit vector To system null axisProjection vector beTo system radial axleMoment vector ForRadial vector is
Axial vectorRelative to rod pieceAnd ΩlOr natural system of coordinatesAnd F[l]It is fixed and invariable, therefore claims the rotation For fixed-axis rotation.Unit vectorAround axisRotationAfterwards, the zero-bit vector after rotationTo system null axisProjection Vector isZero-bit vector after rotationTo system radial axleMoment vector beAxial component isTherefore there must be the Rodrigues vector equation of chain index
Because of vectorBe arbitrary andThere must be the Rodrigues rotation equation of chain index
IfBy formula (4), obtainIfThat is coordinate systemWith F[l]Direction it is consistent, by formula (4) known to: skew-symmetric partMust haveTherefore, system zero-bit is natural system of coordinatesWith F[l]Weight The sufficient and necessary condition of conjunction, i.e. the natural system of coordinates direction of initial time are unanimously the preconditions that system zero-bit defines.It utilizes Natural system of coordinates can easily analyze MAS system kinematics and dynamics.
Work as given angleAfterwards, just, cosineAnd its half-angle just, cosine Sl、ClIt is constant;For convenience of table It reaches, remembers
It is obvious:It is nature axisOn coordinate,It is system null axisOn coordinate.It is consolidated in body certainly Right coordinate system F[l]Unit vectorWithIt maps one by one, i.e., it is of equal value.Natural null axis and naturally seat Parameter is the real axis and three imaginary axis of four-dimensional complex number space respectively.In formula (4), two are about angle before right formulaSymmetrical square Battle array, therefore haveLast is about angleAntisymmetric matrix, therefore haveTherefore,ByAndIt uniquely determines, i.e.,By vectorAnd scalarIt uniquely determines.
The chain sequence of Arbitrary Term is consistent in formula (4).It is obtained by formula (4)
Meanwhile it being obtained by formula (4)
I.e.
Formula (7) shows: on the one hand, under adjacent natural system of coordinates, adjacent rod piece l andAxial vector seat having the same Mark;On the other hand, axial vectorBy originIt is directed towardOutside, axial vectorBy OlIt is directed toward OlOutside, they have identical Coordinate, i.e. axis invariantWith ordering relation, its positive sequence and backward indistinction.Therefore
IfIt is obtained by formula (7)By substitution formula (4)
Have
From formula (6) and formula (9): to axial vectorNumerical value, which takes, to be born and to joint angleTake backward all available's It is inverse.Axial vectorIt is free vector, direction is always by coordinate originIt is directed towardOutside;Obviously, numerical value takes negative and topology It is two different concepts that (connection) order, which negates,.In multiple axes system theory, because of axial vectorAs joint actuator and biography The reference axis of sensor is system reference specification, therefore formulaPerseverance is set up, i.e. axial vectorIt is invariant.
4. the Nilpotent Polynomials of fixed-axis rotation
Multilinear equation is established according to formula (4):
Formula (10) be aboutWithMultilinear equation, be axis invariantSecond order polynomial.It is given Natural zero-bit vectorAsZero reference, thenAndRespectively indicate zero-bit vector and radial vector.Formula (10) it isSymmetric partIndicate zero-bit axial tensor, skew-symmetric part Indicate radial axial tensor, respectively with axial apposition tensorIt is orthogonal, so that it is determined that three-dimensional nature shaft space; Formula (10) contains only a sine and cos operation, 6 long-pending operations and 6 and operation, computation complexity are low;Meanwhile not by axis VariableAnd joint variableRealize coordinate system and polar parametrization.
Axial vectorWith second order nilpotent characteristic,It is converted for single order radial transformation or first moment, there is skew-symmetry; Correspondingly,AndRespectively second order and three rank radial transformations;With periodicity.
5. the accurate measurement method of fixing axle invariant
The natural joint space of multiple axes system D={ T, A, B, K, F, NT } is with natural coordinates system F for reference, natural The origin of coordinate system F is located at joints axes and coordinate system direction is consistent in system reset.
Wherein:For oriented Span tree, A is axis sequence, and F is rod piece Referential sequence, B are rod piece body sequence, and K is kinematic pair type sequence, and NT is the sequence, that is, non-tree for constraining axis.F is that Descartes is straight Angular coordinate system sequence.To take axis sequenceMember.Revolute pair R, prismatic pair P, screw pair H, Contact Pair O are cylindrical pair C Special case.
Multiple axes system structural parameters areConfiguration space is expressed as
Wherein, kinematic pairArticulation angle vector Position vector;Joint variable qlBy original when for zero-bit PointTo origin OlTranslation vector;
The measurement of fixing axle invariant is as shown in figure 5, using the measuring point l on laser tracker measurement rod piece lS′And lS.It is first First, axis l rotation is obtainedPoint position after angle isAndThen, axis l rotation is obtainedMeasuring point position after angle It is set toAndFinally, unit location vector is calculatedAndMeasurement process always by root rod piece to leaf rod piece successively It carries out.
When system is in zero-bit, fixing axle invariantCan by laser tracker or 3D coordinate measuring machine obtains.By origin when for zero-bitTo origin OlTranslation vector, and rememberIndicate positional structure Parameter.Opposite common reference system F[i]The measurement of axis invariant is fixed, the cumulative effect of measurement error can be eliminated.To examine Consider processing and rigging error, often consolidates measuring prism and tested rod piece l, by laser tracker i tracking measurement prism Heart lSPosition, obtain corresponding position vectorTo obtain the unit vector with tested rod piece l consolidation
Define Euler's quaternary number:
Setting:ClaimFor Euler-Rodrigues quaternary number or Europe Draw quaternary number;Obviously, it is the quaternary number that mould is 1, also known as specification quaternary number.
Since the multiplying of quaternary number can be substituted with its conjugate matrices operation, therefore have
It is determined based on the appearance quaternary number of determining of double vectors:
By first unit vectorTo target unit vectorPosture, be equivalent to around axisRotational angleWherein:Then there is double vector postures (Double Vector Attitude) determination process:
It is obtained by formula (14)
By formula (12), obtain
Wherein: | | spilling when for preventing numerical value from calculating.From formula (16)In many software (examples Such as Coin3D) in, it is very inconvenient for users that double vectors determine appearance algorithm, because they require initialization vector to target vector Angular range be only [0, π).Shown by double vector posture determination process: Euler's quaternary number is substantially unified (Unify) double Vector multiplication cross and point multiplication operation, express covering (- π, π] complete cycle (Complete Cycle) rotation.
Axis invariantCalculating process:
Firstly, applying equation (12), determinesAndSecondly, becauseFor known quantity, applying equation (13) is obtainedThen, willSubstitution formula (16), obtainsFinally, being obtained by formula (14)As shown in fig. 6, by measuring point lS′And lSMidpointTo axisThe intersection point obtained as vertical line is defined as axisFixed point Ol。S'、S、S*For the point in rod piece l.
Then have
It is obtained by (18)
In above formula, rotation transformation battle array
It is obtained by formula (19)
Consider fixed point OlIt is midpointProjection, that is, have
It is obtained by formula (10) and formula (20)
Formula (21) are substituted into formula (19) to obtainirl,
Or
From the foregoing, it will be observed that conditionThan orthogonal basis elIt is more easily satisfied.It includes processing that this method, which facilitates precise measurement, And the axis invariant of rigging error.
In engineering survey, usually by system root rod piece, until all leaf;After one rod piece of every measurement, i.e., It can be braked.Selecting the state after all rod pieces are braked is zero-bit state, is remembered by the joint variable of joint sensors measurement ForReferred to as mechanical zero.And have
In engineering survey, can also be determined using laser tracker or other measuring devices measurement mechanical arm distal point each The constant laser tracking ball by being fixed on mechanical arm tail end of axis fixing axle determines fixing axle invariant, when the tracking ball of end one When, each joint turns 3 times, measures 3 points, when obtaining two tracking balls of two vectors or end, tracks two laser respectively Tracking ball, each articulation is primary, obtains two vectors, then determines fixing axle invariant using accurate measurement method, measured Journey is always successively carried out by root rod piece to leaf rod piece.
So far, system structure parameter is obtainedAnd mechanical zeroMultiple axes system control amount is denoted asMeanwhile with non-natural coordinate system be reference Joint variable, which exists, refers to zero-bitJoint variable q in formula (11)lWith control amount qΔ, mechanical zeroAnd refer to zero-bitRelationship is as follows
Multiple axes system positive kinematics calculate: given structural parametersJoint variable ql、 Joint velocityAnd joint velocityComplete the calculating of desired position shape, speed, acceleration and deflected velocity.
From the foregoing, it will be observed that based on natural system of coordinates, it can be with precise measurement fixing axle invariant in engineeringIt can achieve The repeatable accuracy in joint is avoided with cartesian cartesian coordinate system to refer to caused structural parameters measurement error problems of too, Development for accurate multiple axes system is laid a good foundation.
The above is only a preferred embodiment of the present invention, it is noted that for the ordinary skill people of the art For member, without departing from the technical principles of the invention, several improvement and deformations can also be made, these improvement and deformations Also it should be regarded as protection scope of the present invention.

Claims (9)

1. a kind of multi-axis robot structural parameters accurate measurement method based on axis invariant, characterized in that
Multi-axis robot system D={ T, A, B, K, F, NT } is established, multi-axis robot system includes rod piece sequence and joint sequence, The joint sequence set in chain is converted into corresponding axis sequence and his father's axis sequence, the axis of the axis sequence is translation shaft or rotation Axis;
The description multi-axis robot system is corresponded to using axis set, based on natural system of coordinates, natural joint space is It is reference with natural coordinates system F, the origin of natural coordinates system F is located at joints axes and the coordinate system direction in system reset Unanimously;
Wherein:For oriented Span tree, A is axis sequence, and F is rod piece referential Sequence, B are rod piece body sequence, and K is kinematic pair type sequence, and NT is the sequence, that is, non-tree for constraining axis;F is Descartes's rectangular co-ordinate It is sequence;To take axis sequenceMember;Revolute pair R, prismatic pair P, screw pair H, Contact Pair O;
Fixing axle invariant is constituted by the position vector of origin on axis invariant and axis, multiple axes system structural parameters are fixing axle InvariantConfiguration space is expressed as
Wherein, kinematic pair Along axisLine position,Around axisAngle Position;Joint variable qlWhen for zero-bit By originTo origin OlTranslation vector;
Using the measuring point l on laser tracker or other measuring devices measurement rod piece lS′And lS, measurement process is always by root rod piece It is successively carried out to leaf rod piece;
Each axis fixing axle invariant, measurement process are determined using laser tracker or other measuring devices measurement mechanical arm distal point Always successively carried out by root rod piece to leaf rod piece.
2. the multi-axis robot structural parameters accurate measurement method according to claim 1 based on axis invariant, characterized in that
Measuring process includes
Firstly, obtaining rod piece l rotationPoint position after angle isAnd
Then, rod piece l rotation is obtainedPoint position after angle isAnd
Finally, unit location vector is calculatedAnd
3. the multi-axis robot structural parameters accurate measurement method according to claim 1 based on axis invariant, characterized in that
When system is in zero-bit, fixing axle invariantBy laser tracker or 3D coordinate machine Measurement obtains.
4. the multi-axis robot structural parameters accurate measurement method according to claim 3 based on axis invariant, characterized in that
By origin when for zero-bitTo origin OlTranslation vector, and rememberIndicate position construction parameter;It is relatively public Referential F[i]The measurement of axis invariant is fixed;
Measuring prism and tested rod piece l are consolidated, laser tracker i tracking measurement prism centers l is passed throughSPosition, corresponded to Position vectorTo obtain the unit vector with tested rod piece l consolidation
5. the multi-axis robot structural parameters accurate measurement method according to claim 1 based on axis invariant, characterized in that
Axis invariantCalculating step are as follows:
Firstly, using Euler's quaternary number formulaIt determines in Euler's quaternary number And
Secondly, its conjugate matrices operation substitutes by Euler's quaternary number multiplying, obtain
Then, according toSubstitution formula?
Finally, being obtained by double vector posture formulas
6. the multi-axis robot structural parameters accurate measurement method according to claim 5 based on axis invariant, characterized in that
The determination process of double vector posture formulas are as follows:
By first unit vectorTo target unit vectorPosture, be equivalent to around axisRotational angleIts In:Then there are double vector posture formulas are as follows:
It is obtained by above formula
Wherein:| | for preventing numerical value from calculating When spilling.
7. the multi-axis robot structural parameters accurate measurement method according to claim 4 based on axis invariant, characterized in that
Determine fixing axle invariant origin process are as follows:
By measuring point lS′And lSMidpoint lS* to axisThe intersection point obtained as vertical line is defined as axisFixed point Ol;S', S, S* are Point in rod piece l;Then have
It is obtained by (18)
In above formula, rotation transformation battle array
It is obtained by formula (19)
Consider fixed point OlIt is midpoint lS* projection, that is, have
ByAnd formula (20)
Formula (21) are substituted into formula (19) to obtainirl,
Or
From the foregoing, it will be observed that conditionThan orthogonal basis elIt is more easily satisfied;It includes processing and dress that this method, which facilitates precise measurement, Axis invariant with error.
8. the multi-axis robot structural parameters accurate measurement method according to claim 1 based on axis invariant, characterized in that
When engineering survey, by system root rod piece, until all leaf;After one rod piece of every measurement, that is, braked;Choosing State after fixed all rod pieces are braked is zero-bit state, is denoted as by the joint variable that joint sensors measureReferred to as mechanical zero;And have
So far, system structure parameter fixing axle invariant is obtainedAnd mechanical zeroMultiple axes system control amount is denoted asMeanwhile with non-natural coordinate system be reference Joint variable, which exists, refers to zero-bitJoint variable qlWith control amount qΔ, mechanical zeroAnd refer to zero-bitRelationship is as follows
9. the multi-axis robot structural parameters accurate measurement method according to claim 1 based on axis invariant, characterized in that
Each axis fixing axle invariant is determined using laser tracker or other measuring devices measurement mechanical arm distal point:
Laser tracking ball by being fixed on mechanical arm tail end determines fixing axle invariant, when one tracking ball in end, each Joint turns 3 times, measures 3 points, when obtaining two tracking balls of two vectors or end, tracks two laser tracking balls respectively, Each articulation is primary, obtains two vectors, then determines fixing axle invariant using accurate measurement method.
CN201810933375.1A 2018-08-16 2018-08-16 Multi-axis robot structural parameters accurate measurement method based on axis invariant Active CN108927825B (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810933375.1A CN108927825B (en) 2018-08-16 2018-08-16 Multi-axis robot structural parameters accurate measurement method based on axis invariant
PCT/CN2018/112641 WO2020034402A1 (en) 2018-08-16 2018-10-30 Axis-invariant-based accurate multi-axis robot structure parameter measurement method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810933375.1A CN108927825B (en) 2018-08-16 2018-08-16 Multi-axis robot structural parameters accurate measurement method based on axis invariant

Publications (2)

Publication Number Publication Date
CN108927825A true CN108927825A (en) 2018-12-04
CN108927825B CN108927825B (en) 2019-11-01

Family

ID=64446053

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810933375.1A Active CN108927825B (en) 2018-08-16 2018-08-16 Multi-axis robot structural parameters accurate measurement method based on axis invariant

Country Status (2)

Country Link
CN (1) CN108927825B (en)
WO (1) WO2020034402A1 (en)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272783A (en) * 2003-03-11 2004-09-30 Nissan Motor Co Ltd Method for generating ladder sequential circuit
CN103170979A (en) * 2013-02-06 2013-06-26 华南理工大学 Online robot parameter identification method based on inertia measurement instrument
CN104772773A (en) * 2015-05-08 2015-07-15 首都师范大学 Mechanical arm kinematics formal analysis method
CN104858870A (en) * 2015-05-15 2015-08-26 江南大学 Industrial robot measurement method based on tail end numbered tool
CN106393174A (en) * 2016-10-09 2017-02-15 华中科技大学 Method for calibrating structural parameters of robot using double-ball-bar
CN107443382A (en) * 2017-09-12 2017-12-08 清华大学 Industrial robot structure parameter error recognizes and compensation method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2669257A1 (en) * 1990-11-21 1992-05-22 Renault Automatique Method for calibrating a robot
SE508161C2 (en) * 1995-03-30 1998-09-07 Asea Brown Boveri Method and apparatus for calibrating motion shafts of an industrial robot
JP5083194B2 (en) * 2008-12-18 2012-11-28 株式会社デンソーウェーブ Robot calibration method and robot control apparatus
WO2015070010A1 (en) * 2013-11-08 2015-05-14 Board Of Trustees Of Michigan State University Calibration system and method for calibrating industrial robot
CN105415396A (en) * 2015-12-18 2016-03-23 青岛海蓝康复器械有限公司 Motion parameter detection method for joint cascade system and joint cascade system
CN106514716B (en) * 2016-11-14 2018-12-21 固高科技(深圳)有限公司 Robot calibration system, distance-measuring device and scaling method
CN106799745A (en) * 2017-01-17 2017-06-06 北京航空航天大学 A kind of industrial machinery arm precision calibration method based on collocating kriging
CN107972071B (en) * 2017-12-05 2019-10-08 华中科技大学 A kind of industrial robot link parameters scaling method based on distal point plane restriction

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004272783A (en) * 2003-03-11 2004-09-30 Nissan Motor Co Ltd Method for generating ladder sequential circuit
CN103170979A (en) * 2013-02-06 2013-06-26 华南理工大学 Online robot parameter identification method based on inertia measurement instrument
CN104772773A (en) * 2015-05-08 2015-07-15 首都师范大学 Mechanical arm kinematics formal analysis method
CN104858870A (en) * 2015-05-15 2015-08-26 江南大学 Industrial robot measurement method based on tail end numbered tool
CN106393174A (en) * 2016-10-09 2017-02-15 华中科技大学 Method for calibrating structural parameters of robot using double-ball-bar
CN107443382A (en) * 2017-09-12 2017-12-08 清华大学 Industrial robot structure parameter error recognizes and compensation method

Also Published As

Publication number Publication date
WO2020034402A1 (en) 2020-02-20
CN108927825B (en) 2019-11-01

Similar Documents

Publication Publication Date Title
CN108972558B (en) Multi-axis robot dynamics modeling method based on axis invariants
CN108942942B (en) Multi-axis robot inverse kinematics modeling and resolving method based on axis invariants
CN108983705B (en) Positive kinematics modeling and resolving method of multi-axis robot system based on axis invariants
CN109079784B (en) A kind of multi-axis robot system modelling and control method based on axis invariant
CN107480356A (en) Integral method is examined based on the part design of CATIA and laser tracker
CN108927825B (en) Multi-axis robot structural parameters accurate measurement method based on axis invariant
Featherstone An empirical study of the joint space inertia matrix
Wang et al. Twistblocks: Pluggable and twistable modular tui for armature interaction in 3d design
CN109079850B (en) D-H system and D-H parameter determination method of multi-axis robot based on axis invariance
CN108942943B (en) Positive kinematics calculation method of multi-axis robot based on axis invariants
CN109291047B (en) Based on axis invariant and the inverse solution modeling method of DH parameter 1R/2R/3R
CN109015641B (en) The inverse solution modeling of general 6R mechanical arm based on axis invariant and calculation method
CN108959828A (en) The inverse solution modeling of general 3R mechanical arm based on axis invariant and calculation method
CN109117451B (en) Tree chain robot dynamics modeling and resolving method based on axis invariants
CN109033688B (en) Inverse solution modeling and resolving method for universal 7R mechanical arm based on axis invariant
CN108959829B (en) Non-ideal joint robot dynamics modeling method based on axis invariant
Tianmiao et al. Mechanism design and control method of reconfigurable tracked robot
CN109086544B (en) Closed-chain robot dynamics modeling and resolving method based on axis invariant
Hang A 3D Gesture Modeling Method and Its Application in 3D Gesture Prediction
CN108803350B (en) Dynamic modeling and resolving method for movable base multi-axis robot based on axis invariants
Fernández Mier Design of a spherical parallel robotic wrist mechanism
Qi Theory and Algorithms for Simulating Multibody Dynamic Systems Using Modern C++
Alexiou Projective articulated dynamics
CN117921664A (en) Seven-degree-of-freedom mechanical arm simulation method and system based on digital twin
Zátopek Simulation and visualisation of a laboratory model by support software tools connection

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