UBSwarm: Design of a Software Environment to Deploy Multiple Decentralized Robots Tamer Abukhalil, Madhav Patil, Advisor: Prof. Tarek Sobh Robotics, Intelligent.

Slides:



Advertisements
Similar presentations
ARCHITECTURES FOR ARTIFICIAL INTELLIGENCE SYSTEMS
Advertisements

Robotics, Intelligent Sensing and Control Lab (RISC) University of Bridgeport Department of Computer Science and Engineering Robotics, Intelligent Sensing.
Software Design Deriving a solution which satisfies software requirements.
Object-Oriented Analysis and Design
Component-Level Design
Brent Dingle Marco A. Morales Texas A&M University, Spring 2002
Autonomous Dual Navigation System Vehicle Dmitriy Bekker Sergei Kunsevich Computer Engineering Rochester Institute of Technology December 1, 2005 Advisor:
Software Issues Derived from Dr. Fawcett’s Slides Phil Pratt-Szeliga Fall 2009.
Abstract In this project we expand our previous work entitled "Design of a Robotic Platform and Algorithms for Adaptive Control of Sensing Parameters".
RECENT ADVANCES IN ROBOTICS, AUTOMATION AND SENSING Prof. Tarek Sobh Senior Vice President of Graduate Studies & Research Dean School of Engineering Distinguished.
Design and Implementation of Metallic Waste Collection Robot
June 12, 2001 Jeong-Su Han An Autonomous Vehicle for People with Motor Disabilities by G. Bourhis, O.Horn, O.Habert and A. Pruski Paper Review.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse 2.
Fuzzy control of a mobile robot Implementation using a MATLAB-based rapid prototyping system.
Zereik E., Biggio A., Merlo A. and Casalino G. EUCASS 2011 – 4-8 July, St. Petersburg, Russia.
ResourceFull Authors: Matt Kaye (EE ‘12) Nitin Puri (SSE ‘12) Advisor: Dr. Alejandro Ribeiro Special Thanks.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
Software Engineering Muhammad Fahad Khan
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 18 Slide 1 Software Reuse.
The Design Discipline.
University of Bridgeport Computer Science and Engineering Department Ph.D. Dissertation Prospectus UBSwarm: Design and Evaluation of a Software Environment.
Implementation Yaodong Bi. Introduction to Implementation Purposes of Implementation – Plan the system integrations required in each iteration – Distribute.
HID Joystick Control for K10 Series Rover Gregg Carpenter, University of Vermont, Burlington Vermont Mentor: Dr. Terry Fong, Intelligent Robotics.
1 CS 456 Software Engineering. 2 Contents 3 Chapter 1: Introduction.
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
An Introduction to Software Architecture
DCS Overview MCS/DCS Technical Interchange Meeting August, 2000.
COMP 410 & Sky.NET May 2 nd, What is COMP 410? Forming an independent company The customer The planning Learning teamwork.
Robot Autonomous Perception Model For Internet-Based Intelligent Robotic System By Sriram Sunnam.
Leslie Luyt Supervisor: Dr. Karen Bradshaw 2 November 2009.
Architecting Web Services Unit – II – PART - III.
BLU-ICE and the Distributed Control System Constraints for Software Development Strategies Timothy M. McPhillips Stanford Synchrotron Radiation Laboratory.
Boundary Assertion in Behavior-Based Robotics Stephen Cohorn - Dept. of Math, Physics & Engineering, Tarleton State University Mentor: Dr. Mircea Agapie.
1 CMPT 275 High Level Design Phase Modularization.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 18 Slide 1 Software Reuse.
U NIVERSITY OF B RIDGEPORT C OMPUTER S CIENCE AND E NGINEERING D EPARTMENT By: Tamer Abukhalil Under the Supervision of: Dr. Tarek Sobh UBSwarm: Design.
The Gator Tech Smart House: A Programmable Pervasive Space Real/Research Application In Pervasive Computing Lee Hae Dong, ICU CSE.
Enabling Self-management of Component-based High-performance Scientific Applications Hua (Maria) Liu and Manish Parashar The Applied Software Systems Laboratory.
Abstract A Structured Approach for Modular Design: A Plug and Play Middleware for Sensory Modules, Actuation Platforms, Task Descriptions and Implementations.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
Behavior-based Multirobot Architectures. Why Behavior Based Control for Multi-Robot Teams? Multi-Robot control naturally grew out of single robot control.
Software Engineering Chapter: Computer Aided Software Engineering 1 Chapter : Computer Aided Software Engineering.
August 2003 At A Glance The IRC is a platform independent, extensible, and adaptive framework that provides robust, interactive, and distributed control.
Internet of Things. IoT Novel paradigm – Rapidly gaining ground in the wireless scenario Basic idea – Pervasive presence around us a variety of things.
Colony Scout: A Low-Cost, Versatile Platform for Autonomous Systems in Collaborative Robotics Julian BinderJames CarrollJeffrey CooperPriyanka DeoLalitha.
1 Architecture and Behavioral Model for Future Cognitive Heterogeneous Networks Advisor: Wei-Yeh Chen Student: Long-Chong Hung G. Chen, Y. Zhang, M. Song,
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
Cyberinfrastructure Overview of Demos Townsville, AU 28 – 31 March 2006 CREON/GLEON.
Submitted by: Moran Mishan. Instructed by: Osnat (Ossi) Mokryn, Dr.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Software Reuse. Objectives l To explain the benefits of software reuse and some reuse problems l To discuss several different ways to implement software.
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
COGNITIVE APPROACH TO ROBOT SPATIAL MAPPING
Architecting Web Services
Outline Introduction Standards Project General Idea
Brendon Knapp, Edmund Sannda, Carlton Allred, Kyle Upton
Computer Aided Software Engineering (CASE)
Architecting Web Services
System Design.
Design and Implementation of Spacecraft Avionics Software Architecture based on Spacecraft Onboard Interface Services and Packet Utilization Standard Beijing.
Facade Pattern Jim Fawcett CSE776 – Design Patterns Summer 2010
Business Rule Based Configuration Management and Software System Implementation Using Decision Tables Olegas Vasilecas, Aidas Smaizys VGTU, Vilnius, Lithuania.
An Introduction to Software Architecture
Paper by D.L Parnas And D.P.Siewiorek Prepared by Xi Chen May 16,2003
Sensor Networks – Motes, Smart Spaces, and Beyond
Task Manager & Profile Interface
From Use Cases to Implementation
Presentation transcript:

