Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach...

Preview:

Citation preview

Mobile Robotics:A Component Based Approach

ECE 750 – T4: Component Based Software SystemsProf. L. Tahvildari

Yasmin Hovakeemian (20165205)Adam Bertrand (20144032)

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

2

Outline

IntroductionRobotics & TerminologySensors

Proposed Robot & MissionCurrent Accomplishments & Future WorkSimulation and PerformanceRelated Research/Common frameworksReferences

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

3

Introduction to Robotics

Multidisciplinary field that lends itself readily to component based software systems (CBSS)

Rapid developmentLow costModularity

Robots generally have the following three aspects:

Set of sensorsProgram of robot behavior (state estimation and control)Set of actuators and effectors

Robotics Fundamentals [4]

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

4

Robotic FundamentalsSensors

Sensor classification [5]:Proprioceptive sensors (Internal):

Wheel encodersExteroceptive sensors (External):

GPSSONAR/LaserBumpers

Sensors can be chosen based on: Environmental constraintsObjective/purpose (ie: vacuum robots)

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

5

Robotic FundamentalsRobot Taxonomy

Autonomous vs. Non-autonomousMobile vs. Immobile/StationaryPhysical vs. Virtual (‘Soft-Bot’ a.k.aIntelligent Agent)

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

6

Robotic FundamentalsControl Architectures [6]

NASREM architecture:Sense, model, plan, act

Subsumption architecture:Layered control system

TCA architecture:Task-specific modules with centralized control module

LAAS architecture:Decisional (mission supervisor & task supervisor) and functional levels

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

7

Robotic FundamentalsControl Architecture Characteristics [6]

Hierarchical vs. Centralized ControlFunctional vs. BehavioralReactive vs. Deliberate

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

8

Why a ‘Soft-Bot’?

No hardware needed (cheaper)Can exploit advantages of component based software systems

Reusability & ModularityExtendibility

Time and Cost efficient

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

9

Proposed Project

Goal:Build an centralized autonomous mobilesoft-bot using concepts from component based software systems to perform a specific task/mission

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

10

Definition of Mission/Task

Autonomously navigate the proposed circuit as fast as possible.Avoid any obstacles in the way of the robot.Comply with any traffic signals on the course.

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

11

System ModelHigh Level Architecture

High Level System Design of Mobile Autonomous Robot

Environment

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

12

System ModelHigh Level Architecture

Simulation/GUI

Controller

Robot Motor Robot Steering GPS SONAR Laser Encoders State Estimator

SensorsEffectors

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

13

System ModelComponent Level Architecture

Does not show get/set and constructor operationsShows Current Accomplishments

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

14

Mission

Currently, soft-bot mission (task) is to start and stop a random walkIn the future, mission of soft-bot can be adapted by simply changing the executeBehavior() method in the Robot class and environment.

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

15

MissionsState Diagrams

Random Walk in 4-walled environment

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

16

MissionsState Diagrams – Cont’d

Figure 8 track mission with traffic light and stop signs

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

17

Performance & Simulation

Simulation (Environment, Sensor Data)Performance metrics:

Time to complete missionSmoothness of trajectory/pathRobustness to noise in sensor data

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

18

Analysis of System

Advantages:Reusability of codeExtendibility (add components as needed)Behavior can be easily adaptedNo hardware costs

Disadvantages:Need to simulate hardware components (can be complex)Need sensor data to be realistic and coherent with one anotherMay not necessarily match up with the real world

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

19

Current and Future work

Current Accomplishments:Soft-bot with random walk mobility

Future Work:Add additional sensor capability (eg: Sonar, Compass, etc)Develop more complex environments

ObstaclesFigure 8 TrackNoise

GUI development (envision the robot in its environment with a mission)

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

20

Related Research

Component-based robotics frameworks are available:

Maintain repository of components Emphasize extensibilityAllow for development of single vehicle to distributed and/or decentralized robots

Advantages of frameworks [7]:Formal organization of componentsUniform communication mechanism between componentsComponent reusabilityStarting point for amateurs

Example ApplicationDARPA Grand Challenge

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

21

Related ResearchAvailable Component Based Frameworks

Sensor Simulator

Build-in 3D vision

EasyModerateEasy-ModerateModerateEase of use

Built-in Localization

Built-in visualization (GUI)

Open Source

Windows/Linux/MAC

Windows/Linux/MAC

