Estimation of Position and Orientation for Non–Rigid Robots Control Using Motion Capture Techniques

Robots are well established in science and technique. They are used in different environments and they have different structures. Typical robot movements are rapid and steepy when the movement direction changes occurs. It is not necessary to replicate a biological nature based solution for most tasks, so such movements are acceptable and simpler to obtain. Control algorithms are simpler for such cases, development and settings of such controllers are more straightforward. Robots are also based on a set of joins and serial or parallel configurations. Different configurations are usefully for selected task and may be not based on biological nature references. Replication of biological nature are not necessary, and for example a wheels that are simple to design have not biological references. Join based approach of robot design is well established and there are many technical advantages of such structure (Fig. 1). Mechanic of the robots is based mostly on a kind of the skeleton. The endoskeletons design uses a mechanical parts located inside light–weight casing. The exoskeletons design uses a mechanical parts that is casing also. Some robots uses mixed design, where the ’bones’ are in endosceleton design and only joints uses exosceleton design. Exosceletons design are used in hostile environments typically.


Introduction
Robots are well established in science and technique.They are used in different environments and they have different structures.Typical robot movements are rapid and steepy when the movement direction changes occurs.It is not necessary to replicate a biological nature based solution for most tasks, so such movements are acceptable and simpler to obtain.Control algorithms are simpler for such cases, development and settings of such controllers are more straightforward.Robots are also based on a set of joins and serial or parallel configurations.Different configurations are usefully for selected task and may be not based on biological nature references.Replication of biological nature are not necessary, and for example a wheels that are simple to design have not biological references.Join based approach of robot design is well established and there are many technical advantages of such structure (Fig. 1).Mechanic of the robots is based mostly on a kind of the skeleton.The endoskeletons design uses a mechanical parts located inside light-weight casing.The exoskeletons design uses a mechanical parts that is casing also.Some robots uses mixed design, where the 'bones' are in endosceleton design and only joints uses exosceleton design.Exosceletons design are used in hostile environments typically.

Fig. 1. Rigid actuator
The bones are fixed, so length of the bone or its curvature is not possible to change.Additional actuators for arm extension are used sometimes.Fixed structure of the robot, even if redundant number of degrees of freedom is available, is convenient for analysis and design.

Non-rigid robots
Rigid structure is not only-one solution for the robots.The flexible (non-rigid, elastic) robots, complete actuators, and partially flexible actuators are also important for the future robots (Fig. 2).Flexibility of the actuators or overall robot's body is inspired by the biological nature.The giant amount of the species that live in different environments uses flexible bodies or bodies parts with evolutionary success.

