POSE DETERMINATION IN PARALLEL KINEMATICS WITH REFERENCE MARKER
Patent Information
- Application Number
- DE502022006673
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-11-26
- Filing Date
- 2022-11-22
- Publication Date
- 2026-01-08
- Estimated Expiration
- 2042-11-22
AI Technical Summary
Existing methods for determining the pose of parallel kinematics are time-consuming, computationally intensive, and lack accuracy due to sensor limitations and the need for complex reference runs, while external sensors require a large number of devices and limited measuring range, making precise position determination challenging.
A parallel kinematic system with a camera and marking area is used, where markings are placed to ensure at least a certain number are always in the camera's field of view, allowing direct pose determination through image analysis without complex numerical methods, detecting influences like misalignment and deformation.
This approach enables high-accuracy, direct pose determination across the robot's working range with a single sensor, eliminating the need for multiple sensors and complex calculations, and allows for precise control of the moving work platform.
Description
[0001] The present invention relates to devices and methods for determining the pose of parallel kinematics.
[0002] A common problem in controlling and regulating a robot is determining its current pose (position and orientation).
[0003] Especially in parallel kinematics, the pose—that is, the position and orientation of, for example, the moving work platform of a hexapod—often cannot be calculated directly and / or exactly from the lengths of the driven legs or joint angles. Instead, numerical methods, such as iterative optimization procedures, are necessary. However, these methods are time-consuming and computationally intensive, and the achievable accuracy depends significantly on the initial estimate used. Furthermore, they are usually based on measuring the leg lengths and / or joint angles using internal sensors (e.g.,...)Incremental sensors for measuring the leg lengths of a hexapod fail to detect influences such as misalignment, deformation, play, and backlash in the legs, joints, and / or the moving platform itself (even with absolute sensors in the legs), and therefore cannot be taken into account by any subsequent numerical method. Furthermore, incremental sensors, for example, require complex reference runs to achieve a zero position for the legs, and there are specific parallel kinematic systems for which no numerical methods are available.
[0004] However, if external optical incremental and absolute sensors are used, a large number of sensors are usually necessary to measure all degrees of freedom. Likewise, due to the limited measuring range of the sensors, large positioning movements of the parallel kinematics are often not achievable.
[0005] When using 6D measurement technology via photogrammetry, a large number of images from as many different positions as possible are often necessary to generate an accurate 3D scan. Since a comparatively large area needs to be captured, only relatively low accuracy is achievable, or an extremely high camera resolution is required to detect changes in position, e.g., in the nanometer range.
[0006] Moldagalieva, Akmaral, et al. "Computer vision-based pose estimation of tensegrity robots using fiducial markers." 2019 IEEE / SICE International Symposium on System Integration (Sil). IEEE, 2019, discloses a on "Fiducial Tags"This method attempts to keep the entire robot's workspace within the camera's field of view. Consequently, the camera's field of view must be very large, requiring it to be positioned quite far from the moving work platform. Since the achievable accuracy decreases with increasing distance between the camera and the platform, given a specific camera resolution, this method can only determine the kinematic pose with limited accuracy.
[0007] The present invention is therefore based on the objective of improving the determination of the pose of parallel kinematics.
[0008] The problem is solved according to the invention by the features of the independent claims. Some advantageous embodiments are the subject of the dependent claims.
[0009] The invention is based on the idea of placing several reference markers on a parallel kinematic system in such a way that at least one of the reference markers or a certain minimum number of reference markers is always in the camera's field of view.
[0010] According to a first aspect of the present invention, a parallel kinematic system is provided. The parallel kinematic system comprises a camera and a marking area with mutually distinguishable markings, wherein the camera is configured to observe the marking area in different poses (or even in all possible poses) of the parallel kinematic system. The pose of the parallel kinematic system can be determined based on an image of the marking area captured by the camera, provided that the image contains at least n arbitrary markings in one direction. ngreater than or equal to 1. Here, the distance D between any two adjacent markings in the direction of the formula is sufficient. FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n , where tm the length of one of the markings is, FOV min is the length of the section of the marking area that falls into the camera's field of view at a minimum distance of the camera from the marking area, and the minimum distance is the minimum distance among the distances that the marking area can be from the camera by changes in pose.
[0011] According to a second aspect of the present invention, a method for applying mutually distinguishable markings to a parallel kinematics in a marking area is provided, such that the pose of the parallel kinematics can be determined based on an image of the marking area if at least a predetermined number, n,the markings are located in one direction on the image. The procedure includes a step of determining the distance D between any two markings adjacent in that direction according to the formula: FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n , where tm the length of one of the markings is, FOV The minimum distance is the length of the portion of the marking area that falls within the camera's field of view at a minimum distance from the marking area, where the minimum distance is the minimum distance among all the distances that the marking area can be from the camera by changing its pose. The method further comprises a step of applying adjacent markings at the specified distance.
[0012] According to a third aspect of the present invention, a parallel kinematic system is provided. The parallel kinematic system comprises a camera and a marking area with mutually distinguishable markings attached thereto, wherein the camera is configured to observe the marking area in different poses (or even in all possible poses) of the parallel kinematic system. The distance D between any two markings adjacent in one direction satisfies the formula D ≤ FOV min − n + 1 ∗ t m n , where tm the length of one of the markings is, FOVThe minimum length of the section of the marking area that falls within the camera's field of view at a minimum distance from the marking area is defined, and the minimum distance is the minimum distance among all the distances the marking area can be from the camera due to changes in pose. Furthermore, the markings are located in different planes, and the pose of the parallel kinematics can be determined based on an image captured by the camera, provided that this image contains at least a number of... n, any of the markings in the direction, where n is greater than or equal to 2.
[0013] According to a fourth aspect of the present invention, a method for applying mutually distinguishable markings to a parallel kinematics in a marking area is provided, such that the pose of the parallel kinematics can be determined based on an image of the marking area taken with a camera, if at least a predetermined number, n, The markings on the image are located in one direction, where n is greater than or equal to 2. The procedure includes a step of determining the distance D between any two markings adjacent in that direction according to the formula: D ≤ FOV min − n + 1 ∗ t m n , where tm the length of one of the markings is, FOVThe minimum distance is the length of the portion of the marking area that falls within the camera's field of view at a minimum distance from the camera, where the minimum distance is the minimum distance among all the distances that the marking area can be from the camera by changing its pose. The method further comprises a step of placing adjacent markings at the specified distance, positioned such that the markings are located in different planes.
[0014] In general, in embodiments of the first to fourth aspects, the length can FOV min of the equation FOV min = g min f − 1 l Sensor sufficient, whereby g min the minimum distance is l sensor is the length of the camera's sensor, and f is the focal length of the camera.
[0015] In general, in embodiments of the first and third aspects, the markings can be arranged in the marking area according to a regular arrangement scheme.
[0016] In general, in embodiments of the second and fourth aspects, the markings can be applied in the marking area according to a regular arrangement scheme during the application step.
[0017] In general, in embodiments of the first and third aspects, the marking area can be located on the underside of the working platform of the parallel kinematics, and the camera can be mounted in or on a base of the parallel kinematics and directed towards the underside of the working platform.
[0018] In general, in embodiments of the first and third aspects, the marking area can be located in or on a base of the parallel kinematics, and the camera can be mounted on the underside of the working platform of the parallel kinematics, and the camera can be directed towards the base of the parallel kinematics. Alternatively, in embodiments of the first and third aspects, in the step of mounting the marking area, it can be located in or on a base of the parallel kinematics, and the camera can be mounted on the underside of the working platform of the parallel kinematics and directed towards the base of the parallel kinematics.
[0019] In general, in embodiments of the second and fourth aspects, in the step of attaching the marking area, this can be attached to the underside of the work platform of the parallel kinematics, and / or the camera can be attached in or to a base of the parallel kinematics and pointed towards the underside of the work platform. Alternatively, in embodiments of the second and fourth aspects, in the step of attaching the marking area, this can be attached in or to a base of the parallel kinematics, and the camera can be attached to the underside of the work platform of the parallel kinematics and pointed towards the base of the parallel kinematics.
[0020] In general, in embodiments of the first to fourth aspects, the length tm a marking of the equation t m ≥ px ∗ p ∗ t b ∗ g max f − 1 suffice, where p is a camera-dependent value greater than or equal to 2 and less than or equal to 5, pxthe length that corresponds to a sample value from the camera, g max is the maximum distance among the distances that the marking area can be from the camera by changing the pose, f a focal length of the camera, and tb The number of information units in the marker.
[0021] In general, in embodiments of the first to fourth aspects, the markings may be reference markers, such as ARToolKit markings, ArUco markings, QR codes or, in particular, AprilTag markings.
[0022] In general, in embodiments of the first to fourth aspects, each of the markings can consist of several squares, the squares corresponding to the units of information and each square containing a bit that can be encoded.
[0023] Further details, advantages and features of the invention will become apparent from the following description and the drawings, to which express reference is made with regard to all details not described in the text. The drawings show: Figs. 1a and b are schematic three-dimensional representations of an exemplary parallel kinematic system. Figs. 2a and b are schematic sectional views of an exemplary parallel kinematic system. Fig. 3 is a flowchart showing exemplary steps for placing markers in the marking area. Fig. 4 is a schematic representation of the visible portion of the marking area when the pose of the kinematic system is changed. Fig. 5 is a schematic representation of a minimum field of view of a marking area at various deflections in the x and y directions, as well as a corresponding maximum field of view; the spacing of the markers is chosen so that at least one, and in the limiting case four, markers are fully visible.6. A schematic representation of a minimum field of view at various deflections in the x and y directions, and a corresponding maximum field of view; the spacing of the markings is chosen such that at least 4 and, in the limiting case, 9 markings are fully visible. Fig. 7a and b. Schematic representations of marking areas in which the markings are evenly spaced. Fig. 8. An exemplary marking. Fig. 9. The field of view of a marking area in which, in the limiting case, more (i.e., 9) are visible. nx + 1) = ( ny + 1) = 3 in the x or y direction) as the desired minimum number nx = ny = 2 markings in the x and y directions are fully visible. Fig. 10 shows a viewing area that is slightly deflected to the lower left compared to the viewing area in Fig. 9 has been postponed; therefore, there are only [new] cases again. nx = ny= 2 markings fully visible in the x and y directions. Fig. 11 shows the viewing area of a marking region where, in the limiting case, more (i.e., a total of 4) than the desired minimum number are visible. nx = ny = 1 is fully visible at markings in the x and y directions; Fig. 11b the viewing area from Fig. 11a after increasing the distances between the markings in the x and y directions by 2 tm ,which in extreme cases means that no marking is fully visible. Fig. 12 is a schematic representation for determining the distance between the markings, taking rotations into account. Figs. 13a to d show marking areas where the markings are arranged in different planes. Fig. 13e is a schematic representation of a periodic pattern according to which the markings can be applied in three different planes. Fig. 14 is a schematic representation of the magnification of the working area that can be covered by using multiple planes in which the markings are applied.
[0024] The present invention relates to parallel kinematics on which markings are attached, and to methods for attaching markings to parallel kinematics. Parallel kinematics
[0025] In robotics, a fundamental distinction is made between the main classes of serial and parallel kinematics. Hybrid kinematics, which combine elements of both, also exist. While serial kinematics consist of a series of links (e.g., linear and / or rotary axes) forming an open kinematic chain, the parallel kinematics considered in this application consist of a number of closed kinematic chains. In practice, parallel rod kinematics, rod actuators, and / or rotary actuators are frequently used for the parallel axes of motion, coupling two planes that move relative to each other. Thus, each drive is directly connected to the (end) effector (e.g., a tool carrier). As a result, unlike serial kinematics, the drives are not burdened with the masses of all subsequent links and drives.Since all drives move simultaneously, i.e., in parallel to each other, the loads are distributed more evenly across all guide elements. The resulting low moving masses enable extreme dynamics with high speeds and accelerations, while maintaining high mechanical precision. Another difference from serial mechanisms is that in parallel kinematics, the drives, especially the motors and gearboxes, remain stationary. This optimizes not only the dynamics and performance of such robots but also their energy efficiency. Parallel kinematics are therefore frequently used when simple motion sequences with high repeatability and speed are required. Classic examples of parallel kinematics are hexapods and delta robots.It should be noted at this point that the example of a hexapod frequently used in the present application serves only for illustration and that what has been said generally also applies to other parallel kinematics. Examples of implementation
[0026] According to one embodiment of the present invention, a parallel kinematic system is provided. The parallel kinematic system comprises, as exemplified in Fig. 1 , 2a and 2b The figure shows a camera 110 configured to observe a marking area 150 of the parallel kinematics moving in sync with a pose of the parallel kinematics. The parallel kinematics further comprise mutually distinguishable markings attached to the parallel kinematics in the marking area 150.
[0027] The markings are located in the marking area either: with a distance Dplaced between any two adjacent markings in one direction, which corresponds to the formula FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n suffices, whereby the pose of the parallel kinematics can be determined based on an image of the marking area taken with camera 110, provided the image is at least n any of the markings in the direction contains n greater than or equal to 1; or placed in different planes, with the distance D between any two adjacent markings of the formula in one direction D ≤ FOV min − n + 1 ∗ t m n suffices, and the pose of the parallel kinematics can be determined based on an image (e.g., any one or every single one) taken with the camera, provided that this image contains at least a number, n arbitrarily, of the markings in the direction, wherein n greater than or equal to 2.
[0028] Here, as explained in more detail below, the term refers to tm the length of one of the markings, and FOVmin a length of the minimum field of view of the camera 110.
[0029] Accordingly, in another embodiment, a method for applying mutually distinguishable markings to a parallel kinematic system in a marking area is provided. Such a method is described in Fig. 3 depicted and includes a step S310 of determining a distance in accordance with either the formula FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n ; or the formula D ≤ FOV min − n + 1 ∗ t m n .
[0030] The procedure further includes step S320 of applying adjacent markings in one direction at the specified distance. D so that the pose of the parallel kinematics can be determined based on an image of the marked area taken with a camera, provided that at least a predetermined number, n,the markings on the image are in that direction. In other words, if at least the specified number is present on any (any) captured image, n, If the markings are in the correct direction, the poses can be determined based on the image. Generally, the markings can be applied at different levels during the S320 application step, especially if n greater than or equal to 2 and / or the second of the two formulas above, i.e. D ≤ FOV min − n + 1 ∗ t m n is used.
[0031] By directly determining the position or pose of the moving work platform using markers, it is no longer necessary to solve the forward kinematics using complex numerical methods (relieving the controller of this burden, although higher bandwidth is required depending on the frame rate and the identification time). Furthermore, influences such as offset, deformation, play, and backlash in the legs, joints, or the moving platform itself can be detected. Absolute position determination becomes possible, eliminating the need for reference runs. It also allows for direct control of the position of the moving work platform, rather than just the driven joints (e.g., only the leg lengths in a hexapod). Moreover, only one sensor (camera) is used to measure six degrees of freedom, thus eliminating the need for the complicated alignment of multiple sensors.In particular, it is possible to use only one sensor image, i.e., one sensor signal, which further simplifies pose determination. Since at least one marker (or the necessary minimum number) is visible in every pose of the parallel kinematics, such direct measurement can achieve high accuracy in pose determination across the entire working range of the robot.
[0032] It should be noted that the following detailed description applies equally to the parallel kinematics according to the invention as well as to the attachment methods according to the invention. camera
[0033] In general, parallel kinematic systems according to the invention can include a camera. However, the present invention is not limited to this, as parallel kinematic systems according to the invention can also include no camera. A parallel kinematic system can, for example, comprise only a mounting location, mounting device, and / or mounting bracket to which a camera can be attached according to the invention (i.e., attached such that the camera is directed towards the marking area). Likewise, it is possible that a parallel kinematic system is intended solely for use with a camera (of a specific focal length) positioned at a particular location and directed towards the marking area.
[0034] Furthermore, it should be noted that the term "camera" is to be understood broadly here and includes any devices for optical image recording, in particular both cameras with and cameras without lenses (e.g., a "Pinhole" ) .
[0035] Furthermore, the camera can include a suitable lens (possibly including an extension ring) that can, for example, be screwed onto the camera to focus the camera on the movable work platform. The term "camera" also includes such a potentially interchangeable lens. Therefore, if, for example, the present application refers to the Camera focal length When spoken, this can be the Focal length of a lens and / or include or be part of a lens. The same applies to the other camera parameters used here.
[0036] Furthermore, the camera can include one or more extension tubes that reduce the distance to the focal plane. The reduced working distance g' can be calculated using the following equations: g ′ fp = 1 1 f − 1 b + zr b = 1 1 f − 1 g fp where zr denotes the width of the intermediate ring.
[0037] The camera is set up to capture the marker area in different, or even all possible, parallel kinematic poses. observe. The camera and the marking area can, but do not have to, be positioned in such a way that the marking area is visible in all possible poses. For example, it may not be intended to actually move to certain theoretically achievable poses and / or to precisely determine them using the markings. In particular, it may be that pose determination based on the markings and the camera is only intended for poses within a specific work area. This could, for example, be the work area for performing a specific task (or a specific part of a task) for which particularly precise pose determination is necessary.
[0038] This involves "observe"This means that the camera is pointed, or can be pointed, at the marked area, for example, to take pictures of it. These pictures can be used, as explained below, to determine the pose of the kinematics. It should be noted, however, that this does not mean the camera must always have the entire marked area in its field of view. The camera can, for example, as explained in more detail below, only have a portion of the marked area in its field of view.
[0039] The camera can be mounted in or on a base of the parallel kinematic system. The base could be, for example, a base plate or platform of the kinematic system or the hexapod, in or on which the camera can be mounted and / or fixed. The camera can be pointed towards the underside of the work platform, especially if the marking area is located there.
[0040] This is also in Fig. 1 as in Fig. 2a and Fig. 2bThis is illustrated. As can be seen there, the camera 110 is built into the base platform 120 and pointed at the underside of the manipulator platform 140, on which the AprilTag array 150 is also located. It should be noted again here that the lens 130 can also be considered part of the camera 110.
[0041] The camera can then be aligned in such a way that it is in a zero position or "Home position" The hexapod is positioned perpendicular to the movable platform (or the marking area). The zero position can be, in particular, a pose where the movable work platform is parallel to the base plate. Alternative positioning and / or orientation of the camera is also possible, as long as the marking area remains visible to the camera in different poses (or even in all possible poses).
[0042] As explained below in the description of the placement of the marking area, if the position of the camera and the marking area are "reversed", the camera can also be placed at a moving location, e.g. on the end effector, in particular the underside of the work platform. Field of view, minimum field of view (FOV min), and maximum field of view (FOV max)
[0043] The field of vision (the abbreviation used here " FOV " is from the English term "Field Of View" (derived) here refers to the area that is captured by the camera. It has the same shape as the corresponding sensor of the camera. For the sake of simplicity and clarity, only the case of a rectangular and / or square sensor will be explicitly described below, but the invention is not limited to such a sensor.
[0044] In the case of a rectangular sensor, the field of view has the same aspect ratio as the sensor, resulting in FOV x = g f − 1 ∗ Sensor x and FOV y = g f − 1 ∗ Sensor y , wheref the focal length of the camera FOV x the width of the field of vision, FOV y the height of the field of vision, Sensor x the sensor width is designated, and Sensor x The sensor height is referred to as the field of view. The field of view thus corresponds to the area or section of the marked area that the camera can observe at a specific distance between the camera and the marked area. A larger sensor can therefore provide a larger field of view for the same working distance or object distance g. "capture". In other words, the dimensions of the sensor are calculated using the inverse image scale. 1 / b g = g f − 1 scaled to preserve the field of view (b denotes, as usual, the image distance and 1 / f = 1 / b +1 / g ).
[0045] To ensure that one or more markings are always in the field of vision, the marking distances can be determined using the method explained below. minimal field of view can be used. According to the formulas above, the minimum length is calculated as follows: FOV min of the field of vision FOV x , min = g min f − 1 ∗ Sensor x and FOV y , min = g min f − 1 ∗ Sensor y .
[0046] This is also known as minimum distance designated distance g min is the minimum, or smallest, distance among the distances that the marking area can be from the camera. The minimum distance g min therefore corresponds to the minimum object distance of the moved A marking area that can be achieved by changing the pose (in other words, by moving the robot) within a specific, possibly application-limited area of the pose space. Therefore, it must be possible to... gThe minimum distance may not refer to the absolute smallest possible distance if, for example, it is not intended to actually move to certain theoretically achievable poses and / or to precisely determine them using the markings. In other words, the minimum distance can refer to the smallest distance at which pose determination should be carried out based on the markings and the camera. It can, in particular, refer to the minimum working distance, i.e., the minimum distance required to perform a specific task that necessitates precise pose determination.
[0047] The lengths FOV x, min and FOV y, The minimum field of view is therefore defined as the width and height of the portion of the marked area that falls within the camera's field of view at a minimum distance from the marked area. In addition to the sensor width and height, the camera's minimum field of view is thus also determined by the focal length. f, which is determined, for example, by the lens used, as well as the minimum distance of the marking area from the camera.
[0048] In particular, if the sensor is square and / or if the marking area can rotate due to changes in the pose relative to the sensor, it may also be useful to use only one length. FOV to work with the minimum field of view. In other words, the length of the minimum field of view, i.e., the length of the portion of the marking area that falls within the camera's field of view at a minimum distance from the marking area, can also be determined by the following formula. FOV min = g min f − 1 l Sensor , wobei for l Sensor the smaller of the two lengths Sensor x and Sensor x to choose. In other words, corresponds F0V min of the smaller (or one that is not larger) of the two lengths FOV x,min and FOV y, min .
[0049] For the sake of simplicity, the following will often assume only a minimal length. FOV min , For example, consider the case of a square sensor. However, it should be noted that the following applies to FOV min said generally also for FOV x, min , and FOV y, min applies. In other words, it can be FOV min FOV x, min , to FOV y, min , or it concerns the smaller of the two lengths (unless it is clear from the context that this is not the case). The same applies to l Sensor regarding Sensor x and Sensor y .
[0050] Analogous to the minimum field of view, the dimensions of the maximum field of view, which is the field of view at the maximum working distance g max is being determined to FOV x , max = g max f − 1 ∗ Sensor x and FOV y , max = g max f − 1 ∗ Sensor y .
[0051] The maximum working distance g"Max" here refers to the maximum distance that the marker area can be from the camera due to changes in pose. Analogous to the minimum distance mentioned above, this is the maximum distance of the marker area from the camera when the robot is moving.
[0052] If the sensor is square and / or the marking area can rotate due to changes in the sensor's pose, then... FOV max = g max f − 1 L Sensor used, whereby for L Sensor the larger of the two lengths Sensor x and Sensor y to choose. Marking area
[0053] In general, the marker area can be positioned so that it moves with the pose of the kinematics. The marker area can therefore be attached, for example, to the end effector, whose position and orientation are defined by the pose. In the case of a hexapod, the marker area can thus be located, in particular, on the moving work platform, e.g., in and / or symmetrically around the center of the work platform. Specifically, if the camera is mounted in or intended to be mounted in a base plate of the hexapod, the marker area can be attached to the underside of the work platform of the parallel kinematics (attachment method).
[0054] The marking area can, for example, first be created on a separate additional plate. This additional plate can then be attached to the work platform (e.g., screwed on) so that it is visible from below through the aperture.
[0055] It should be noted at this point that the present application usually only explicitly describes the case of a fixed camera and a moving marking area as an illustrative example. However, the present invention is not limited to a moving marking area. More precisely, it is possible to interchange the described position (i.e., the mounting location) of the camera and the marking area. For each embodiment of the present invention explicitly described here, there is therefore also a corresponding further embodiment in which the positions of the camera and the marking area are interchanged, and to which the present invention also refers. The camera then moves along with the camera, and the marking area is stationary. For example,It is possible that the marking area is located in the base of the parallel kinematics (and therefore does not move) and the camera is located on the underside of the hexapod's work platform (and therefore moves with it).
[0056] It should also be noted that the abbreviation for the marking area will also be used below. ATA (from the English for AprilTagArray) is used, but this does not necessarily refer to a specific arrangement of the markers and / or the use of AprilTags. Using an array of tags requires only a small image area (field of view) for the camera. This allows the camera to be placed much closer to the work platform, increasing the achievable accuracy. Dimensions of the marking area
[0057] The size of the marking area can be adjusted to the position and / or the field of view of the camera so that the camera always observes a section of the marking area, even when the robot is moving within the intended frame.
[0058] This is in Fig. 4 for a sensor with rectangular dimensions, i.e. a rectangular field of view 400 with width and height FOV x or FOV y , shown. As can be seen, the dimensions of the marking area 150, i.e. the width and height, are shown. ATA x or ATA y The depicted field of view 400 is centered within the marking area 150 and corresponds to a specific pose of the robot, e.g., a resting pose, home pose, home position, and / or reference position. As illustrated by the double arrows, the marking area 150 can move relative to the field of view 400 when the robot moves. S xthe adjustment range in the x-direction, i.e., both in the x-direction "right" as well as after "left" Starting from a centered (resting) position of the hexapod, as shown. Likewise, it is described as follows: S y the adjustment range in the y-direction, i.e. both in the direction "above" as well as after "below". In other words, the considered range of motion of the hexapod in the horizontal and vertical directions is 2 S x or 2 S y . To ensure that the field of view remains within the ATA range during such movements, the dimensions of the ATA can be calculated according to the hexapod's range of motion. The field of view used is that which is achieved at maximum distance ( g max ) to the camera results (designed for the larger field of view, therefore also suitable for smaller fields of view at g min ). This results in ATA x = FOV x , max + 2 ∗ S x and ATA y = FOV y , max + 2 ∗ S y for the horizontal or vertical length of the marking area.
[0059] The relationships between minimum field of view, maximum field of view, positioning distances and the dimensions of the marking area will now be explained again using Fig. 5 and Fig. 6 Illustrated. As you can see, in Fig. 5 and Fig. 6 Marking areas 500 and 600, each containing a plurality of markings 510 and 610 respectively, are shown. Marking areas 500 and 600 differ primarily in the density of the markings, or rather the distances between markings, which will be discussed further below.
[0060] Furthermore, in Fig. 5 and Fig. 6 Three areas are marked in each case. Areas 550 and 650 represent an example of the field of view at minimum distance. g minThe camera is pointed from the marking field towards the center of the marking area. Areas 550 and 650 are therefore without any deflection in the direction of the positioning distances from a centered pose; the hexapod / robot is at the zero point, e.g., its resting pose. Areas 560 and 660 represent a corresponding field of view at maximum working distance. g max and maximum deflections S x and S y (towards the top left). As can be seen, these fields of view are larger than the other fields of view shown. For areas 570 and 670, this is the field of view at the minimum working distance. g min ...and maximum deflections S x and S y (to the upper right). Arrangement of markings in the marking area
[0061] In general, the selection area contains multiple selections. Specifically, the selection area can be an array (a field) of "Fiducial tags",For example, AprilTags. These can be arranged according to a regular pattern within the marking area. For example, the markings can be, as in Figs. 7a and 7b This illustrates that the markings are placed, or have been placed, according to the points of a two-dimensional grid, particularly at regular intervals. However, the marking area can also consist of a grid of markings, where the markings are arranged, for example, on concentric circles around a center point.
[0062] It is important that the grid is set up and the camera's field of view (including the lens) is adjusted so that at least one marker, or a specific number of markers, are always fully visible. The marking area should also be large enough so that at least one marker, or the desired number of markers, are fully visible even in the hexapod's extreme positions. Furthermore, the exact position of each marker on the array should be known to determine the pose. Markings
[0063] As already indicated, parallel kinematics includes mutually distinguishable markers (also called tags), or rather, the application procedure includes a step of applying mutually distinguishable markers in a marker area. Mutually distinguishable here means that any two markers can be differentiated, i.e., it is possible to uniquely identify a marker based on an image captured by the camera. The previously described pose of the kinematics could also be used for this purpose.
[0064] The ability to differentiate between the individual tags (and their known position on the array) makes it possible to deduce the exact location (position and orientation) of the moving platform from a single tag.
[0065] In general, the markings can be reference markers, such as ARToolKit markings, ArUco markings, QR codes, or especially AprilTag markings.
[0066] In particular AprilTags, which a specific system of reference markers (also known as in English as "Fiducial Tags"AprilTags, which are well-known, have become particularly prevalent in robotics. They can be considered a special type of QR code and, similar to QR codes, have a specific shape and layout for identification, error correction, preventing misdetections, and ensuring recognition even when obscured. However, compared to typical QR codes, AprilTags contain less data and are specifically designed for robust identification from a distance and rapid decoding of their precise position and orientation relative to the camera, which can be particularly advantageous for real-time robotics applications. An example AprilTag is shown in Fig. 8 depicted.
[0067] However, the present invention is not limited to a specific type of markings and / or tags. In general, any type of optical marking can be used, as long as the markings are mutually distinguishable and the pose of the kinematics can be determined with them, as described below. Length of a marker
[0068] The length of one of the markings is specified in the present application as tm designated. tm This refers to an actual length, and can therefore be specified in meters or millimeters, for example. Generally, all markings can represent the same length. tm They can be square. However, the present invention is not limited to this. The markings can, for example, also be rectangular and / or not actually utilize the entire area of a rectangle, e.g., if they are round.
[0069] Furthermore, it refers to tbthe number of information units of the marking in the direction of length tm . tb This refers, for example, to the number of bits that are encoded next to each other in the same direction as the length. tm is measured. While tb that is, the width and / or height of a mark is represented in, for example, bits. tm the "real" The width and / or height of the marking. The size tb is therefore, in contrast to tm , Unitless or dimensionless. Here again, it is simplified to assume that the markings are square, i.e., the number of bits is... tb in both directions defining the respective square is the same.
[0070] The term "information units" here refers to individual areas from which the marker can be composed, each capable of encoding information. The markers can, for example, be like those shown in... Figs. 8The representation consists of several squares, where the squares correspond to the units of information and one bit can be encoded in each square. Thus, one unit of information can correspond to a single bit or square representing a day in April. However, the present invention is not limited to this. It is also possible, for example, to encode more than one bit of information in a unit, e.g., by using colors and / or different heights.
[0071] To ensure the markings are easily visible, the length can be adjusted. tm a marking can be determined according to the following equation: t m ≥ px ∗ p ∗ t b ∗ g max f − 1
[0072] Here, the Pixel length px the length of the sensor that corresponds to one sample value from the camera. px So, is the pixel size of the camera, for example, in meters? Does the sensor have a length in the x-direction, for example, Sensor x and is the number of samples or pixels in the x-direction with N pxIf this is denoted, then the pixel length ( Sensor x (as explained above, this refers to the length of the camera sensor in the x-direction): px = Sensor x / N px
[0073] N px This corresponds to the image resolution in the x-direction (i.e., the number of pixels in the x-direction), and a smaller px value therefore corresponds to a higher camera resolution. For a non-square sensor, a pixel length would be defined analogously. py in the y-direction and also its own tm and tb for the y-direction. However, it is also possible that the pixel lengths in the x- and y-directions ( px = p ) are the same, even if the sensor dimensions in the x and y directions are different ( Sensor x ≠ The sensor y ) . For the sake of simplicity, we will assume in the following that the camera's pixels are square, i.e., at least px = p applies.
[0074] The variable pThis corresponds to the desired minimum number of samples per unit of information according to the Nyquist-Shannon sampling theorem and is preferably 5. In general, p However, the value can vary depending on the camera and / or application, but is generally greater than or equal to 2 and less than or equal to 5. For example, for a monochrome camera p = 2, and for an RGB camera, however, a value p = 3 to 4 would be better suited.
[0075] Will the minimum size of an April day be determined? tm Thus determined, the AprilTags can be used at any distance less than or equal to the maximum working distance. g ≤ g The maximum level can still be detected sufficiently well. Abstand D zwischen Markierungen
[0076] In general, it is possible to adjust the tag density based on the specified parameters. "Gewünschten Anzahl" to determine (e.g., calculate) the minimum number of tags that should always be visible, as well as the given system parameters, especially the focal length. "gewünschte" or specified number is stated in the present application with "n" designated (or with) nx and or (if a distinction is explicitly made between the x and y directions) and can generally be any integer greater than or equal to 1 (e.g. n = 1, n = 2, etc.). nx and or They can generally be the same or different. The desired minimum number of tags auf go to Bild. is therefore n * n or, if a distinction is made between the x and y directions, nx * the .
[0077] It may be sufficient, for example, that nThe markings on an image of the marking area are visible in one direction (e.g., x- or y-direction) to determine the pose of the kinematics based on this image. In particular, the number n The markings correspond to the number of markings that must be visible in an image of the marking area in one direction (e.g., x or y direction) at a minimum to determine the pose of the kinematics. In other words, n be the minimum number of markers that is necessary (and sufficient) so that the pose can always be determined based on an image in which there are n markers in the direction under consideration. "states" This should be understood to mean that of course there must also be a sufficient number of markings visible in the respective other direction (which may be a different number of markings than the number in the direction under consideration).
[0078] For example, nx and or These are the minimum number of markers that must be visible in the x and y directions of an image in order for the pose to be determined based on that image. The pose can then always be determined if both (i) nx Markings in the x-direction, as well as (ii) or Markings are located in the y-direction on the image. The word "ausreichend" In this context, "indicating" refers to the direction being considered and does not mean that a certain number of markings may not also be necessary in the other direction. Likewise, the statement means that the pose can always be determined if... nx Markings in the x-direction indicate that this is possible, unless... or Markings can be seen in the y-direction.
[0079] It is therefore possible that, if less than of Markersin an image where the pose can no longer be clearly determined (at least not for an image taken in any pose). However, the present application is not limited to such a "minimal" n limited. The number n The number of markers (n) can also be larger than theoretically necessary to determine the kinematic pose, for example, to improve the reliability / robustness of the detection. The number n can be predetermined by the choice of markers used or determined based on the choice of markers.
[0080] For example, the distances can be adjusted, D x and D y , Calculate the number of tags visible between adjacent tags in the x and y directions, based on a specified number of tags that should always be fully visible in at least the x and y directions. The markers can be, for example, as shown in... Figs. 7a indicated, at regular intervals D x and D ybe arranged in the x or y direction. The term benachbart This then refers to the nearest marking in the x or y direction.
[0081] By ensuring the visibility of at least the desired number of markers (e.g., one), the position of the hexapod's moving platform can be detected for each desired pose. Simultaneously, the large distances described here allow for the use of fewer different markers and / or a reduction in the number of markers appearing in a single image captured by the camera. This simplifies and speeds up the detection / identification of the marker in an image and the determination of the pose.
[0082] It should first be noted that, although not every distance is mentioned below D max< , D x and D y It is explicitly stated that what is said applies in the same, i.e., analogous, way to the intervals. D max< , D x and D y The rules apply between markings. D x and D y A distinction can be made, for example, if neither the marking area rotates relative to the camera nor the sensor dimensions are square. For a square sensor, it would be... D x = D y = D, and if relative rotations are possible, the smaller of the two distances would be D x and D y to use (and, as explained in more detail below, through 2 to share).
[0083] For example, the desired number can be specified. nx a tags per row (horizontally arranged tags, “x-Richtung ") and the desired number or one tag per column (vertically arranged tags, “y-Richtung ") specify. To ensure that the desired number of tags is always displayed ( nx and or ) is within the camera's field of view, the distance can be calculated based on that ) . ... D x between the tags in the x-direction and the distance D yThe distance between the tags in the y-direction is calculated according to: D x ≤ D x max = FOV X − n x + 1 ∗ t m n x D y ≤ D y max = FOV y − n y + 1 ∗ t m n y
[0084] Therefore, nx * or April days are within the field of view. Since the field of view increases with increasing working distance, the field of view can be used for the calculation at g min be used. More precisely, it will be used FOV x,min and FOV y, min for FOV X or The FOV of used. It is noted that FOV x,min ≥ ( nx + 1) * tm and FOV y, min ≥ ( or + 1) * tm This should apply so that non-negative distances D x max or D y max result.
[0085] The maximum distances specified above ensure the desired minimum number of markers across the entire work area. At the same time, relatively large intervals are permitted, which facilitates the identification of individual markers and saves processing time.
[0086] Especially if it is sufficient that only one marking is fully visible at any given time, the distance can D (D can here stands in particular for D x and / or D y ) between any two adjacent markings in the area FOV min − 3 t m / 2 < D ≤ FOV min − 2 t m This allows for the use of a large day interval, while still ensuring that at least one day is sufficiently visible. Grenzfall − Vergrößerung von D max D x max D y max
[0087] If the distances D x and D y As described above, there is a limiting case where more than nx * or Tags are fully visible; more precisely, it may be possible that up to ( nx + 1) * ( or + 1) Markings are fully visible. This is in Figs. 9 in the case nx = or = 2 illustrated. As can be seen, nine tags are fully visible, meaning they are entirely within the 950 field of view. The Grenzfall This refers to the transition of columns or rows of tags out of view (i.e., when a new row has just moved in on one side, but the row on the other side has not yet started to move out again).
[0088] As in Figs. 10 As illustrated, this is no longer the case with minimal displacement; that is, with a small displacement (in the x and y directions), only nx *or Tags, in this example only four tags, are fully visible and therefore completely within the field of view 1050.
[0089] Since the camera typically has a finite resolution, this limiting case can be used to determine the maximum distances. D x max and D y max , and therefore also D x and D y each by one pixel size px to increase. This results in D X ≤ D x max = FOV X , min − n x + 1 ∗ t m n x + px g min f − 1 D y ≤ D y max = FOV y , min − n y + 1 ∗ t m n y + py g min f − 1
[0090] The distance between the markings is therefore reduced by the smallest possible resolvable distance, namely px or py shifted. This means that, purely geometrically, always nx * or Tags are (fully) in the field of vision, as the others are not fully in the field of vision.
[0091] A better camera (with a smaller pixel size) px or py ) here refers to a possible increase in the intervals between the days in April. D x and D y contrary. The addition of the px- or the pyThe `-` terms in the formulas above mean that, in the limiting case, the multiple visible tags are shifted apart by exactly one pixel, so that exactly one pixel-wide row of one of the two edge tags is missing and it is no longer fully visible. The better the camera, the smaller the resolved pixel, and therefore the closer the tags should be to each other if only one pixel of an edge tag is to be missing in the limiting case. This means that a denser array is needed to fully utilize the higher resolution of a better camera. It should be noted that the above applies to a (pre-)defined tag length. tm This applies. If it is adjusted to the better resolution (smaller) px or py ), so smaller tags can also be used when using a better camera, i.e. according to the formula above. t m = px ∗ p ∗ t b ∗ g max f − 1 , where the smaller pixel length px or pythe better camera is used. In particular, by inserting the pixel-dependent expression for tm into the above formula for the distances D x or D y to see that the distances can usually be increased by using a smaller pixel size, if the marker length tm is adjusted accordingly to the better camera.
[0092] On the other hand, it is also possible to use this higher camera resolution to increase the distances between the markings. Generally, a unit of information has a length of tm / tb , and one sample value corresponds to the distance g the marking from the camera of the length px ∗ g f − 1 Therefore, the working distance g P g = t m t b ∗ p x f g − f
[0093] Samples were taken with the camera from an information unit. As can be seen, using a smaller camera results in... pxto an increase in the number of samples taken P Generally, if the minimum number of samples taken is reached... P ( g max. ) greater than the specified minimum number p If necessary, the markings can be made smaller, which P The size decreases, and / or the distances between the markings can be increased. In particular, if the distances are to be increased, ( Pp ) Sample values at each of the two information units at the edge can be omitted. The distance between the markings can thus be, for example, D X ≤ D x max = FOV X , min − n x + 1 ∗ t m n x + 2 P g − 2 p + 1 ∗ px ∗ g min f − 1 will be increased. For P ( g can be conservative, e.g. P ( g max) can be used. However, since the nx Since markings will generally not all be fully visible at the minimum working distance, this can also be the case here. P ( g min) can be used.
[0094] If you increase the distance or the maximum distance further to D X = D x max = FOV x − 1 − n x ∗ t m n x so in the borderline case ( nx - 1) * ( or - 1) completely visible. One row of markings has already moved out of view, while the next has not yet begun to move into view. Therefore, in the limiting case, fewer, not more, markings are now visible; for nx = or = 2 would therefore only be visible for one day in the limiting case with such an increased distance.
[0095] Generally, it may not be necessary to see an entire day to identify it and / or determine its position. The distance D x max moves as in Figs. 11a and 11b illustrated, in the area (between the borders) FOV X − n x + 1 ∗ t m n x ≤ D x max < FOV x − 1 − n x ∗ t m n x
[0096] More precisely, it is DX in Figs. 11a set equal to the lower limit in the formula above (corresponding to the left side), and in Figs. 11a set at the upper limit (corresponding to the right side). The field of view is 1400 in Figs. 11a and b It has the same size; only the distance between the markings has been changed. As in Figs. 11b The area in which it is located has been indicated. D X = D x max or D y = D y max in the process, a length of 2 tm The limits of the range represent the extreme cases in which either ( nx + 1) Tags are visible (lower limit, corresponding to the left expression of the equation above), or ( nx - 1) Tags can be seen (upper limit, corresponding to the right-hand expression of the equation above). In particular, when choosing nx = or = 1 at the upper limit, no day can be fully seen.
[0097] Generally, the lower limit always includes at least... nx · or Tags fully visible and, in borderline cases, more tags fully visible, namely up to ( nx + 1) · ( or + 1). The upper limit is at most nx · or Tags are fully visible. This means that in the limiting case, fewer tags are fully visible, namely up to ( nx - 1) · ( or - 1).
[0098] For example, will... nx = n If = 3 is chosen, and the distance corresponding to the lower limit is used, then there are always at least nx · or = 3 · 3 = 9 tags are fully visible in the field of view. In the limiting case, i.e., with certain poses, more than 9 tags are fully visible (up to 16). With the same choice of nx , or Using a distance corresponding to the upper limit, at most 9 tags are completely in the field of view, but in the limiting case less than 9 tags (up to 4).
[0099] If it is not necessary to see a marker completely in order to identify it and / or determine its position, the distance can therefore be used. D x max up to almost 2 tmto be enlarged. In other words, if, for example, it is sufficient, only the fraction 0 < R ≤ 1 of a day to see the distance between the days according to D X = D x max = FOV X − n x + 1 ∗ t m n x + 2 t m 1 − R be determined. Berücksichtigung von Rotationen
[0100] If the marking area can rotate relative to the sensor, the smaller of the two field-of-view lengths will be used. FOV x and The FOV of used. Furthermore, no more should be made between DX and D y They will be distinguished. Therefore, the same distance will be maintained. D = DX = D y used for the horizontal and vertical directions. The distance can be determined according to any of the formulas above, but it is then adjusted to account for rotations. 2 divided, i.e. reduced in size. The overall result is therefore... D ≤ min D x max / 2 , D y max / 2
[0101] This will now be discussed in relation to Figs. 12 explained in more detail. Figs. 12Squares 1201, 1202, 1203, and 1204 represent April tags without considering rotation. As can be seen, the distances in the x and y directions between adjacent tags are still different. The distance in the y direction is smaller in this example.
[0102] Taking into account rotations around the center of the FOV, the spacing is now adjusted so that the AprilTags are all located on a radius within the field of view. This results in squares 1251, 1252, 1253, and 1254, which illustrate AprilTags with adjusted spacing. As indicated, the spacing is D here chosen such that the resulting diameter 2 r corresponds to the distance in the y-direction, i.e., less than or equal to D y max is, for example 2 r = D y min = FOV y − n y + 1 ∗ t m n y = 2 D This applies. The distance is therefore calculated as follows: D = FOV y − n y + 1 ∗ t m 2 n y
[0103] For or = 1 means this explicitly: D = FOV y − 2 t m 2 3D-ATA
[0104] In some embodiments, the markings are placed in different planes within the marking area. In particular, two adjacent markings are placed in different planes. However, not all adjacent markings need to be in different planes. This is in Figs. Figures 13a , 13b , 13c and 13d Illustrated. As can be seen, the markings 1350 are placed on different levels within the respective marking areas 1300.
[0105] The term "different levels" refers to the fact that the xy-planes of the individual markers are located at different heights or depths. The markers are therefore in "z-Richtung"The planes are offset, with the z-direction being orthogonal to the previously described xy-plane. In other words, for a given pose, the different planes are located at different working distances, particularly at different distances from the camera. Therefore, for a given pose, the markings on different planes have different object distances.
[0106] The use of a 3-dimensional marking area ("3D-ATA") makes it possible to increase the working area in which markings can still be reliably detected by the camera. This allows for a depth of field (also called depth of focus) to be achieved across the entire intended working area of the parallel mechanism. As in Figs. 14 , To illustrate, this corresponds to the adjustment range ± S z in the z-direction. With a given camera setup with a specific focal length and any extension tubes, a working distance results. g fpto the front lens of the objective, where the plane is sharply focused (focal plane 1450). Starting from this distance, the ATA is adjusted in small steps by ± S z The position is adjusted and the number of detected tags is recorded. For example, if enough tags are still detected at a setting range of ±5.5 mm, but the desired setting range is ±6.5 mm, then the system will measure the number of detected tags. mm, So, one is still "missing" in each case. mm to cover the desired working area of the hexapod. This can be achieved by placing the tags not on a single level on the ATA, but on multiple levels.
[0107] In Figs. 14 The manipulator platforms 1440 and 1460 (e.g., the movable platform of the hexapod, here representing the marking area 1300) are shifted by a length ± δ Starting from the focus level 1450, which is at a distance g fpThe distances to the camera are shown. These are the measured distances at which sufficient AprilTags are still detected. Manipulator platforms 1430 and 1470 represent the displacements of the manipulator platform corresponding to the maximum desired displacement of the manipulator platform in the z-direction, thus corresponding to the adjustment ranges ± S z of the hexapod. These must be achieved. To cover the entire desired working area (i.e., to be able to create a sharp image of a marker), the differences ±Δ are overcome by applying tags to a plane raised by Δ+ or to a plane recessed by Δ-. The distances are calculated as follows: Increase by Δ + = S z - δ + Deepening by Δ_= S z - δ_
[0108] In general, this can be done as in Figs. 14 shown, also δ + = δ _ = δor Δ = Δ + = Δ Δ _ apply; the raised level is then Δ= S z - δ raised relative to the focal plane and the recessed plane by (the same length) Δ= S z - δ in-depth. More than two layers can also be created. Generally, for example, 2k layers can be used, with the markers placed in layers that are around ± Δ i = Δ k ∗ i with i = {1, ..., k} ,The markings are raised or lowered in the z-direction with respect to the focus plane 1450. If markings are also placed in the zero plane (i.e., in the focus plane 1450, where Δ0 = 0), this results in 2k + 1 planes. In the x- and y-directions, the markings can be assigned to the different planes periodically, following a regular pattern. In particular, the markings can be assigned to the different planes in such a way that any two adjacent markings lie in different planes. However, this is not mandatory, and a pattern in which some adjacent markings lie in the same plane is also conceivable (see...). Figs. 13e ).
[0109] It should also be noted that in the 3D-ATA versions, the markings are arranged so (closely), or the distance D is determined in such a way (application method), that there are always two or more markings in the camera's field of view. Therefore, nx and / or orgreater than 1 is chosen and the distance D between any two adjacent markings thus satisfies the following formula: 2 D ≤ FOV min − 3 t m nx and or are chosen in accordance with the assignment of the markers to the levels, in particular the number of levels. In particular, nx and or Based on the assignment of markers to the layers, the selection is made so that markers from different layers are always visible. In particular, the number of markers that are always visible can be greater than or equal to the number of different layers, and the markers can be assigned to the layers in such a way that one marker from each layer is always visible. This ensures that at least one marker is always visible and can be focused sharply. The day intervals DX , D y It can therefore be such that always nx * or Tags are in the field of view, and the tags can be up to nx * orbe or will be arranged on different levels.
[0110] For example, the markings can be on three different levels, as in Figs. 13e The images will be displayed and assigned. Figs. 13e This shows a consistent pattern that repeats after four markers in the x and y directions, and can therefore be continued accordingly. "0" corresponds to the zero / focus plane, "+" to the plane raised above the zero plane, and "-" to the plane lowered. The zero plane is thus used much more frequently as a frame than the other two planes. The field of view can then be chosen, for example, so that four markers in the x direction and four in the y direction are always fully visible (i.e., a total of 16 markers at all times), ensuring that at least one marker from each of the three planes is always visible. Positioning basis of Build another Marker
[0111] As already mentioned, the markings or reference markers can be used to determine the pose (position and orientation) of the kinematics. For this purpose, an image of the marked area, or more precisely, an image of the currently visible portion of the marked area, corresponding to the camera's current field of view, is taken.
[0112] It should first be noted that the term Kinematic Pose in the present application, for example, the pose of a EndeffectorThe end effector refers to the respective kinematics. For example, the end effector is the final link in a kinematic chain. It is typically the component or assembly responsible for performing the actual handling task. In other words, the effector facilitates the actual interaction of the robot (i.e., the kinematics) with its environment. An end effector can be, in particular, a tool, a tool carrier, a gripper, or a platform to be moved (e.g., in hexapods). Furthermore, it should be noted that the pose of the kinematics is determined as it was at the time the image was captured.
[0113] More precisely, the markings can be designed such that the pose of the parallel kinematics can be determined based on an image of the marking area taken with the camera, provided that the image contains at least n arbitrary markings in one direction, where ngreater than or equal to 1. In particular for n For each of the markers, the pose of the parallel kinematics can be determined based on an image of the marker captured by the camera. In other words, it may be sufficient for pose determination that a single, arbitrary marker is present in the captured image. The image may therefore contain no other markers besides this one, and regardless of which marker this is, the pose can be determined. In general, as explained above, it may also be sufficient and / or necessary that at least one marker is present in the image of the marked area. n Markings are located in one direction, where n can also be greater than one. As before, it doesn't matter which one. n Markings on the image are located in that direction (as long as it is at least nin the corresponding direction and, as explained above, a sufficient number of markings can also be seen in the other direction).
[0114] This uses the known position of the sensor or camera that captured the image. The distinguishability between individual tags, which allows for unique identification (family and individual), can also be used, potentially enabling the recognition and differentiation of multiple tags in a single image. Furthermore, the fact that the position and orientation of a marker in space relative to the camera can be determined based on the captured image can be utilized. The known position of each marker on the array or on the kinematics can then be used to deduce the precise position and orientation of the moving platform from the position of a single tag.From a single image, the position and rotation of the captured marker(s) relative to the camera can be determined. Using the known position / orientation of the camera and the marker's position on the kinematics, the pose of the kinematics can then be determined. This allows for an absolute determination of the position of, for example, the moving platform of a hexapod. Markers that enable this are, in particular, the aforementioned AprilTags.
[0115] Position detection using AprilTags can be automated in several steps. An example procedure consisting of 9 steps for AprilTag detection and determining the tag's pose relative to the camera is shown below: Step 1 () DecimateThe image captured by the camera is reduced in size by an arbitrary factor N, which can be defined at runtime. Only every Nth row and column is copied into a new image, which is then processed in the following steps. The original image is processed in the following steps. "Refinement" and "Decode" needed again. Step 2 (" BlurSharpen "): In this step, the reduced image can either be blurred or sharpened using a Gaussian filter. The strength of the filter can be adjusted by a parameter that can be set before starting. The sign of the parameter determines whether the image is blurred or sharpened. Step 3 (" Threshold()): Segmentation into light and dark areas, as well as areas with low contrast, is performed. A local thresholding method can be used for this. First, the image is divided into four-by-four-pixel tiles, whose minima and maxima each form a new image. The minima image is then eroded, and the maxima image is dilated. The threshold is then calculated as the average between the minimum and maximum values. If the difference is too small, the contrast is insufficient. Step 4 ( "Connected Components Labeling"):Associated segments are grouped into components and assigned a unique label. A UnionFind data structure can be used for this. Step 5: (Gradient Cluster): In this step, all subpixels located on the boundary between a light and a dark component (edge pixels) are captured. Eight-neighborhood is used for this. A separate list of subpixels is maintained for each component combination, storing the position and edge direction. A hash table is used to map the data to the appropriate list. Step 6 (" Quad"First, the midpoint of an edge path is determined using a bounding box that spans all pixels in the list. Then, the pixels are sorted by the angle around the midpoint, and duplicate entries for a position are removed. Next, the algorithm searches for the vertices of the quadrilateral (here, the marker is assumed to be quadrilateral). To do this, a straight line is fitted to a window consisting of consecutive edge pixels. This window is then moved across the entire sequence. The vertices of the marker are located at the points where the largest fitting errors occur. Finally, straight lines are fitted to the segments between the vertices, and the intersection points then yield the final vertices of the quadrilaterals. Step 7 (" Refinement"): Using the original image, the edges of the found quadrilaterals are rescanned to increase the accuracy, which was affected by the image reduction. The algorithm searches for the steepest gradient along the normal at points evenly distributed along the edge. The number of points is one-eighth (for tb = 8) of the edge length. This provides support points for recalculating lines along the edge, whose intersection points yield the new vertices. Step 8 (“ Decode"): First, the homography between the image coordinates and the detected quadrilaterals (markers) is calculated. Based on this, sampling points are projected onto the original image. The sampling points at the edge of the tag have a known color (black / white). This allows a model of the color gradient to be created, from which the thresholds for the actual data points are generated. The tag family provides information about the location of the known points and the data points. Decoding a valid ID also specifies the orientation of the tag. Step 9 (" Pose Estimation"): In this step, the camera parameters are used. After the homography has been calculated, the position and rotation relative to the camera can also be determined. The rotation matrix and the translation vector are calculated using an iterative process. Example with numerical values
[0116] The following list contains most of the parameters mentioned here, along with example values. Work area:
[0117] The distance g fp The distance between the lens or front lens and the focal plane can be determined, for example, by measurement. It describes the distance between the lens and the AprilTag array at which the array is sharply focused. With a hexapod's position in the z-direction of S z This results in a working area of g fp ± S z . g min = g fp − S z g max = g fp + S z g min ≤ g ≤ g max
[0118] Are the positioning ranges of the parallel mechanism in the x, y, and z directions given by S x = 17 mm, S y = 16 mm or S z = 6.5 mm This results in the following for an example distance g fp = 20mm a work area g min ≤ g ≤ g max from: g min = g fp − S z = 20 mm − 6 , 5 mm = 13 , 5 mm g max = g fp + S z = 20 mm + 6 , 5 mm = 26 , 5 mm Camera and field of view:
[0119] The camera also provides the following parameters: Focal length f = 8 mm pixel size p x = 3.45 µm Sensor dimensions in the x-direction Sensor x = 8.446 mm sensor dimension in y-direction Sensor y = 7.066 mm
[0120] The dimensions of the field of view (FOV) can be calculated from the camera parameters to determine the minimum and maximum distances. For the field of view at the minimum working distance... g min surrendered FO V x min = g min f − 1 ∗ Sensor x = 13 , 5 mm 8 mm − 1 ∗ 8 , 446 mm = 5 , 81 mm FO V y min = g min f − 1 ∗ Sensor y = 13 , 5 mm 8 mm − 1 ∗ 7 , 066 mm = 4 , 86 mm
[0121] Similarly, the field of view at maximum working distance g max can be determined: FO V x max = g max f − 1 ∗ Sensor x = 26 , 5 mm 8 mm − 1 ∗ 8 , 446 mm = 19 , 53 mm FO V y max = g max f − 1 ∗ Sensor y = 26 , 5 mm 8 mm − 1 ∗ 7 , 066 mm = 16 , 34 mm Dimensions of the marking area
[0122] The above example values result in the following dimensions for the marking area: ATA x = FOV x , max + 2 ∗ S x = 19 , 53 mm + 2 * 17 mm = 53 , 53 mm ATA y = FOV y , max + 2 ∗ S y = 16 , 34 mm + 2 * 16 mm = 48 , 34 mm Day size:
[0123] The minimum size of an April day is then calculated depending on the maximum working distance as follows: t m ≥ px ∗ p ∗ t b ∗ g max f − 1 ≥ 3 , 45 μm ∗ 5 ∗ 8 ∗ 26 , 5 mm 8 mm − 1 ≥ 0 , 32 mm Distances between AprilTags:
[0124] As specified by nx and ny The spacing of the April tags will be at minimum field of view. FOV min< calculated according to: D x = FOV x min − n x + 1 ∗ t m n x D y = FOV y min − n y + 1 ∗ t m n y
[0125] If we assume the known dependencies for FOV x min and tm Substituting the above equation, the distance between the April tags can be expressed in general form as follows: D x = FOV x min − n x + 1 ∗ t m n x = g fp − S z f − 1 ∗ Sensor x − n x + 1 ∗ px ∗ p ∗ t b ∗ g fp + S z f − 1 n x
[0126] Are nx = ny Given that 1 is the desired number of AprilTags in the x or y direction, the following results numerically using the example values above: D x = 5 , 81 mm − 1 + 1 ∗ 0 , 32 mm 1 = 5 , 17 mm D y = 4 , 86 mm − 1 + 1 ∗ 0 , 32 mm 1 = 4 , 22 mm
[0127] For nx = ny However, = 3 would D x = 1.51 mm and D y = 1.194 mm.
[0128] Taking rotation into account, the distances for nx = ny = 1 on: D x = D y = D = 4 , 86 mm − 1 + 1 ∗ 0 , 32 mm 2 = 2 , 984 mm
[0129] In summary, the present invention relates to parallel kinematics and methods for manufacturing parallel kinematics. A parallel kinematic system according to the invention comprises mutually distinguishable markings that are applied to the parallel kinematic system in a marking area. The marking area is a region of the kinematic system that moves with the pose of the kinematic system.
[0130] According to one aspect of the present invention, the markings are placed at a distance in a direction that ensures that always n Markings are fully visible in the direction, and the pose of the parallel kinematics can be determined based on an image taken with the camera that is at least n It contains markings in the direction. A corresponding application procedure involves the appropriate application of markings.
[0131] According to another aspect of the present invention, the markings are placed at a distance that ensures that n or more markings are fully visible in one direction, the markings are placed in different planes, and the pose of the parallel kinematics can be determined based on an image taken with the camera that is at least n It contains any markings in that direction. A corresponding application procedure involves the appropriate application of markings.
Claims
1. An arrangement with a parallel kinematic system and means for determining the pose of the parallel kinematic system comprising: a camera (110) and a marking region (150) with mutually distinguishable markings, wherein the camera (110) is configured to observe the marking region (150) in different poses of the parallel kinematic system, wherein the means for determining the pose of the parallel kinematic system are configured to determine the pose of the parallel kinematic system based only on images of the marking region captured by the camera (110) if one of the images contains at least a number n of any of the markings in a direction, wherein n is greater than or equal to 1, where a distance, D, between any two markings that are adjacent in the direction satisfies the following formula: FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n , wherein tm is the length of one of the markings, FOVmin is a length of the section of the marking region (150) which falls into the field of view (400) of the camera (110) at a minimum distance of the camera from the marking region (150), wherein the minimum distance is a minimum distance among the distances that the marking region (150) can be away from the camera (110) due to pose changes.
2. The parallel kinematic system according to claim 1, wherein the length FOVmin satisfies the following equation: FOV min = g min f − 1 l Sensor , wherein gmin is the minimum distance, lSensor is a length of the sensor of the camera (110), and f is a focal distance of the camera (110).
3. The parallel kinematic system according to claim 1 or 2, wherein the markings are arranged in the marking region (150) according to a regular arrangement pattern.
4. The parallel kinematic system according to any of claims 1 to 3, wherein the marking region (150) is attached to an underside of a work platform (140) of the parallel kinematic system and the camera (110) is attached in or on a base (120) of the parallel kinematic system and is directed towards the underside of the work platform (140), or the marking region (150) is attached in or on the base (120) of the parallel kinematic system and the camera (110) is attached to an underside of the work platform (140) and is directed towards the base (120) of the parallel kinematic system.
5. The parallel kinematic system according to any of claims 1 to 4, wherein the length tm of a marking satisfies the following equation: t m ≥ px ∗ p ∗ t b ∗ g max f − 1 , wherein p is a value that is dependent on the camera (110), greater than or equal to 2 and less than or equal to 5, px is the length that corresponds to a sampling value of the camera (110), gmax is a maximum distance among the distances that the marking region (150) can be away from the camera (110) due to pose changes, f is a focal distance of the camera (110), and tb is the number of information units of the marking.
6. The parallel kinematic system according to any of claims 1 to 5, wherein the markings are reference markings, such as for example ARToolKit markings, ArUco markings, QR codes, or in particular AprilTag markings.
7. The parallel kinematic system according to any of claims 1 to 6, wherein each of the markings consists of several squares, wherein the squares correspond to the information units and a bit can be encoded in each square.
8. A method for attaching mutually distinguishable markings to a parallel kinematic system of an arrangement according to any of claims 1 to 7 in a marking region (150) so that the pose of the parallel kinematic system can be determined based only on images of the marking region captured by a camera if one of the images contains at least a predetermined number, n, of markings in a direction, wherein n is greater than or equal to 1, the method comprising: determining (S310) a distance, D, between any two markings that are adjacent in the direction according to the following formula: FOV min − n + 2 ∗ t m n + 1 < D ≤ FOV min − n + 1 ∗ t m n , wherein tm is the length of one of the markings, FOVmin is a length of the section of the marking region (150) which falls into the field of view (400) of the camera (110) at a minimum distance of the camera (110) from the marking region (150), wherein the minimum distance is a minimum distance among the distances that the marking region (150) can be away from the camera (110) due to pose changes, and attaching (S320) respectively adjacent markings at the determined distance.
9. An arrangement with a parallel kinematic system and means for determining the pose of the parallel kinematic system comprising: a camera (110) and a marking region (150) with mutually distinguishable markings, wherein the camera (110) is configured to observe the marking region (150) in different poses of the parallel kinematic system, wherein a distance, D, between any two markings that are adjacent in a direction satisfies the following formula: D ≤ FOV min − n + 1 ∗ t m n , wherein tm is the length of one of the markings, FOVmin is a length of the section of the marking region (150) which falls into the field of view (400) of the camera at a minimum distance of the camera from the marking region (150), wherein the minimum distance is a minimum distance among the distances that the marking region (150) can be away from the camera due to pose changes, the markings are disposed in different planes, and the means for determining the pose of the parallel kinematic system are configured to determine the pose of the parallel kinematic system based only on images captured by the camera if one of the images contains at least a number, n, of any of the markings in a direction, wherein n is greater than or equal to 2.
10. A method for attaching mutually distinguishable markings to a parallel kinematic system of an arrangement according to claim 9 in a marking region (150) so that the pose of the parallel kinematic system can be determined based only on images of the marking region captured by a camera if one of the images contains at least a predetermined number, n, of markings in a direction, wherein n is greater than or equal to 2, the method comprising: determining (S310) a distance, D, between any two markings that are adjacent in the direction according to the following formula: D ≤ FOV min − n + 1 ∗ t m n , wherein tm is the length of one of the markings, FOVmin is a length of the section of the marking region (150) which falls into the field of view (400) of the camera at a minimum distance of the camera from the marking region (150), wherein the minimum distance is a minimum distance among the distances that the marking region (150) can be away from the camera due to pose changes, and attaching (S320) respectively in the direction adjacent markings at the determined distance, where the markings are attached such that they are located in different planes.