Software Architecture for Robotic Systems
Niveau
Beginner
Learning outcomes of the courses/module
Upon completing this course, students will be able to:
- Understand the Fundamentals of Robotic Software Architecture: Identify and describe basic concepts, components, and characteristics of robotic software architecture (specifically mobile computing, e.g., ROS 2).
- Design Robotic Applications Using Architectural Patterns: Apply common architectural patterns (structural, concurrency, behavioral) when designing robotic applications.
- Optimize Performance for Mobile Apps: Develop strategies to optimize mobile applications for performance, considering limited computing resources and battery life.
- Ensure Scalability and Maintainability: Design mobile software systems that are scalable, maintainable, and adaptable to changing requirements and technologies.
- Incorporate Data Management and Persistence: Implement adequate data storage, retrieval, and synchronization practices, considering intermittent connectivity and limited storage capacity.
- Utilize Cloud Services and APIs: Leverage cloud computing services and external APIs to enhance mobile application capabilities (offloading computation, storage, enriched functionalities).
- Understand the Fundamentals of Robotic Software Architecture: Identify and describe basic concepts, components, and characteristics of robotic software architecture (specifically mobile computing, e.g., ROS 2).
- Design Robotic Applications Using Architectural Patterns: Apply common architectural patterns (structural, concurrency, behavioral) when designing robotic applications.
- Optimize Performance for Mobile Apps: Develop strategies to optimize mobile applications for performance, considering limited computing resources and battery life.
- Ensure Scalability and Maintainability: Design mobile software systems that are scalable, maintainable, and adaptable to changing requirements and technologies.
- Incorporate Data Management and Persistence: Implement adequate data storage, retrieval, and synchronization practices, considering intermittent connectivity and limited storage capacity.
- Utilize Cloud Services and APIs: Leverage cloud computing services and external APIs to enhance mobile application capabilities (offloading computation, storage, enriched functionalities).
Prerequisites for the course
None
Course content
- Fundamentals of Robotic Software Architecture: Introduction to software architecture as applied to mobile systems, including drones, smartphones, and other portable devices.
- Design Patterns and Best Practices: Overview of common design patterns used in robotic software development (structural, concurrency behavioral); strategies for efficient data management and battery usage.
- Connectivity and Networking: Managing connections in mobile systems, considering intermittent connectivity, data synchronization, and APIs.
- Security and Privacy: Best practices for ensuring the security of robotic systems (data encryption, user authentication, sensitive information safeguarding).
- Cross-Platform Development: Approaches to developing software that runs across multiple robotic platforms (native, hybrid, cross-platform tools).
- Emerging Technologies: Discussing the impact of emerging technologies (5G, edge computing, IoT) on robotic software architecture.
- Design Patterns and Best Practices: Overview of common design patterns used in robotic software development (structural, concurrency behavioral); strategies for efficient data management and battery usage.
- Connectivity and Networking: Managing connections in mobile systems, considering intermittent connectivity, data synchronization, and APIs.
- Security and Privacy: Best practices for ensuring the security of robotic systems (data encryption, user authentication, sensitive information safeguarding).
- Cross-Platform Development: Approaches to developing software that runs across multiple robotic platforms (native, hybrid, cross-platform tools).
- Emerging Technologies: Discussing the impact of emerging technologies (5G, edge computing, IoT) on robotic software architecture.
Recommended specialist literature
- Siciliano, B., & Khatib, O. (Eds.). (2016). Springer Handbook of Robotics. Springer. ISBN: 978-3319325507. https://doi.org/10.1007/97.
- Corke, P., Jachimczyl, W., & Pillat, R. (2023). Robotics, Vision and Control: Fundamental Algorithms In MATLAB (3rd ed.). Springer Cham. ISBN: 978-3031072628. https://doi.org/10.1007/97.
- Bräunl, T. (2022). Embedded Robotics: From Mobile Robot Design to Autonomous Vehicles with Raspberry Pi and Arduino. Springer. ISBN: 978-9811608049. https://doi.org/10.1007/97.
- Corke, P., Jachimczyl, W., & Pillat, R. (2023). Robotics, Vision and Control: Fundamental Algorithms In MATLAB (3rd ed.). Springer Cham. ISBN: 978-3031072628. https://doi.org/10.1007/97.
- Bräunl, T. (2022). Embedded Robotics: From Mobile Robot Design to Autonomous Vehicles with Raspberry Pi and Arduino. Springer. ISBN: 978-9811608049. https://doi.org/10.1007/97.
Assessment methods and criteria
Portfolio tests
Language
English
Number of ECTS credits awarded
4
Share of e-learning in %
15
Semester hours per week
2.0
Planned teaching and learning method
Presentation, group work, discussion, exercises
Semester/trimester in which the course/module is offered
4
Name of lecturer
Academic year
Key figure of the course/module
4_1
Type of course/module
integrated lecture
Type of course
Compulsory