Behavior-Based Robotics: Interacting Mobile Robots Arun Mahendra - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie Abstract Calculating Destination Coordinates In robotics, behaviors are simple algorithms that connect inputs (sensory data) and outputs (motion commands). The interaction between a behavior-driven robot and the environment enables the robot to perform relatively complex tasks. In this project we extend the behavior-based approach to include multiple robots. We develop an interactive behavior which enables one robot to follow the other, using a simple method of communication. For validation, we are using the AmigoBot™ hardware/software platform, building upon our previous work in behaviorbased mobile robots. We describe our successful experiments involving two AmigoBots™ in a realistic (cluttered) environment. Several scenarios of motion are investigated, demonstrating the robustness of our method. Geometry problem: Line passing through the center of a circle AmigoBot Follower: Flow of Control ActionGoto 100 ms (X-Xp)2 + (Y-Yp)2 = r2 Main_Ctrl() (Xp,Yp) r Each robot communicates with a PC across a (802.11) wireless network. Information packets are sent every 100 milliseconds. ¶ Get_TrigX() Get_TrigTh() Get_TrigY() (Xr,Yr) Wireless Communication For implementation purposes, the following calculations are used: Ultrasonic Sonar Read_FileY() Read_FileX() Pilot (Xp,Yp) Pilot AmigoBot Follower r α ΔY Multiple robots use a central PC as a hub to communicate among themselves. Pilot writes into a file, follower reads that file. Eight sonar units built into the robot constitute the input sensors. The robot identifies external obstacles and wall-to-follow by processing inputs from these sensors. When these sensors return a reading, it is processed and as a reaction, a state transition in the system occurs. Different states reflect different reactive behaviors. CONCLUSIONS This project proves that behavior-driven robots can interact using a simple method of communication. Pilot: Conceptual flow of control Observation: The follower looses track of the pilot when the pilot is not in the follower’s line of sight. Piloting Modes Robot WallFollow Behavior Mode Collision Avoidance Simple Turn Explore Sensors and Positions WritePosTo File() FUTURE WORK Extended the project to include multiple follower robots. α (Xr,Yr) ….. ArRobotX ….. ….. ΔX Develop a follower-sensing behavior for the pilot … explain InputKeyHandler Xp-Xy Wander Mode Obstacle Avoidance ….. WritePosTo File() Experimentally, a translational speed of 200 mm/sec was found ideal for navigating without colliding with objects. Distance traveled @ 200 mm/sec before a packet arrives = 200 *.1 = 20mm. The “blind distance” covered in this case is only 20mm, which is very small. Develop a behavior to enable the follower to follow the pilot even when they don’t have line of sight. ….. ArRobotX ….. ….. 2 Cos( )=ΔX/(√ΔX +ΔY ) α Xintersection = ΔX – r.Cos( ) α Sin( )=ΔY/(√ΔX2+ΔY2) α Yintersection = ΔY – r.Sin( ) Implementation using C++ TeleOperation Mode Obstacle Avoidance ….. WritePosTo File() α 2 a little more! ¶ Amigobot ….. ArRobotX ….. ….. is a member of the Pioneer family of mobile robots manufactured by ActiveMedia Robotics. For additional information please contact: Mircea Agapie Dept. of Math, Physics & Engineering Tarleton State University agapie@tarleton.edu