Fig. 2. Non-rigid actuator
Non-rigid robots are active and open research area.Any physical effect related to the flexible movement that is driven by the any factor (continuously or PWM-like) may be applied for intentional movement of robot or actuator.Direct or indirect control of the movement by the electrical signal is desired especially.The Pulse Width Modulation (PWM) control is especially important for simplification of driver.The pneumatic [ Daerden (1999); Daerden & Lefeber (2002); Verrelst (2005)] or hydraulic effects may be used, but the control of them is possible by the electric-to-pneumatic or electric-to-hydraulic conversion devices and is indirect control.The bimetal or memory alloy actuators are controlled by the electricity more directly (exactly there is an electrical energy-to-heat conversion but no additional devices like pumps are necessary).Progress in the material engineering and market availability of materials, that are sensitive on electricity, gives an ability of application such 'muscles' for skeleton based robots, or even a build an complete body of non-rigid robots.Non-rigid robots may be characterized by the place of movement.In the rigid robot the movement points are defined by the main gear axis or motor axis.For linear movement the line of the movement is also well defined like for the linear stepping motors for example.Conversion of rotary to linear movement is also used.The non-rigid robots may be controlled in a hundreds points per muscle.The conventional classification and comparison of actuators, based on the number of degree-of-freedom, is not convenient for such cases.Electrical based control of Electroactive Materials gives building abilities of robots and controlling them in so many of points, giving a new way of robots design.Such robots may change external shape and size (morphing robots).A few main types of Electroactive Materials are used and developed nowadays.The simplest are the bimetal strips and coils based on the conversion of electrical energy into heat.The Shape Memory Alloys are also interesting alternatives to bimetal, and the best know is the Nitinol (Nickel titanium).The more advanced actuators like Biometal helix, due significant length changes are also important.The Nitinol was applied in well know Stiquitio hexapod robot legs and derivatives [ Conrad & Mills (2004)].The main drawback of the bimetal and SMA is the speed of the physical changes that is about a few seconds depending on material and design.Heating of such material is controlled by the electricity and could be very rapid, but cooling is depends on the environment of the work.
The Electroactive Polymers (EAPs) are the most promising materials for non-rigid robots design nowadays.The advantages of such materials are applied for rigid robots also, because it is important replacement of the electrical motors.Improved reliability, increased lifetime, reduction of electromagnetic emission are very important for robot design.There are many materials based on the different effects [ Bar-Cohen (2004); Besenhard et al. (2001);Capri & Smela (2009); Chanda & Roy (2009); Hu (2007); Kim & Tadokoro (2007); Otake (2010); Wallace et al. (2009)].The Electronic EAPs uses piezoelectric, electrostatic, electrostrictive and ferroelectric effects nowadays.The Ionic EAPs uses the displacement of ions inside the polymer.One of the most important task is the measurement of the state of such robot or manipulator.The conventional position and orientation approach is not well fitted, because non-rigid robots are flexible, so huge or infinite number of positions points are possible.Moreover, the estimation of the number of degrees-of-freedom by the simple visual observation of robot movements is not feasible.The reasonable way is to estimate position and orientation in some points, especially for the end-effector and limited number of selected intermediate points.The overall estimation is possible, using the model based techniques and vision measurements.The vision techniques are well suited for such robots, because they make measurements in hundreds or millions points (pixels in extended cases).The open-control loop, without knowledge about achieved state, is applicable for very specific cases only, for non-rigid robots.The flexibility of the non-robots have important disadvantage -the forces from manipulated objects and forces from environments influent on the achieved state.Such forces change state and in the worst case all points of the non-rigid robots may differ between the expected position and real one.This is one of the reasons why the closed-control loop for rigid robots and the state estimation are necessary.Vision based technique for rigid robots (visual servoing [ Agin (1979); Chaumette (1998); Chaumette & Hutchinson (2008); Corke & Hutchinson (2001); Fung & Chen (2010); Malis at al. (1999); Marchand at al. (2005); Sanderson & Weiss (1983)]) are used from many years, and it is very promising technique for non-rigid robots also.

Visual systems for non-rigid robots
Different video tracking schemes for non-rigid robots and actuators are possible, and the selected are presented shortly.

