MODULARITY & COMPOSITION: AUTOMATING
SYSTEM SYNTHESISJason Ziglar, PhD Candidate
Bradley Department of Electrical and Computer EngineeringDr. Ryan Williams1, Dr. Al Wicks2
1Laboratory for Coordination at Scale2Applied Autonomy and Mechatronics Lab
Virginia Polytechnic Institute and State University
MODULAR COMPONENTS ARE INESCAPABLE
• Component-based systems track robotics research
◦ Distributed
◦ Prescriptive
◦ Manual
◦ Messy2
INTEGRATION IS UNIVERSAL
• Complex robot design can’t/shouldn’t be done in one-shot
◦ Or by one person
• Integration provides a descriptive step
• Challenge is structure3
PARAMETERIZATION FOR INTEGRATION
• Track component development
• Descriptive
• Manual
• Generating structure in the face of limited resources
COMPONENT MODEL
• Tasks & Devices
◦ Compositional
◦ Resources
• Modules
◦ Regularize functionality over components
ObstacleMapper
LIDARMapsPose
ROI
ComputerEthernet
RS-232USB
6
Task Requirements
Device Resources
Task
Device
Modules
LIDARInterface
LIDARLIDAR
RS-232
LIDARFilter
LIDAR
ObstacleMapper
LIDAR
LIDAR Maps
SYNTHESIS APPROACH
LIDARPerceptionComputer
OperatorComputer
RS-232 Ethernet
LIDARInterface
LIDARFilter
ObstacleMapper
GUILIDAR LIDAR Maps
LIDARInterface
LIDARFilter
ObstacleMapper
GUILIDAR LIDAR Maps
LIDARFilter
LIDAR
ObstacleMapper
LIDAR
LIDAR Maps
LIDARInterface
LIDARLIDAR
RS-232
GUIMaps
PerceptionComputer
Ethernet RS-232
OperatorComputer
Ethernet
7
SLAM
LIDAR Maps
IMU Pose
ESCHER
8
Video Credit: VT
ESCHER OVERVIEW
• Built for the DARPA Robotics Challenge
• Complex Computing Setup
◦ Optional Field Computing
◦ Degraded Communications
• Complex Software Design
• >1.7 million SLOC
• 3 middleware systems
• 3 teams, 5 universities
• 9.120s for synthesis
ESCHER FieldComputer
OperatorControlStations
9
ESCHER HARDWARE
��������������
�����������������������
���������������
��������
�������������
��������
�������������������
������������������
��������
����������
������
����������������� ���������������
���������������
����������
������
����������
���
������������
������
����������
������
����������
������
������������������
��������
��������
��������������
���
����������
���������
������������������
����
�����������
������
��������������
���������������
��������
���������������
��������
�������������
��������
����������
������
�����������������
�������
��������
���������������
����������
������
����������
���
������������
������
����������������
����������
������
������������������ ��������
��������
��������������
���
����������
���������
������������������
����
�����������
������
Manual Synthesized
10
HARDWARE DIFFERENCES
11
SW STRUCTURE
12
������������������������������
�������������
����������������
������������
������������������ ���������������������������������������
����������������������
������������������
�������������������
���������������
�������������
�������������������
���������������
��������������
����������������
���������������������
��������������
����������������
������������
��������������
����������� ������������������
������������������
������������������������
������������
���������������
�����������������
����������������
�����������
��������������
�����������������������
�������������������
��������������������������
������������������������������
�������������
����������������
������������
������������������ ���������������������������������������
����������������������
������������������
�������������������
���������������
�������������
�������������������
���������������
��������������
����������������
���������������������
��������������
����������������
������������
��������������
����������� ������������������
������������������
������������������������
������������
���������������
�����������������
����������������
�����������
��������������
�����������������������
�������������������
��������������������������
Manual Synthesized
Manual Synthesized
SW DIFFERENCES