Download presentation
Presentation is loading. Please wait.
1
An Architectural Approach to Robotics Software Design, Implementation, and Deployment Brian D’Souza Joshua Garcia Ivo Krka Natachart Laotheppitak Hossein Tajalli
2
Outline Motivation Initial Stage Suggested Architecture Manager Primary Connector Component Example Admin Conclusion
3
Motivation Provide a more disciplined approach to building embedded systems –Applying software architectural principles to robotics systems Merging of heterogeneous types of applications in an embedded systems environment Abstract away lower-level software development details Design using software architectural abstractions and implement using architectural middleware Prism-MW
4
Motivation Desirable properties –Distribution –Mobility –Scalability –Maintainability –Evolvability –Concurrency
5
Initial Stage – Course Project 589 – Software Engineering for Embedded Systems taught by Prof. Nenad Medvidovic Video: http://video.google.com/videoplay?docid=- 1355003473678326666&q=cs589&total=5&start=0&num=10&so=0& type=search&plindex=1
7
Next stage Class project showed that students with very limited robotics experience were able to create a new interesting application Current objectives –Creating a more general and adaptable architecture –Variety of possible new applications
8
Deployment System Suggested Architecture Primary Connector AdminManager Component 1 Component 2 Component n Physical Device
9
Manager Parameters –List of Machine Interfaces (e.g. iRobot, Display, User Input Device, Motion Sensor, Temperature Sensor, camera,etc.) –List of Components Discovers other hosts around and communicate with them Host Rendezvous Request Admin to download new components from other hosts Decides whether to connect one of its components to peer components in other entities Decides to start and stop components (Planning)
10
Primary Connector Communicating the events between components in the same physical entity or between different entities Routing, filtering, broadcasting the packages to desired sockets Connector types may vary
11
Component Components can use device drivers to communicate with the physical devices –E.g., for a sensor, a component can read the sensor values –E.g., for a robot, one component can control the robot to follow a line, turn a corner, etc. Cooperation with local and remote components –E.g., they can share positions of discovered obstacles Components carry information about their supported interfaces and services
12
Example Wall Follower Connector AdminManager Connector AdminManager Line Follower User Interface Connector AdminManager
13
Admin Supports dynamic adaptation and component mobility Ability to (re)deploy components onto a different host –Specify connector to attach component to –Dependent files –Requester or replier
14
Admin Connector Component Admin Connector AdminUI Byte Array Component Connector Manager redeploy
15
Conclusion Non-functional qualities of robotics applications need to be better addressed Raising the level of abstraction of robotics systems development Encouraging initial results of application of our architectural approach Future work on realizing details of the approach and introducing new facilities
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.