scieee AI-readable full text Open interactive document viewer

Repositorio Institucional de Documentos

Abstract

Este trabajo trata acerca del control visual de robot móviles. Dentro de este campo tan amplio de investigación existen dos elementos a los que prestaremos especial atención: la visión omnidireccional y los modelos geométricos multi-vista. Las cámaras omnidireccionales proporcionan información angular muy precisa, aunque presentan un grado de distorsión significativo en dirección radial. Su cualidad de poseer un amplio campo de visión hace que dichas cámaras sean apropiadas para tareas de navegación robótica. Por otro lado, el uso de los modelos geométricos que relacionan distintas vistas de una escena permite rechazar emparejamientos erróneos de características visuales entre imágenes, y de este modo robustecer el proceso de control mediante visión. Nuestro trabajo presenta dos técnicas de control visual para ser usadas por un robot moviéndose en el plano del suelo. En primer lugar, proponemos un nuevo método para homing visual, que emplea la información dada por un conjunto de imágenes de referencia adquiridas previamente en el entorno, y las imágenes que toma el robot a lo largo de su movimiento. Con el objeto de sacar partido de las cualidades de la visión omnidireccional, nuestro método de homing es puramente angular, y no emplea información alguna sobre distancia. Esta característica, unida al hecho de que el movimiento se realiza en un plano, motiva el empleo del modelo geométrico dado por el tensor trifocal 1D. En particular, las restricciones geométricas impuestas por dicho tensor, que puede ser calculado a partir de correspondencias de puntos entre tres imágenes, mejoran la robustez del control en presencia de errores de emparejamiento. El interés de nuestra propuesta reside en que el método de control empleado calcula las velocidades del robot a partir de información únicamente angular, siendo ésta muy precisa en las cámaras omnidireccionales. Además, presentamos un procedimiento que calcula las relaciones angulares entre las vistas disponibles de manera indirecta, sin necesidad de que haya información visual compartida entre todas ellas. La técnica descrita se puede clasificar como basada en imagen (image-based), dado que no precisa estimar la localización ni utiliza información 3D. El robot converge a la posición objetivo sin conocer la información métrica sobre la trayectoria seguida. Para algunas aplicaciones, como la evitación de obstáculos, puede ser necesario disponer de mayor información sobre el movimiento 3D realizado. Con esta idea en mente, presentamos un nuevo método de control visual basado en entradas sinusoidales. Las sinusoides son funciones con propiedades matemáticas bien conocidas y de variación suave, lo cual las hace adecuadas para su empleo en maniobras de aparcamiento de vehículos. A partir de las velocidades de variación sinusoidal que definimos en nuestro diseño, obtenemos las expresiones analíticas de la evolución de las variables de estado del robot. Además, basándonos en dichas expresiones, proponemos un método de control mediante realimentación del estado. La estimación del estado del robot se obtiene a partir del tensor trifocal 1D calculado entre la vista objetivo, la vista inicial y la vista actual del robot. Mediante este control sinusoidal, el robot queda alineado con la posición objetivo. En un segundo paso, efectuamos la corrección de la profundidad mediante una ley de control definida directamente en términos del tensor trifocal 1D. El funcionamiento de los dos controladores propuestos en el trabajo se ilustra mediante simulaciones, y con el objeto de respaldar su viabilidad se presentan análisis de estabilidad y resultados de simulaciones y de experimentos con imágenes reales. Aranda Calleja, Miguel; Sagüés Blázquiz, Carlos; López Nicolás, Gonzalo

Full text

