Presentation is loading. Please wait.

Presentation is loading. Please wait.

Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.

Similar presentations


Presentation on theme: "Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie."— Presentation transcript:

1 Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie Questions about this project? Please contact: Stephen Cohorn  stephencohorn@gmail.com Mircea Agapie  agapie@tarleton.edu Hardware: the AmigoBot™ Abstract In developing algorithms and software for the control of Autonomous Mobile Robots (AMR), boundary assertion is often important: it prevents the robot from entering environments dangerous to itself, or where it might endanger other machinery, equipment, or personnel. In this project we designed and implemented a robotic behavior that restricts the motion of the robot to a configurable bounded area. When this behavior is activated, the robot will stay within that area and, if forced outside, it will attempt to return. We have validated the correct operation of the boundary-assertion behavior in a simulated environment, and also on a real robot in a real environment. Future work will extend the class of shapes for the bounded area, and address the “reusability” of the new behavior, integrate it into a more general behavior-selection mechanism. It will then be easy to configure the size and shape of the bounded area, and transfer boundary-assertion behaviors among robotics projects. Eight sonar units distributed around the body constitute the only input sensors for our AMR. External obstacles can be identified only by processing inputs from these sonars [1]. Position is outside the designated area Position is inside the designated area Return State Wander State The AmigoBot hardware comes with a collection of software tools, called ARIA™ (Advanced Robotics Interface for Applications) [1]. ARIA is written by the manufacturer in C++ under Microsoft ® Visual Studio.NET ® 2003, so we used the same programming language and the same development environment. Whenever our AI program (running on the PC) needs to communicate with the robot, we call one of the ARIA functions, collectively known as the ARIA API (Application Programming Interface). For example, in the following code fragment (executed when the robot reaches a boundary), the velocity of the robot is set to 0, then the robot deactivates itself so a new action can be started. All functions in bold are provided in the ARIA API. The operation of this code is discussed in more detail in the Algorithms section. myRobot->setVel(0); deactivate(); myRobot->addAction(&turnAroundAction, 99); Our project did not involve any modification of the original AmigoBot hardware. References: 1.More details about the AmigoBot platform can be found on the web-site of its manufacturer, MobileRobots Inc.: http://www.activrobots.com/ROBOTS/amigobot.html 2.R. Brooks, A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation, 2, 14-23 (1986). Conclusions and future work Software: C++ and ARIA™ Algorithms: Behavior-Based Robotics Experimental results The object of our project was the Boundary-Assertion behavior, modeled by the following state-transition diagram: We implemented this behavior by programming a pair of actions: RespectBoundary, and TurnAround. RespectBoundary has x and y parameters which specify a rectangular area in which movement is permitted. Because the robot also has other actions to perform, we must specify a third parameter: the priority of RespectBoundary in the total set of actions. If the robot is for some reason unable to return to the bounded area, it will execute another action, Wander, for 5 seconds before attempting to take a new heading, again ± 30 degrees from the heading to the center of the bounded area. The robot starts in the center of the rectangle. In the following code example, the bounded area is 9000 mm by 7000 mm, and the action is “added” to the robot with a priority of 99: RespectBoundary boundary(9000, 7000); robot.addAction(&boundary, 99); Once added, RespectBoundary is responsible for gathering odometry data from the AMR and calculating whether a boundary was reached or not. If yes, RespectBoundary deactivates itself and activates TurnAround, which then calculates the heading (direction) needed to return to the center of the bounded area. Actually, TurnAround does not head straight for the center of the bounded area. It randomly picks a heading within ±30º of that direction, to prevent the robot from “getting stuck” outside of the boundary due to some obstacle blocking re- entry. By continuously integrating the motion of its motor wheels, the AMR can also keep track of the distance and direction traveled. The robot communicates with a PC across a wireless Ethernet network (802.11), in a classical client-server architecture. State packets are sent from AMR to PC every 100 milliseconds. The Artificial Intelligence (AI) program running on the PC makes decisions based on the state information and sends them back to the robot in command packets. As in all applications of Computer Science, the hardware and software are “brought to life” by the algorithms they implement. In Artificial Intelligence, “behaviors” are relatively simple algorithms that connect the robot’s inputs (sensory data) to its outputs (motion commands). The interaction between a behavior-driven AMR and its environment enables the robot to perform complex tasks, which in older AI approaches could only be accomplished through extensive planning [2]. In simulation and real world testing, the Boundary-Assertion behavior effectively restricted the robot to the specified area. While stricter rules could be enacted, allowance for events such as the robot being “herded” out of the area is made by simply having it continue to attempt to return to the bounded area. In the following screen capture are the results from a simulated area filled with obstacles, with two places where the robot was intentionally forced outside of the area, to demonstrate its ability to return. Acknowledgement: Many thanks to Arun Mahendra for his contribution to the design of this poster! A robotic behavior was programmed to assert a rectangular boundary in the operation of an autonomous mobile robot. The behavior was tested and validated in simulation and the real world. Future work will generalize the rectangular shape of the bounded area to other regular and irregular polygons, to make it more suited to real-life constraints. Another objective is the easy integration of boundary-assertion behaviors in a general behavior-based architecture for our robots. Simulated robot and environment


Download ppt "Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie."

Similar presentations


Ads by Google