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

Slides:



Advertisements
Similar presentations
Integration of MBSE and Virtual Engineering for Detailed Design
Advertisements

Project Title Here IEEE UCSD Overview Robo-Magellan is a robotics competition emphasizing autonomous navigation and obstacle avoidance over varied, outdoor.
INTRODUCTION TO SIMULATION WITH OMNET++ José Daniel García Sánchez ARCOS Group – University Carlos III of Madrid.
Enhanced Interior Gateway Routing Protocol (EIGRP) Part 2
Working for the future - today
Joshua Fabian Tyler Young James C. Peyton Jones Garrett M. Clayton Integrating the Microsoft Kinect With Simulink: Real-Time Object Tracking Example (
Robotics, Intelligent Sensing and Control Lab (RISC) University of Bridgeport Department of Computer Science and Engineering Robotics, Intelligent Sensing.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Yiannis Demiris and Anthony Dearden By James Gilbert.
T-FLEX DOCs PLM, Document and Workflow Management.
CSE Design Lab – Milestone 2 James Hopkins Dave Festa Dennis O’Flaherty Karl Schwirz.
Experiences with an Architecture for Intelligent Reactive Agents By R. Peter Bonasso, R. James Firby, Erann Gat, David Kortenkamp, David P Miller, Marc.
Performance Evaluation of a Multi-Threaded Distributed Telerobotic Framework Mayez Al-Mouhamed, Onur Toker, and Asif Iqbal College of Computer Science.
What’s That? : A Location Based Service Department of Computer Science and Engineering University of Minnesota Presented by: Don Eagan Chintan Patel
A Robust Layered Control System for a Mobile Robot Rodney A. Brooks Presenter: Michael Vidal.
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Wireless Data Acquisition for SAE Car Project by: J.P. Haberkorn & Jon Trainor Advised by: Mr. Steven Gutschlag.
Cambodia-India Entrepreneurship Development Centre - : :.... :-:-
Chapter 10: Architectural Design
What is it? A mobile robotics system controls a manned or partially manned vehicle-car, submarine, space vehicle | Website for Students.
UNIT-V The MVC architecture and Struts Framework.
EstiNet Network Simulator & Emulator 2014/06/ 尉遲仲涵.
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
Abstract Design Considerations and Future Plans In this project we focus on integrating sensors into a small electrical vehicle to enable it to navigate.
NETWORK CENTRIC COMPUTING (With included EMBEDDED SYSTEMS)
Humanoid Robot Head May Team Members: Client/Faculty Advisor: Dan Potratz (CprE) Tim Meer (EE) Dr. Alex Stoytchev Cody Genkinger (CprE) Jason Pollard.
These materials are prepared only for the students enrolled in the course Distributed Software Development (DSD) at the Department of Computer.
Behavior Based Robotics: A Wall Following Behavior Arun Mahendra - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
Adapted for STLP Camp ‘09 Mobile Robots Why do robots need to move?
Multiple Autonomous Ground/Air Robot Coordination Exploration of AI techniques for implementing incremental learning. Development of a robot controller.
Ruslan Masinjila Aida Militaru.  Nature of the Problem  Our Solution: The Roaming Security Robot  Functionalities  General System View  System Design.
Cooperating AmigoBots Framework and Algorithms
INFORMATION SYSTEMS Overview
Design Science Method By Temtim Assefa.
A Case for Moore's Law Shigeo Kobayashi, Richard B. Parker, Dietrich Muller National Research Laboratory Abstract The deployment of telephony is a robust.
Leslie Luyt Supervisor: Dr. Karen Bradshaw 2 November 2009.
Rijo Santhosh Dr. Mircea Agapie The topic of machine learning is at the forefront of Artificial Intelligence.
Lecture 9: Chapter 9 Architectural Design
Towards Cognitive Robotics Biointelligence Laboratory School of Computer Science and Engineering Seoul National University Christian.
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
SOFTWARE DESIGN.
Patterns and Reuse. Patterns Reuse of Analysis and Design.
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
1 Extend is a simulation tool to create models quickly, with all the blocks you need and without even having to type an equation. You can use a series.
Introduction CS 3358 Data Structures. What is Computer Science? Computer Science is the study of algorithms, including their  Formal and mathematical.
Mobile Robot Navigation Using Fuzzy logic Controller
COBXXXX EXPERIMENTAL FRAMEWORK FOR EVALUATION OF GUIDANCE AND CONTROL ALGORITHMS FOR UAVS Sérgio Ronaldo Barros dos Santos,
University of Windsor School of Computer Science Topics in Artificial Intelligence Fall 2008 Sept 11, 2008.
Institute of Technology Sligo - Dept of Computing Sem 2 Chapter 12 Routing Protocols.
ANKITHA CHOWDARY GARAPATI
Introduction of Intelligent Agents
Subsumption Architecture and Nouvelle AI Arpit Maheshwari Nihit Gupta Saransh Gupta Swapnil Srivastava.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
© 2013, published by Flat World Knowledge Chapter 10 Understanding Software: A Primer for Managers 10-1.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
CrossCheckSimulation Results Conclusions References Model Instrumentation Modeling with CUTS Property Specification SPRUCE Challenge Problem Checking Model.
Student Name USN NO Guide Name H.O.D Name Name Of The College & Dept.
UML (Unified Modeling Language)
Student Name USN NO Guide Name H.O.D Name Name Of The College & Dept.
How to develop a VoIP softphone in C# by using OZEKI VoIP SIP SDK This presentation demonstrates the first steps concerning to how to develop a fully-functional.
1 CASE Computer Aided Software Engineering. 2 What is CASE ? A good workshop for any craftsperson has three primary characteristics 1.A collection of.
1 The XMSF Profile Overlay to the FEDEP Dr. Katherine L. Morse, SAIC Mr. Robert Lutz, JHU APL
Managing The Internet of Things
Outline Introduction Standards Project General Idea
Unified Modeling Language
Path Curvature Sensing Methods for a Car-like Robot
CIS 488/588 Bruce R. Maxim UM-Dearborn
An Introduction to Software Architecture
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Presentation transcript:

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  Mircea Agapie  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.: 2.R. Brooks, A robust layered control system for a mobile robot, IEEE Journal of Robotics and Automation, 2, (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