Conventional motion capture system
Conventional motion capture system (multiple camera vision system [ Aghajan & Cavallaro (2009)]) uses a set of cameras located around robot (Fig. 3).Video tracking gives abilities of the robot state estimation what is necessary to control.Such system is very simple for implementation in comparison to other presented tracking schemes.The market availability of such systems for large working area (known as a volumen) like a cubic area with a few meters distance in every direction is important for large scale systems.There are also available systems for small working area about half meter in every direction.Typical motion capture system uses markers for estimation of the state of human or some objects.The measurements are contact less so significant integration or embedding into robot surface is not necessary.The weight of the robot is preserved.Motion capture system may be used for measurements a very large number of points located on the robot surface.Single or a few cameras are sufficient for estimation of the robot state in most cases.There are also drawbacks related to the vision techniques.Occlusion reduces a possibility of the state estimation, and the multiple cameras are necessary for reduction of such effects, but Fig. 3. Motion capture of the non-rigid robot elimination of the occlusion is not possible for general scenario.Occlusions may occurs due to self occlusions of the robot by the own parts like arms, or may occurs if the environment or operated objects are close to robot.Internal parts of the robot and related states are hard to estimate, if the cameras are placed around robot.The estimation of the state is based on the outer surfaces, and the estimation of the inner parts of the robot is very difficult task.Such situation occurs for example in estimation task for the propulsion part of the underwater robot that is based on the biological nature species like squids.This is specific design problem, but should be identified on early development stage.Illumination of the working area influent on the estimation result.The constant environment conditions are recommended.The variable conditions, like bright light sources, may disturb image acquisition by overexposure.Constant light conditions are especially important for the retroreflective markers.Light emitting markers are more robust for variable illumination conditions.Overexposure and underexposure conditions needs expensive HDR (High Dynamic Range) cameras.High speed cameras are available today (fps > 100 or 1000) but the latency is also very important factor for smooth control of robot, so the image processing part should be integrated into sensors (intelligent cameras are recommended).Most professional motion capture systems uses image processing of acquire image inside camera for bandwidth reduction between camera and computer.Marker detection algorithms are processed in hardware, for reduction processing costs on computer, moreover.High speed cameras reduce distance between position of the marker on two following frames, what gives ability of application simple marker tracking algorithms and assignment algorithms.Gate based approach and nearest neighborhood algorithms for assignment are an example of the simple but an effective algorithms.Assignment is necessary for the tracks of markers maintenance.Assignment is simpler to do if the markers are more unique complex patterns.Position, scale and rotation invariant markers may consist information about unique number of marker.Larger markers due to additional information about number are less usefully due to size, but the color coded information about number is interesting alternative.Image processing and state estimation algorithms should be the low-latency and real-time.Fixed processing time or variable with known maximal response time is necessary.Detection, tracking and assignment algorithms should be carefully selected.The commercial motion systems are mostly closed design, without possibility of the algorithm replacement.There are no available free systems, contemporary.The conventional systems based on the multiple cameras is not unique, and the similar idea based on the video based estimation is possible for other configurations.Most advantages and disadvantages are preserved in other configurations.Some of them are interesting for new robot design.

Robot equipped with the vision systems
Some, especially mobile robots, uses own vision system for navigation purposes and objects manipulations.The availability of the own vision systems is important for inspection robots working in an hostile environments, especially for space probes, or planet exploration robot.Vision systems are used also for remote examination of the current state of the robot in case of the significant motion error.Blocked wheels, failed arms or legs due to unexpected environment case or own failure are possible to detect using vision system used for navigation purposes or objects manipulation.This is typical procedure in space robots nowadays.Vision sensors placed on the flexible arms helps in such situation (Fig. 4), gives ability of failure source inspection, finding solutions and may save (extend live) of a multi million dollar robot.

Fig. 4. Non-rigid robot equipped with the vision systems
The conventional sensors may fail and the availability of the vision system gives ability of redundancy also.Proper design uses cameras for the navigation and manipulation task, and many other sensors for movement control.Secondary task of vision system are measurements of state for motion control in case of failure of primary motion control (measurement subsystem).The non-rigid robots gives interesting ability of application vision system using own multiple cameras.Such robot may change own state and additionally camera position and orientation, creating a different camera configurations on demand.The concept of such robot is similar to amoeba, that have large ability of the shape modification.
The cameras are integrated into robot's flexible body.Range of the work is unlimited and not limited to the unique area (volumen).Different camera configurations may be proposed in real-time and tested for optimal object manipulation or movement.The most challenging task is the multiple or single camera calibration [ Daniilidis & Eklundh (2008); Lei et al. (2005); Mazurek (2010;2009;2007)].The estimation of external parameters is especially important for such robots.

Video sensors on robot's surface
This is specific version of the previous case and inverse motion capture configuration.The cameras are placed on the robot and the fixed set of markers is observed by them.The robot environment is used for the robot's state estimation (Fig. 5).

