Upload
others
View
11
Download
0
Embed Size (px)
Citation preview
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p1 © 2020 Dimi Apostolopoulos
Engineering Robotic Systems: Process,
Critical Considerations, and a Case Study
Dimi Apostolopoulos
Guest Lecture to 16311 Introduction to Robotics
February 5, 2020
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p2 © 2020 Dimi Apostolopoulos
This lecture
Methods to develop robotic systems
Attributes of robotic systems
An illustrative case study with important observations
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p3 © 2020 Dimi Apostolopoulos
Introduction
Dimitrios (Dimi) Apostolopoulos
Senior Systems Scientist
The Robotics Institute
Carnegie Mellon University
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p4 © 2020 Dimi Apostolopoulos
Creating advanced robotics systems from within CMU
Groups/Centers
Departments
Schools
UniversityCarnegie Mellon
University
6 other schools
School of Computer Science
Many other departments
Robotics Institute
Other Centers
NREC
• Created in 1979
• Over 900 people
• > 400 grad students
• > $60M in R&D per year
• Created in 1995
• Over 130 employees
• Received >$370M in R&D
funding
• 50% from commercial
• > $30M in R&D per year
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p5 © 2020 Dimi Apostolopoulos
NREC is in the middle of one of most dynamic clusters of
robotics companies in the world
Lawrenceville, Pittsburgh
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p6 © 2020 Dimi Apostolopoulos
Inventing, engineering, and field-validating prototypical, yet
ruggedized robotics in real-world applications
Robotics for autonomous mapping and
remote inspection of platinum mines
(South Africa)
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p7 © 2020 Dimi Apostolopoulos
Robotics to change the state of practice and add value
Robot for inspection of cooper ore
slurry pipelines (Chile)
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p8 © 2020 Dimi Apostolopoulos
All robotic systems require multidisciplinary teams to create
them, and involve complex constructs of hardware and software
Motion Planning & Execution
Positioning
Mapping
3D Range Sensing
Electro-Mechanical Design
Image/sensor Processing
Unmanned Vehicle Design
Autonomy
System Integration & Testing
Operator Interfaces
Manipulation
Machine Learning
It is imperative to apply systematic processes in the
development of robotic systems
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p9 © 2020 Dimi Apostolopoulos
We use Systems Engineering to manage requirement-driven
engineering of robotic systems
Reference B. McDonough, 2013
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p10 © 2020 Dimi Apostolopoulos
Generally there are three phases in the development of a system
Concept
Development
Engineering
Development
Post
Development
Operational
Need
Technological
Opportunities
Defined System
Concept(s)
Detailed
Requirements
Detailed
Specifications
Validated
System
Fielded
System
Detailed
Documentation
Inspired by A. Kossiakoff, W. N. Sweet, S. J. Seymour, S. M. Biemer, 2011
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p11 © 2020 Dimi Apostolopoulos
We use the V method that goes top-down to design, and
bottom-up to test and validate compliance to requirements
Requirements
Development
System
Architecting
Component
Design
Fabrication and
Assembly
Subsystem
Design
Unit
Testing
Subsystem
Testing
Integrated
System Testing
Acceptance
Testing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p12 © 2020 Dimi Apostolopoulos
For larger, more complex systems and projects we apply the V
method
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p13 © 2020 Dimi Apostolopoulos
We also use Agile methods, which allow for incremental
development
1 2 N
START
FINISH
http://tryqa.com/what-is-agile-model-advantages-disadvantages-and-when-to-use-it/
…
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p14 © 2020 Dimi Apostolopoulos
For retrofits-for-automation and subsystem R&D we apply agile
methods
Sensing, autonomy, and
tooling retrofits
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p15 © 2020 Dimi Apostolopoulos
Attributes of robotic systems
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p16 © 2020 Dimi Apostolopoulos
Systems entail
• Hierarchy of subsystems and components
• Capabilities and characteristics (functional, non-functional)
• Relationships between subsystems and components
• State of an component at a point in time
• Behaviors: Sequences of component states over time
• Processes: Sequence and timing of behaviors
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p17 © 2020 Dimi Apostolopoulos
Systems have hierarchy, attributes, relationships,
states, behaviors, and processes
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p18 © 2020 Dimi Apostolopoulos
System hierarchy
System
Subsystem Subsystem
Component Component Component
Subsystem
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p19 © 2020 Dimi Apostolopoulos
Multiple possible ways to partition a robot into
subsystems. Contrast monolithic vs. modular
Collision Avoidance
Sensors
Environment
Perception Sensors
Ride Smoothing
Assembly
Drive Assembly Heat Management
Subsystem
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p20 © 2020 Dimi Apostolopoulos
Systems have capabilities and characteristics
Functional Non-Functional
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p21 © 2020 Dimi Apostolopoulos
System capabilities and characteristics
FunctionalDrives
Steers
Controls
Senses
Perceives
Plans
Detects
Avoids
Communicates
Maps
Localizes
Analyzes
Interprets
Summarizes
Diagnoses
etc.
Non-FunctionalWeight
Color
Dimensions
Cost
IP rating
Aesthetics
Ergonomics
Noise level
Power capacity
Computing capacity
Reliability
Durability
Maintainability
Serviceability
Compliance
etc.
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p22 © 2020 Dimi Apostolopoulos
Relationships in systems
• How the subsystems/components combine to contribute to
the system’s purpose
• In an optimized system, the subsystems are connected in a
way that their relationships yields] maximum effectiveness
Capturing the relationships between subsystems and
components is essential to create system architectures,
which we then use in design and engineering
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p23 © 2020 Dimi Apostolopoulos
Let’s examine relationships within a system
Robotic
Mine Profiler
Autonomously
Navigates
Autonomously
Maps
Avoids
Collisions
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p24 © 2020 Dimi Apostolopoulos
How to identify relationships within a system
Pose Estimation Localization
Mapping
AutonomySensing
Collision
Avoidance
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p25 © 2020 Dimi Apostolopoulos
How relationships affect what the system will be
Pose Estimation Localization
Mapping
Autonomy
Collision
Avoidance
Sensing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p26 © 2020 Dimi Apostolopoulos
How relationships affect what the system will be
Pose Estimation Localization
Sensing
Mapping
Autonomy
SensingCollision
AvoidanceSensing
Sensing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p27 © 2020 Dimi Apostolopoulos
Properly defining a systems relationships impacts the form
and function of a system
Distributed Low-cost LiDAR & Cameras Dedicated Medium Cost LiDAR and Cameras
High-end LiDAR Scanner
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p28 © 2020 Dimi Apostolopoulos
Systems also have
State
– Situation of a component (or set of components) at a point in
time
– Static, dynamic, in-between
Behavior
– Connected series of changes in state over time
Process
– Set of all behaviors with their relative sequence and timing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p29 © 2020 Dimi Apostolopoulos
State, Behavior, and Process
Sensing Pose Estimation Localization Autonomy
Remote Control
SensingCollision
AvoidanceSensing
Mapping
On Off
Sensing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p30 © 2020 Dimi Apostolopoulos
State, Behavior, and Process
Localization
Sensing
Autonomy
Remote Control
SensingCollision
AvoidanceSensing
Mapping
On Off
Pose EstimationSensing
16311 Spring 2020 – Introduction to Robotics Guest Lecture/ p31 © 2020 Dimi Apostolopoulos
Takeaway points
The development of robotic systems requires the application
systems engineering methods. Applying such methods is
essential to ensure traceability of requirements and
rationalization of design and engineering decisions made
along the way.
All systems including robotic systems have important
attributes: Hierarchy, capabilities and characteristics,
relationships, states, behaviors, and process. Carefully
designing and engineering these attributes result in a
successful system.