7. Application of the Bioinspired Control on HECTOR
7.2. Visual Collision Avoidance
Insects possess remarkable capabilities regarding vision processing. One example for these vision-based tasks is the collision avoidance of flying insects such as flies and bees. In this context, due to the proximity of their eyes, triangulation based on stereo vision as used by larger animals is not applicable. Therefore, flying insects must use some other mechanism to estimate the distances of objects. This ability is even more noteworthy considering the low spatial resolution of their eyes. Since mobile robots also have restricted space to house stereo cameras, they also have to cope with the challenge of small inter-camera distances. To cope with this limitation, a control approach based on optic flow which is described below was used onHECTORas a mechanism for collision avoidance. Based on the active-gaze strategy observed in blowflies, Bertrand et al. (2015) developed a model that extracts the relative depth-structure of the environment from the optic flow that is perceived during translational motion. This concept is used in a module developed by Meyer et al. (2016) to avoid collisions with obstacles that obstruct the straight trajectory to a target. For the implementation on HECTOR, a camera system (an advanced version of the system presented by Irwansyah et al. (2014)) was incorporated into the front segment. The collision avoidance module of Meyer et al. (2016) was then used to provide the walking controller with a heading vector.
To evaluate the performance of the robot during walking, external tracking was used to obtain the position and orientation of the robot in a fixed coordinate system. The experiments were conducted in the teleworkbench (Tanoto et al.2012), which is equipped with four cameras whose collective field of vision covers the ground (see fig.7.3). Using markers attached to the robot, its x- and y-coordinates can be tracked.
c2 c1 target marker robot marker obstacle 6m 3 m c2 c1 robot marker target marker (a) (b) camera 2 camera 3 camera 1 camera 4 x y x z
Figure 7.3.: Depiction of the setup of the teleworkbench. (a) top view of the setup with robot on the right and target on the left side. (b) side view of the setup.
7.2.1. Optic Flow Processing
During locomotion, the perspective on objects in a static environment changes depending on the distance between observer and object. The projection of these objects onto the retina of an animal or the camera sensor of a robot changes accordingly. Thus, relative movements shift the projection of each object in the field of view of the observer, which can be expressed as retinal velocity. The overall change of perception due to the movement of all objects is named optic flow. During rotational motion, the retinal velocity of all objects is equal—independent of the distance between object and observer. A translational motion of the observer, however, induces retinal velocities that depend on the distance between the objects and the observer. Therefore, the closer objects are
COMANV target vector CAD heading vector field of view obstacle target h1
Figure 7.4.: Illustration of the relevant vectors for collision avoidance. The CO- MANV points into the average direction of close objects. Based on this direction, the CAD points in a direction, in which no close obstacles are detected. Using external tracking the target vector between the robot and the target marker is ob- tained. Compromising between the CAD and the target vector, the final heading vector of the robot is determined. This vector is used as input for the direction control of HECTOR to pull at the virtual robot body. The location of the frontal of the virtual pull points (see fig.5.14) is depicted as white circle, the corresponding heading vector h1 is shown in green.
the higher will be the optic flow. In insects optic flow is believed to be processed by a mechanism that can be modeled by EMDs (Elementary Motion Detectors; Buchner
1976) The response ofEMDsdepends on the contrast and the retinal velocity of a moving stimulus. Hence, the response of EMDsduring translational movements corresponds to a contrast-weighted representation of distances to the objects (Schwegmann et al.2014). This information can be used for obstacle avoidance (Bertrand et al.2015). Based on the EMD output, the COMANV (Center-Of-Mass-Average-Nearness-Vector) is computed, which points towards the average direction of close objects. To evade these obstacles theCAD (Collision Avoidance Direction)is computed, which corresponds to the inverse of the COMANV, scaled to the horizontal field of view. This vector therefore points in a direction, in which no obstacles are present or at least not present close to the robot. Together with the target vector, the CAD is used to obtain a heading vector, which compromises between the tasks to reach the target position and to evade obstacles. Since the norm of theCADincreases with decreasing distance of object, a close obstacle will result in a vigorous evasion movement of the robot whereas a distant object does not influence the heading vector notably. Therefore, in the first case the heading vector will approximately correspond to theCAD, whereas in the latter case the heading vector will nearly coincide with the target vector (Meyer et al. 2016).
7.2.2. Navigation and Collision Avoidance
In order to obtain the target vector, the tracking system of the teleworkbench (Tanoto et al.2012) is used. The tracking system is based on visual markers, of which one marker
camera 4 camera 1 camera 2 camera 3 start 1.5 2 2.5 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 1 x y robot position target position x-position [m] y-position [m] (a) (b)
Figure 7.5.: Top view during experiment on collision avoidance. The robot is sup- posed to walk from its start position towards the marker on the left. Since an obstacle was placed in the direct trajectory the robot walks in a curve towards the target position. (a) shows the robot trajectory in pixel coordinates as overlay on images of the start (robot on right side in the field of view of camera 1) and end of the experiment (robot on the left side in the field of view of camera 2). (b) shows the trajectory of the robot in absolute coordinates.
is placed on the robot and another marker is used to define the target position. Based on the absolute positions and orientations of these markers the target vector is computed. The heading vector, as obtained from the optic flow processing, is used as input for the direction control of HECTOR (see section 5.3.2), thus pulling the virtual body model in
camera 4 camera 1 camera 2 camera 3 start 1 1.5 2 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 0.5 x y robot position target position x-position [m] y-position [m] (a) (b)
Figure 7.6.: Top view during experiment on collision avoidance. The robot is sup- posed to walk from its start position towards the marker on the left. Since an obstacle was placed in the direct trajectory the robot walks in a curve towards the target position. (a) shows the robot trajectory in pixel coordinates as overlay on images of the start (robot on right side in the field of view of camera 1) and end of the experiment (robot on the left side in the field of view of camera 2). (b) shows the trajectory of the robot in absolute coordinates.
the desired direction. Effectively, the robot is guided towards the target position, always avoiding the closest obstacles.
In figs. 7.5 and 7.6, results of two experiments are depicted, during which the robot was commanded to walk from the right side towards the marker on the left side. Be- tween these positions, a plant was positioned as obstacle. Therefore, the robot had to
walk around this obstacle to avoid collisions. Figure 7.3shows the general setup of the scenario. The estimated fields of view of the four cameras overlap only close to the ground. This explains why the plant in fig.7.6does not appear in camera 1 as opposed to fig. 7.5 in which the plant is slightly shifted to the right and therefore turns up also in camera 1. The experiments were conducted without intervention by an operator. As the trajectory plots show, the robot is able to perform tight turns, e.g., in fig. 7.5 as the robot approaches the target position. Since the computation of the heading vector relies on noisy sensor input, also the direction of the heading vector fluctuates. However, oscillations visible in the trajectory plots can be attributed to the compliance of the sys- tem. Whenever a leg is lifted or lowered, the compliance in the stancing legs leads to movements of the main body. At the transition between cameras 1 and 2, the marker at the front segment of the robot is outside the field of vision of both cameras. Therefore, its position is not tracked. This leads to the straight line in the vicinity of x=0 m.