UBSwarm: Design of a Software Environment to Deploy Multiple Decentralized Robots Tamer Abukhalil, Madhav Patil, Advisor: Prof. Tarek Sobh Robotics, Intelligent Sensing & Control (RISC) Laboratory School of Engineering, University of Bridgeport Advisor: Dr. Tarek Sobh Abstract This article presents a high-level configuration and task assignment software package that distributes algorithms on a swarm of robots. The software allows the robots to operate in a swarm fashion. When the swarm robotic system adopts a decentralized approach, the desired collective behaviors emerge from local decisions made by the robots themselves according to their environment. Using its GUI, the proposed system expects the operator to select between several available robot agents and assign the swarm of robots a particular task from a set of available tasks. Introduction We are developing an environment to utilize robots that have different modular design and configuration of sensory modules, and actuators. The system will be implemented as a GUI interface to reduce efforts in controlling swarm robotic systems. The proposed application offers customization for robotic platforms by simply defining the available sensing devices, actuation devices, and the required tasks. The main purpose for designing this framework is to reduce the time and complexity of the development of robotic software and maintenance costs, and to improve code and component reusability. Usage of the proposed framework prevents the need to redesign or rewrite algorithms or applications when there is a change in the robot’s platform, operating systems, or the introduction of new functionalities. The basic hierarchy of the UBSwarm deployment platform is shown in figure 1. Software Architecture When users make changes to the hardware devices that are plugged onto the robotic agent, UBSwarm will provide the appropriate software package for these sensory devices and actuators. This flexibility makes it easy for the end users to add and use the new devices and consequently task applications. The system is divided into two main subsystems, a robot deployment system and a robot control and translation system. Figure 2 shows the two main subsystems. The robot control system includes a robot control agent in which the user should provide all the parameters required for all sensors incorporated on robots. The user should also describe actuation methods used. The robot deployment system encapsulates a variety of high-level applications module which contains the tasks the platforms perform such as navigation, area scanning, and obstacle avoidance. A hardware abstraction layer is used to hide the heterogeneity of lower hardware devices and provide a component interface for the upper layers call. The deployment system contains the developer interface (as shown in figure 3), the coordination agent, the dynamic interpreter, and the knowledge base. Simultaneous Localization and Mapping (SLAM) Our platforms as shown in figure 5 is built using Arduino UNO, Arduino Due, and Digilent PIC boards. The software is uploaded on each robotic agent using UBSwarm interface running on a windows operating system. For distance sensing, URM V3.2 and PING ultrasonic sensor were used. However, as experimental results depict, the sensing capabilities of the platforms can be easily upgraded with other sensors, e.g., laser range finders. Additionally, the platforms are also equipped with an Xbee Shield from Maxstream, consisting on a ZigBee communication module with an antenna attached on top of the Arduino Uno board as an expansion module. This Xbee Series 2 module is powered at 2mW having a range between 40m to 120m, for indoor and outdoor operation, respectively. We ran two SLAM experiments. The first experiment deploys two robots with two sensing components whereas three robots were deployed each equipped with three sensing components in the second experiment. In the first experiments, the mapping task took 23 minutes and the second experiments took 10 minutes to complete. As the mapping task progresses, Figure 6 shows the scanned measurements read by two robots as hey are compared to the actual wall, objects and obstacles. Figure 7 shows the results of the second experiment that is when one more sensing component is added to each of the three robots (Red, green and blue triangles). Figure 8 shows the map generated by the second experiment. Human Rescue Conclusion The painting method begins by designing the end effecter. The end effecter is the basic 1-Dof gripper attached to a 2-Dof arm that controls the position of the end effecter in two movements; up, down, and 360 degree rotation of the gripper around its own center. Figure 10 shows the movements and the offsets along direct Z axis. The coating sectors created by the two robots are shown in figure 11. Figure 12 shows the two robots in painting action. Wall Painting As shown in figure 9 the swarm of robots generates simple actions based on observations from its environment. The algorithm was developed for a group of robots to autonomously cooperate such that the pulled object can be positioned and oriented in the 2D space. Corporation between robots is achieved by exchanging messages when additional robots are needed to pull the object. Each individual robot is programmed to call another one if its wheel/tread on one side rotates in higher speed than the other side. Table 1 shows the distances achieved by the different number of robots with respect to different weights for the object being transported. Fig. 1: System Overview Figure 2: System Architecture Robot Deployment Environment Robot Control Middleware User interface Face Detecti on Obstacle Avoidanc e Navigation Coordination Agent HAL Knowled g e base Device Agent Polling routine Hardware Components XbeeSonarGPS Robot N Robot 1 Device Library Figure 3: operator Interface The system developer interface provides the human operator command and control windows. The user can interact with the computer through interaction tools which provides a list of actions/tasks and the available robotic agents. The coordination agent processes the available state data and activates high-level behaviors using rules defined in a schema approach in order to select the appropriate robots and actions based on the provided tasks. The Runtime interpreter maintains state information regarding possible and running local services. The host and registry maps are used in routing communication to the appropriate tasks. The flow of information managed by the dynamic interpreter is shown in figure 4. The dynamic interpreter will be the first service created which in turn will wrap the real JVM Runtime objects. Implementation Figure 4: Adding services in runtime Another key feature of the UBSwarm interface is to move the communication implementation from the user’s domain to the application domain. Instead of learning proprietary protocols for individual robots, the user can utilize the UBSwarm scripting language to pass common commands to any robot managed by the application. UBSwarm adds a layer of abstraction to such tasks, allowing users the ability to intuitively obtain desired responses without extensive knowledge of robot-specific operating systems and protocols. Figure 5: The robots prototypes showing different configurations Figure 6. Experiment one, the scanned measurements Figure 10: The 2-Dof sketch for the robot arm Object weightPulling Distance 1 robot2 robots3 robots4 robots5 robots 10 Kilograms0.1 Meters Kilograms Kilograms00221 Table 1: Successful pulling distance according to different number of robotic agents Figure 9: Human rescue using 4 robots Figure 11: The surface covered by the painter Figure 12: the Nozzles attached to the robots UBSwarm makes it easier to students to program robotic systems that use the actually available microcontrollers in the market. UBSwarm environment generates programs that cope with changes of the robots configurations. Running experiments has been easier using UBSwarm. Conducting multiple tests will eventually lead to the optimal configuration of the swarm system that the students are looking for. One of the experiments we conducted is mapping. Mapping or SLAM is a technique used by robots to build up a map of an unknown environment. Readings obtained by the robot will generate two-dimensional values that will be fed to a Matlab program on a base station which in turn generates a 2-D map of the scanned area. Each robot will communicate with the base station using Wireless Xbee modules which provide communication via Wireless Wi-Fi b/g/. One Xbee module is attached to the base computer through USB port. Figure 7. Experiment one, the scanned measurements Figure 8 Map generated in second experiment