Fig. 5. Cameras placed on the robot surface
It is possible to use cameras for navigation and manipulation purposes and for estimation own state also.One of the most important factor is the power consumption for such case.The motion capture configuration using passive markers on robot does not need additional power for robot.Inverse motion capture system needs a power supply for camera and acquisition devices.Image processing for inverse case by the external computer is important technique for reduction of the needs of the additional electrical power.The weight of the robot is reduced if the computational part is outside of robot.

Cooperative robot swarm with multiple cameras
Another possibility when multiple robots (rigid on non-rigid) are equipped with cameras for navigation, manipulation and self measurements.Swarm members are separated robots from the physical point-of-view, but from the logical point-of-view it is a single robot if the cooperation between members of swarm is very close.The self measurement task (Estimation of own parameters) is very interesting, because the state of the particular member of the swarm is obtained from neighborhoods members.Favorable members are inside swarm due to availability of multiple views (multiple independent observations) from neighborhood members.The outer members are partially observed only.The multiple swarm members may cooperate in many ways.

Vision based estimation of position and orientation
The images acquired by the camera set, gives information about 3D world using multiple 2D views.Relation between image objects or additional knowledge about object may be used for estimation of position objects and camera.Without additional knowledge a relative, spatial relations are obtained.

Features and model based approaches
The vision techniques use feature points or model fitting approaches.Both of them are important for establishing relations between real and virtual (computer modeled) world.In the case of motion capture systems the markers (feature points) are placed on robot or deformable model of robot is used (model fitting).Feature points are existing features of surrounding object in environment (e.g.corners, edges) or intentionally added (e.g.ball shaped markers, or painted chessboard patterns).Estimation of the position (for point like features) and optionally orientation (for edges or patterns) gives ability of estimation of camera position relative to object.The model fitting approach is based on the 3D model of robot.The camera measurements are related to the estimation of the pixel assignment to the background or robot body.The aim of the fitting is to find the configuration of the model, that gives image for single camera system or images if multiple camera system are used.The corresponding real and virtual (rendered) images are fitted if the configuration of real robot and its model are identical.

Correspondence by the calibration object
The simplest technique that is used for establishing relations between virtual and real camera is based on the calibration object.This techniques uses physical object with known physical dimension (M) and mathematical model of this object (V).The bridge between the real and virtual world is the calibration object and its model (Fig. 6).Assuming, that the worlds coordinates (O, X, Y, Z) are defined if fixed relation in virtual and real calibration object, the full correspondence may between objects, projections and cameras is possible (degenerative cases are not considered here).It means, that all particular positions and orientation have exact values.The projections are the images of the markers from the cameras.Acquired image from the real camera is processed for the marker's positions estimation with subpixel accuracy (e.g.center of mass algorithm may be used).The projection of the virtual markers (V) on the virtual camera projection plane is possible using the computer graphics formulas using high, usually floating point accuracy.During the estimation process of the external parameters the camera, the correspondence is obtained with some error.Markers projections are not identical and cameras parameters are not equal, especially in beginning steps.The error (Fig. 7) between projections (m, v)o f markers (M, V) is possible to calculate.Comparison of the 2D positions on projection planes using l 2 value is used typically (Euclidean distance).Iterative calculations with subject of the minimization of this error are used for establish reliable correspondence.The accumulative l 2 error is computed using the following formula: (1)