Appendices A Experimental results We present an evaluation of the performance of the proposed visual control methods, both in simulation and in experiments with real images. A.1 Simulations We will first show the simulation results for the omnidirectional visual homing technique. The reference views used in this method were positioned forming a square grid in the simulations, although any arbitrary distribution guaranteeing sufficient geometric diversity on the plane could be chosen. A randomly distributed cloud of 200 points in 3D was generated and projected in each camera. Three sample homing trajectories with a 16-view reference set and the evolutions of their corresponding motion commands are displayed in Fig. 1. A maximum threshold was set in order to limit the variation of the sizes of the individual sectors Sibetween two consecutive steps; this avoids abrupt changes in the linear velocity that may occur when the robot moves right across one of the reference positions. We also added Gaussian noise to the angles of the projected points to evaluate the performance of the homing method. Figure 2 displays the final position error obtained after adding variable noise in simulations with sets of 4(the minimum number for our method) and 16 reference images. Increasing the number of reference views makes the system more robust to noise, since the control operates averaging the contributions of the individual views. −6 −3 0 3 −6 −3 0 3 x (m) z (m) T1 T3 T2 0 50 100 150 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 Time (s) v (m/s) T2 T3 T1 0 5 10 15 20 25 30 −25 −20 −15 −10 −5 0 5 10 15 20 25 Time (s) w (deg/s) T2 T3 T1 Figure 1: Robot path (left), linear velocity (center) and angular velocity (right) of three sample simulated homing trajectories. 1 0 1 2 3 4 5 0 0.05 0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 Standard deviation of noise (degrees) Position error (m) 16 reference images 4 reference images Figure 2: Final position error vs. Gaussian noise for the homing method. Next, we present some simulation results for the visual control method based on sinusoidal inputs. From the points projected and matched between three cameras, the trifocal tensor was computed and the relative angles between the views were estimated. The state variables of the system were subsequently obtained from this information and used in the closed-loop control. Figure 3 displays three sample trajectories with our method, along with the velocities used. The maximum orientation (φmax) was set to 60o. Smooth trajectories are generated to align the robot with the target, while in the second stage of the control the depth is corrected following a straight-line path. A simulation with added Gaussian noise is illustrated in Fig. 4. The standard deviation of the noise introduced in the angles projected in the cameras was 1o. We found it was useful to average the measurements of the system variables over short intervals in order to reduce noise. This is particularly advisable when computing ρ, since it is a variable we are obtaining indirectly. The robot velocities can also be smoothed out by limiting their instantaneous variation. There exists a noise amplification effect near the end of the motion period due to the low values of the denominator of the closed-loop expressions used to compute the amplitude of thevelocities (aand b). This can be compensated by setting a minimum threshold on these values. The robot trajectories are still fairly smooth and the position error remains low, as illustrated by the example shown in the aforementioned figure. Simulations with motion drift are illustrated in Fig. 5. The added drift is proportional to the linear and angular velocities of the robot. It can be seen that the closed-loop control is capable of compensating the drift through the variation of the amplitudes of the sinusoids, and the system reaches the desired state at t=T/2. In order to illustrate this effect, only the sinusoidal part of the control (i.e. the first step) is shown. 2 0 5 10 15 20 25 30 −3 −2 −1 0 1 2 3 4 Time (s) x (m) 0 5 10 15 20 25 30 −3 −2 −1 0 1 2 3 4 Time (s) z (m) 0 5 10 15 20 25 30 −80 −60 −40 −20 0 20 40 60 80 Time (s) φ (º) 0 5 10 15 20 25 30 −1.5 −1 −0.5 0 0.5 1 1.5 Time (s) v (m/s) 0 5 10 15 20 25 30 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 Time (s) w (deg/s) −5 −4 −3 −2 −1 0 1 2 3 4 5 −5 −4 −3 −2 −1 0 1 2 3 4 5 x (m) z (m) Figure 3: Three sample robot trajectories for the sinusoidal input-based control, from starting locations (4,−1,5o),(−3,2,25o)and (−2,−3,−45o). The evolutions of the state variables x(left), z(center) and φ(right) are displayed in the top row. The bottom row shows the linear velocity (left), angular velocity (center) and the robot paths (right) for each trajectory. 3 0 5 10 15 20 25 30 −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 Time (s) v (m/s) w (deg/s) −7 −6 −5 −4 −3 −2 −1 0 1 2 1 2 3 4 5 6 7 8 x (m) z (m) 0 5 10 15 20 25 30 35 −5 −4.5 −4 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 Time (s) x (m) 0 5 10 15 20 25 30 35 0 1 2 3 4 5 6 7 8 9 Time (s) z (m) 0 5 10 15 20 25 30 35 −60 −50 −40 −30 −20 −10 0 10 Time (s) φ (º) Figure 4: Simulation of the sinusoidal-based control with added Gaussian noise (σ= 1o). The robot velocities are displayed in the top left plot. The top right plot shows the robot paths from starting location (−5,2,−5o)with noise (dashed line) and without noise (solid line). The bottom row displays the evolutions of variables x(left), z(center) and φ(right). Dashed lines correspond to the simulation with added noise, solid lines to the noiseless case. 4 0 2 4 6 8 10 −5 −4.5 −4 −3.5 −3 −2.5 −2 −1.5 −1 −0.5 0 Time (s) x (m) 0 2 4 6 8 10 2 4 6 8 10 12 14 Time (s) z (m) 0 2 4 6 8 10 −80 −70 −60 −50 −40 −30 −20 −10 0 10 Time (s) φ (º) 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 Time (s) v (m/s) 0 2 4 6 8 10 −0.5 −0.25 0 0.25 0.5 Time (s) w (deg/s) 0 2 4 6 8 10 0 0.5 1 1.5 2 2.5 3 3.5 Time (s) a (amplitude of v) 0 2 4 6 8 10 −0.2 0 0.2 0.4 0.6 0.8 1 1.2 Time (s) b (amplitude of w) Figure 5: Simulation results with motion drift in the sinusoidal input-based part of the control. A driftless simulation with initial location (-5,2,-5o) is shown in solid line. A simulation with the same parameters and a +20% drift added to both the linear and angular velocities of the robot is displayed with a dashed line. The dotted line shows the results obtained with a drift of -10%. 5 Figure 6: Example image (left), omnidirectional camera (center) and complete setup (right) used for the experiments. A.2 Experiments with real images The performance of the omnidirectional visual homing method was tested with real images. The setup for the real experiments consisted of an ActivMedia Pioneer nonholonomic unicycle robot base with a catadioptric vision system, made up of a Point Grey FL2-08S2C camera and a Neovision HS3 hyperbolic mirror, mounted on top. The resolution of the employed images, obtained in an indoor, laboratory setting, was 800 ×600 pixels. No calibration is used, other than assuming that the camera and mirror axis are vertically aligned. Fig. 6 illustrates the experimental setup. The reference set of views consisted of 20 images acquired from locations forming a 5 ×4 rectangular grid with a spacing of 1.2 m., thus covering a total area of 4.8 ×3.6 m2. Image features were extracted and matched, and a RANSAC estimation was used to compute the 1D trifocal tensors between the views. The number of three-view correspondences employed lied in the range of 30 (the threshold below which the results started to become unreliable) to 70. Although images taken on opposite sides of the room could not be matched, the connections between adjacent or close sets of views were sufficient to recover the relative angles of the complete reference set. Fig. 7 shows vector field representations for two different goal locations within the grid. The arrows at each location represent the displacement vectors associated with the motion that a vertically oriented robot with nonholonomic constraints would perform from that spot, according to the proposed control law. They all have been scaled by an equal factor. As can be seen, the magnitude of the vectors becomes larger as the distance to the target increases. The line segments show the estimated directions of the epipoles of the goal position in each of the reference locations. The results show good accuracy despite the presence of outliers in the putative matches. A sequence of 170 images was captured by the robot while moving at constant speed along a straightline, 5 m. long diagonal path crossing the grid from one of its outer sides to reach a goal position near the opposite side. The linear velocity commands that the homing method would generate at every step in the sequence and the estimated current-to-goal angle (to which the angular velocity of the control law would be proportional) are displayed in Fig. 8. The results of these preliminary experiments show that the homing method can be successful in an environment with sufficiently large sets of feature matches. 6 0 1 2 3 4 0 1 2 3 4 5 Distance (m) Distance (m) 0 1 2 3 4 0 1 2 3 4 5 Distance (m) Distance (m) Figure 7: Displacement vectors (arrows) and directions of the epipoles (line segments) with respect to the goal estimated at every reference position for two different goal locations (marked with a cross) in real setting. 012345 0 0.5 1 1.5 2 Distance from goal (m) v (m/s) 012345 −10 −5 0 5 10 Distance from goal (m) Angle current−goal (deg) Figure 8: Linear velocity (left) and angle to the goal (right) estimated in real image sequence. 7