An Introduction to Behavior Based Robotics

Josh Ziegler, Jason Bindewald, and Gilbert Peterson

Summary Students implement a behavior-based simulated tank agent in the AutoTank environment built using the Unity 3D framework with C\# and JSON scripting. The students's goal is to create a tank agent that will win a tournament pitting all students' tank agents against each other in a series of games in the AutoTank environment. The tank agent's goal in each game is to either destroy all other opponent tanks or have the most remaining health at the end of a preset time limit. In order to do this, students will create tank agents that utilize a reactive behavior-based architecture built using the Unified Behavior Framework (UBF), which has been implemented in AutoTank. A comprehensive tutorial, AutoTank environment documentation files, and sample agents for student testing are included. Students should come away with a better understanding of how behavior-based systems in robotics are structured and the strengths and limitations of different designs.
Topics Autonomous Robots, Agent Design
Audience The assignment was originally designed for graduate students in an AI multiagent systems course, but would be suitable for undergraduate students in an advanced AI topics or AI robotics course.
Difficulty Medium to hard difficulty. Can be completed in approximately 2-4 weeks depending on student strengths.
Strengths
  • Provides a simulated environment to explore reactive behavior based systems
  • Competitive nature of the task can stimulate learning and engagement
  • The simulated tank environment makes it easy for students to see improvements as both agent behaviors are improved and how different architecture choices can influence an agent's performance
  • Scoring mechanisms in the environment can be adjusted in order to incentivize different behaviors and student design choices
  • A basic communication structure has been put in place to enable multiagent tasks for future extension
  • Two example agents are included for testing
Weaknesses
  • The environment is implemented in Unity 3D using C# and JSON scripts. Although the tutorial brings students up to speed quickly on how to develop agents, there may still be hurdles to those without sufficient programming experience.
  • Without proper direction, students may focus too closely on improving behaviors rather than on desiging and improving architectures.
Dependencies Students should have at least one AI course, and possibly have advanced programming knowledge. No prior understanding of reactive behavior based systems is required. The AutoTank environment requires Unity 3D and a basic understanding of C# and JSON. The assignment requires students to read Woolley and Peterson's Unified Behavior Framework for Reactive Robot Control.
Variants There are many possible extensions of this work. Included here is a follow-up assignment implementing a multiagent communication framework in order to have multiple tank agents competing as teams.

Materials

The views expressed in this document are those of the author and do not reflect the official policy or position of the United States Air Force, the United States Department of Defense, or the United States Government.