La lecture à portée de main
Découvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDécouvre YouScribe en t'inscrivant gratuitement
Je m'inscrisDescription
Sujets
Informations
Publié par | technischen_universitat_darmstadt |
Publié le | 01 janvier 2011 |
Nombre de lectures | 40 |
Langue | English |
Poids de l'ouvrage | 9 Mo |
Extrait
forMiddlewEfficientareProgramming
ofAutonomousMobileRobots
VomFachbereichInformatikder
rmstadtDaUniversitätechnischenTzurErlangungdesakademischenGradeseines
(Dr.-Ing.)r-IngenieursDoktogenehmigte
Dissertation
von
(gebDipl.-Infoorenrm.inDirkGroß-Gerau)Thomas
Referent:Prof.Dr.OskarvonStryk
Koreferentin:Prof.Dr.MonicaReggiani
Italien)adua,P(Universität
TagderTagmündlichenderEinreichung:Prüfung:19.11.201008.10.2010
D172011rmstadtDa
Please
URN:
URL:
This
cite
this
do
cument
as
3437-2rintsbn:de:tuda-tupurn:n
http://tuprmstadt.de/2343rints.ulb.tu-da
cumentod
is
derovidp
yb
rints,tup
E-Publishing-ServiceoftheTUDarmstadt
http://tuprmstadt.derints.ulb.tu-da
rmstadt.derints@ulb.tu-datup
Contents
1
2
3
ductionIntro1.1Contribution......................................
1.2Contents........................................
BackgroundandStateofResearch
2.1BackgroundfromRobotics..............................
2.1.1Mobility....................................
2.1.2LevelofAutonomy...............................
2.1.3PlatformsandScenariosUsedinThisThesis.................
2.1.4RobotControlSoftware............................
2.2BackgroundfromSoftwareEngineering........................
2.2.1SoftwareDesign................................
2.2.2UnifiedModelingLanguage..........................
2.2.3DesignPatterns................................
2.2.4ConceptofLibraryvs.Framework......................
2.2.5HumanComputerInteraction.........................
2.2.6SystemIntegration...............................
2.3SpecificRequirementsofAutonomousMobileRobots................
2.3.1IntegrationofElements............................
2.3.2RuntimeEfficiency...............................
2.3.3EfficientMultilevelTesting..........................
2.3.4FlexibilityandAdaptability..........................
2.3.5SophisticatedMonitoringandDebuggingMethods..............
2.3.6ExpansiontoTeamsofRobots........................
2.3.7ExistingApproachesforOfflineAnalysis...................
2.4StateofResearchMiddleware.............................
2.4.1MiddlewareinGeneral.............................
2.4.2Message-OrientedMiddleware.........................
2.4.3RoboticsMiddleware.............................
2.4.4ExistingMiddlewareforAutonomousMobileRobots............
2.4.5ComparisonandEvaluation..........................
2.5Discussion.......................................
ProposedMethodologyforEfficientMiddleware
3.1UseCasesandTheirRequirements..........................
3.1.1RestrictedOnboardResources........................
3.1.2DebuggingandMonitoring..........................
3.1.3RestrictedBandwidth.............................
3.1.4OfflineAnalysis................................
3.1.5TeamsofRobots................................
122
5677913314114151616171717181920212123232425262929
5
31313232333435
i
4
5
ii
3.2Evaluation.......................................
3.2.1BenchmarkingRuntimeEfficiency......................
3.2.2QuantifyingUsabilityandEfficiencyofDebuggingandMonitoringTools.
3.2.3Keystroke-LevelModel............................
3.2.4DefiningtheScenarios.............................
3.3ConceptsforRoboticMiddlewareInvestigatedinThisThesis............
3.3.1EfficientLocalMessageExchangeforCommonApplicationLayout.....
3.3.2IntegratedGUI.................................
3.3.3MovingFilteringDatatoPublisher-Side...................
3.3.4OfflineAnalysis................................
3.3.5ExtendingtoTeamsofRobots........................
3.3.6InfluenceonMiddlewareInterfaceDesign..................
MechanismsCommunicationEfficient4.1MessageExchangebyReference...........................
4.1.1InterfaceDesignofRoboFrame........................
4.1.2ConsecutiveExecutionofComponents....................
4.1.3EnablingDifferentStrategiesofInteraction.................
4.1.4ApplicationtoROS..............................
4.2ThrottleMessagesatPublisher............................
4.2.1ExemplaryThrottlingOptions........................
4.2.2ThrottlingatPublisher............................
4.2.3DifferentiatingMultipleSubscribers......................
4.3RecordingIntrinsicDataonRobot..........................
4.3.1IntrinsicData.................................
4.3.2Synchronization................................
4.4CommunicationBetweenMultipleRobots......................
4.5BridgingMessagesBetweenRoboFrameandROS..................
EfficientGUITools
5.1IntegratedGUI....................................
5.1.1DifferentInterfaceConcepts..........................
5.1.2WidgetToolkits................................
5.1.3DevelopedInfrastructure...........................
5.1.4FeaturesforImprovedUsability........................
5.2DevelopedGUIComponents.............................
5.2.1MeasuringExecutionTimeandFrequency..................
5.2.2GenericRuntimeParametrization.......................
5.2.3ImageViewerandImageProcessingAnalysis................
5.3ExtensiontoMultipleRobots.............................
5.3.1VisualizingtheWorldModels.........................
5.3.2ReusingSingle-AgentDebuggingTools....................
5.4SupportforTesting,DebuggingandAnalysis....................
5.4.1RecordingIntrinsicData...........................
5.4.2AttachingExternalData...........................
5.4.3Event-BasedNavigationofData.......................
373740404042424546485052
575757575959616162656666676971
75757677798181828282838485858687
Contents
75
5.4.4AutomatedAnalysiswithCustomEventGeneration.............88
5.4.5AugmentingExternalVideowithIntrinsicInformationforManualReview.89
5.4.6AutomatedComparisonofCompetitiveAlgorithms.............89
91ResultsandApplications66.1Applications......................................91
6.1.1HumanoidRobots...............................91
6.1.2RescueRobots.................................91
6.1.3EmploymentinTeaching...........................92
6.1.4ApplicationinOtherInstitutes........................93
6.2LocalMessagePerformance..............................93
6.2.1MessagesinConsideredScenarios.......................93
6.2.2MeasurementofLatency............................94
6.2.3ImpactofaReal-TimeKernelunderSystemLoad..............95
6.2.4ImpactofReferencePassing..........................97
6.3RecordingofMessagesLocallyontheRobot.....................99
6.4TeamCommunication.................................100
6.4.1CommunicationonVariousLevels......................100
6.4.2OnlineObservationDuringCompetition...................101
6.5IntegratedUserInterface...............................102
6.5.1DebuggingandMonitoringTools.......................102
6.5.2ExtensiontoMultipleRobots.........................103
6.6SophisticatedAnalysisTools.............................104
6.6.1DebuggingTeamsofRobots..........................104
6.6.2AutomatedDetectionofKnownIssues....................105
6.6.3AugmentingExternalVideo..........................106
6.6.4AutomatedComparisonofCompetitiveAlgorithms.............106
Conclusion7
8Zusammenfassung(ConclusioninGerman)
Bibliography
PublicationsOwn
Contents
109
113
117
125
iii
ofListFigures
2.1Varietyofmobilerobots:PR2,Quadrotor,Matilda,Khepara,Aibo........
2.2MobilerobotsofTUDarmstadtparticipatinginRoboCup.............
2.3Structurediagramofthehardwarecomponentsofthehumanoidrobot.......
2.4Structurediagramofthehardwarecomponentsofthewheeledoff-roadvehicle..
2.5TheSense-Plan-Actcycleofarobotcontrolsoftware................
2.6Themostimportantelementsoftheautonomoushumanoidrobotsoccerapplication
withtheexchangedinformation............................
2.7Differentmethodsofsystemintegration.......................
2.8Substitutionofrealhardwarewithsimulationenablingsoftware-in-the-looptesting
2.9UserinterfaceoftheInteractionDebugger......................
3.1Overheadofmessageexchangeduetomarshaling,memorycopyanddemarshaling
3.2Thesubscriptiontoamessagebusimpliestransferringallmessages........
3.3Recordedmessagesarefedtothecontrolsoftwarebypassingseveralcomponents.
3.4Overheadwhenmessagesareinthefirstplaceskippedbythesubscriber......
3.5Measuringlatencyofmessageexchangeusingunidirectionalcommunication....
3.6Measuringlatencyofmessageexchangeusingroundtripcommunication......
3.7Avoidingoverheadofmessageexchangeduetopassingreferences..........
3.8TheCompositepattern................................
3.9TheDecoratorpattern.................................
3.10Missingflexibilitypointsforalteringtheinteractionbetweenthecomponentsand
themiddleware.....................................
3.11Reducingnumberofexchangedmessagesutilizingamessagefilter.........
3.12Throttlingamountofmessagesdirectlyatthepublisher-side............
3.13Providedmetainformationenablethepublishertoskipunneededcomputations..
3.14Visualizationofintrinsicdatafrommultiplerobots.................
3.15Flexibilitypointsbetweenthecomponentsandthemiddlewareenablealteringthe
interaction.......................................
3.16TheGatewaypattern.................................
3.17TheStrategypattern.................................
3.18Dependencyinjectionisusedtodecoupleacompone