Fundamentals of AI for Robotics 2024-25
AI IN ROBOTICS
Robotic Software Architectures
1. Robotic software architecture is the framework that defines how software components in a
robotic system interact, enabling robots to perceive, reason, and act effectively.
2. it organizes processes like sensor data processing, decision-making, and motion control,
ensuring efficient, scalable, and adaptable robot behaviour.
Key Elements of Robotic Software Architectures
1. Sensors and Perception Layer
• Interfaces with hardware sensors to gather environmental data.
• Processes raw data into meaningful information (e.g., object detection, localization).
• Examples: Drivers for LiDAR, cameras, or IMUs.
2. Planning and Decision-Making Layer
• Determines the robot’s actions based on its goals and sensory inputs.
• includes path planning, task scheduling, and high-level reasoning.
• Uses algorithms like A*, Dijkstra, or reinforcement learning.
3. Actuation and Control Layer
• Sends commands to actuators for executing planned movements.
• Maintains stability and precision through feedback control systems.
• Examples: PID controllers, Model Predictive Control (MPC).
4. Communication and Middleware
• Enables modules to communicate seamlessly, either within the robot or with
external systems.
• Middleware facilitates the integration of software components across hardware
platforms.
• Example: Robot Operating System (ROS).
5. Human-Robot Interaction (HRI)
• Interfaces for human control and monitoring of robots.
• Includes voice recognition, graphical interfaces, or haptic devices.
Types of Robotic Software Architectures
1. Reactive Architectures
• Focus: Responding quickly to sensory inputs without explicit planning.
Dept of RO & AI, BTI, Bengaluru 1
Fundamentals of AI for Robotics 2024-25
• Components: Sensor data directly triggers actions.
• Advantages: Simple, fast, suitable for real-time tasks.
• Example: Subsumption Architecture (layered control with priorities).
2. Deliberative Architectures
• Focus: Planning actions based on a model of the environment.
• Components: World modeling, decision-making, and planning.
• Advantages: Handles complex tasks requiring foresight.
• Example: Hierarchical architectures with explicit planning modules.
3. Hybrid Architectures
• Focus: Combining reactive and deliberative approaches.
• Components: Low-level reactive modules and high-level planning modules work
together.
• Advantages: Balances speed with planning capabilities.
• Example: Three-layer architectures (reactive, executive, deliberative).
4. Behaviour-Based Architectures
• Focus: Dividing tasks into behaviours that operate concurrently.
• Components: Behaviours interact to achieve goals using sensory inputs.
• Advantages: Adaptable to dynamic environments.
• Example: Behaviour trees for modular control.
Middleware Frameworks in Robotics
Middleware is essential for building robotic systems, acting as the "operating system" for robots.
Popular frameworks include:
1. Robot Operating System (ROS)
• Open-source middleware providing tools for communication, simulation, and
development.
• Features: Node-based architecture, sensor/actuator libraries, visualization tools
(RViz).
2. YARP (Yet Another Robot Platform)
• Focuses on real-time communication between components.
• Suitable for modular and distributed robotic systems.
3. LCM (Lightweight Communications and Marshalling)
• Provides efficient communication for embedded and resource-constrained robots.
Dept of RO & AI, BTI, Bengaluru 2
Fundamentals of AI for Robotics 2024-25
4. RT-Middleware
• A standard architecture for real-time robotics applications, focusing on modularity
and reusability.
Design Considerations in Robotic Software Architectures
1. Modularity
• Ensures components can be developed, tested, and replaced independently.
• Enables scalability and maintainability.
2. Real-Time Operation
• Critical for tasks requiring immediate response (e.g., obstacle avoidance).
• Requires low-latency communication and efficient scheduling.
3. Scalability
• Supports complex multi-robot systems or integration of new functionalities.
5. Fault Tolerance
• Ensures system reliability through error detection and recovery mechanisms.
6. Interoperability
• Compatibility with diverse hardware and software platforms.
Applications of Robotic Software Architectures
1. Autonomous Vehicles: ROS-based architectures manage sensor fusion, path planning,
and control.
2. Industrial Automation: Real-time systems ensure precision in assembly lines and
logistics.
3. Healthcare Robotics: Hybrid architectures enable assistive robots to navigate and interact
with patients.
4. Service Robots: Behaviour-based systems allow robots to adapt to home or office
environments.
Robotic software architectures play a critical role in enabling intelligent, flexible, and efficient
robotic systems. A well-designed architecture provides the foundation for advanced robotics
applications, paving the way for innovation across industries.
Dept of RO & AI, BTI, Bengaluru 3