• Log in with Facebook Log in with Twitter Log In with Google      Sign In    
  • Create Account
  LongeCity
              Advocacy & Research for Unlimited Lifespans


Adverts help to support the work of this non-profit organisation. To go ad-free join as a Member.


Photo
- - - - -

Bionic Bug - Tiny Robot


  • Please log in to reply
No replies to this topic

#1 Infernity

  • Guest
  • 3,322 posts
  • 11
  • Location:Israel (originally from Amsterdam, Holland)

Posted 25 July 2005 - 12:58 PM


I wasn't sure this is the forum to put it. You might find it interesting.

http://128.178.145.145/behavior.htm

Wouldn't you like to get rid of these creepy crawlers like that? [sfty]




Behaviors (11/2004)

1. Introduction
We wish to have a system capable of collective aggregation and mobility of individuals. Simulation tools are used to analyze and formalize role of different individual or collective parameters on the global patterns of group behaviors. Finally, we hope to be able to manipulate group response using InsBot.
In this summary we will give a short explanation on how we developed the robot InsBot and initial model of cockroach aggregation behavior. We have tested the feasibility of this model to create aggregation of Cockroach-InsBot in a heterogeneous environment in presence of two dark and bright shelters.

Posted Image
Figure 1- InsBot version 0.3



2. Calibration
There are several reasons which make calibration phase unavoidable: Difference between electronic parts, different position and tilting angle of sensors, illumination condition, surface material and their flatness. We have developed 3 auto-calibration procedures:
• Proximity sensors calibration
• Bright shelter calibration
• Dark Shelter calibration
They are activated via TV remote control when the user requests. During calibration, the robot takes sample of sensors and computes a calibration vector. During normal behavior it corrects the current sensor values with the calibration vector.

3. Detection
InsBot should be able to discriminate the following objects which may exist during experiments:
• Cockroaches
• Wall around the circular arena
• The 2 heterogeneous shelters called “dark” and “bright” shelters
• Other InsBots moving around

Cockroaches and walls could be detected by 3 Infra-Red proximity sensors mounted on each robot side and in different heights. To enhance the quality of cockroach detection in some situations like near a wall, we used the linear camera which is mounted in front of the InsBot.
We have tested the feasibility of using IR sensors to detect the shelters. Due to its poor performance we modified the InsBot by adding two photodiodes on top of the robot.
Detection of other robots is done using local communication via IR sensors. We use a similar algorithm to what we had implemented on Alice micro-robots.

3.1. Shelter Detection
The initial plan was to use IR proximity sensors to measure amount of ambient IR light around the robot and calibrate them for different type of shelters. But then we faced some problems: IR light can make undesired noises on proximity measurements. Also, TV remote receiver generates unwanted commands on robot. Also even in presence of IR light, there was very small difference between sensor values under two shelters. The selected materials for building the shelters could not prevent IR light sufficiently.
Therefore we came up with another solution. We added two two BPW34 Silicon PIN photodiodes which measure both visible and IR light (See fig.1).

3.2. Robot Detection
InsBot has 12 infrared (IR) sensors for environment perception; they are mainly used to sense the distance of nearby objects. Taking into account the relative positions of the sensors on the InsBot and their responses; it is then possible to classify surrounding objects: wall, cockroach or nothing. If there is more than one robot on the setup there is no way to distinguish a wall from a robot or a cockroach from a robot by only using the proximity information. For that purpose a local communication protocol using IR sensors has been implemented and then allows detecting the presence and position of surrounding robots.
The local communication protocol has been inspired from the one implemented on the Alice robot [1]. Communication is bi-directional and allows transmitting simple messages containing 6 data bits (a decimal value between 0 and 63). Combining the proximity information and communication ensures the detection of surrounding robots.
Moreover the 6 bit messages allow sending information about the robot itself. For instance the robot could send a value that describes its species (or category) to mimic the chemical recognition between cockroaches.

3.2. Cockroach Detection
Cockroaches are detected via IR proximity sensors. Due to the dark color of cockroach body, it is hardly detectable by such sensors. But mixing our heuristic discrimination rules with calibration procedures, we could detect them from 2 cm distance.
There are 3 IR sensors at each side of InsBot installed in different heights: one sensor in high altitude at top and the others in low altitude. Normally cockroaches are shorter than the top sensor, so they would affect mainly the lower sensors. As cockroaches get closer to the robot the lateral sensor will have bigger value than the top sensor. This is the main difference between cockroach and arena walls by which we are able to discriminate them.

3.4. Wall Detection
Fig. 2 shows two out of many possible orientations of InsBot with respect to cylindrical wall in experimental setup. Due to small size of InsBot we can consider a part of the circle as a straight line. It is evident from the figure that out of 3 sensors in each side, value of the middle one nearly equals to the average of the two lateral ones. But, since changes in the proximity values are not linear with respect to distance, it is difficult to find a good threshold.

