The fusion of multiple behavior commands and sensor data into intelligent and cohesive robotic movement has been the focus of robot research for many years. Sequencing low level behaviors to create high level intelligence has also been researched extensively. Cohesive robotic movement is also dependent on other factors, such as environment, user intent, and perception of the environment. In this paper, a method for managing the complexity derived from the increase in sensors and perceptions is described. Our system uses fuzzy logic and a state machine to fuse multiple behaviors into an optimal response based on the robot's current task. The resulting fused behavior is filtered through fuzzy logic based obstacle avoidance to create safe movement. The system also provides easy integration with any communications protocol, plug-and-play devices, perceptions, and behaviors. Most behaviors and the obstacle avoidance parameters are easily changed through configuration files. Combined with previous work in the area of navigation and localization a very robust autonomy suite is created.Keywords: robotics, autonomy, obstacle avoidance, arbiter, fuzzy logic, state machine
BACKGROUNDThe simplest and most basic form of robot control is tele-operation. During tele-operation, the rules for movement and arbitration among system inputs are relatively simple: user input is mapped directly to motor controller output. As robot autonomy increases, the requirements of the system architecture become increasingly complex. For example, in reflexive tele-operation, data from multiple sensors must be arbitrated with user input and combined into an appropriate output 1,2,3 . When moving from tele-operation to reflexive tele-operation, the space of possible inputs increases linearly and is easily handled by conventional programming techniques.However, the addition of new behaviors and technologies under the Robotics Technology Transfer project 4 at SPAWAR Systems Center, San Diego (SSC San Diego) results in a nonlinear explosion of possible variables to arbitrate. Examples of such behaviors include leader-follower, building exploration, and searching for radioactive sources. These high-level behaviors depend on underlying component behaviors, such as obstacle avoidance, and operate concurrently with the autonomy levels described above. Complexity increases because the high-level behaviors also often need to influence the underlying component behaviors. For example, the building exploration behavior requires the robot to avoid obstacles encountered in its path. However, the leader-follower behavior requires the robot to maintain a close proximity to the leader. Clearly the obstacle avoidance in these two cases must operate differently. A robot with multiple levels of autonomy and various high level and low level behaviors must handle a potentially huge number of internal states in order to behave appropriately in any combination of autonomy level and behavior. If not well designed, the addition of just one new behavior can result in...