25
Mobile Robotics: A Component Based Approach ECE 750 – T4: Component Based Software Systems Prof. L. Tahvildari Yasmin Hovakeemian (20165205) Adam Bertrand (20144032)

Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

  • Upload
    doannhu

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

Mobile Robotics:A Component Based Approach

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

Yasmin Hovakeemian (20165205)Adam Bertrand (20144032)

Page 2: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 3: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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]

Page 4: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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)

Page 5: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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)

Page 6: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 7: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 8: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 9: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 10: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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.

Page 11: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 12: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 13: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 14: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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.

Page 15: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

15

MissionsState Diagrams

Random Walk in 4-walled environment

Page 16: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 17: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 18: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 19: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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)

Page 20: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 21: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 22: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

Page 23: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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.

Page 24: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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/

Page 25: Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach ... {Set of actuators and effectors Robotics Fundamentals [4] July 13, ... {Soft-bot

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

25

Questions?