Real world
Virtual world Minimization process of l 2 value by the movement and rotation of virtual camera is possible using gradient and non-gradient search algorithms.The difference between position of markers' projections d i are reduced to zero only in ideal case.The estimated position of the real markers is obtained with some accuracy due to acquisition errors (image blur, finite resolution of the imaging senor, camera noises, design of the imaging sensor, and estimation algorithm for the position).Estimation of the 3D position and orientation using 2D images is possible using the projective geometry, but the application of Euclidean geometry is also possible.Euclidean geometry is a subset of the projective geometry and preserves angles.Using the long focal length camera, for high ratio of the camera distance to the robot work area is possible.
The Euclidean approach is simpler and cheaper for some cases, especially if the robot is very small.Required large distance between camera and object in real scenarios is main drawback (Fig. 8).Estimation of the 3D position is necessary using a few cameras.The restricted areas and large distance between camera and area of the work requirements are drawback of the Euclidean projections.The perspective projection (Fig. 9) is more applicable for a general case of cameras and different work area configurations.Perspective projection uses camera with focal point at position C and projection plane located at distance f , that is focal length.Depending on distance between focal point and point X in the 3D space, the projection x is in different position on projection plane.The projection formulas of point X on projection plane of camera located in arbitrary position in 3D space are available in many computer graphics books [ Hartley & Zisserman (2003); Heyden & Pollefeys (2004)].

Camera
The perspective projection adds a very important factor -the scale for non-point objects, especially markers.The scale and distance from camera estimation is possible using single camera, depending on the assumed marker estimation technique.Commercial motion capture systems uses very small markers and wide angle cameras (short focal length).The distance is not well measured, especially for variable light conditions for such configuration.The scale of the larger marker may differ in some direction, so for example the ellipse is observed instead the circle.It gives an ability estimation of full 6 DoF (Degree-of-Freedom) for every large marker.
Correspondence between real and virtual world is used during the calibration of the cameras.Calibrated cameras are used in marker systems or in model fitting approach.The model fitting approach is similar to the calibration process but the instead calibrated object there are two sets of calibrated cameras (real and virtual) and deformable model of the real robot.

Markers
Vision tracking techniques for robots are based on the numerous approaches: marker based, object features, or even on complete synthesis of the expected object.All of the them are interesting and the selection is application depended.The most valuable techniques for the controlled environment scenarios are marker based.The uncontrolled environments exist if the unexpected situations may occurs, related to the object occlusions, different lighting conditions, etc.The marker based techniques are very interesting, because different markers designs are possible.The light emitting markers are especially useful for poor lighting conditions.They need additional power connections (wires) for the bulbs or LEDs.The retroreflective markers reflect surrounding light and no additional power connection are necessary for them.The retroreflective markers are interesting for small size and small power robots, especially.Controlled environment of the robot's work area gives an ability of the correct light setup for maximization performance of retroreflective markers.Markers may support angular estimation (3DoF) depending on own shape.The simplest matte ball markers are orientation less so only a 3D position (3DoF) is obtained by the triangulation using two or more cameras.The carefully selected set of such markers located at close distance gives ability of estimation of orientation.The larger markers with additional orientation features may support estimation of orientation.
In this paper, the four-sector circle with the boundary ring is used as marker (Fig. 10).Such marker gives an ability of orientation estimation with 180 degree accuracy, position and distance.Complete set of DoF (six of them) is possible to estimate.The estimation of all parameters is limited by the optical visibility of the markers.A low angle case between camera and marker plane are hard to process.This is the reason, why a ball shape markers are preferred, because they have superior visibility.Large markers support estimation of own parameters even for partial occlusions but it is not considered in following tests.The marker uses boundary ring for improving separation between background and marker, what is important for the scale estimation, because estimation process should be related to the marker, not to the background.