Posted Image
Figure 2- wall detection



3.5. Linear Camera
There are some special cases where it is hard to detect cockroaches. For example, if the robot is moving parallel and close to a wall at left side, then normally front-left and rear-left sensors have big values (fig 3).
These big values are because of the reflection of IR signals from wall. In this case if a cockroach rests at this area and is not detectable by front-right or rear-right sensors, then the robot will not detect it. It is considered as a part of left wall. The same happens for right wall case.
A similar case happens when robot approaches perpendicular to wall. In this case left-front and right-front sensors have big value.

Posted Image
Figure 3- Special case when the robot can not detect the cockroach



To enhance the detection capability in these special cases we used the linear camera which is mounted in the front center of the robot. The camera is a TSL3301 linear camera from TAOS ™ (Texas Advanced Optoelectronic Solutions). It is a high-sensitivity 300-dpi, linear optical sensor array with integrated A/D converters. The array consists of 102 pixels.
In the experimental setup, values of the pixel array looks like fig. 4. While the illumination condition is constant, they have values like a Gaussian distribution. This is due to the fact that central pixels receive more light than the outer pixels from optical lens of the camera.

Posted Image
Figure 4- Linear camera in normal illumination conditions



To count the number of cockroaches in front of the robot we count the number of discontinuities in the normal Gaussian like curve of the whole pixels. Fig.5 shows an example where one cockroach stands in front of the robot. The white bar under the pixel array shows the place where detection algorithm has found the cockroach. The picture shows the output of the implemented algorithm on Sysquake interface. We used the same algorithm on behavior processor of InsBot.
The algorithm searches by comparing the average of two adjacent pixels with the next two. If the difference is more than a special threshold then it is considered as discontinuity.
The algorithms should take care of adjacent discontinuities and count them once. Also it is clear from fig.5 that if the cockroach is placed in the center of view there will be at least two non-adjacent discontinuities one for falling edge and another one for rising edge. The current algorithm keeps track of it by checking the sign of edges.

Posted Image
Figure 5- Cockroach detection using the linear camera



4. Behavioral Model
The implemented behavioral model is a layered model. Complex behaviors are built by combining simpler behaviors. Behavior generation is divided into two parts: basic behaviors (like obstacle avoidance and wall following) are generated and managed in hardware processor. Higher level behaviors (like aggregation) are implemented in behavior processor and communicated through I2C bus to hardware processor for affection on actuators.

Posted Image
Figure 6- behavior fusion based on potential field



4.1. Basic Behaviors
Basic behaviors are generated by means of potential field fusion method. Each behavior generates a potential field for robot motors. Each potential field assigns attraction or repulsion force (rx, ry) vector. The final movement direction and velocity corresponds to the resultant force of weighted vector-sum of these potential field forces (fig.6). Weights are computed empirically. For example in the current version of InsBot software, obstacle avoidance and wall following are generated by combining the following simpler behaviors:

Obstacle-avoidance = move-forward + 4 * cockroach-avoidance + robot-avoidance
+ 1/2 * wall-avoidance + 1/6 * unknown-object-avoidance

Wall-following = Obstacle-avoidance + right-wall-attraction + left-wall-attraction

The resultant force (Rx, Ry) is then transformed to the speed of wheels (Vl, Vr) by applying a specific transformation.

4.2. Aggregation
Higher level behaviors like aggregation are implemented in behavior processor. The currently implemented behavior is a stochastic state machine which selects each 500 ms the next robot action among move, turn, and stop set (fig.7).
If robot is moving near periphery, move means wall-following behavior and turn means escaping from wall. In center they mean regular obstacle avoidance and regular turning respectively.
Actions are selected corresponding to a probability distribution which depends on the place of robot (center or periphery), shelter type (dark or bright), and number of cockroaches around.
Simply saying, if the number of around cockroaches increase the probability that it stops increases.
This probability table is extracted directly from the statistical analysis which is done based on the tracking software SysTrack developed by EPFL-SWIS lab specially for this project .

Posted Image
Figure 7- behavior arbitration



5. Test Results

Figures 8 to 10 show selected snapshots of a 2.5-hour experiment. At the beginning no aggregation is perceived. InsBot and cockroaches stop short times inside the shelters; since no one is around, leave it (fig.8, minute 14, InsBot alone under dark shelter).

Posted Image
Figure 8- InsBot stay in dark shelter for a short time (min. 14)



After half an hour aggregation starts (fig.9, minute 36, InsBot and cockroach under dark shelter). Gradually, aggregation size increases.
Sometimes InsBot or cockroaches leave the aggregation and go to another shelter, but then come back.

Posted Image
Figure 9- Aggregation starts (min. 36)



And final stable aggregation happened after two hours (fig.10, minute 145, InsBot and cockroach under dark shelter).

Posted Image
Figure 10- Final stable aggregation (min. 145)






Last Update 19/11/04




-Infernity





0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users