WO2018120210A1 - Method and device for determining position information about stacking point, and robot - Google Patents
Method and device for determining position information about stacking point, and robot Download PDFInfo
- Publication number
- WO2018120210A1 WO2018120210A1 PCT/CN2016/113917 CN2016113917W WO2018120210A1 WO 2018120210 A1 WO2018120210 A1 WO 2018120210A1 CN 2016113917 W CN2016113917 W CN 2016113917W WO 2018120210 A1 WO2018120210 A1 WO 2018120210A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- coordinate system
- point
- disk
- code
- transformation matrix
- 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.)
- Ceased
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
-
- 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
-
- 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/1679—Programme controls characterised by the tasks executed
- B25J9/1687—Assembly, peg and hole, palletising, straight line, weaving pattern movement
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01B—MEASURING LENGTH, THICKNESS OR SIMILAR LINEAR DIMENSIONS; MEASURING ANGLES; MEASURING AREAS; MEASURING IRREGULARITIES OF SURFACES OR CONTOURS
- G01B5/00—Measuring arrangements characterised by the use of mechanical techniques
Definitions
- the present invention relates to the field of intelligent machine technologies, and in particular, to a method, device and robot for determining position information of a code point.
- the palletizing is to place the items neatly on the tray according to a certain rule, or to remove the items from the tray and place them on a conveyor belt or other equipment, as shown in Fig. 1.
- the palletizing process depends on the stacking form of the disc (three-dimensional matrix, row R, column C, layer L consisting of a three-dimensional matrix), and the trajectory along which the robot places the article or removes the item.
- the definition of the pallet is in the disc mode, which determines how the objects in the disc are placed.
- the industrial palletizing application has more requirements on the disc mode, not only the common regular square (as shown in Fig. 2), but also some irregular disc patterns (as shown in Fig. 3).
- the robot when the robot is palletizing, it is necessary to teach some information of the code points according to the different modes of the disk. Among them, for the irregular disk mode, it can often meet some complicated requirements of the industrial site, but in order to realize this complicated form.
- the pallet requires more information on the pallet position information to be taught before the pallet; for example, only the teaching code ⁇ 3 (1,1,1), (numR,1,1), (1) is required in Fig.
- Figure 3 needs to teach all the points on the first layer as position information, and then teach (1,1, numL) points Position information, when the disk is large, that is, when the number of rows and columns is large, the number of points that need to be taught is also large, and the time spent is also large.
- the information of all points taught on the prior art disk matrix is referred to the world coordinate system.
- the common disk mode that is common in practical applications, only the entire disk is moved, that is, when moving each time. At the disc position, all the teaching point information cannot be saved, and all the information previously taught must be re-teached.
- the situation of moving the disk often occurs, which is very inconvenient, wastes a lot of time, and delays the efficiency of the production line. Therefore, how to improve the efficiency of the palletizing line in the case of moving the pallet is a technical problem that a person skilled in the art needs to solve.
- An object of the present invention is to provide a method, a device and a robot for determining position information of a code point.
- the disk When the disk is moved, it is only necessary to know the conversion relationship between the code coordinate system and the world coordinate system, and it is not necessary to re-code.
- Point teaching can save a lot of time and improve the efficiency of the palletizing line.
- the present invention provides a method for determining location information of a code point, including:
- the position information of the disc is located in the world coordinate system.
- the determining a new code coordinate system of the disk after the moving comprises:
- the coordinate point information determines a unit vector of the three coordinate axes, and determines a new pallet coordinate system of the disk after the movement based on the unit vector.
- the third transformation matrix is particularly C1 * C2 -1; wherein, a first transformation matrix is a C1, C2 -1 as a second transformation matrix inverse matrix C2.
- the pallets on the first position information of each stacking pos original world points is:
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y
- the layer is the coordinate point information of the teaching code point of 1
- pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk
- pos(1,1,1) is the first row of the first row of the first row of the disk.
- Location information, array.z is the number of layers is z.
- the present invention also provides an apparatus for determining location information of a code point, comprising:
- a first transformation matrix module configured to determine a first transformation matrix between the original coded coordinate system of the disk binding and the world coordinate system of the robot;
- a first location information module configured to obtain the indication according to position information of the teaching code point in the original code coordinate system, and a positional relationship between the first transformation matrix and the world coordinate system
- the teaching code points the first position information in the world coordinate system, and determines the first position information of the other code points on the disk in the world coordinate system;
- a second transformation matrix module configured to determine a new pallet coordinate system of the disc after the movement, and determine a second transformation matrix between the new pallet coordinate system and the world coordinate system;
- Updating the location information module configured to calculate a third transformation matrix according to the first transformation matrix and the second transformation matrix, and use the third transformation matrix to update first location information of each code point on the disk, Obtaining position information of the pallet of the moving disc in the world coordinate system.
- the second transformation matrix module includes:
- a first new code coordinate system acquiring unit configured to acquire a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and according to the unit direction The quantity determines the new palletizing coordinate system of the disc after the movement;
- a second new code coordinate system acquiring unit configured to acquire coordinate point information of a coordinate origin of the original coordinate system of the moved disk relative to the world coordinate system, and any point on any one of the coordinate axes relative to the The coordinate point information of the world coordinate system is determined, the unit vector of the three coordinate axes is determined according to the acquired coordinate point information, and the new code coordinate system of the disk after the movement is determined according to the unit vector.
- the updated location information module includes:
- a third transform matrix unit configured to calculate a third transform matrix C1*C2 -1 according to the first transform matrix C1 and the second transform matrix C2; wherein C2 -1 is an inverse matrix of the second transform matrix C2.
- the updated location information module includes:
- Point position information after the movement palletizing unit for calculating the movement of the palletizing point in the world coordinate system of the new coordinate system of palletising using Equation Pliocene pos C1 * C2 -1 * (pos original World) pos Pliocene position information; wherein, C1 is a first transformation matrix, C2 -1 as a second transformation matrix of the inverse matrix C2, pos world original first position information of each point on the stacking pallets.
- the first location information module is specifically configured to use a formula when the disk mode is an irregular disk mode.
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y
- the layer is the coordinate point information of the teaching code point of 1
- pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk
- pos(1,1,1) is the first row of the first row of the first row of the disk.
- Location information, array.z is the number of layers is z.
- the invention also provides a robot comprising:
- a communication component configured to acquire position information according to the teaching code point in the original code coordinate system
- a processor configured to determine a first transformation matrix between the original coded coordinate system of the disk binding and the world coordinate system of the robot; and a positional letter in the original coded coordinate system according to the teaching code Information, and a positional relationship between the first transformation matrix and the world coordinate system, acquiring first position information of the teaching code point in the world coordinate system, and determining other First code information of each code point in the world coordinate system; determining a new code frame coordinate system of the disk after moving, and determining a number between the new code frame coordinate system and the world coordinate system a second transformation matrix; calculating a third transformation matrix according to the first transformation matrix and the second transformation matrix, and updating the first position information of each code point on the disk by using the third transformation matrix
- the position of the pallet of the disc is in the world coordinate system.
- the processor is configured to obtain a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determine the movement after the moving according to the unit vector.
- a new palletizing coordinate system of the disc or obtaining coordinate point information of a coordinate origin of the original coordinate system of the moved disc relative to the world coordinate system and any point on any one of the coordinate axes relative to the world
- the coordinate point information of the coordinate system determines a unit vector of the three coordinate axes according to the acquired coordinate point information, and determines a new code coordinate system of the disk after the movement according to the unit vector.
- the processor is configured to calculate a third transform matrix C1*C2 -1 according to the first transform matrix C1 and the second transform matrix C2; wherein C2 -1 is an inverse matrix of the second transform matrix C2.
- the processor is configured to use a formula when the disk mode is an irregular disk mode
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y
- the layer is the coordinate point information of the teaching code point of 1
- pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk
- pos(1,1,1) is the first row of the first row of the first row of the disk.
- Location information, array.z is the number of layers is z.
- the invention provides a method for determining position information of a code point, wherein the method teaches a code coordinate system for each disk, and the code coordinate system is bound to the disk, that is, the code in the disk
- the relative position of the defect point and the code coordinate system is fixed, so that each time the disk moves, only the conversion relationship of the code coordinate system with respect to the world coordinate system needs to be known, and the teaching code is not required.
- Re-teaching can save a lot of time and improve the efficiency of the palletizing line; the invention also provides an apparatus and a robot for determining the position information of the palletizing point, which have the above-mentioned beneficial effects, and are not described herein again.
- FIG. 1 is a schematic diagram of a robot palletizing application according to an embodiment of the present invention
- FIG. 2 is a schematic diagram of a rule disk mode according to an embodiment of the present invention.
- FIG. 3 is a schematic diagram of an irregular disk mode according to an embodiment of the present invention.
- FIG. 4 is a schematic flowchart of a method for determining location information of a code point according to an embodiment of the present invention
- FIG. 5 is a schematic structural diagram of an apparatus for determining location information of a code point according to an embodiment of the present invention
- FIG. 6 is a schematic structural diagram of a robot according to an embodiment of the present invention.
- the core of the present invention is to provide a method, a device and a robot for determining position information of a code point.
- the disk When the disk is moved, it is only necessary to know the conversion relationship between the code coordinate system and the world coordinate system, and there is no need to re-code. Point teaching can save a lot of time and improve the efficiency of the palletizing line.
- the robot when the robot is palletizing, it is necessary to teach some information about the code points according to the mode of the disk, and according to the information and some necessary parameters (the most commonly used, for example, the arrangement mode of the row and column direction, the arrangement mode generally has two Species, arranged in a straight line, the items are evenly arranged in a straight line between the first and the last, only the teaching start and end code point position information; freely arranged, the arrangement of the items is irregular, all the information needs to be taught) To determine the positional information of points on all other three-dimensional matrices. If the direction of the row and column layers are arranged in a straight line, the final shape of the disk is as shown in Fig. 2.
- the irregular disc mode is an example of an irregular disc pattern in both directions.
- the final disc shape can be as shown in Figure 3. All points on the layer are positional information, and then the information of the (1,1,numL) point is taught.
- the position information of any other point can be obtained by the following formula:
- the number of rows is numR
- the number of columns is numC
- the number of layers is numL
- the unit vectors of the three directions in the world coordinate system are respectively [u x , u y , u z ],[v x ,v y ,v z ],[w x ,w y ,w z ]
- coded three-dimensional matrix points are represented by [array.x,array.y,array.z]
- coordinates of any point
- the information is represented by [pos .x , pos .y , pos .z ]; pos(1,1,1) w represents the position of the (1,1,1) point of the code matrix in the world coordinate system.
- the number of points to be taught is numR*numC+1, when the disc is compared Large, that is, when there are a large number of rows and columns, there are many points of information to be taught, and it takes a lot of time.
- the method for determining the position information of the code point in the embodiment does not need to re-teach the code point that has been taught, and saves a lot of time.
- FIG. 4 4 is a flowchart of a method for determining location information of a code point according to an embodiment of the present invention; the method may include:
- the relative position of the code point relative to the disk is fixed, in order to re-teach the code point position information after the disk is moved, it is necessary to use the code point relative to The relative position of the disc is fixed.
- This feature binds a pallet coordinate system to the disc.
- the above-mentioned original coded coordinate system refers to the coded coordinate system bound to the disk when the teaching code is first calculated.
- the positional relationship between the coordinate systems is also necessary to obtain a first transformation matrix between the original code coordinate system and the world coordinate system, which is used to represent the positional relationship between the original code coordinate system and the world coordinate system, and then indicates the position information of the code point and the world.
- the first transformation matrix is among them, Represents the rotation matrix of the stack1 coordinate system relative to the world, and [q x , q y , q z ] represents the position of the origin of the stack1 coordinate system in the world coordinate system. That is, after the original code coordinate system is established in the disk, the coordinate origin of the original code coordinate system can be determined, and the corresponding world coordinate system of the robot is also determined to be unchanged. Therefore, it can be known that the coordinate origin of a certain original code coordinate system is the coordinate in the corresponding world coordinate system of the robot, that is, [q x , q y , q z ]. In the case where both coordinate systems are determined, the rotation matrix between the two coordinate systems can be obtained from the unit vectors of the two coordinate systems. The rotation matrix is represented by homogeneous coordinates.
- the step obtains the position information of the teaching code point relative to the original code frame coordinate system according to the pallet form of the disk, and obtains each code according to the position information of the teaching code ⁇ relative to the original code frame coordinate system.
- ⁇ Point relative to the position information in the original pallet coordinate system, use the source code to sit
- the positional relationship between the taxonomy and the world coordinate system, that is, the first transformation matrix obtains the first position information of the respective code points on the disk in the original code coordinate system with respect to the world coordinate system.
- This embodiment does not limit the specific calculation form, and only needs to replace the position information of the directly acquired code point relative to the world coordinate system in the prior art to use the first transformation matrix to compare the code point with respect to the original code coordinate system.
- the position information is converted into the first position information of the world coordinate system.
- the disk mode here can be any form (for example, a regular disk mode or an irregular disk mode, etc.).
- the disk mode in both directions is an example. It is necessary to teach all the layers on the first layer. The point is the position information, and then the information of the (1,1,numL) point is taught.
- the disk mode is the irregular disk mode
- the first position information of each code point on the disk is pos.
- the original world can be:
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y
- the layer is the coordinate point information of the teaching code point of 1
- pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk
- pos(1,1,1) is the first row of the first row of the first row of the disk.
- Location information, array.z is the number of layers is z.
- the formula here is based on the irregular pattern of the row and column directions; the first position information formula of the rule disc mode or other forms of irregular disc mode can be modified accordingly.
- the new palletizing coordinate system of the moved disc firstly, it is necessary to determine whether the disc is moved, that is, whether to move the disc before the palletizing is performed; whether it can pass the mobile input or not after receiving the user input The new position information of the bound code coordinate system, or whether the disk has been moved or not.
- the new pallet coordinate system of the disc after the movement may be various.
- the new pallet coordinate system for determining the disc after the movement may include:
- the new code coordinate system of the disk may be determined according to the unit vector on the three coordinate axes of the code coordinate system bound on the moving disk, or the code bound according to the moving disk.
- the coordinate point information of the origin of the coordinate system and the coordinate point information of a point on one of the three coordinate axes can determine the new pallet coordinate system of the disc.
- the position of any P point in the A coordinate system can be obtained from the position of any P point in the B coordinate system by the above formula. Therefore, it is only necessary to know that the B coordinate system is relative to the A coordinate system.
- the unit vector of the three coordinate axes is determined, and the specific process of determining the new pallet coordinate system of the moving disc according to the unit vector may be, after moving the disc, only the new disc coordinate system is needed.
- Each point in the x, y, and z directions is represented by p x , p y , p z , and the origin coordinates p o of the disc are taught, so that the unit vector in the above description can be expressed by the following formula The formula for several other unit vectors can be deduced by analogy.
- the optional third transform matrix may be C1*C2 -1 ; wherein C1 is the first transform matrix and C2 -1 is the inverse matrix of the second transform matrix C2.
- C1 is the first transform matrix
- C2 -1 is the inverse matrix of the second transform matrix C2.
- Pliocene pos C1 * C2 -1 * (pos original World); where, C1 is a first transformation matrix, C2 -1 as a second transformation matrix of the inverse matrix C2, pos original point on the world for the pallets palletizing First location information.
- the coordinate origin is the coordinate origin position relative to the disk when the disk is moved, that is, the position is not changed in the coordinate system.
- the coordinate origin corresponding to the disk is the original code coordinate system
- the coordinate origin The first position information relative to the world coordinate system is at A[q x1 , q y1 , q z1 ]; when the corresponding coordinate system after the disk is moved is the new code coordinate system, the position of the coordinate origin relative to the world coordinate system information B [q x2, q y2, q z2] at. Therefore, it can be seen that the position information of the corresponding world coordinate system of the pallet point in the corresponding disc coordinate system of each different disc is different.
- the method for determining the position information of the code point is provided by the embodiment of the present invention.
- the method introduces the concept of the code coordinate system. After the disk is moved, only the code coordinate system needs to be taught, and the simple coordinate is adopted.
- the system transform can obtain the position information of the code point under the moving disk, thereby realizing the palletizing operation.
- This method is more complicated for the disk mode, and the information of the coded point information needs to be taught more, and the advantage is particularly obvious. It can save a lot of repeated teaching time and improve production efficiency.
- the apparatus and the robot for determining the position information of the code point are provided in the following embodiments of the present invention.
- the apparatus for determining the position information of the code point and the method for determining the position information of the code point described above may be mutually referenced. .
- FIG. 5 is a structural block diagram of an apparatus for determining location information of a code point according to an embodiment of the present invention.
- the apparatus may include:
- a first transformation matrix module 100 configured to determine a first transformation matrix between the original coded coordinate system of the disk binding and the world coordinate system of the robot;
- the first position information module 200 is configured to obtain position information of the teaching code point in the world coordinate according to the position information of the teaching code point in the original code coordinate system and the positional relationship between the first transformation matrix and the world coordinate system. The first position information is determined, and the first position information of the other code points on the disk in the world coordinate system is determined;
- a second transformation matrix module 300 configured to determine a new pallet coordinate system of the moving pallet, and determine a second transformation matrix between the new pallet coordinate system and the world coordinate system;
- the location information module 400 is configured to calculate a third transformation matrix according to the first transformation matrix and the second transformation matrix, and use the third transformation matrix to update the first location information of each code point on the disk to obtain the moved location.
- the first location information module 200 specifically uses the formula when the disk mode is the irregular disk mode:
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y
- the layer is the coordinate point information of the teaching code point of 1
- pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk
- pos(1,1,1) is the first row of the first row of the first row of the disk.
- Location information, array.z is the number of layers is z.
- the second transformation matrix module 300 includes:
- the first new code ⁇ coordinate system acquiring unit is configured to obtain a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determine a new code of the moving disk according to the unit vector. Coordinate system; or,
- the second new code ⁇ coordinate system acquiring unit is configured to obtain coordinate point information of a coordinate origin of the original coordinate system of the moved disk relative to the world coordinate system and coordinates of any point on any one coordinate axis with respect to the world coordinate system
- the point information determines a unit vector of the three coordinate axes according to the acquired coordinate point information, and determines a new code coordinate system of the moved disk according to the unit vector.
- the update location information module 400 includes:
- a third transformation matrix unit configured to calculate a third transformation matrix C1*C2 -1 according to the first transformation matrix C1 and the second transformation matrix C2;
- Point position information after the movement palletizing unit for calculating the new post-movement position information pos palletizing point in the world coordinate system of the new coordinate system using equation palletising Pliocene pos C1 * C2 -1 * (pos original World)
- the C2 -1 is the inverse matrix of the second transformation matrix C2
- the pos primitive is the first position information of each code point on the disk.
- the device for determining the position information of the code point is introduced by the embodiment of the present invention, and the concept of the code coordinate system is introduced.
- the disk After the disk is moved, only the code coordinate system needs to be taught, and the coordinate system is transformed by a simple coordinate system.
- the position information of the pallets under the moving disc can be obtained, thereby realizing the palletizing operation.
- the method is more complicated for the disc mode, and the information of the palletizing point information needs to be taught more, and the advantage is particularly obvious, which can save A large number of repeated teaching times to improve production efficiency.
- FIG. 6 is a schematic structural diagram of a robot according to an embodiment of the present invention
- the robot may include: a communication component 10, configured to acquire a coordinate system according to a teaching code Location information;
- the processor 20 is configured to determine a first transformation matrix between the original code coordinate system of the disk binding and the world coordinate system of the robot; position information according to the teaching code point in the original code coordinate system, and a positional relationship between a transformation matrix and a world coordinate system, obtaining first position information of the teaching code point in the world coordinate system, and determining first position information of other code points on the disk in the world coordinate system Determining a new pallet coordinate system of the moving disc and determining a second transformation matrix between the new pallet coordinate system and the world coordinate system; calculating a third transformation matrix according to the first transformation matrix and the second transformation matrix, and The first position information of each code point on the disk is updated by using the third transformation matrix, and the position information of the code point of the moved disk in the world coordinate system is obtained.
- the processor 20 is configured to obtain a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determine a new code coordinate system of the moved disk according to the unit vector. Or, obtain the coordinate point information of the coordinate origin of the original coordinate system of the moved disk relative to the world coordinate system and the coordinate point information of any point on any coordinate axis with respect to the world coordinate system, according to the acquired coordinate point information Determine the unit vector of the three axes, and determine the new pallet coordinate system of the moving disc based on the unit vector.
- the processor 20 is configured to calculate a third transformation matrix C1*C2 -1 according to the first transformation matrix C1 and the second transformation matrix C2; wherein C2 -1 is an inverse matrix of the second transformation matrix C2.
- the processor 20 for calculating the position of the world coordinate system of the new information pos palletizing point in the new coordinate system after moving palletising using Equation Pliocene pos C1 * C2 -1 * (pos original World)
- the C1 is the first transformation matrix
- C2 -1 is the inverse matrix of the second transformation matrix C2
- the pos primitive is the first position information of each code point on the disk.
- the processor 20 is configured to utilize a formula when the disk mode is an irregular disk mode.
- pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is Array.y
- the layer is the coordinate point information of the teaching code ⁇ point of 1
- pos(1,1,numL) is the coordinate point information of the teaching code ⁇ point of the first row and the first column of the ⁇ L
- pos (1,1,1) is the position information of the first layer of the first row and the first column of the disk
- array.z is the number of layers of z.
- the steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented directly in hardware, a software module executed by a processor, or a combination of both.
- the software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Numerical Control (AREA)
- Manipulator (AREA)
Abstract
Description
本发明涉及智能机器技术领域,特别涉及一种确定码垛点位置信息的方法、装置及机器人。The present invention relates to the field of intelligent machine technologies, and in particular, to a method, device and robot for determining position information of a code point.
随着经济的快速发展,机器人在码垛方面的应用越来越广泛。码垛是将物品整齐的按照一定的规律摆放到垛盘上,或者从垛盘上取下物品放置到传送带或者其他设备上,如图1所示。码垛过程取决于垛盘(三维矩阵,有行R,列C,层L组成的三维矩阵)的码放形式,以及机器人沿着什么样的轨迹往垛盘放置物品或者取下物品。定义垛盘的码放形式为垛盘模式,该模式决定了垛盘中物体如何摆放。With the rapid development of the economy, robots are increasingly used in palletizing. The palletizing is to place the items neatly on the tray according to a certain rule, or to remove the items from the tray and place them on a conveyor belt or other equipment, as shown in Fig. 1. The palletizing process depends on the stacking form of the disc (three-dimensional matrix, row R, column C, layer L consisting of a three-dimensional matrix), and the trajectory along which the robot places the article or removes the item. The definition of the pallet is in the disc mode, which determines how the objects in the disc are placed.
目前工业上的码垛应用对垛盘模式的要求较多,不仅有常见的正四方体(如图2所示),还有一些不规则的垛盘模式(如图3所示)。目前机器人码垛时,根据垛盘模式的不同,需要示教一些码垛点的信息,其中,对于不规则的垛盘模式,往往能满足工业现场的一些复杂要求,但是为了实现这种复杂形式垛盘对码垛前要示教的码垛位置信息要求较多;例如图2中仅需要示教码垛三维矩阵上的(1,1,1),(numR,1,1),(1,numC,1)和(1,1,numL)四个点的信息,但是图3需要示教第一层上的所有点的为位置信息,然后再示教(1,1,numL)点的位置信息,当垛盘较大,即行数和列数较多时,需要示教的点信息也较多,花费的时间也较多。At present, the industrial palletizing application has more requirements on the disc mode, not only the common regular square (as shown in Fig. 2), but also some irregular disc patterns (as shown in Fig. 3). At present, when the robot is palletizing, it is necessary to teach some information of the code points according to the different modes of the disk. Among them, for the irregular disk mode, it can often meet some complicated requirements of the industrial site, but in order to realize this complicated form. The pallet requires more information on the pallet position information to be taught before the pallet; for example, only the teaching code 垛3 (1,1,1), (numR,1,1), (1) is required in Fig. 2 , numC, 1) and (1, 1, numL) four points of information, but Figure 3 needs to teach all the points on the first layer as position information, and then teach (1,1, numL) points Position information, when the disk is large, that is, when the number of rows and columns is large, the number of points that need to be taught is also large, and the time spent is also large.
现有技术垛盘矩阵上示教的所有点的信息都是参照世界坐标系的,对于实际应用中常见的垛盘模式不变,而只是将整个垛盘移动的情况,即当每次移动垛盘位置时,所有的示教点信息都无法保存,必须要对之前示教的所有点信息进行重新示教。而移动垛盘的情形经常出现,这样非常的不方便,会浪费大量的时间,耽误码垛产线效率。因此,如何在移动垛盘的情形下提高码垛产线效率,是本领域技术人员需要解决的技术问题。 The information of all points taught on the prior art disk matrix is referred to the world coordinate system. For the common disk mode that is common in practical applications, only the entire disk is moved, that is, when moving each time. At the disc position, all the teaching point information cannot be saved, and all the information previously taught must be re-teached. The situation of moving the disk often occurs, which is very inconvenient, wastes a lot of time, and delays the efficiency of the production line. Therefore, how to improve the efficiency of the palletizing line in the case of moving the pallet is a technical problem that a person skilled in the art needs to solve.
发明内容Summary of the invention
本发明的目的是提供一种确定码垛点位置信息的方法、装置及机器人,当垛盘移动时只需要知道码垛坐标系相对于世界坐标系的转换关系即可,不需要重新进行码垛点的示教,可以节省大量的时间,提高码垛产线的效率。An object of the present invention is to provide a method, a device and a robot for determining position information of a code point. When the disk is moved, it is only necessary to know the conversion relationship between the code coordinate system and the world coordinate system, and it is not necessary to re-code. Point teaching can save a lot of time and improve the efficiency of the palletizing line.
为解决上述技术问题,本发明提供一种确定码垛点位置信息的方法,包括:To solve the above technical problem, the present invention provides a method for determining location information of a code point, including:
确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;Determining a first transformation matrix between the original coded coordinate system bound to the disk and the world coordinate system of the robot;
根据示教码垛点在所述原始码垛坐标系下的位置信息,以及所述第一变换矩阵与所述世界坐标系之间的位置关系,获取所述示教码垛点在所述世界坐标系下的第一位置信息,并确定所述垛盘上其他各码垛点在所述世界坐标系下的第一位置信息;Obtaining the teaching code point in the world according to the position information of the teaching code point in the original code coordinate system and the positional relationship between the first transformation matrix and the world coordinate system First position information in a coordinate system, and determining first position information of the other code points on the disk in the world coordinate system;
确定移动后所述垛盘的新码垛坐标系,并确定所述新码垛坐标系与所述世界坐标系之间的第二变换矩阵;Determining a new palletizing coordinate system of the disc after the movement, and determining a second transformation matrix between the new palletizing coordinate system and the world coordinate system;
根据所述第一变换矩阵和所述第二变换矩阵计算得到第三变换矩阵,并利用所述第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后的所述垛盘的码垛点在所述世界坐标系下的位置信息。Calculating a third transformation matrix according to the first transformation matrix and the second transformation matrix, and updating, by using the third transformation matrix, first position information of each code point on the disk to obtain the moved state The position information of the disc is located in the world coordinate system.
可选的,所述确定移动后所述垛盘的新码垛坐标系,包括:Optionally, the determining a new code coordinate system of the disk after the moving comprises:
获取移动后的所述垛盘的原始坐标系中三个坐标轴上相对于所述世界坐标系的单位向量,并根据所述单位向量确定移动后所述垛盘的新码垛坐标系;或,Obtaining a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disc, and determining a new palletizing coordinate system of the disc after moving according to the unit vector; or ,
获取移动后的所述垛盘的原始坐标系的坐标原点相对于所述世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于所述世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据所述单位向量确定移动后所述垛盘的新码垛坐标系。Obtaining coordinate point information of a coordinate origin of the original coordinate system of the moved disc relative to the world coordinate system and coordinate point information of any point on any one of the coordinate axes with respect to the world coordinate system, according to the acquired The coordinate point information determines a unit vector of the three coordinate axes, and determines a new pallet coordinate system of the disk after the movement based on the unit vector.
可选的,所述第三变换矩阵具体为C1*C2-1;其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵。 Alternatively, the third transformation matrix is particularly C1 * C2 -1; wherein, a first transformation matrix is a C1, C2 -1 as a second transformation matrix inverse matrix C2.
可选的,所述得到移动后的所述垛盘的码垛点在所述世界坐标系下的位置信息pos新世为:pos新世=C1*C2-1*(pos原始世);其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。Optionally, the obtained point of the stacking pallets after the movement position information in the Pliocene pos world coordinate system as: pos Pliocene = C1 * C2 -1 * (pos original World); wherein , C1 is a first transformation matrix, C2 -1 as a second transformation matrix of the inverse matrix C2, pos world original first position information of each point on the stacking pallets.
可选的,当垛盘模式为不规则垛盘模式,则所述垛盘上各码垛点的第一位置信息pos原始世为:Alternatively, when an irregular pattern pallets pallets mode, the pallets on the first position information of each stacking pos original world points is:
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y, the layer is the coordinate point information of the teaching code point of 1, pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk, and pos(1,1,1) is the first row of the first row of the first row of the disk. Location information, array.z is the number of layers is z.
本发明还提供一种确定码垛点位置信息的装置,包括:The present invention also provides an apparatus for determining location information of a code point, comprising:
第一变换矩阵模块,用于确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;a first transformation matrix module, configured to determine a first transformation matrix between the original coded coordinate system of the disk binding and the world coordinate system of the robot;
第一位置信息模块,用于根据示教码垛点在所述原始码垛坐标系下的位置信息,以及所述第一变换矩阵与所述世界坐标系之间的位置关系,获取所述示教码垛点在所述世界坐标系下的第一位置信息,并确定垛盘上其他各码垛点在所述世界坐标系下的第一位置信息;a first location information module, configured to obtain the indication according to position information of the teaching code point in the original code coordinate system, and a positional relationship between the first transformation matrix and the world coordinate system The teaching code points the first position information in the world coordinate system, and determines the first position information of the other code points on the disk in the world coordinate system;
第二变换矩阵模块,用于确定移动后所述垛盘的新码垛坐标系,并确定所述新码垛坐标系与所述世界坐标系之间的第二变换矩阵;a second transformation matrix module, configured to determine a new pallet coordinate system of the disc after the movement, and determine a second transformation matrix between the new pallet coordinate system and the world coordinate system;
更新位置信息模块,用于根据所述第一变换矩阵和所述第二变换矩阵计算得到第三变换矩阵,并利用所述第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后的所述垛盘的码垛点在所述世界坐标系下的位置信息。Updating the location information module, configured to calculate a third transformation matrix according to the first transformation matrix and the second transformation matrix, and use the third transformation matrix to update first location information of each code point on the disk, Obtaining position information of the pallet of the moving disc in the world coordinate system.
可选的,第二变换矩阵模块包括:Optionally, the second transformation matrix module includes:
第一新码垛坐标系获取单元,用于获取移动后的所述垛盘的原始坐标系中三个坐标轴上相对于所述世界坐标系的单位向量,并根据所述单位向 量确定移动后所述垛盘的新码垛坐标系;或,a first new code coordinate system acquiring unit, configured to acquire a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and according to the unit direction The quantity determines the new palletizing coordinate system of the disc after the movement; or
第二新码垛坐标系获取单元,用于获取移动后的所述垛盘的原始坐标系的坐标原点相对于所述世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于所述世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据所述单位向量确定移动后所述垛盘的新码垛坐标系。a second new code coordinate system acquiring unit, configured to acquire coordinate point information of a coordinate origin of the original coordinate system of the moved disk relative to the world coordinate system, and any point on any one of the coordinate axes relative to the The coordinate point information of the world coordinate system is determined, the unit vector of the three coordinate axes is determined according to the acquired coordinate point information, and the new code coordinate system of the disk after the movement is determined according to the unit vector.
可选的,更新位置信息模块包括:Optionally, the updated location information module includes:
第三变换矩阵单元,用于根据第一变换矩阵C1和第二变换矩阵C2计算得到第三变换矩阵C1*C2-1;其中,C2-1为第二变换矩阵C2的逆矩阵。a third transform matrix unit, configured to calculate a third transform matrix C1*C2 -1 according to the first transform matrix C1 and the second transform matrix C2; wherein C2 -1 is an inverse matrix of the second transform matrix C2.
可选的,更新位置信息模块包括:Optionally, the updated location information module includes:
移动后码垛点位置信息单元,用于利用公式pos新世=C1*C2-1*(pos原始世)计算移动后码垛点在所述新码垛坐标系下的所述世界坐标系的位置信息pos新世;其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。Point position information after the movement palletizing unit for calculating the movement of the palletizing point in the world coordinate system of the new coordinate system of palletising using Equation Pliocene pos = C1 * C2 -1 * (pos original World) pos Pliocene position information; wherein, C1 is a first transformation matrix, C2 -1 as a second transformation matrix of the inverse matrix C2, pos world original first position information of each point on the stacking pallets.
可选的,所述第一位置信息模块具体为当垛盘模式为不规则垛盘模式时,利用公式Optionally, the first location information module is specifically configured to use a formula when the disk mode is an irregular disk mode.
计算所述垛盘上各码垛点的第一位置信息;Calculating first position information of each code point on the disk;
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y, the layer is the coordinate point information of the teaching code point of 1, pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk, and pos(1,1,1) is the first row of the first row of the first row of the disk. Location information, array.z is the number of layers is z.
本发明还提供一种机器人,包括:The invention also provides a robot comprising:
通讯组件,用于获取根据示教码垛点在所述原始码垛坐标系下的位置信息;a communication component, configured to acquire position information according to the teaching code point in the original code coordinate system;
处理器,用于确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;根据示教码垛点在所述原始码垛坐标系下的位置信 息,以及所述第一变换矩阵与所述世界坐标系之间的位置关系,获取所述示教码垛点在所述世界坐标系下的第一位置信息,并确定所述垛盘上其他各码垛点在所述世界坐标系下的第一位置信息;确定移动后所述垛盘的新码垛坐标系,并确定所述新码垛坐标系与所述世界坐标系之间的第二变换矩阵;根据所述第一变换矩阵和所述第二变换矩阵计算得到第三变换矩阵,并利用所述第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后的所述垛盘的码垛点在所述世界坐标系下的位置信息。a processor, configured to determine a first transformation matrix between the original coded coordinate system of the disk binding and the world coordinate system of the robot; and a positional letter in the original coded coordinate system according to the teaching code Information, and a positional relationship between the first transformation matrix and the world coordinate system, acquiring first position information of the teaching code point in the world coordinate system, and determining other First code information of each code point in the world coordinate system; determining a new code frame coordinate system of the disk after moving, and determining a number between the new code frame coordinate system and the world coordinate system a second transformation matrix; calculating a third transformation matrix according to the first transformation matrix and the second transformation matrix, and updating the first position information of each code point on the disk by using the third transformation matrix The position of the pallet of the disc is in the world coordinate system.
可选的,所述处理器用于获取移动后的所述垛盘的原始坐标系中三个坐标轴上相对于所述世界坐标系的单位向量,并根据所述单位向量确定移动后所述垛盘的新码垛坐标系;或,获取移动后的所述垛盘的原始坐标系的坐标原点相对于所述世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于所述世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据所述单位向量确定移动后所述垛盘的新码垛坐标系。Optionally, the processor is configured to obtain a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determine the movement after the moving according to the unit vector. a new palletizing coordinate system of the disc; or obtaining coordinate point information of a coordinate origin of the original coordinate system of the moved disc relative to the world coordinate system and any point on any one of the coordinate axes relative to the world The coordinate point information of the coordinate system determines a unit vector of the three coordinate axes according to the acquired coordinate point information, and determines a new code coordinate system of the disk after the movement according to the unit vector.
可选的,所述处理器用于根据第一变换矩阵C1和第二变换矩阵C2计算得到第三变换矩阵C1*C2-1;其中,C2-1为第二变换矩阵C2的逆矩阵。Optionally, the processor is configured to calculate a third transform matrix C1*C2 -1 according to the first transform matrix C1 and the second transform matrix C2; wherein C2 -1 is an inverse matrix of the second transform matrix C2.
可选的,所述处理器用于利用公式pos新世=C1*C2-1*(pos原始世)计算移动后码垛点在所述新码垛坐标系下的所述世界坐标系的位置信息pos新世;其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。Optionally, the processor is configured using the formula Pliocene pos = C1 * C2 -1 * (pos original World) Palletizing point after the mobile computing position information of the world coordinate system in the coordinate system of the new palletizing Pos new life ; wherein C1 is the first transformation matrix, C2 -1 is the inverse matrix of the second transformation matrix C2, and pos primitive is the first position information of each code point on the disk.
可选的,所述处理器用于当垛盘模式为不规则垛盘模式时,利用公式Optionally, the processor is configured to use a formula when the disk mode is an irregular disk mode
计算所述垛盘上各码垛点的第一位置信息;Calculating first position information of each code point on the disk;
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。 Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y, the layer is the coordinate point information of the teaching code point of 1, pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk, and pos(1,1,1) is the first row of the first row of the first row of the disk. Location information, array.z is the number of layers is z.
本发明所提供的一种确定码垛点位置信息的方法,该方法为每个垛盘都示教一个码垛坐标系,该码垛坐标系与垛盘绑定,即该垛盘中的码垛点和码垛坐标系的相对位置是固定不变的,这样每次垛盘移动时,只需要知道码垛坐标系相对于世界坐标系的转换关系即可,不需要对示教码垛点重新示教,可以节省大量的时间,提高码垛产线的效率;本发明还提供一种确定码垛点位置信息的装置及机器人,具有上述有益效果,在此不再赘述。The invention provides a method for determining position information of a code point, wherein the method teaches a code coordinate system for each disk, and the code coordinate system is bound to the disk, that is, the code in the disk The relative position of the defect point and the code coordinate system is fixed, so that each time the disk moves, only the conversion relationship of the code coordinate system with respect to the world coordinate system needs to be known, and the teaching code is not required. Re-teaching can save a lot of time and improve the efficiency of the palletizing line; the invention also provides an apparatus and a robot for determining the position information of the palletizing point, which have the above-mentioned beneficial effects, and are not described herein again.
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the description of the prior art will be briefly described below. Obviously, the drawings in the following description are only It is an embodiment of the present invention, and those skilled in the art can obtain other drawings according to the provided drawings without any creative work.
图1为本发明实施例所提供的机器人码垛应用示意图;FIG. 1 is a schematic diagram of a robot palletizing application according to an embodiment of the present invention; FIG.
图2为本发明实施例所提供的规则垛盘模式示意图;2 is a schematic diagram of a rule disk mode according to an embodiment of the present invention;
图3为本发明实施例所提供的不规则垛盘模式示意图;FIG. 3 is a schematic diagram of an irregular disk mode according to an embodiment of the present invention; FIG.
图4为本发明实施例所提供确定码垛点位置信息的方法的流程示意图;4 is a schematic flowchart of a method for determining location information of a code point according to an embodiment of the present invention;
图5为本发明实施例所提供确定码垛点位置信息的装置的结构示意图;FIG. 5 is a schematic structural diagram of an apparatus for determining location information of a code point according to an embodiment of the present invention;
图6为本发明实施例所提供机器人的结构示意图。FIG. 6 is a schematic structural diagram of a robot according to an embodiment of the present invention.
本发明的核心是提供一种确定码垛点位置信息的方法、装置及机器人,当垛盘移动时只需要知道码垛坐标系相对于世界坐标系的转换关系即可,不需要重新进行码垛点的示教,可以节省大量的时间,提高码垛产线的效率。The core of the present invention is to provide a method, a device and a robot for determining position information of a code point. When the disk is moved, it is only necessary to know the conversion relationship between the code coordinate system and the world coordinate system, and there is no need to re-code. Point teaching can save a lot of time and improve the efficiency of the palletizing line.
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提 下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the drawings in the embodiments of the present invention. It is a partial embodiment of the invention, and not all of the embodiments. Based on the embodiments of the present invention, those skilled in the art are not making creative labors. All other embodiments obtained below are within the scope of the invention.
目前机器人码垛时,根据垛盘模式的不同,需要示教一些码垛点的信息,并根据这些信息以及一些必要的参数(最常用的比如:行列层方向的排列模式,排列模式一般有两种,直线排列,物品在首尾之间按照直线均匀排列,只需示教起始和终止码垛点位置信息;自由排列,物品的排列无规律可循,所有码垛点信息都需要示教),来确定其他所有码垛三维矩阵上点的位置信息。如果行列层方向都是按照直线排列,则最终的垛盘形状如图2所示,此时只需要示教码垛三维矩阵上的(1,1,1),(numR,1,1),(1,numC,1)和(1,1,numL)四个点的信息就可以得到码垛三维矩阵上的其他所有点的信息。任何一点的位置信息都可通过下述公式获得:At present, when the robot is palletizing, it is necessary to teach some information about the code points according to the mode of the disk, and according to the information and some necessary parameters (the most commonly used, for example, the arrangement mode of the row and column direction, the arrangement mode generally has two Species, arranged in a straight line, the items are evenly arranged in a straight line between the first and the last, only the teaching start and end code point position information; freely arranged, the arrangement of the items is irregular, all the information needs to be taught) To determine the positional information of points on all other three-dimensional matrices. If the direction of the row and column layers are arranged in a straight line, the final shape of the disk is as shown in Fig. 2. At this time, only (1,1,1), (numR,1,1) on the three-dimensional matrix of the teaching code is required. The information of four points (1, numC, 1) and (1, 1, numL) can obtain information of all other points on the three-dimensional matrix. The position information of any point can be obtained by the following formula:
对于较复杂的两个方向上都是无规律的垛盘模式,以行列两个方向都是无规律的垛盘模式为例子,最终的垛盘形状可以如图3所示,需要示教第一层上的所有点的为位置信息,然后再示教(1,1,numL)点的信息,其他任何一点的位置信息都可通过下述公式获得: For the more complicated two directions, the irregular disc mode is an example of an irregular disc pattern in both directions. The final disc shape can be as shown in Figure 3. All points on the layer are positional information, and then the information of the (1,1,numL) point is taught. The position information of any other point can be obtained by the following formula:
其中,上述行数为numR,列数为numC,层数为numL;行、列、层是直线排列时,三个方向在世界坐标系下的单位向量分别用[ux,uy,uz],[vx,vy,vz],[wx,wy,wz]表示;码垛三维矩阵点用[array.x,array.y,array.z]表示;任何一点的坐标信息用[pos.x,pos.y,pos.z]表示;pos(1,1,1)w表示码垛矩阵的(1,1,1)点在世界坐标系下的位置。Wherein, the number of rows is numR, the number of columns is numC, and the number of layers is numL; when rows, columns, and layers are aligned, the unit vectors of the three directions in the world coordinate system are respectively [u x , u y , u z ],[v x ,v y ,v z ],[w x ,w y ,w z ]; coded three-dimensional matrix points are represented by [array.x,array.y,array.z]; coordinates of any point The information is represented by [pos .x , pos .y , pos .z ]; pos(1,1,1) w represents the position of the (1,1,1) point of the code matrix in the world coordinate system.
从上述说明中可以看出,对于较复杂的两个方向上都是无规律的垛盘模式即不规则码盘模式,需要示教的点个数是numR*numC+1个,当垛盘较大,即行数和列数较多时,需要示教的点信息也较多,花费的时间也较多。现有技术中每次仅垛盘移动而垛盘模式没有变化的情况下,也需要重新示教这些码垛点信息,浪费大量时间。因此,本实施例提供的确定码垛点位置信息的方法,在仅垛盘移动时,不需要对已经示教过的码垛点重新示教,节省大量时间,具体方法请参考图4,图4为本发明实施例所提供确定码垛点位置信息的方法的流程图;该方法可以包括:It can be seen from the above description that for the more complicated two-direction disc mode, that is, the irregular disc mode, the number of points to be taught is numR*numC+1, when the disc is compared Large, that is, when there are a large number of rows and columns, there are many points of information to be taught, and it takes a lot of time. In the prior art, in the case where only the disk is moved and the disk mode is not changed, it is necessary to re-teaching the code point information, which wastes a lot of time. Therefore, the method for determining the position information of the code point in the embodiment does not need to re-teach the code point that has been taught, and saves a lot of time. For the specific method, please refer to FIG. 4 , 4 is a flowchart of a method for determining location information of a code point according to an embodiment of the present invention; the method may include:
S100、确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;S100. Determine a first transformation matrix between a source code coordinate system bound to the disk and a world coordinate system of the robot;
具体的,由于码垛点相对于垛盘的相对位置是固定不变的,因此为了在垛盘移动后不需要重新示教码垛点位置信息,就需要利用码垛点相对于 垛盘的相对位置是固定不变这一特点为垛盘绑定一个码垛坐标系。上述原始码垛坐标系即指第一次计算示教码垛点时垛盘绑定的码垛坐标系。这时还需要获取原始码垛坐标系与世界坐标系之间的第一变换矩阵,用于表示原始码垛坐标系与世界坐标系之间的位置关系,继而表明了码垛点位置信息与世界坐标系之间的位置关系。Specifically, since the relative position of the code point relative to the disk is fixed, in order to re-teach the code point position information after the disk is moved, it is necessary to use the code point relative to The relative position of the disc is fixed. This feature binds a pallet coordinate system to the disc. The above-mentioned original coded coordinate system refers to the coded coordinate system bound to the disk when the teaching code is first calculated. At this time, it is also necessary to obtain a first transformation matrix between the original code coordinate system and the world coordinate system, which is used to represent the positional relationship between the original code coordinate system and the world coordinate system, and then indicates the position information of the code point and the world. The positional relationship between the coordinate systems.
例如若世界坐标系为world(W),原始码垛坐标系为stack1(Ts1),则第一变换矩阵为其中,表示stack1坐标系相对于world的旋转矩阵,[qx,qy,qz]表示stack1坐标系原点在world坐标系下的位置。即垛盘中建立好原始码垛坐标系后,即该原始码垛坐标系的坐标原点即可确定,且机器人对应的世界坐标系也是确定不变的。因此可以知道一个确定的原始码垛坐标系的坐标原点在机器人对应的世界坐标系中的坐标即[qx,qy,qz]。在两个坐标系都确定的情况下可以根据两个坐标系的单位向量得到两个坐标系之间的旋转矩阵即将该旋转矩阵用齐次坐标表示即为 For example, if the world coordinate system is world(W) and the source code coordinate system is stack1 (Ts1), then the first transformation matrix is among them, Represents the rotation matrix of the stack1 coordinate system relative to the world, and [q x , q y , q z ] represents the position of the origin of the stack1 coordinate system in the world coordinate system. That is, after the original code coordinate system is established in the disk, the coordinate origin of the original code coordinate system can be determined, and the corresponding world coordinate system of the robot is also determined to be unchanged. Therefore, it can be known that the coordinate origin of a certain original code coordinate system is the coordinate in the corresponding world coordinate system of the robot, that is, [q x , q y , q z ]. In the case where both coordinate systems are determined, the rotation matrix between the two coordinate systems can be obtained from the unit vectors of the two coordinate systems. The rotation matrix is represented by homogeneous coordinates.
S110、根据示教码垛点在原始码垛坐标系下的位置信息,以及第一变换矩阵与世界坐标系之间的位置关系,获取示教码垛点在世界坐标系下的第一位置信息,并确定垛盘上其他各码垛点在世界坐标系下的第一位置信息;S110. Obtain position information of the teaching code point in the world coordinate system according to the position information of the teaching code point in the original code coordinate system and the positional relationship between the first transformation matrix and the world coordinate system. And determining the first position information of the other code points on the disk in the world coordinate system;
具体的,该步骤根据垛盘的码垛形式获取示教码垛点相对于原始码垛坐标系下的位置信息,并根据示教码垛相对于原始码垛坐标系下的位置信息获取各个码垛点相对于原始码垛坐标系下的位置信息,利用原始码垛坐 标系与世界坐标系的位置关系即第一变换矩阵获取垛盘上各码垛点在原始码垛坐标系下的相对于世界坐标系的第一位置信息。本实施例并不对具体的计算形式进行限定,只需要将现有技术中直接获取码垛点相对于世界坐标系的位置信息替换为利用第一变换矩阵将码垛点相对于原始码垛坐标系的位置信息转换为世界坐标系的第一位置信息即可。Specifically, the step obtains the position information of the teaching code point relative to the original code frame coordinate system according to the pallet form of the disk, and obtains each code according to the position information of the teaching code 垛 relative to the original code frame coordinate system.垛 Point relative to the position information in the original pallet coordinate system, use the source code to sit The positional relationship between the taxonomy and the world coordinate system, that is, the first transformation matrix obtains the first position information of the respective code points on the disk in the original code coordinate system with respect to the world coordinate system. This embodiment does not limit the specific calculation form, and only needs to replace the position information of the directly acquired code point relative to the world coordinate system in the prior art to use the first transformation matrix to compare the code point with respect to the original code coordinate system. The position information is converted into the first position information of the world coordinate system.
这里的垛盘模式可以是任何形式(例如规则垛盘模式或者非规则垛盘模式等)。The disk mode here can be any form (for example, a regular disk mode or an irregular disk mode, etc.).
当有垛盘坐标系时,对于较复杂的两个方向上都是无规律的垛盘模式,以行列两个方向都是无规律的垛盘模式为例子,需要示教第一层上的所有点的为位置信息,然后再示教(1,1,numL)点的信息,可选的,当垛盘模式为不规则垛盘模式,则垛盘上各码垛点的第一位置信息pos原始世可以为:When there is a disk coordinate system, for the more complicated two directions, there is an irregular disk mode, and the disk mode in both directions is an example. It is necessary to teach all the layers on the first layer. The point is the position information, and then the information of the (1,1,numL) point is taught. Optionally, when the disk mode is the irregular disk mode, the first position information of each code point on the disk is pos. The original world can be:
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y, the layer is the coordinate point information of the teaching code point of 1, pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk, and pos(1,1,1) is the first row of the first row of the first row of the disk. Location information, array.z is the number of layers is z.
需要说明的是这里的公式是以行和列方向不规则的垛盘模式为基础做的推导;规则垛盘模式或者其他形式不规则垛盘模式的第一位置信息公式可做相应的修改。It should be noted that the formula here is based on the irregular pattern of the row and column directions; the first position information formula of the rule disc mode or other forms of irregular disc mode can be modified accordingly.
S120、确定移动后垛盘的新码垛坐标系,并确定新码垛坐标系与世界坐标系之间的第二变换矩阵;S120. Determine a new code coordinate system of the moving disk, and determine a second transformation matrix between the new code coordinate system and the world coordinate system;
具体的,这里要确定移动后的垛盘的新码垛坐标系,首先需要确定垛盘是否移动,即在码垛执行前判断是否移动垛盘;可以通过是否接收到用户输入的移动后垛盘绑定的码垛坐标系的新的位置信息,或者是否接收到垛盘已移动指令等。Specifically, here to determine the new palletizing coordinate system of the moved disc, firstly, it is necessary to determine whether the disc is moved, that is, whether to move the disc before the palletizing is performed; whether it can pass the mobile input or not after receiving the user input The new position information of the bound code coordinate system, or whether the disk has been moved or not.
在确定垛盘移动后,若该垛盘的垛盘模式没有变化,则需要根据垛盘移动后的位置确定垛盘的新码垛坐标系,然后利用上述S100中的方式获取 新码垛坐标系与世界坐标系之间的第二变换矩阵。After determining the movement of the disk, if the disk mode of the disk does not change, it is necessary to determine the new frame coordinate system of the disk according to the position after the disk is moved, and then obtain the method in the above S100. A second transformation matrix between the new pallet coordinate system and the world coordinate system.
这里确定移动后垛盘的新码垛坐标系方式可以是多种,可选的,确定移动后垛盘的新码垛坐标系可以包括:Here, it is determined that the new pallet coordinate system of the disc after the movement may be various. Optionally, the new pallet coordinate system for determining the disc after the movement may include:
获取移动后的垛盘的原始坐标系中三个坐标轴上相对于世界坐标系的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系;或,Obtaining a unit vector relative to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determining a new code coordinate system of the moved disk according to the unit vector; or
获取移动后的垛盘的原始坐标系的坐标原点相对于世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系。Obtaining the coordinate point information of the coordinate origin of the original coordinate system of the moved disk relative to the coordinate system of the world coordinate system and the coordinate point information of any point on any one of the coordinate axes with respect to the world coordinate system, and determining three according to the acquired coordinate point information The unit vector of the coordinate axis, and the new code coordinate system of the moving disk after the movement is determined according to the unit vector.
具体的,可以根据移动后垛盘上绑定的码垛坐标系的三个坐标轴上的单位向量来确定垛盘的新码垛坐标系,或者是根据移动后垛盘上绑定的码垛坐标系的原点的坐标点信息以及三个坐标轴中任一个坐标轴上的一点的坐标点信息即可确定垛盘的新码垛坐标系。Specifically, the new code coordinate system of the disk may be determined according to the unit vector on the three coordinate axes of the code coordinate system bound on the moving disk, or the code bound according to the moving disk. The coordinate point information of the origin of the coordinate system and the coordinate point information of a point on one of the three coordinate axes can determine the new pallet coordinate system of the disc.
下面分别就上述两种方式进行说明:The following two ways are explained separately:
根据单位向量确定移动后垛盘的新码垛坐标系的具体过程可以是,假设世界坐标系是A,新码垛坐标系是B,则两者之间的转换关系可以用下式子表示:AP=ATB*BP通过上式由任意P点在B坐标系下的位置可以得到任意P点在A坐标系下的位置,因此仅需要知道的就是B坐标系相对于A坐标系的转换矩阵,即其中[ux,uy,uz]表示B坐标系x轴方向的单位向量,[vx,vy,vz]表示B坐标系y轴方向的单位向量,[wx,wy,wz]表示B坐标系z轴方向的单位向量,[qx,qy,qz]表示B坐标系原点的坐标。The specific process of determining the new pallet coordinate system of the moving disc based on the unit vector may be that, assuming that the world coordinate system is A and the new pallet coordinate system is B, the conversion relationship between the two can be expressed by the following formula: A P= A T B * B P The position of any P point in the A coordinate system can be obtained from the position of any P point in the B coordinate system by the above formula. Therefore, it is only necessary to know that the B coordinate system is relative to the A coordinate system. Conversion matrix, ie Where [u x , u y , u z ] represents the unit vector of the B coordinate system in the x-axis direction, and [v x , v y , v z ] represents the unit vector of the y-axis direction of the B coordinate system, [w x , w y , w z ] represents the unit vector of the B coordinate system in the z-axis direction, and [q x , q y , q z ] represents the coordinates of the origin of the B coordinate system.
根据获取的坐标点信息确定三个坐标轴的单位向量,并根据单位向量 确定移动后垛盘的新码垛坐标系的具体过程可以是,移动垛盘之后,只需要在新的垛盘坐标系的x,y,z方向上各示教一个点分别用px,py,pz表示,同时示教垛盘的原点坐标po,这样上述说明中的单位向量可用下述公式表示其他几个单位向量的公式可以以此类推。According to the obtained coordinate point information, the unit vector of the three coordinate axes is determined, and the specific process of determining the new pallet coordinate system of the moving disc according to the unit vector may be, after moving the disc, only the new disc coordinate system is needed. Each point in the x, y, and z directions is represented by p x , p y , p z , and the origin coordinates p o of the disc are taught, so that the unit vector in the above description can be expressed by the following formula The formula for several other unit vectors can be deduced by analogy.
S130、根据第一变换矩阵和第二变换矩阵计算得到第三变换矩阵,并利用第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后垛盘的码垛点在世界坐标系下的位置信息。S130. Calculate a third transformation matrix according to the first transformation matrix and the second transformation matrix, and use the third transformation matrix to update the first position information of each code point on the disk to obtain a code point of the moving disk. Location information in the coordinate system.
具体的,根据两次垛盘上绑定的码垛坐标系与世界坐标系的位置关系可以得到垛盘上码垛点与世界坐标系的位置变换关系。其中,可选的第三变换矩阵可以为C1*C2-1;其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵。当移动垛盘,则在计算码垛点坐标时,引入变换矩阵C1*C2-1,就可以避免示教得到新码垛坐标系下的码垛点位置信息pos新世为:Specifically, according to the positional relationship between the coded coordinate system and the world coordinate system bound to the two disks, the positional relationship between the code point on the disk and the world coordinate system can be obtained. The optional third transform matrix may be C1*C2 -1 ; wherein C1 is the first transform matrix and C2 -1 is the inverse matrix of the second transform matrix C2. When moving pallets, when calculating the stacking point coordinates, a transformation matrix is introduced C1 * C2 -1, teaching can be avoided to give the new pallet stacking position coordinate information pos Pliocene:
即pos新世=C1*C2-1*(pos原始世);其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。如果示教了码垛坐标系,则每次移动垛盘后,只需要引入坐标系之间的转换就可以得到移动后垛盘中码垛点的位置信息,节省大量的示教码垛点的时间,简单方便,提高生产效率,避免重复劳作。I.e. Pliocene pos = C1 * C2 -1 * (pos original World); where, C1 is a first transformation matrix, C2 -1 as a second transformation matrix of the inverse matrix C2, pos original point on the world for the pallets palletizing First location information. If the coded coordinate system is taught, each time the disk is moved, only the conversion between the coordinate systems needs to be introduced to obtain the position information of the code points in the moving disk, which saves a lot of teaching code points. Time, simple and convenient, improve production efficiency and avoid repeated work.
下面通过垛盘坐标系中的坐标原点为例说明上述实施例中存在码垛点在世界坐标系下的第一位置信息,以及码垛点在世界坐标系下的位置信息可以这样理解。首先坐标原点无论在垛盘是否移动的情况下相对于垛盘其 都是坐标原点位置即在该坐标系下位置没有发生变化,当垛盘对应的坐标系为原始码垛坐标系时,坐标原点相对于世界坐标系的第一位置信息在A[qx1,qy1,qz1]处;当垛盘移动后对应的坐标系为新码垛坐标系时,坐标原点相对于世界坐标系的位置信息在B[qx2,qy2,qz2]处。因此可以看出码垛点在每种不同的垛盘对应的垛盘坐标系下对应的世界坐标系的位置信息是不一样的。The following uses the coordinate origin in the coordinate system of the disk as an example to illustrate the first position information of the code point in the world coordinate system in the above embodiment, and the position information of the code point in the world coordinate system can be understood as follows. First, the coordinate origin is the coordinate origin position relative to the disk when the disk is moved, that is, the position is not changed in the coordinate system. When the coordinate system corresponding to the disk is the original code coordinate system, the coordinate origin The first position information relative to the world coordinate system is at A[q x1 , q y1 , q z1 ]; when the corresponding coordinate system after the disk is moved is the new code coordinate system, the position of the coordinate origin relative to the world coordinate system information B [q x2, q y2, q z2] at. Therefore, it can be seen that the position information of the corresponding world coordinate system of the pallet point in the corresponding disc coordinate system of each different disc is different.
基于上述技术方案,本发明实施例提供的确定码垛点位置信息的方法,该方法引入了码垛坐标系的概念,移动垛盘后,只需要示教一下码垛坐标系,通过简单的坐标系变换就可以获得移动后的垛盘下的码垛点位置信息,从而实现码垛操作,该方法对于垛盘模式比较复杂,需要示教的码垛点信息较多的情况,优势尤其明显,可以节省大量的重复示教时间,提高生产效率。下面对本发明实施例提供的确定码垛点位置信息的装置及机器人进行介绍,下文描述的确定码垛点位置信息的装置及机器人与上文描述的确定码垛点位置信息的方法可相互对应参照。Based on the above technical solution, the method for determining the position information of the code point is provided by the embodiment of the present invention. The method introduces the concept of the code coordinate system. After the disk is moved, only the code coordinate system needs to be taught, and the simple coordinate is adopted. The system transform can obtain the position information of the code point under the moving disk, thereby realizing the palletizing operation. This method is more complicated for the disk mode, and the information of the coded point information needs to be taught more, and the advantage is particularly obvious. It can save a lot of repeated teaching time and improve production efficiency. The apparatus and the robot for determining the position information of the code point are provided in the following embodiments of the present invention. The apparatus for determining the position information of the code point and the method for determining the position information of the code point described above may be mutually referenced. .
请参考图5,图5为本发明实施例所提供确定码垛点位置信息的装置的结构框图;该装置可以包括:Please refer to FIG. 5. FIG. 5 is a structural block diagram of an apparatus for determining location information of a code point according to an embodiment of the present invention; the apparatus may include:
第一变换矩阵模块100,用于确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;a first
第一位置信息模块200,用于根据示教码垛点在原始码垛坐标系下的位置信息,以及第一变换矩阵与世界坐标系之间的位置关系,获取示教码垛点在世界坐标系下的第一位置信息,并确定垛盘上其他各码垛点在世界坐标系下的第一位置信息;The first
第二变换矩阵模块300,用于确定移动后垛盘的新码垛坐标系,并确定新码垛坐标系与世界坐标系之间的第二变换矩阵;a second
更新位置信息模块400,用于根据第一变换矩阵和第二变换矩阵计算得到第三变换矩阵,并利用第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后的所述垛盘的码垛点在世界坐标系下的位置信息。The
基于上述实施例,第一位置信息模块200具体为当垛盘模式为不规则垛盘模式时,利用公式: Based on the foregoing embodiment, the first location information module 200 specifically uses the formula when the disk mode is the irregular disk mode:
计算垛盘上各码垛点的第一位置信息;Calculating first position information of each code point on the disk;
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is array.y, the layer is the coordinate point information of the teaching code point of 1, pos( 1,1,numL) is the coordinate point information of the teaching code point of the numL in the first row and the first column of the disk, and pos(1,1,1) is the first row of the first row of the first row of the disk. Location information, array.z is the number of layers is z.
基于上述任意实施例,第二变换矩阵模块300包括:Based on any of the above embodiments, the second
第一新码垛坐标系获取单元,用于获取移动后的垛盘的原始坐标系中三个坐标轴上相对于世界坐标系的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系;或,The first new code 垛 coordinate system acquiring unit is configured to obtain a unit vector with respect to the world coordinate system on three coordinate axes in the original coordinate system of the moved disk, and determine a new code of the moving disk according to the unit vector. Coordinate system; or,
第二新码垛坐标系获取单元,用于获取移动后的垛盘的原始坐标系的坐标原点相对于世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系。The second new code 垛 coordinate system acquiring unit is configured to obtain coordinate point information of a coordinate origin of the original coordinate system of the moved disk relative to the world coordinate system and coordinates of any point on any one coordinate axis with respect to the world coordinate system The point information determines a unit vector of the three coordinate axes according to the acquired coordinate point information, and determines a new code coordinate system of the moved disk according to the unit vector.
基于上述任意实施例,更新位置信息模块400包括:Based on any of the above embodiments, the update
第三变换矩阵单元,用于根据第一变换矩阵C1和第二变换矩阵C2计算得到第三变换矩阵C1*C2-1;a third transformation matrix unit, configured to calculate a third transformation matrix C1*C2 -1 according to the first transformation matrix C1 and the second transformation matrix C2;
移动后码垛点位置信息单元,用于利用公式pos新世=C1*C2-1*(pos原始世)计算移动后码垛点在新码垛坐标系下的世界坐标系的位置信息pos新世;其中,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。Point position information after the movement palletizing unit for calculating the new post-movement position information pos palletizing point in the world coordinate system of the new coordinate system using equation palletising Pliocene pos = C1 * C2 -1 * (pos original World) The C2 -1 is the inverse matrix of the second transformation matrix C2, and the pos primitive is the first position information of each code point on the disk.
基于上述技术方案,本发明实施例提供的确定码垛点位置信息的装置,引入了码垛坐标系的概念,移动垛盘后,只需要示教一下码垛坐标系,通过简单的坐标系变换就可以获得移动后的垛盘下的码垛点位置信息,从而实现码垛操作,该方法对于垛盘模式比较复杂,需要示教的码垛点信息较多的情况,优势尤其明显,可以节省大量的重复示教时间,提高生产效率。Based on the above technical solution, the device for determining the position information of the code point is introduced by the embodiment of the present invention, and the concept of the code coordinate system is introduced. After the disk is moved, only the code coordinate system needs to be taught, and the coordinate system is transformed by a simple coordinate system. The position information of the pallets under the moving disc can be obtained, thereby realizing the palletizing operation. The method is more complicated for the disc mode, and the information of the palletizing point information needs to be taught more, and the advantage is particularly obvious, which can save A large number of repeated teaching times to improve production efficiency.
请参考图6,图6为本发明实施例所提供机器人的结构示意图;该机器人可以包括:通讯组件10,用于获取根据示教码垛点在原始码垛坐标系
下的位置信息;Please refer to FIG. 6. FIG. 6 is a schematic structural diagram of a robot according to an embodiment of the present invention; the robot may include: a
处理器20,用于确定垛盘绑定的原始码垛坐标系与机器人的世界坐标系之间的第一变换矩阵;根据示教码垛点在原始码垛坐标系下的位置信息,以及第一变换矩阵与世界坐标系之间的位置关系,获取示教码垛点在世界坐标系下的第一位置信息,并确定垛盘上其他各码垛点在世界坐标系下的第一位置信息;确定移动后垛盘的新码垛坐标系,并确定新码垛坐标系与世界坐标系之间的第二变换矩阵;根据第一变换矩阵和第二变换矩阵计算得到第三变换矩阵,并利用第三变换矩阵更新垛盘上各码垛点的第一位置信息,得到移动后的垛盘的码垛点在世界坐标系下的位置信息。The
基于上述实施例,处理器20用于获取移动后的垛盘的原始坐标系中三个坐标轴上相对于世界坐标系的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系;或,获取移动后的垛盘的原始坐标系的坐标原点相对于世界坐标系的坐标点信息及任意一个坐标轴上的任一点相对于世界坐标系的坐标点信息,根据获取的坐标点信息确定三个坐标轴的单位向量,并根据单位向量确定移动后垛盘的新码垛坐标系。Based on the above embodiment, the
基于上述实施例,处理器20用于根据第一变换矩阵C1和第二变换矩阵C2计算得到第三变换矩阵C1*C2-1;其中,C2-1为第二变换矩阵C2的逆矩阵。Based on the above embodiment, the
基于上述任意实施例,处理器20用于利用公式pos新世=C1*C2-1*(pos原始世)计算移动后码垛点在新码垛坐标系下的世界坐标系的位置信息pos新世;其中,C1为第一变换矩阵,C2-1为第二变换矩阵C2的逆矩阵,pos原始世为垛盘上各码垛点的第一位置信息。Based on any of the above embodiments, the
基于上述任意实施例,处理器20用于当垛盘模式为不规则垛盘模式时,利用公式Based on any of the above embodiments, the
计算垛盘上各码垛点的第一位置信息;Calculating first position information of each code point on the disk;
其中,pos(array.x,array.y,1)为垛盘上三维阵点的行是array.x和列是 array.y,层是1的示教码垛点的坐标点信息,pos(1,1,numL)为垛盘第1行第1列层为numL的示教码垛点的坐标点信息,pos(1,1,1)为垛盘第1行第1列第1层的位置信息,array.z为层数为z。说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。Where pos(array.x,array.y,1) is the row of the three-dimensional lattice point on the disk is array.x and the column is Array.y, the layer is the coordinate point information of the teaching code 垛 point of 1, pos(1,1,numL) is the coordinate point information of the teaching code 垛 point of the first row and the first column of the 为L, pos (1,1,1) is the position information of the first layer of the first row and the first column of the disk, and array.z is the number of layers of z. The various embodiments in the specification are described in a progressive manner, and each embodiment focuses on differences from other embodiments, and the same similar parts between the various embodiments may be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part.
专业人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。A person skilled in the art will further appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software or a combination of both, in order to clearly illustrate the hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
结合本文中所公开的实施例描述的方法或算法的步骤可以直接用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。The steps of a method or algorithm described in connection with the embodiments disclosed herein can be implemented directly in hardware, a software module executed by a processor, or a combination of both. The software module can be placed in random access memory (RAM), memory, read only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or technical field. Any other form of storage medium known.
以上对本发明所提供的确定码垛点位置信息的方法、装置及机器人进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。 The method, device and robot for determining the position information of the code point are provided in detail above. The principles and embodiments of the present invention have been described herein with reference to specific examples, and the description of the above embodiments is only to assist in understanding the method of the present invention and its core idea. It should be noted that those skilled in the art can make various modifications and changes to the present invention without departing from the spirit and scope of the invention.
Claims (15)
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2016/113917 WO2018120210A1 (en) | 2016-12-30 | 2016-12-30 | Method and device for determining position information about stacking point, and robot |
| CN201680038480.8A CN108064197B (en) | 2016-12-30 | 2016-12-30 | Method and device for determining position information of stacking point and robot |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2016/113917 WO2018120210A1 (en) | 2016-12-30 | 2016-12-30 | Method and device for determining position information about stacking point, and robot |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2018120210A1 true WO2018120210A1 (en) | 2018-07-05 |
Family
ID=62138144
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2016/113917 Ceased WO2018120210A1 (en) | 2016-12-30 | 2016-12-30 | Method and device for determining position information about stacking point, and robot |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN108064197B (en) |
| WO (1) | WO2018120210A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110682292A (en) * | 2019-10-21 | 2020-01-14 | 天津百利机械装备集团有限公司中央研究院 | Robot stacking track generation method based on RT Toolbox |
| CN110781536A (en) * | 2019-09-06 | 2020-02-11 | 久瓴(上海)智能科技有限公司 | Building flat skylight node generation method and system, computer equipment and storage medium |
| CN114596356A (en) * | 2020-12-07 | 2022-06-07 | 上海宝信软件股份有限公司 | Stack position coordinate calibration device and method based on image shape detection and image fusion |
Families Citing this family (13)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2020010627A1 (en) * | 2018-07-13 | 2020-01-16 | 深圳配天智能技术研究院有限公司 | Workpiece tracking method, system and robot |
| CN109124769B (en) * | 2018-09-10 | 2021-06-04 | 上海电气集团股份有限公司 | Method and system for calibrating and controlling coordinate system of surgical robot |
| CN109436821B (en) * | 2018-10-18 | 2021-11-09 | 埃夫特智能装备股份有限公司 | Method for realizing custom stacking of polygonal objects |
| CN111788134B (en) * | 2019-02-14 | 2022-02-18 | 深圳配天智能技术研究院有限公司 | Method, device and storage device for automatic palletizing |
| US10618172B1 (en) | 2019-05-31 | 2020-04-14 | Mujin, Inc. | Robotic system with error detection and dynamic packing mechanism |
| US10696494B1 (en) | 2019-05-31 | 2020-06-30 | Mujin, Inc. | Robotic system for processing packages arriving out of sequence |
| CN111498214B (en) * | 2019-05-31 | 2021-05-07 | 牧今科技 | Robot system with packaging mechanism |
| US10696493B1 (en) | 2019-05-31 | 2020-06-30 | Mujin, Inc. | Robotic system with packing mechanism |
| US10679379B1 (en) | 2019-05-31 | 2020-06-09 | Mujin, Inc. | Robotic system with dynamic packing mechanism |
| US10647528B1 (en) | 2019-05-31 | 2020-05-12 | Mujin, Inc. | Robotic system for palletizing packages using real-time placement simulation |
| US11077554B2 (en) | 2019-05-31 | 2021-08-03 | Mujin, Inc. | Controller and control method for robotic system |
| CN110480615B (en) * | 2019-08-30 | 2020-11-10 | 河南省机械设计研究院有限公司 | Robot unstacking positioning correction method |
| CN116061148B (en) * | 2023-03-17 | 2023-07-04 | 上海仙工智能科技有限公司 | A method, system and storage medium for teaching interaction between a robot arm and a backpack |
Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140200712A1 (en) * | 2013-01-11 | 2014-07-17 | J&L Group International, Llc | Palletizer for corrugated bundles |
| CN104331894A (en) * | 2014-11-19 | 2015-02-04 | 山东省科学院自动化研究所 | Robot unstacking method based on binocular stereoscopic vision |
| CN104570735A (en) * | 2014-12-23 | 2015-04-29 | 广州市万世德智能装备科技有限公司 | Arc-shaped movement-track algorithm for palletizing robot |
| CN105066831A (en) * | 2015-09-09 | 2015-11-18 | 大族激光科技产业集团股份有限公司 | Calibration method of single or multi-robot system cooperative work coordinate system |
| CN105217324A (en) * | 2015-10-20 | 2016-01-06 | 上海影火智能科技有限公司 | A kind of novel de-stacking method and system |
Family Cites Families (8)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH01187602A (en) * | 1988-01-22 | 1989-07-27 | Fanuc Ltd | Robot controlling method |
| TWI408037B (en) * | 2010-12-03 | 2013-09-11 | Ind Tech Res Inst | A position method and a calibrating method for the robot arm |
| JP5744587B2 (en) * | 2011-03-24 | 2015-07-08 | キヤノン株式会社 | Robot control apparatus, robot control method, program, and recording medium |
| CN103322953B (en) * | 2013-05-22 | 2015-11-04 | 北京配天技术有限公司 | The scaling method of workpiece coordinate system, device and work pieces process disposal route, device |
| CN104827480A (en) * | 2014-02-11 | 2015-08-12 | 泰科电子(上海)有限公司 | Automatic calibration method of robot system |
| CN104299184A (en) * | 2014-10-29 | 2015-01-21 | 西南科技大学 | Method for establishing robot coordinate transformation system |
| CN104457566A (en) * | 2014-11-10 | 2015-03-25 | 西北工业大学 | Spatial positioning method not needing teaching robot system |
| CN105619411B (en) * | 2016-03-22 | 2018-01-02 | 中国船舶重工集团公司第七一六研究所 | A kind of six-shaft industrial robot palletizing method |
-
2016
- 2016-12-30 CN CN201680038480.8A patent/CN108064197B/en active Active
- 2016-12-30 WO PCT/CN2016/113917 patent/WO2018120210A1/en not_active Ceased
Patent Citations (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20140200712A1 (en) * | 2013-01-11 | 2014-07-17 | J&L Group International, Llc | Palletizer for corrugated bundles |
| CN104331894A (en) * | 2014-11-19 | 2015-02-04 | 山东省科学院自动化研究所 | Robot unstacking method based on binocular stereoscopic vision |
| CN104570735A (en) * | 2014-12-23 | 2015-04-29 | 广州市万世德智能装备科技有限公司 | Arc-shaped movement-track algorithm for palletizing robot |
| CN105066831A (en) * | 2015-09-09 | 2015-11-18 | 大族激光科技产业集团股份有限公司 | Calibration method of single or multi-robot system cooperative work coordinate system |
| CN105217324A (en) * | 2015-10-20 | 2016-01-06 | 上海影火智能科技有限公司 | A kind of novel de-stacking method and system |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110781536A (en) * | 2019-09-06 | 2020-02-11 | 久瓴(上海)智能科技有限公司 | Building flat skylight node generation method and system, computer equipment and storage medium |
| CN110682292A (en) * | 2019-10-21 | 2020-01-14 | 天津百利机械装备集团有限公司中央研究院 | Robot stacking track generation method based on RT Toolbox |
| CN114596356A (en) * | 2020-12-07 | 2022-06-07 | 上海宝信软件股份有限公司 | Stack position coordinate calibration device and method based on image shape detection and image fusion |
Also Published As
| Publication number | Publication date |
|---|---|
| CN108064197A (en) | 2018-05-22 |
| CN108064197B (en) | 2021-04-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| WO2018120210A1 (en) | Method and device for determining position information about stacking point, and robot | |
| Wang et al. | Optimal trajectory planning of grinding robot based on improved whale optimization algorithm | |
| CN113379849A (en) | Robot autonomous recognition intelligent grabbing method and system based on depth camera | |
| CN106346478A (en) | control method and device of mechanical arm | |
| CN112077843B (en) | Robot graphical stacking method, computer storage medium and robot | |
| CN107369184A (en) | Mix binocular industrial robot system's synchronization calibration system, method and other devices | |
| CN111002315A (en) | A trajectory planning method, device and robot | |
| CN105619411A (en) | Stacking method for six-axis industrial robot | |
| CN114260908B (en) | Robot teaching method, apparatus, computer device and computer program product | |
| CN113894800A (en) | Regular grid welding method, device, terminal and storage medium based on multi-point teaching | |
| US11518024B2 (en) | Extensible underconstrained robotic motion planning | |
| CN116395408A (en) | A control method, device, equipment and storage medium for a palletizing manipulator | |
| CN111216136A (en) | Multi-degree-of-freedom mechanical arm control system, method, storage medium and computer | |
| CN112476435B (en) | Calibration method and calibration device for gravity acceleration direction and storage medium | |
| CN110142748A (en) | A kind of quick teaching system of robot suitable for spraying welding profession and method | |
| KR101845079B1 (en) | A Planning Method for Robot Position and Tracking Path Using CAD Information of Object | |
| CN108127668B (en) | Robot teaching method, robot teaching device and robot system | |
| JP2007511442A (en) | System and method for load transfer actuator | |
| CN118269104A (en) | Robot calibration method and device, electronic equipment and storage medium | |
| CN117047754A (en) | Method, device, equipment and medium for planning grinding and polishing track of complex component robot | |
| Huynh et al. | Dynamic Hybrid Filter for Vision‐Based Pose Estimation of a Hexa Parallel Robot | |
| CN115592670A (en) | Method, device and equipment for determining motion track of mechanical arm and storage medium | |
| CN117688003A (en) | Accessibility detection method, device, equipment and medium for robot operation pose | |
| JPH09290383A (en) | Manipulator control method by image information | |
| JPH06143169A (en) | Teaching device for robot palletizer |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 16925099 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 16925099 Country of ref document: EP Kind code of ref document: A1 |