Estimation of the position, distance, and rotation of the markers
Estimation of the marker is possible using numerous image processing techniques.The feature based techniques or image synthesis, using the model fitting, are possible also.The feature techniques are based on the corners detection.More advanced techniques uses corners detection for further starting point of the line detection.The estimation quality depends on the marker shape and the number of pixels used for the estimation.The larger number of pixels and larger distant between used pixels are important due to noises and possible occlusions, especially.
Proposed technique use a few techniques for the optimization algorithm.Single technique is not feasible for applications due to computation cost and poor results as it is shown by , 3D rotations, and contrast is used.The contrast fitting is important due to variable light conditions.The white and black points are defined by the two coordinate pairs (Fig. 11).The black (Xb,Yb) and white point (Xw,Yw) define simplest contrast, brightness, and saturation parameters of image transformation.
The first optimization phase is quite simple and the exhaustive search is used for a priori defined spatial and angular resolutions.Positions are tested using subpixel resolutions, 10 times higher resolution in both direction, and rotations using 20 deg.angle resolutions.The scale is not tested, because different scales of markers have common central part.Contrast is also not tested and fixed.The advantages of this phase are the fixed computation cost and possibilities in parallel processing.
The best position obtained from first phase due to obtained l 2 value is tested using optimization in second phase.The selection is driven by the threshold value for l 2 value.Second phase is started in parallel for obtained positions with enough low value of l 2 .S ec on d phase is based on the gradient and non-gradient approaches.The constrained optimization is applied in all optimization phases.During second phase gradient search algorithm is used and after the optimization is stopped (due to achieving error small changes, or after selected number of iterations) the non-gradient algorithm is started.This process is iterated ten times.Such technique gives abilities of exit from local minimal, that is achieved by the gradient search.The non-gradient algorithm when is used alone, supports exit from local minimum (but the convergence is usually very slow).The gradient algorithm is the minimization procedure from the Matlab Optimization Toolbox (fmincon).The non-gradient algorithm is evolutionary algorithm [ Back (T.et al.;T); Michalewicz (1996)], based on mutation.The single parent and child are used at one time evolutionary step.Mutation operator changes relative values of estimated parameters in specific range [ Spears (2000)].
The non-gradient phase (Fig. 13) uses 1000 iterations and during the single iterations modification of the position (2 DoF), scale (2 DoF), rotation (1 DoF), and contrast (4 DoF) are driven by the uniform random noise generator.The probabilities of mutation of parameter is set to the 0.3.More then one parameter may change during the single iteration.Multiple parameters modified during one iterations reduce influence of local minimum.
The number of iterations and number of repetitions is selected after a lot of tests.The convergence to acceptable level of l 2 is obtained in most cases, but as it is shown later the better results are obtained, if more such optimization processes are started.In parallel processing devices reduce processing time.

Performance of proposed estimation technique
Monte Carlo approach Fishman (2000) is used for performance analysis.Application of the Monte Carlo method gives an abilities of testing complex system.The 600 tests are applied using pseudo random number generator for parameters setting.Every test uses 20 iterations (gradient and non-gradient).The Gaussian additive noise is applied to the image (0.2 standard deviation).Values that are not fitted into (0 − 1) range are processed by the contrast curve and saturated according this curve.
The l 2 error is minimized to low values (Fig. 14) what is a numerical, Monte Carlo test based proof of algorithm.Achieving a zero value of l 2 is a very low probable, dependent on the noise level and contrast curve.It means that l 2 error is interesting quality of fitness, that is available during optimization process (due to known model) but not necessary a reliable one.Very interesting are box-plot statistic (Fig. 15), especially the depicted median value of the l 2 error.It is shown, that first step (gradient based) reduces error to low-level, but second step (non-gradient) reduces error to much lower level (more then 2 times).The reduction does not occur significantly by the next repetition of the gradient and non-gradient search.It is very important for practical applications.The gradient algorithm fails in local minima and the solution is possible using the non-gradient algorithm.Applications of the non-gradient algorithm only is not shown in this chapter, and the computation cost is very large (the computation are very slow, and are omitted).The position error and following errors are calculated using Euclidean distance formula also.All of them are possible to obtain using the synthetic test using Monte Carlo technique and gives an ability of the algorithm test and configuration.First gradient step does not gives good results (Fig. 16).The mean value of the position error is about half of pixel.The next step (non-gradient based) reduces mean error to values about 0.2.It is important quality improvement.The next steps reduces error, but not significantly.After all 20 steps the mean value is reduced, and histogram is little compressed into left direction, but the computation cost is quite high.Only z-axis is considered in shown results, that is related to the rotation of the maker around own axis.Rotation errors are reduced significantly (Fig. 17) to the about 0.6 degree (mean value).The reduction occurs after 20 iterations but is not so large.Known marker size give abilities of distance estimation using single camera.The 24 pixels of diameter correspond to the scale value 0.03.Diameter has variable diameter 24 − 48 pixels in test.The absolute scale error (Fig. 18) is large -2'nd and 3'rd column preserved about 1/3 cases for errors about 20% of diameter.Correlation between l 2 value and particular error is very interesting.The following values are obtained: R = 0.24 for position, R = 0.12 for rotation, and R = 0.30 for scale.All tested cases are depicted in Fig. 19 .Come discussion is necessary, because correlation coefficients are quite low.there is not direct relation between both errors, like R = 1/4, but correlation is high.Most cases create concentration cloud around expected minimal values of both errors.It is well visible for position errors, and if very small l 2 error is measured it is expected that position error is very small also.It looks that position error gives quite large number of pixels used during estimation and the number of pixels influence on the optimization results.The number of pixels for rotation influenced by the rotation probably is lower.This hypothesis should be considered in further works.Improvement of correlation gives abilities of error estimation.This is very important for the tracking algorithms (e.g.Kalman filter) and validation of the measurements.The scale is quite specific, because difference between different scales is defined by the marker's ring.Applications of larger chessboard marker should give better results, but the large markers are not feasible to use.