Windows/Linux/MAC

LinuxPlatform

SimbadPlayer/GazeboWebotsCARMEN

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

22

Summary

Since Robotics is such a module-based field, it can take advantage of organizational aspects of component based software systemsA number of available software frameworks for component-based soft-botsCurrent OO implementation of soft-bot capable of a random walk task

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

23

References[1] A. Brooks, T. Kaupp, A. Makarenko, S. Williams, and A. Oreback, “Towards component-based

robotics,” in Proceedings of the 2005 IEEE/RSJ International Conference on Intelligent Robots and Systems. (Edmonton, Alberta, Canada, August, 2005, pps. 3567–72).

[2] D. B. Stewart, and P. K. Khosla, “Rapid Development of Robotic Applications Using Component-Based Real-Time Software,” in Proceedings of the 1995 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS’95). (Pittsburgh, PA, U.S.A, August, 1995, pps. 465–470)

[3] P.D. Reiners, “Robots, Mazes, and Subsumption Architecture,” in IBM Developer Works, [online] December 2007. Available: http://www.ibm.com/developerworks/java/library/j-robots/

[4] T. Jones, “Open Source Robotics toolkits,” in IBM Developer Works, [online] September, 2006. Available: http://www.ibm.com/developerworks/linux/library/l-robotools/?ca=dgr-lnxw09OSRoboticToolkits

[5] École Polytechnique Fédérale de Lausanne, “Course Notes for Mobile Robots Course,” [online] 2008. Available: http://moodle.epfl.ch/course/view.php?id=261

[6] A.A.D. Medeiros, “A Survey of Control Architectures for Autonomous Mobile Robots,” in Journal of the Brazilian Computer Society, vol. 4, no. 3, 1998.

[7] X. Li, Y. Jin, and X. Hu, “An XML-driven Component-Based Software Framework for Mobile Robotic Applications,” in Proceedings of the 2nd IEEE/ASME International Conference on Mechatronic and Embedded Systems and Applications. (Beijing, China, August, 2006, pps. 1-6)

[8] L. Hugues and N. Bredeche, “Simbad: an Autonomous Robot Simulation Package for Education and Research” in Proceedings of The International Conference on the Simulation of Adaptive Behavior. Rome, Italy - Lecture Notes in Computer Sciences/ Artificial Intelligence Series, vol. 4095, 2006, pp. 831–842.

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

24

References[9] T.E. Bihari and P. Gopinath, “Object Oriented Real-Time Systems: Concepts and Examples,” in

Computer, vol. 25, no. 12, pps. 25-32, Dec. 1992.[10] D. Miller and R. Lennox, “An Object-Oriented Environment for Robot System Architectures,”in

Proceedings of the 1990 IEEE International Conference on Robotics and Automation. (Cincinatti, OH, U.S.A, May 1990, vol.1, pps. 352-361).

[11] C. Zielinski, “Object-Oriented Robot Programming,” in Robotica, vol. 15, no. 1, pps. 41-48, 1997.[12] J.A. Fryer, G.T. McKee and P.S. Schenker, “Configuring Robots from Modules: An Object-Oriented

Approach,” in Proceedings of the 8th International Conference on Advanced Robotics. (Monterey, CA, U.S.A, July 1997, pps. 907-912).

[13] C. Schlegel, “Communication Patterns as Key Towards Component-Based Robotics”, in International Journal of Advanced Robotic Systems, vol. 3, no.1, pps. 49-54, 2006.

[14] L.Tahvildari, “Course Notes for Component Based Software Engineering Course,” [online] 2009. Available: http://www.stargroup.uwaterloo.ca/~ltahvild/courses/ECE750-11/materials/

[15] I. Crnkovic, B. Hnich, T. Jonsson, and Z.Kiziltan, "Specification, Implementation, and Deployment of Components", in Communications of the ACM, vol. 45, no. 10, pps. 35-40, October 2002.

[16] Carmen Robot Navigation Toolkit. [online] Available: http://carmen.sourceforge.net/intro.html[17] Player: Cross-platform Robot Device Interface and Server. [online] Available:

http://playerstage.sourceforge.net/index.php?src=player[18] Webots 6. [online] Available: http://www.cyberbotics.com/products/webots/

July 13, 2009 ECE 750 - T4: Mobile Robotics: A Component Based Approach

25

Questions?

Recommended