Week 2 - Physical AI Architecture
Learning Objectivesβ
By the end of this week, you will be able to:
- Understand the complete Physical AI system architecture
- Identify software components and their interactions
- Design integration patterns for perception, reasoning, and action
- Plan your development workflow across the 13-week curriculum
Overviewβ
A complete Physical AI system integrates multiple software layers working in concert. This week we explore the architecture that connects perception models, language understanding, and robot control.
System Architectureβ
High-Level Architectureβ
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Physical AI System β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ€
β βββββββββββββββ βββββββββββββββ βββββββββββββββββββββββββββ β
β β Perception β β Reasoning β β Action β β
β β β β β β β β
β β - Vision β β - LLM/VLA β β - Motion Planning β β
β β - Audio β β - Planning β β - Control Policies β β
β β - Sensors β β - Memory β β - Actuation β β
β ββββββββ¬βββββββ ββββββββ¬βββββββ ββββββββββββββ¬βββββββββββββ β
β β β β β
β ββββββββββββββββββΌββββββββββββββββββββββββ β
β β β
β βββββββββββββΌββββββββββββ β
β β ROS 2 Middleware β β
β β (Communication) β β
β βββββββββββββ¬ββββββββββββ β
β β β
β ββββββββββββββββββΌβββββββββββββββββ β
β β β β β
β ββββββββΌβββββββ ββββββββΌβββββββ ββββββββΌβββββββ β
β β Simulation β β Digital β β Physical β β
β β (Isaac) β β Twin β β Robot β β
β βββββββββββββββ βββββββββββββββ βββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
Software Stack Layersβ
| Layer | Technology | Purpose |
|---|---|---|
| Hardware | RTX GPU, Jetson Orin | Compute platform |
| OS | Ubuntu 22.04 LTS | Base operating system |
| Middleware | ROS 2 Humble | Robot communication |
| Simulation | Isaac Sim, Gazebo | Virtual environments |
| Perception | Vision models, VLA | Environmental understanding |
| Reasoning | LLM, Planning | Decision making |
| Control | Motion planning, RL policies | Robot actuation |
ROS 2 Integrationβ
Node Architectureβ
#!/usr/bin/env python3
"""
Physical AI System Coordinator Node
Coordinates perception, reasoning, and action modules
"""
import rclpy
from rclpy.node import Node
from sensor_msgs.msg import Image, JointState
from std_msgs.msg import String
from geometry_msgs.msg import Twist
class PhysicalAICoordinator(Node):
def __init__(self):
super().__init__('physical_ai_coordinator')
# Perception subscribers
self.vision_sub = self.create_subscription(
Image, '/camera/color/image_raw',
self.vision_callback, 10)
# Reasoning subscribers
self.language_sub = self.create_subscription(
String, '/vla/command',
self.language_callback, 10)
# Action publishers
self.joint_pub = self.create_publisher(
JointState, '/joint_commands', 10)
self.base_pub = self.create_publisher(
Twist, '/cmd_vel', 10)
self.get_logger().info('Physical AI Coordinator initialized')
def vision_callback(self, msg: Image):
"""Process visual input"""
self.get_logger().debug(f'Received image: {msg.header.stamp}')
def language_callback(self, msg: String):
"""Process language commands"""
self.get_logger().info(f'Received command: {msg.data}')
def publish_joint_command(self, joint_names, positions):
"""Send joint commands to robot"""
msg = JointState()
msg.name = joint_names
msg.position = positions
self.joint_pub.publish(msg)
def main(args=None):
rclpy.init(args=args)
node = PhysicalAICoordinator()
rclpy.spin(node)
node.destroy_node()
rclpy.shutdown()
if __name__ == '__main__':
main()
Digital Twin Architectureβ
Simulation-to-Reality Pipelineβ
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β Isaac Sim ββββββΆβ ROS 2 Bridge ββββββΆβ Physical Robot β
β (Virtual) β β (Middleware) β β (Real) β
ββββββββββββββββββββ ββββββββββββββββββββ ββββββββββββββββββββ
β β β
β USD Scene β Topics/Services β Hardware
β Physics Engine β Messages β Drivers
β Synthetic Data β Actions β Sensors
Curriculum Integrationβ
Module Dependenciesβ
Week 1-2: Foundation (Introduction & Architecture)
β
βΌ
Week 3-5: Module 1: ROS 2 Fundamentals
β
βΌ
Week 6-7: Module 2: Gazebo Simulation
β
βΌ
Week 8-10: Module 3: NVIDIA Isaac Platform
β
βΌ
Week 11-13: Module 4: Humanoid Development
Resourcesβ
Documentationβ
Toolsβ
- RViz2 - ROS 2 visualization
- Foxglove Studio - Robotics data visualization
- Webots - Alternative simulation platform
Exercisesβ
- Architecture Diagram: Draw your own system architecture diagram for a specific humanoid robot task
- ROS 2 Node Creation: Create a simple ROS 2 publisher/subscriber pair
- Component Mapping: Map each curriculum module to a layer in the architecture stack
Next Stepsβ
Proceed to Week 3 - Introduction to ROS 2 to begin hands-on ROS 2 development.