Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach...
Transcript of Mobile Robotics - STARltahvild/courses/ECE750-11-S09/...Mobile Robotics: A Component Based Approach...
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?