-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
309 lines (309 loc) · 15.2 KB
/
index.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
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Pepijn Kooijmans</title>
<link rel="stylesheet" href="styles.css" />
</head>
<body>
<div class="profile">
<img
src="./images/me.jpeg"
alt="Pepijn Kooijmans"
class="profile-image"
/>
<h1 class="name">Pepijn Kooijmans</h1>
<a href="https://github.com/pkooij" target="_blank" class="social-icon">
<img src="./images/icons8-github.svg" alt="GitHub" />
</a>
<a
href="https://www.linkedin.com/in/pepijn-kooijmans-737545175/"
target="_blank"
class="social-icon"
>
<img src="./images/icons8-linkedin.svg" alt="Linkedin" />
</a>
<a href="https://x.com/pepijn2233" target="_blank" class="social-icon">
<img src="./images/icons8-twitterx.svg" alt="X" />
</a>
<a
href="https://huggingface.co/pepijn223"
target="_blank"
class="social-icon"
>
<img src="./images/icons8-hugging-face.svg" alt="X" />
</a>
</div>
<p class="intro-text">
I am passionated about AI and Robotics. Currently doing my Master's in AI
at the Open University and building robots. Located in the Netherlands.
</p>
<hr />
<div id="viewer"></div>
<hr />
<div class="timeline">
<div class="timeline-event">
<div class="timeline-dot"></div>
<div class="timeline-content">
<img src="./images/openuni.png" class="timeline-image" />
<div>
<h2>2024</h2>
<p>Master in AI at Open University</p>
</div>
</div>
</div>
<div class="timeline-event">
<div class="timeline-dot"></div>
<div class="timeline-content">
<img src="./images/learnbotics.png" class="timeline-image" />
<div>
<h2>2024</h2>
<p>
Building robots for the food industry that are more dexterious,
safe to use by design and make use of foundational robotic models.
</p>
</div>
</div>
</div>
<div class="timeline-event">
<div class="timeline-dot"></div>
<div class="timeline-content">
<img src="./images/openuni.png" class="timeline-image" />
<div>
<h2>2023-2024</h2>
<p>Premaster AI at Open University</p>
</div>
</div>
</div>
<div class="timeline-event">
<div class="timeline-dot"></div>
<div class="timeline-content">
<img src="./images/plantlab.jpeg" class="timeline-image" />
<div>
<h2>2021-2024</h2>
<p>
Software engineer at Plantlab, working on computer-vision\deep
learning in Python and C++. And working with .Net\C# and
React\Typescript
</p>
</div>
</div>
</div>
<div class="timeline-event">
<div class="timeline-dot"></div>
<div class="timeline-content">
<img src="./images/avans.png" class="timeline-image" />
<div>
<h2>2017-2021</h2>
<p>
Bachelor Mechatronics at Avans University of Applied Sciences,
graduated by successfully developing a computer vision product at
PlantLab. Using C++, TensorRT and Triton.
</p>
</div>
</div>
</div>
</div>
<hr />
<div class="blog-posts">
<div class="blog-post">
<h2>RSS 2024</h2>
<p>
In July I went to my first conference: Robotics Science and Systems in
Delft. The experience was inspiring and I met a lot of nice people.
The conference began with a day of workshops, where I chose to
participate in the GenAI workshop. It featured a range of fascinating
discussions on Human-Robot Interaction (HRI) and the use of robotic
foundation models in manipulation, which captured my interest. The
next three days included a lot of networking. I had very nice
conversations with researchers and professionals from various
universities and companies. These days were complemented by more
detailed presentations that spanned a broad array of topics, from
navigation to control systems. This immersive environment helped me
realize that my interests align strongly with manipulation, robot
design, foundation models, HRI, and imitation learning. Entering the
conference, I wasn't sure what to expect, but I was pleasantly
surprised by how much I enjoyed the experience. It was very enjoyable
to be at the forefront of the state of the art and to explore the
unresolved questions that need to be answered. Overall I think the
robotics AI field is the most interesting space right now with a lot
of promises but also still a lot that needs to be figured out and I am
very excited to be part of this!
</p>
<div class="image-row">
<img src="./images/rss1.jpeg" />
<img src="./images/rss2.jpeg" />
<img src="./images/rss3.jpeg" />
</div>
</div>
<div class="blog-post">
<h2>On building robots with 3D printing</h2>
<p>
Building and designing robots require a few different disciplines, CAD
drawing, choosing the right transmission system (motor + gearing),
prototyping with for example 3D printing, electrical design, and
software integration. Luckily while studying Mechatronics I learned
quite a few of these things but applying them in the real world can
still be challenging at times. During prototyping for example, it is
essential to keep in mind the Design for manufacturability (DFM)
aspects, which limit producable shapes and materials. An easy way to
prototype without having the full picture of DFM is making use of 3D
printing, which is currently quite cheap and reliable. To come back to
building robots, a few key aspects are I think important when creating
robots that eventually do useful things in a safe way, utilizing AI.
First of all, it is important that robots are not very expensive. This
is needed because a lot of advances in AI and robotics, especially in
the manipulation area, focus on imitation learning. The data in
imitation learning is largely (besides simulation) coming from
teleoperated episodes. And thus it is a numbers game. More (good) data
is better models and cheaper robots mean more robots for a certain
price, which enables acquiring more data.
<br />
<br />
The second important aspect is ease of use when teleoperating the
robot. If the robot mimics the biology of a human arm in terms of
links and DOF then it is easier for humans to instruct the robot
through intuitive movement and by example. It also gives the
possibility to use internet data of humans moving which can more
easily be mapped to the robot's joints if they are similar to a human
arm.
<br />
<br />
The other aspects should be safety and reliability. Safety is
important if the robot works alongside humans. This usually is
achieved with torque sensors on output shafts or at the end effector.
My personal view is that robots that have less inertia together with
good current sensing of the motor can achieve safety, in a more
cost-effective way than robots with higher gears and dedicated torque
sensors. Reliability on the other hand is possibly harder to achieve
with a cheaper robot. I think here the important thing is choosing
reliable transmission without a lot of moving parts although this of
course is the opposite of what a robot does (it moves, and moves).
<br />
<br />
Furthermore, I built 2 robotic arm prototypes and here I want to share
a few of my lessons learned.
</p>
<p style="font-weight: bold; font-size: 1em">Blue like the sky</p>
<p>
The first robot arm I build was based on the Berkeley Bleu robot arm
[1]. This robot arm adheres to a few principles. It is relatively
cheap, has 7 DOF just like a human arm, has relatively low inertia,
and is easy to manufacture with a 3D printer. I modeled everything in
CAD and began prototyping, taking hints about the design from videos
and from the paper. After a few iterations prototyping, testing,
choosing the right motor controller, more printing, etc. I was able to
put everything together. Below is my version of the Blue robot arm.
</p>
<div class="image-row">
<img src="./images/image4.png" />
<img src="./images/image6.png" />
</div>
<p>
During initial testing however and also once everything was together I
quickly found out that the design, while it's good, is not optimal for
my use case. The differential that is used is very handy, it combines
the torque of two motors for 2 DOFs, however, the gears in the
differential are not very precise when 3D printed. Additionally, the
last DOFs in the arm are overpowered because each module (3 in total)
is the same which helps in simplicity. But because they also use the
same motors the torque in the last DOFs are over-engineered and are
too large for what is needed, besides the increased weight that this
brings is not advantageous. Both these problems are solvable (larger
3D printed gears or metal gears, and smaller motors in the last DOFs),
and with some more thought and adaptation can this design be
transformed into a very capable robot. I however moved towards another
type of robot to learn what tendons can possibly bring. I still want
to give credit to the designers of the Blue robot because it is very
nicely thought out and generates some interesting points and thoughts
on cheap and simple robot design for embodied AI.
</p>
<div class="image-row">
<img src="./images/image8.png" />
</div>
<p style="font-weight: bold; font-size: 1em">
Tendon-driven robots glide and sway, with cable and tension leading
the way.
</p>
<p>
The next exploration in robot design was led by the design of the
dynamic and low inertia robot LIMS I found from IRIM LAB KOREATECH.
This lightweight tendon-driven robot arm is inspiring to watch on
Youtube and its safety by design feature, because of these tendons is
inspiring. However, the first and second iterations look quite hard to
manufacture and assemble as seen in the LIMS1 paper [2] and videos on
YouTube. The third iteration (<a
href="https://www.youtube.com/watch?v=7INPj1hdnyA&t=2s"
>YouTube link</a
>) however looks simpler in both its design and possibly in its
manufacturing. This design features tendons in each of its joints
which is I think somewhat overkill because the shoulder joints don't
reap the benefits such as the arm joints do, which make use of tendons
routed towards the upper arm to bring the weight of the motors more
towards the base. Aside from this design decision, I think the usage
of tendons in the elbow and for the lower arm and wrist are very
cleverly thought out. Thus I went on to try to create a similar design
to learn more about tendons and to find out how hard they actually are
to work with. The LIMS design makes use of a virtual rolling contact
joint for the wrist, which in the last version only consists of two
bar linkage mechanisms, aside from the actuation bar. The other
versions use three linkages and this was also the type I implemented
(see image below). This mechanism is quite elegant, although not very
stiff without strong tendons. I found out that using universal joints
together with 3D printing can deliver quite an easy-to-make and simple
virtual rolling contact joint, compared to a joint that uses bearing
and axis for this connection. Furthermore, to enable motor placement
in the upper arm, the tendons are wired through the elbow via a
mechanism that keeps the tendons the same length when the elbow moves.
This is cleverly designed but requires quite a few pulleys (4 for each
DOF) which makes 16 pulleys in total (2 stationary). The tendons are
connected via a winding pulley to the motors which is a very easy way
to create a transmission that is quite high and has low backlash and
friction. This is very beneficial, but the pain point is in the
tensioning of the tendons. This is harder to do but if managed I think
tendons-driven robotics can for a lower payload offer great
characteristics. In my design, I however didn’t have enough time to
make them work reliably but with enough iterations, I still think they
can be a great way to create a transmission especially when you want
to create low-cost and possibly 3D printed robots.
</p>
<div class="image-row">
<img src="./images/image2.png" />
<img src="./images/image3.png" />
<img src="./images/image5.png" style="width: 17%" />
<img src="./images/image9.png" />
</div>
<br />
<p>
So to conclude I learned a great deal about hardware design,
trade-offs, and design for manufacturability. The more opinionated
look on robot hardware that I developed, helps me in creating new
robotic hardware for use in research and application of embodied AI.
</p>
<br />
<p>
[1] D. V. Gealy, S. McKinley, B. Yi, P. Wu, P. R. Downey, G. Balke, A.
Zhao, M. Guo, R. Thomasson, A. Sinclair, P. Cuellar, Z. McCarthy, and
P. Abbeel, "Quasi-Direct Drive for Low-Cost Compliant Robotic
Manipulation," arXiv preprint arXiv:1904.03815, 2019. [Online].
Available: https://arxiv.org/abs/1904.03815
</p>
<br />
<p>
[2] Y.-J. Kim, "Design of low inertia manipulator with high stiffness
and strength using tension amplifying mechanisms," 2015 IEEE/RSJ
International Conference on Intelligent Robots and Systems (IROS),
2015, pp. 5850-5856. Available:
https://api.semanticscholar.org/CorpusID:15512797
</p>
<div class="image-row">
<img src="./images/image1.png" />
<img src="./images/image7.png" />
<img src="./images/image10.png" />
</div>
</div>
</div>
<script type="module" src="index.js"></script>
</body>
</html>