forked from corlab/dslzoo
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdomain-examples.html
145 lines (122 loc) · 7.98 KB
/
domain-examples.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta name="description" content="">
<meta name="author" content="">
<link rel="icon" href="images/favicon.png">
<title>Domain Example – Robotics DSL Zoo</title>
<link href="dist/css/bootstrap.min.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="sortable/bootstrap-sortable.css">
<link rel="stylesheet" type="text/css" href="dist/css/custom.css">
<script language="javascript" type="text/javascript" src="flot/jquery.js"></script>
<script language="javascript" type="text/javascript" src="flot/jquery.flot.js"></script>
<script language="javascript" type="text/javascript" src="flot/jquery.flot.categories.js"></script>
<script type="text/javascript" src="dist/d3-cloud/lib/d3/d3.js"></script>
<script type="text/javascript" src="dist/d3-cloud/d3.layout.cloud.js"></script>
<script type="text/javascript" src="js/main.js"></script>
</head>
<body><nav class="navbar navbar-inverse navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="./index.html">Robotics DSL Zoo</a>
</div>
<div id="navbar" class="collapse navbar-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="./index.html">Home</a></li>
<li><a href="./all.html">Index</a></li>
<li><a href="./subdomains.html">Subdomains</a></li>
<li><a href="./phases.html">Development Phases</a></li>
<li><a href="./contribute.html">Contribute</a></li>
<li><a href="http://www.dslrob.org">DSLRob</a></li>
</ul>
</div><!--/.nav-collapse -->
</div>
</nav>
<div class="container">
<div class="starter-template">
<h1>Robotics DSL Zoo</h1>
<h2>Domain Example</h1>
<table><tr><td> <i> (to be <a href="./contribute.html">extended</a> ...)</i></p>
<p style="float:left;">
To exemplify the domain of this Robotics DSL Zoo we use the Precision Placement Test (PPT)
from the <a href="http://www.robocupatwork.org/">RoboCup@Work</a> competition.
It is a new competition in RoboCup that targets the use of robots in industrial
scenarios where robots cooperate with human workers and machines for complex tasks ranging from
manufacturing, assembly, automation, and parts-handling up to general logistics.
The PPT exemplifies the complexity and huge variability of competences and
capabilities required to develop today's robot applications.
We consider this example to represent the current state of the art involving
mature robotics disciplines so that we expect to find consolidated knowledge in
the form of DSLs.</p>
<img src="images/pptPlatform.jpg" title="Precision Placement Test (PPT) in RoboCup@Work" width="25%" style="float:right;" />
<p>In the following we will explain the PPT and also synthesize a core set of
subdomains which are relevant in solving the task and are used
used for classification of the collecteded publications. We are aware that this list is non-conclusive, but focus
on these for the sake of brevity.
The main objective of the PPT is to assess the robot's ability to grasp and
place objects into object-specific cavities (see image to the right). The
objects are taken from a set of (a priori known) standardized industrial objects
such as screws, nuts, bolts and profiles. For the test a single robot is placed
in front of a service area which stores the objects to be manipulated. The
objective is to pick each object and place it in the corresponding cavity. Once
the objects are picked up and placed or the time is over the task ends.</p>
<p>To simulate and solve the problem one usually first needs to know the
<a href="robot-structure-subdomain.html">Robot Structure</a> of the target robot platform. This comprises representation of the
actual physical realization of robot platforms (e.g., mobile base and
manipulator) in terms of their mechanical structure and kinematic as well as
dynamic properties. This subdomain roughly corresponds to Part B of Springer
Handbook of Robotics (<i>Robot Structures</i>).
Furthermore, <a href="transformation-subdomain.html">Coordinate Representations and Transformations</a>
between parts of the robot and its environment are required to enable computation
of position, force, and velocity of the robot joints. This subdomain
roughly corresponds to Part A in the Handbook of Robotics (<i>Robotics
Foundations</i>). Exemplary DSL representatives for this subdomain are
URDF and the work of <a href="transformation-subdomain.html#Frigerio2011">Frigerio et al.</a>.</p>
<p>In general, the PPT demands advanced <a href="perception-subdomain.html">Perception</a> and
<a href="reasoning-and-planning-subdomain.html">Reasoning and Planning</a> abilities, namely to recognize and
match objects and the correct cavities. Further, precise <a href="manipulation-and-grasping-subdomain.html">Manipulation and
Grasping</a> abilities are required, namely to grasp and place the
object in such a manner that it fits into the cavity.
These subdomains roughly correspond to Part C (<i>Sensing and
Perception</i>), Part A Chapter 9 (<i>AI Reasoning Methods for Robotics</i>), and
Part D Chapter 28 (<i>Grasping</i>) in the Handbook of Robotics.</p>
<p>For each sub-task (object/cavity <i>detection/recognition</i> and object
<i>manipulation</i>) there are several options to approach the problem which all
require <a href="coordination-subdomain.html">Coordination</a> primitives such
as finite-state machines. For instance, the placement of objects in the cavities
can be achieved through first perceiving and computing the position of the
cavities and then generating a plan yielding a pose where the object can be
dropped in the cavity. A more control-based approach is to compute an
approximately position of the cavity and then placing the object on the arena
and sliding the object into the cavity by means of force-feedback.
This approach demands advanced <a href="motion-control-subdomain.html">Motion Control</a> abilities in
order to cope with uncertainties in the environment and fulfill
constraints such as force-limits which corresponds to roughly to Part A
Chapter 7 (<i>Force Control</i>) in the Handbook for Robotics. Example DSLs for
this task are <a href="motion-control-subdomain.html#Klotzbuecher2011">TFF</a> and <a href="motion-control-subdomain.html#Vanthienen2013">iTaSC</a>. The
presented capabilities all need to be integrated in an overall
<a href="architecture-subdomain.html">Architecture</a> with <a href="components-subdomain.html">Components</a> as the basic
building blocks which are preferable re-usable also for other applications.
This domain corresponds roughly to Part A Chapter 8 (<i>Robotic Systems
Architectures and Programming</i>) in the Handbook of Robotics. <td/><td> </td></tr></table></div>
</div>
<div class="container">
<br />
<hr />
<a style="font-size:85%; color:#555;" title="A Survey on Domain-Specific Languages in Robotics" href="https://pub.uni-bielefeld.de/publication/2685039">A. Nordmann, N. Hochgeschwender, and S. Wrede, “A Survey on Domain-Specific Languages in Robotics”, International Conference on Simulation, Modeling, and Programming for Autonomous Robots, 2014</a>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="dist/js/bootstrap.min.js"></script>
<script src="sortable/moment.min.js"></script>
<script src="sortable/bootstrap-sortable.js"></script>
</body>
</html>