{'fraction_non_alphanumeric': 0.024193548387096774, 'fraction_numerical': 0.012096774193548387, 'mean_word_length': 5.3317865429234335, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Creating Visual Reactive Robot Behaviors Using Growing Neural Gas

Creating reactive robot behaviors that rely solely on visual input is tricky due to the well-known problems involved with computer vision. This paper presents a potential solution to this problem. The robot builds representations of its target environment using Growing Neural Gas. The robot programmer then specifies its behavior for each learned node. This approach is shown to have the potential to be effective for simplifying robot behavior programming in an indoor environment with low-cost hardware. Programming reactive behaviors (Brooks 1986) on a robot equipped with basic sensors such as touch sensors and sonars is reasonably straightforward and well-understood. Despite considerable progress in computer vision techniques, use of camera images to direct reactive behaviors remains tricky. Considerable effort is often invested in computer vision algorithms that are specialized for a particular environment. (Horswill 1994) Unsupervised learning algorithms have proven to be popular tools for computer vision, especially neural network models such as the Self-Organizing Map (Kohonen 2001) and Growing Neural Gas (Fritzke 1995). These algorithms derive abstractions of subsets of image sets that can be used for later classification of previously unseen images. This paper describes an application of unsupervised learning, specifically Growing Neural Gas (GNG) to the problem of programming reactive behaviors when using computer vision as the principal sensor for a mobile robot. Behavior programming is a two-stage process. First, the robot builds a GNG network as it explores its environment. Subsequently, the programmer specifies the desired action for each learned GNG cluster. Once this specification is complete, the robot selects its actions based on the GNG cluster that is the closest match to the current input image. Learning the Environment Unsupervised Learning Unsupervised learning algorithms, such as k-means (Forgey 1965) (MacQueen 1967), the self-organizing map (SOM) (Kohonen 2001), and Growing Neural Gas (GNG) (Fritzke 1995), operate by partitioning their training inputs into clusters based on a distance metric. Each cluster is defined as a Figure 1: Portrait of the Robot representative example of the input space. Each representative example is arithmetically derived (in an algorithmdependent manner) from the training inputs. Both k-means and self-organizing maps require a fixed number of clusters to be specified in advance. Growing neural gas adaptively determines the number of clusters based on its inputs. In the interest of allowing the inputs to determine the number of clusters, we selected GNG for this task.