Conclusion
Non-rigid robots are important design for the future robots and different vision based techniques should be applied for the state estimation.Considered technique, based on the larger marker, is promising for state estimation measurements.Estimation of all parameters is possible but the position, rotation, and scale are considered only.The low values of l 2 error corresponds to the low values of the position, rotation and scale errors, and it is a useful estimator of the fitness, but not ideal.The most interesting result is the search scheme, based on the subpixel testing (0.1 pixel accuracy), gradient search and non-gradient search.The next repetition of gradient and non-gradient algorithm does not reduce error so much.Estimation of the parameters (meta level optimization) of non-gradient algorithm is interesting.The 1000 steps are used and reduction of the number of steps is important for the real-time processing.Validation of the proposed algorithm is important for the further optimization and in parallel processing.At this moment, processing time is quite long using Matlab.Optimization of the algorithm and code is necessary together.The visual servoing applications need fast, low latency and computation cost effective solutions.Application of the GPGPU or FPGA are promising computation devices for considered algorithm.

Fig. 8 .
Fig. 8. Example configuration of three cameras for Euclidean geometry based 3D estimation system Fig. 9. Perspective projection Fig.10.Model of marker and noised measurements the numerical tests.The dedicated renderer of the marker and mask at different positions, scale (distance), 3D rotations, and contrast is used.The contrast fitting is important due to variable light conditions.The white and black points are defined by the two coordinate pairs (Fig.11).The black (Xb,Yb) and white point (Xw,Yw) define simplest contrast, brightness, and saturation parameters of image transformation.The first optimization phase is quite simple and the exhaustive search is used for a priori defined spatial and angular resolutions.Positions are tested using subpixel resolutions, 10 times higher resolution in both direction, and rotations using 20 deg.angle resolutions.The scale is not tested, because different scales of markers have common central part.Contrast is also not tested and fixed.The advantages of this phase are the fixed computation cost and possibilities in parallel processing.The best position obtained from first phase due to obtained l 2 value is tested using optimization in second phase.The selection is driven by the threshold value for l 2 value.Second phase is started in parallel for obtained positions with enough low value of l 2 .S ec on d phase is based on the gradient and non-gradient approaches.The constrained optimization is applied in all optimization phases.During second phase gradient search algorithm is used and after the optimization is stopped (due to achieving error small changes, or after selected number of iterations) the non-gradient