Lecture 1 - Opening Lecture PDF
Lecture 1 - Opening Lecture PDF
Current Practice
• Strong, fast, repeatable, tireless
• Ad hoc, expensive custom solutions for
installation, fixturing, tooling, integration
• Lengthy programming & tweaking for
each new task
• Limited or no ability to deal with
variations or errors
• Separated from humans for safety;
cannot collaborate/assist
Fulfilling Robotics’ Potential
Future Vision: Robots that are sensing-
and knowledge-enabled to
• Execute tasks with minimal upfront
programming, without expensive end-
of-arm tooling
• Adapt to variations in part position,
size and other changes in their
workspace, removing the need for
custom fixturing
• Intelligently navigate around the
factory
• Assist humans by working safely and
collaboratively
• Easily installed and integrated with
subsystems and rest of enterprise
Program Thrusts
https://www.youtube.com/watch?v=sjAZGUcjrP8
Class Discussion
• What do you consider robot agility?
• What agility challenges do you think that industry is facing?
• What can be done to make robots more agile?
Exercise
• You need to develop a control system that will make a robot more
agile.
• What are the necessary parts of the control system?
• How do they fit together?
• What information get passed amongst the components?
• Your job: Draw a block diagram, with blocks representing the main
components of the control system, arrows representing the
connections between the components, and text on the arrows
representing the data that is passed.
What is Robot Agility?
• Hardware agility
– How can different hardware
configurations affect a robot’s ability
to accomplish a variety of tasks?
• Software agility
– How well can a robot adapt/respond
to task failures?
– How well can a robot re-plan when a
new goal is provided to it?
– How can we allow for
interchangeability of robots without
the need for reprogramming?
– How well can a robot respond to
changing environmental conditions
(e.g., non-fixtured tray moves)?
Big Picture
updates Canned Plans
provides B
Robot robot
capabilities Canonical Robot instructs Robot
Description predicate(s) predicate(s) predicate(s)
Command Language Controller
Model false - true - false -
3 fix continue replan
monitors
truth
interprets value
System Predicate Predicate
Monitor Evaluation Results
Plan Instance
File generates
provides provides
provides
location Metrics location tasks Knowledge representations
available generates info
info
robot
actions A Robot capabilities
Planning
updates
Domain Independent Planner MySQL
Sensor Planning approaches
DB Processing
defines
Test methods
PDDL Domain PDDL Problem
File File
Agility Control Loops
generates
converts converts
A Real-Time World State Evaluation
Ontology (OWL/XML)
B Real-Time Re-Planning
1
Environment Initial Conditions
Courtesy: GTRI
M. O. Shneier, E. R. Messina, C. I. Schlenoff, F. M. Proctor, T. R. Kramer, J. A. Falco, "Measuring and Representing the
Performance of Manufacturing Assembly Robots" NIST Interagency/Internal Report (NISTIR) 8090, (10-Dec-2015)
Allowing for Robot Interoperability Using CORA
Amazon Picking Challenge
Recognition and Use
• Core Ontology for Robotics and Automation (CORA) Standard
• Won the IEEE-SA Emerging Technology Award (2015) - given once a year to a working group which “advanced, initiated, or
progressed a new technology within the IEEE-SA open consensus process.”
• “These standards and software modules will allow increased competition in the industrial robot marketplace as well as
provide openings to small- and mid-sized companies that have previously been reticent to adopt robot technologies.” Erik
Nieves (Yaskawa Motoman -> PlusOne)
• “The 1872-2015 standard has and will continue to serve as a great resource to developers, users, and systems integrators in
the robotics field. The resulting standard has shown value and has the support of many in the field in robotics, including
representatives in the industrial, service, and healthcare fields.” Gurvinder Virk, ISO TC184/SC2/WG7 convener
• Prominently featured in two journal special issues
• Robotic and Computer Integrated Manufacturing Journal entitled “Knowledge Driven Robotics”
• Industrial Robots journal entitled “Industrial Robot Agility”
• Featured in articles in Engadget and Scientific Computing
• Applied to research efforts in numerous institutions such as Georgia Tech and Lund University
• Currently being applied at Denso North America, a leading supplier of advanced automotive technology,
systems, and components for major automakers, to address the agility limitations they are facing with their
robotic systems in dealing with the wide variety of parts they need to handle.
• Caterpillar started an internal effort to apply the technology to address their robot agility challenge, which is
allowing them to collect and structure manufacturing source data to better target their automation
development initiatives.
36
Class Discussion/Exercise
• How to you measure how agile a robot is?
• What are the appropriate metrics?
• How can you verify that those metrics are correct?
Measuring Robot Agility
• Developing a set of test methods, to
assess the agility performance of
manufacturing robotic assembly
systems.
• Includes:
• Representative scenarios
• Initially focusing on kitting
• Agility challenges:
• Dropped parts, in-process kit changes,
fixtureless assembly, mechanical
breakdowns
• Metrics
• Time, distance travelled, completion (both
quantitative and qualitative)
• But how do we validate the test
methods?
A. J. Downs, W. S. Harrison, C. I. Schlenoff, "Test Methods for Robot Agility in Manufacturing" Industrial Robot
Journal 8134, Vol. 43, pp. 563-572, (02-Jun-2016)
Agile Robotics for Industrial
Automation Competition (ARIAC)
• Goal: To test the agility of industrial robot systems, with the
goal of enabling industrial robots on the
shop floors to be more productive, more autonomous, and
to require less time from shop floor workers.
• Simulation-based competition held in the June 2017
timeframe (Gazebo and ROS)
• Teaming closely with the Open Source Robotics Foundation
(OSRF)
• Participation
• 65 teams registered
• 10 teams qualified for finals
• 4 team competed in finals
• Held an ARIAC Workshop at IROS 2017 (September)
• Recent outcomes:
• Portugal team wants to start a local competition building off of
ARIAC
• Invitation from RoboCup Logistics League -Planning and Execution
Competition for Robotics in Simulation to team together
(http://www.robocup-logistics.org/sim-comp)
How It Works
• Teams are developing robot control systems to handle agility
challenges
• Teams can place sensors in the environment to track objects (for a
cost)
• Teams use ROS interfaces to control actuators, read sensor
information and send/receive notifications
• Retrieving Orders
• rostopic echo /ariac/orders
• Querying Storage Locations of Parts
• rosservice call /ariac/material_locations “material_type: piston_rod_part”
• Querying Sensors
• Beam Break / Proximity Sensor – Is there something in the proximity of the sensor?
(min/max range)
• Laser Sensor – range data
• Camera – models detected
• Controlling the arm (trajectory messages)
• rostopic pub /ariac/arm/command trajectory_msgs/JointTrajectory “
[joint_names], points: [time_from_start in seconds], positions: [x,y,z, roll, pitch,
yaw] …
• Control vacuum gripper
• rosservice call /ariac/gripper/control “enable: true”
• https://bitbucket.org/osrf/ariac/wiki/competition_
interface_documentation
4/7/2017 41
Industrial Scenarios
• Conducted over 30 interviews with
representatives of industry and academia.
• Consulted previous robotics competition
organizers.
• Amazon Picking Challenge
• Virtual DARPA Robotics Challenge
• Robot Perception Challenge
• Focus on Kitting: the process of gathering
required components for assembly
Scenario Setup
• Parts arrive in different ways with increasing levels
of difficulty
• The conveyor belt is a 1 m wide plane that
transports objects across the work environment at a
fixed speed of roughly 0.2 m/s. Parts continuously
appear on the belt for the duration of the a trial.
When parts reach the end of the conveyor belt they
are automatically removed. Teams can control the
conveyor belt during development, but not during
the final competition.
• There are eight part bins that may be used for
building kits. Parts in these bins will not be replaced
once used.
• There is a robot arm mounted on a linear actuator
that operates parallel to the conveyor belt. The
linear actuator measures 4 m.
• Two automated guided vehicles (AGV) are located at
either end of the linear actuator. Kits are built on
top of these AGVs. A team will programmatically
signal the AGVs when the kits are ready to be taken
away. The signaled AGV will depart for a short
period and then return with an empty tray.
The Robot Arm
• The robot arm used in each
trial will be a Universal
Robots UR10.
• The robot arm's position is
controlled through the linear
actuator on which it is
mounted.
• The end of the arm is
equipped with a vacuum
gripper. The vacuum gripper
is controlled in a binary
manner and reports whether
or not it is successfully
gripping an object.
Sensors
• A team can place sensors around
the environment. Each sensor has
a cost that factors into the final
score.
• Available sensors are:
• Break beam: reports when a beam is
broken by an object. It does not
provide distance information.
• Laser scanner: provides an array of
distances to a sensed object.
• Cognex logical camera: provides
information about the pose and type
of all models within its field of view.
• Proximity: detects the range to an
object.
Orders and Faulty Parts
• Orders
• An order is an instruction containing kits for the
robot system to complete.
• Each order will specify the kit to be assembled, i.e.
the list of parts to be put in the kit.
• Each specified part has the following structure:
• The type of part.
• The position and orientation of the part on the tray.
• Faulty parts
• Above each AGV is a quality control sensor that
detects faulty parts. If faulty parts are detected
while teams are filling trays, those parts should be
removed from the tray and replaced with another
part of the same type. Faulty parts are considered
unwanted parts: they will not count for any points
when the kit is submitted, and they will cost teams
the all-parts bonus if left in trays (see Scoring,
below).
Agility Challenges
• Identified 36 agility challenges based on
conversations with industry and literature
reviews.
• Ranked each challenge based upon three
criteria:
• Industry’s perception of how critical the challenge
is
• Difficulty of challenge, based upon perceived team
capabilities
• Difficulty to implement in Gazebo
• Looked for optimal challenges among the three
criteria
• Qualifier 1 focused on parts dropping from the
gripper
• Qualifier 2 focused on in-process kit changes
and more complicated drop scenarios
• Qualifier 3 focused on faulty parts and needing
to flip parts
ARIAC Competition Highlights
48
Class Discussion/Exercise
• How can you put the appropriate metrics together into an equation
that can provide a “number” as to how agile a robot is?
Metrics
• Time-based
• How long did it take to complete
the task?
• Motion time vs. thinking time?
• Accuracy-based
• Number of parts in the kit tray
• Parts in right position/orientation?
• Cost-based
• How much did it cost for the
infrastructure in the environment?
4/7/2017 50
Competition Process
• Each trial will consist of the following steps:
• The robot programmatically signals that it is able to begin accepting orders.
• The first Order (Order 1) is sent to the robot.
• A fixed amount of time is allowed to complete the order.
• In the case of the Dropped Part testing method, up to three parts will be forcibly
dropped from the gripper.
• In the case of the In-Process Kit Change testing method, a new Order (Order 2) will
be issued that is of higher priority than the previously issued Order 1. When Order 2
is complete, building of Order 1 is to resume.
• The robot signals programmatically when a kit is complete and ready for quality
control.
• The robot system will be notified that the trial is over. The trial is over when time
runs out or all Orders have been fulfilled.
Qualifiers
• Three Qualifiers:
• First Qualifier – Jan 27, 2017 – Feb 24, 2017
• Second Qualifier – March 6, 2017 – April 3, 2017
• Third Qualifier – April 10, 2017 – May 8, 2017
• Why Three?
• Gives teams a lot of opportunities to get involved
• Allows us to show teams the direction we are going with the
challenges
• Allows us to understand teams’ capabilities so we can make
the competition at the right level of difficulty
• Qualifier 1 Observations
• 11-12 attempts, 7 submissions
• Bar purposely set low
• All teams that responded qualified
• Scores varied considerably
4/7/2017 52
About the Participants
• About 50% educational institutions and 50% industry (almost all small companies)
• Educational institutions (subset):
• Case Western Reserve University
• Cranfield University
• Idaho State University
• NC State
• Northeastern University
• Simon Fraser University
• University of Southern California
• Industry (subset):
• High West Labs
• Patriot Robotics
• Robomakery
• Space Weavers
• Stanley Robotics
• TRACLabs
• Two teams work with high school STEM students to teach them robotics
• At least one college class being taught around the competition (Case Western)
53
Components of a Control System
ROS and ROS Interfaces
• Robot Operating Systems (ROS)
Architecture
• ROS master, nodes, topics
• Catkin workspace and build systems
• Launch files
• Gazebo simulator
NewCommand S1 DetermineMarchColumnOrganization:
Databases
types of knowledge 2
3
S1
S2
S3
MarchOrganizationDetermined
TentativePlans_Done
S2
S3
S4
all_FormTacticalRoadMarchOrganization
MakeTentativePlan: Determine_Route,
_FireSupport, _MovementFactors, _AA
sp3_PrepareForRouteReconnaissance
5 S4 sp3_ReadyToConductRouteRecon S5 sp3_ConductRouteReconnaissance
6 S5 qp_ReadyToOrganizeAA S6 qp_FollowReconPlatoonToAssemblyArea
Perception
• To perform hands-on exercises
7 S6 qp_ClearOfStartPoint S7 mb_tp_PrepareForRoadMarch
8 S7 mb_tp_ReconToStartPoint_Done S8 PrepareDetailedMovementPlans:
Co
Pla st B io n
lat
9 S8 sp3_RouteRecon_Done S9 sp3_EstablishAssemblyAreaSecurity
nn ase
mu
ontology
12 S11 qp_Status_AssemblyAreaSuitable S12 1st_mb_Unit_MoveIntoRoadMarchFormation
S12 mb_Unit_ExecuteTacticalRoadMarch
13 S12 mb_Unit_AtStartPoint
next_mb_unit_MoveIntoRoadMarchFormation State
S13 mb_Unit_ExecuteTacticalRoadMarch
14 S12 mb_LastUnit_AtStartPoint
tp_MoveIntoRoadMarchFormation Machine Ontology Use Cases
Planning
M
Ob ovi n
17 S15 HaltEnded_ReadyToContinueMarch S14 mb_tp_ResumeExecutionOfTacticalRoadMarch
lue Pr ject g
24 NewSituationReport UpdateDetailedMovementPlans
25 NewHigherLevelInformation UpdateDetailedMovementPlans
State Tables
Components of a Control System
Architecture Perception Planning and Control
EVALUATION
PERCEIVED EV PL
SITUATION
OBJECTS & AL AN INTERFACE
RESULTS
architectures
UA
EVENTS
PLAN
TI
O
N
PLAN
how it works
• To explore hierarchical
architectures to see how Battalion Formation SP
WM BG
SURROGAT E BAT T ALION Plans for next 24 hours
Section Formation
SP
SP
WM BG SURROGAT E PLAT OON Plans for next 2 hours
OPERATOR INTERFACE
• To go through examples of how Surfaces Attention Communication M ission Package Locomotion SUBSYST EM
• Hands-On: Design an
Steering,
velocity
Points
SERVO
competition
SENSORS AND ACTUATORS
Components of a Control System
High Level Planning
• Defining of AI planning and its
applications in the real world
• Understanding how planning is used in
robotics through the description of
conceptual models
• Understanding the different
ingredients of AI planning
• Developing PDDL files for the kitting
domain
• Hands-On: Design and develop a PDDL
plan
Components of a Control System
Low Level Planning
• Using MoveIt! ROS packages
• Exploring the concept of
motion planning and search
space
• Getting robots to automatically
determine how to move while
avoiding collisions with
obstacles
• Collision-free trajectories
• Reaching goal location as fast as
possible
• Hands-on: Use MoveIt! To
perform motion control
Components of a Control System
Simulation
• Gazebo • V-REP
Components of a Control System
Measurement Science
• What is performance evaluation and
why is it important?
• What are some of the approaches to
evaluating the performance of
intelligent systems?
• Look at some performance evaluation
examples
• Force-based control and
grasping/manipulation
• Intelligent vehicles
• Mobile manipulation
• Robot agility
• Response robots
• Hands-On: Determine an equation to
measure the performance of an ARIAC
robot
Components of a Control System
Safety / HRI
• Collaborative robots, definitions and
capabilities;
• Collaborative robot safety and the risk
assessment process;
• State of the art of human-machine interfaces;
• Performance requirements for collaborative
human-robot interaction; and
• Performance metrics for human-robot teaming.
• Hands-On:
• Perform a risk assessment of a human-robot
collaborative environment
• Determine relevant information exchange between
a robot and a human
What To Do Now
• Read up on ARIAC:
• www.nist.gov/ariac
• http://gazebosim.org/ariac
• Install Software:
• Linux – you will need a dual boot machine.
• Useful YouTube Video: https://www.youtube.com/watch?v=1uVcsFhv2Vo
• Ubuntu Distribution: http://www.ubuntu.com/download/desktop
• USB Installer: http://www.pendrivelinux.com/universal-usb-installer-easy-as-1-2-3/
• Bit Torrent (to download Ubuntu): http://www.bittorrent.com/
• ROS
• Gazebo
• Protégé - http://webprotege.stanford.edu/ (no need to install – can access from the web)
• PDDL (available from our CANVAS web site in the Files Section)
• DIA ((http://dia-installer.de/)