-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathpost_19_21.html
218 lines (196 loc) · 11.3 KB
/
post_19_21.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
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<meta name="description" content="">
<meta name="author" content="">
<title>Avinash Sen - Master Research Project Blog</title>
<!-- Bootstrap core CSS -->
<link href="vendor/bootstrap/css/bootstrap.min.css" rel="stylesheet">
<!-- Custom fonts for this template -->
<link href="vendor/font-awesome/css/font-awesome.min.css" rel="stylesheet" type="text/css">
<link href='https://fonts.googleapis.com/css?family=Lora:400,700,400italic,700italic' rel='stylesheet' type='text/css'>
<link href='https://fonts.googleapis.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800' rel='stylesheet' type='text/css'>
<!-- Custom styles for this template -->
<link href="css/clean-blog.min.css" rel="stylesheet">
<script type="text/javascript" async
src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-MML-AM_CHTML" async>
</script>
</head>
<body>
<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-light fixed-top" id="mainNav">
<div class="container">
<a class="navbar-brand" href="about.html">Avinash Sen</a>
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarResponsive" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
Menu
<i class="fa fa-bars"></i>
</button>
<div class="collapse navbar-collapse" id="navbarResponsive">
<ul class="navbar-nav ml-auto">
<li class="nav-item">
<a class="nav-link" href="index.html">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="about.html">About</a>
</li>
<li class="nav-item">
<a class="nav-link" href="contact.html">Contact</a>
</li>
</ul>
</div>
</div>
</nav>
<!-- Page Header -->
<header class="masthead" style="background-image: url('img/week_19_21.jpg')">
<div class="overlay"></div>
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-10 mx-auto">
<div class="post-heading">
<h1>Week 19-21 </h1>
<h2 class="subheading">Support for the Realsense. Installation of the Aubo-i5's Package and coordinate Transformations. Continuation of State of the art.</h2>
<span class="meta">Posted by
<a href="about.html">Avinash Sen</a>
on April 09, 2020</span>
</div>
</div>
</div>
</div>
</header>
<!-- Post Content -->
<article>
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-10 mx-auto">
<font size="6"><b>Support for Realsense</b></font>
<p>
After analyzing all the positions of the Realsense on the robot, I selected the most adequate one
which I believe is the position in which it has 6 degrees of freedom and its located on the side of the robot's gripper.
To install the Realsense in the robot it was necessary to design a support.
To do so, this week was started by modeling a structure that could be screwed to one of the gripper, represented below.
After the manufacturing of the support the Realsense was correctly installed.
</p>
<center>
<p><img src="img/support.jpg" alt="" width="70%" height="70%"/></p>
</center>
<p>Now, with the Realsense properly installed, it is fundamental to calibrate its Extrinsic
parameters, task which I will continue to do in next weeks.
</p>
<font size="6"><b>Robot Aubo-i5</b></font>
<p>In order to know all the transformations between the coordinate systems of the Realsense,
the robot and the gripper, I started by including the URDF files of the Aubo-i5 Cobot to have
all the coordinate frames of the joints. The referential of the base of the robot
was defined as the global coordinate system. Knowing that the URDF files of the aubo-i5 robot does not incorporate
the coordinate frame of the gripper center point <a href="https://www.aubo.cz/download/dfbb6092c5064c2e2f44be5c06cafe81/912535945-auborpereferenceguide-181011.pdf">(TCP)</a>, I had to determine the exact length of the gripper.
To do so, I visualized the values of the joints, and its coordinate systems, of the real robot in Rviz
with the following command.
</p>
<div style="background: #f0f0f0; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%">roslaunch binpicking_system robot_state_visualize.launch</pre></div>
<p>
<center>
<iframe width="640" height="360"
src="https://www.youtube.com/embed/cO_H4E0eURA?autoplay=1&loop=1&playlist=cO_H4E0eURA">
</iframe>
</center>
</p>
<p>By moving the end effector closer to the table, I was able to determine the difference in the Z-axis
between the referencial of the the tip of the gripper and the end of the robot.
</p>
<center>
<p><img src="img/gripper.png" alt="" width="70%" height="70%"/></p>
</center>
<p>By This way, the origin of the referencial end of the gripper was represented with an offset of 26mm.
Knowing this, I was now able to design a simple gripper to represent the real one. By incorporating it in the urdf files
and the description of the last coordinate system, I could visualize the robot, the gipper in the respective position. The complete
coordinate systems so far visualized by using the following command.
</p>
<div style="background: #f0f0f0; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%">roslaunch binpicking_system globalvisualization.launch</pre></div>
<center>
<p><img src="img/robot_rviz.jpg" alt="" width="70%" height="70%"/></p>
</center>
<p>Given the fact that, it is necessary to move the robot to positions with accuracy in oder to
calibrate the camera sensor and to move to the exact centroid of an object, detected by the program, I
used a code developed by Aubo developers.
By running the next command I am able to run a program that moves the robot to a desired joint or cartesian position.
</p>
<div style="background: #f0f0f0; overflow:auto;width:auto;border:solid gray;border-width:.1em .1em .1em .8em;padding:.2em .6em;"><pre style="margin: 0; line-height: 125%">rosrun aubo_control aubo_control</pre></div>
<p>
<center>
<iframe width="640" height="360"
src="https://www.youtube.com/embed/dbz3gM8Y-Dw?autoplay=1&loop=1&playlist=dbz3gM8Y-Dw">
</iframe>
</center>
</p>
<p><font size="6"><b>Continuation of state of the art</b></font></p>
<p>While deep neural networks have been successfully applied to the problem of object detection in 2D, they have only recently begun to be applied to 3D object detection and pose estimation.
Unlike 2D object detection,it is prohibitive to manually label data for 3D detection. Dueto this difficulty of collecting sufficiently large amounts of labeled training data,
such approaches are typically trained on real data that are highly correlated with the test data (e.g., same camera, same object instances, similar lighting conditions).
As a result, one challenge of existing approaches is generalizing to test data that are significantly different from the training set.
</p>
<p>
Synthetic data is a promising alternative for training such deep neural networks, capable of generat- ing an almost unlimited amount of pre-labeled training data with little effort.
Synthetic data comes with its own problems, however. Chief among these is the reality gap, that is, the fact that networks trained on synthetic data usually do not perform well on real data without additional fine-tuning or
othertricks. A recently proposed solution to this problem is domain randomization,in which the training data is randomized in non-realistic ways so that,
at test time, real data appears to the network as simply another variation. Domain randomization has proved successful at detecting colored geometric shapes on a table,
flying a quadcopter indoors, or learning visuomotor control for reaching or pick-and-place of a brightly colored cube.
</p>
<p>
<center>
<img src="img/domain.png" alt="" width="100%" height="100%"/>
</center>
</p>
<!-- Pager -->
<div class="clearfix">
<a class="btn btn-primary float-left" href="post_17_18.html">←Previous Week </a>
<a class="btn btn-primary float-right" href="post_22_24.html">Next Week →</a>
</div>
</div>
</div>
</div>
</article>
<hr>
<!-- Footer -->
<footer>
<div class="container">
<div class="row">
<div class="col-lg-8 col-md-10 mx-auto">
<ul class="list-inline text-center">
<!-- <li class="list-inline-item">
<a href="#">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-twitter fa-stack-1x fa-inverse"></i>
</span>
</a>
</li> -->
<li class="list-inline-item">
<a href="https://www.facebook.com/avinashsen707">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-facebook fa-stack-1x fa-inverse"></i>
</span>
</a>
</li>
<li class="list-inline-item">
<a href="https://github.com/avinashsen707">
<span class="fa-stack fa-lg">
<i class="fa fa-circle fa-stack-2x"></i>
<i class="fa fa-github fa-stack-1x fa-inverse"></i>
</span>
</a>
</li>
</ul>
<p class="copyright text-muted">Copyright 2020 © avinashsen707.github.io</p>
</div>
</div>
</div>
</footer>
<!-- Bootstrap core JavaScript -->
<script src="vendor/jquery/jquery.min.js"></script>
<script src="vendor/bootstrap/js/bootstrap.bundle.min.js"></script>
<!-- Custom scripts for this template -->
<script src="js/clean-blog.min.js"></script>
</body>
</html>