-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.html
2485 lines (1495 loc) · 211 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
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<!DOCTYPE html>
<html><title>Index</title>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes" />
<link rel="stylesheet" href="https://gutofarias.github.io/braindump/css/main.min.55d8e354cd337604830298ad6ed43482c601df10601fb3a13ac42e813a1ad83e.css"/>
<body><header>
<a href="./" id="logo">
<svg id="Capa_1" enable-background="new 0 0 511.992 511.992" height="512" viewBox="0 0 511.992 511.992" width="512" xmlns="http://www.w3.org/2000/svg"><g><g><g><path d="m256 420.826c0 38.345-11.844 68.545-49.991 68.014-27.744-.385-51.481-15.31-61.853-39.46-1.239-2.887-4.024-4.734-7.154-4.725-.07 0-.135 0-.201 0-47.474 0-75.537-26.171-75.537-73.882 0-5.633.542-11.138 1.568-16.468.62-3.229-.825-6.489-3.671-8.125-35.493-20.432-49.161-46.127-49.161-90.183 0-44.057 13.668-69.757 49.161-90.185 2.846-1.636 4.291-4.896 3.671-8.13-1.026-5.33-1.568-10.83-1.568-16.463 0-47.711 28.064-73.882 75.537-73.882h.201c3.13.009 5.915-1.837 7.154-4.729 10.372-24.145 34.109-39.069 61.853-39.455 38.15-.532 49.991 29.668 49.991 68.013" fill="#ff9eb1"/></g><g><g><g><path d="m256 91.166c0-38.344 11.844-68.545 49.991-68.014 27.744.385 51.481 15.31 61.853 39.46 1.239 2.887 4.024 4.734 7.154 4.724h.201c47.474 0 75.537 26.171 75.537 73.882 0 5.633-.542 11.138-1.568 16.468-.62 3.229.825 6.489 3.671 8.125 35.493 20.434 49.161 46.128 49.161 90.185s-13.668 69.756-49.161 90.185c-2.846 1.636-4.291 4.896-3.671 8.13 1.026 5.33 1.568 10.83 1.568 16.463 0 47.711-28.064 73.882-75.537 73.882h-.201c-3.13-.009-5.915 1.837-7.154 4.729-10.372 24.145-34.109 39.069-61.853 39.455-38.15.531-49.991-29.669-49.991-68.014" fill="#ff7d97"/></g></g><g><g><path d="m502 265.996c-4.193 0-7.984-2.713-9.407-6.636-1.419-3.912-.16-8.459 3.063-11.092 3.291-2.689 8.009-2.99 11.621-.758 3.568 2.205 5.404 6.578 4.478 10.669-1.02 4.501-5.126 7.817-9.755 7.817z"/></g></g></g><g><path d="m340.83 229.18h-58.013v-58.014h-53.634v58.014h-58.013v53.633h58.013v58.013h53.634v-58.013h58.013z" fill="#faf7f5"/></g></g><g><g><path d="m498.468 291.859c-5.141-2.02-10.945.508-12.965 5.648-6.442 16.389-18.055 28.727-37.649 40.005-6.513 3.746-9.932 11.253-8.505 18.689.921 4.783 1.388 9.686 1.388 14.572 0 41.792-22.662 63.882-65.537 63.882h-.225c-.938 0-1.864.074-2.771.217-15.031-4.92-23.796-20.93-19.661-36.479 1.42-5.337-1.757-10.815-7.094-12.234-5.333-1.418-10.814 1.756-12.234 7.094-5.958 22.405 4.241 45.396 23.384 56.443-9.583 17.791-28.602 28.836-50.748 29.145-11.303.146-19.802-2.743-26.011-8.867-9.184-9.057-13.84-25.592-13.84-49.148v-70h16.816c5.522 0 10-4.477 10-10v-48.014h48.014c5.522 0 10-4.477 10-10v-53.632c0-5.523-4.478-10-10-10h-48.014v-48.014c0-5.523-4.478-10-10-10h-16.816v-70c0-23.555 4.657-40.09 13.841-49.148 6.21-6.123 14.696-9.022 26.011-8.867 23.862.332 44.096 13.132 52.803 33.405.218.509.458 1.003.719 1.483-3.225 8.243-9.084 15.093-16.833 19.574-8.993 5.2-19.465 6.581-29.485 3.89-5.337-1.434-10.819 1.73-12.251 7.064-1.433 5.334 1.729 10.819 7.063 12.252 5.074 1.363 10.221 2.037 15.338 2.037 10.2 0 20.272-2.681 29.346-7.928 11.083-6.408 19.607-16.017 24.616-27.575 41.6.67 63.569 22.718 63.569 63.866 0 4.89-.467 9.794-1.389 14.582-1.427 7.426 1.991 14.933 8.502 18.678 19.572 11.267 31.176 23.584 37.625 39.936 1.552 3.934 5.318 6.334 9.306 6.333 1.221 0 2.462-.225 3.666-.7 5.138-2.026 7.66-7.834 5.634-12.972-7.943-20.141-22.201-35.773-44.801-49.086.967-5.521 1.457-11.155 1.457-16.772 0-52.114-31.48-83.391-84.288-83.876-12.157-26.863-38.963-43.753-70.318-44.189-16.67-.232-30.255 4.688-40.332 14.625-3.813 3.76-7.08 8.226-9.797 13.382-2.717-5.156-5.984-9.622-9.797-13.382-10.075-9.937-23.668-14.852-40.333-14.625-31.353.437-58.158 17.325-70.32 44.189-52.807.485-84.286 31.762-84.286 83.876 0 5.617.49 11.253 1.458 16.771-37.422 22.031-52.724 50.552-52.724 98.008 0 47.451 15.299 75.969 52.721 98.006-.967 5.521-1.457 11.154-1.457 16.772 0 52.114 31.48 83.391 84.288 83.876 12.157 26.863 38.963 43.753 70.318 44.189.377.005.751.008 1.125.008 16.172 0 29.358-4.92 39.207-14.632 3.813-3.76 7.08-8.226 9.797-13.382 2.717 5.156 5.984 9.622 9.797 13.382 9.849 9.713 23.034 14.633 39.208 14.632.373 0 .749-.003 1.125-.008 31.352-.436 58.158-17.325 70.32-44.189 52.807-.485 84.286-31.762 84.286-83.876 0-5.617-.49-11.253-1.458-16.772 22.634-13.329 36.901-28.989 44.838-49.178 2.022-5.14-.507-10.945-5.647-12.966zm-215.652-52.679h48.014v33.633h-48.014c-5.522 0-10 4.477-10 10v48.014h-33.633v-48.014c0-5.523-4.477-10-10-10h-48.013v-33.633h48.014c5.523 0 10-4.477 10-10v-48.014h33.633v48.014c-.001 5.523 4.477 10 9.999 10zm-50.657 230.794c-6.21 6.124-14.717 9.018-26.011 8.867-23.862-.331-44.096-13.132-52.803-33.405-.218-.509-.458-1.003-.719-1.483 3.225-8.243 9.085-15.093 16.833-19.574 8.992-5.2 19.463-6.581 29.485-3.89 5.337 1.434 10.819-1.73 12.251-7.064 1.433-5.333-1.73-10.819-7.064-12.251-15.188-4.08-31.059-1.988-44.684 5.891-11.083 6.408-19.607 16.017-24.616 27.575-41.6-.67-63.569-22.718-63.569-63.866 0-4.89.467-9.794 1.389-14.582 1.427-7.427-1.991-14.934-8.502-18.678-32.183-18.528-44.149-40.621-44.149-81.517 0-40.9 11.966-62.994 44.146-81.517 6.513-3.746 9.932-11.253 8.505-18.689-.921-4.783-1.388-9.686-1.388-14.572 0-41.792 22.662-63.882 65.537-63.882h.225c.938 0 1.864-.074 2.771-.217 15.031 4.92 23.796 20.93 19.661 36.479-1.42 5.337 1.757 10.815 7.094 12.234.861.229 1.726.338 2.577.338 4.422 0 8.467-2.956 9.657-7.432 5.958-22.405-4.241-45.396-23.384-56.443 9.583-17.791 28.602-28.836 50.748-29.145 11.267-.15 19.801 2.743 26.011 8.867 9.184 9.057 13.84 25.592 13.84 49.148v70h-16.816c-5.522 0-10 4.477-10 10v48.014h-48.014c-5.522 0-10 4.477-10 10v53.633c0 5.523 4.478 10 10 10h48.014v48.014c0 5.523 4.478 10 10 10h16.816v70c0 23.554-4.657 40.09-13.841 49.147z"/><path d="m139.699 228.227c-6.766 0-13.186 1.514-18.907 4.31-3.049-8.65-8.286-16.485-15.336-22.673-4.151-3.643-10.469-3.233-14.113.918-3.643 4.15-3.232 10.469.918 14.112 6.711 5.891 10.816 14.143 11.498 22.953-1.213 1.914-2.293 3.946-3.225 6.088-1.145 2.633-2.015 5.316-2.615 8.019-13.414 11.422-33.601 10.834-46.225-1.792-3.906-3.904-10.236-3.904-14.143 0-3.905 3.905-3.905 10.237 0 14.143 10.524 10.524 24.354 15.784 38.193 15.784 8.04 0 16.083-1.775 23.484-5.325 1.904 5.443 4.967 10.557 9.136 15.03.596.639 1.204 1.269 1.826 1.891 1.953 1.953 4.512 2.929 7.071 2.929 2.56 0 5.118-.976 7.071-2.929 3.905-3.905 3.905-10.237 0-14.143-.458-.458-.906-.922-1.342-1.389-6.26-6.716-7.799-15.778-4.118-24.241 2.878-6.616 9.86-13.686 20.826-13.686 5.522 0 10-4.477 10-10 .001-5.522-4.476-9.999-9.999-9.999z"/><path d="m387.667 287.543c-3.905 3.905-3.905 10.237 0 14.143 1.953 1.953 4.512 2.929 7.071 2.929s5.118-.976 7.071-2.929c.622-.622 1.23-1.253 1.83-1.896 4.167-4.471 7.229-9.583 9.133-15.025 7.401 3.549 15.444 5.324 23.484 5.324 13.839 0 27.67-5.261 38.193-15.784 3.905-3.905 3.905-10.237 0-14.143-3.906-3.904-10.236-3.904-14.143 0-12.624 12.625-32.811 13.214-46.225 1.792-.6-2.702-1.47-5.386-2.615-8.019-.932-2.142-2.012-4.175-3.225-6.088.682-8.81 4.787-17.062 11.498-22.953 4.15-3.644 4.561-9.962.918-14.112-3.646-4.151-9.964-4.563-14.113-.918-7.05 6.189-12.287 14.023-15.336 22.673-5.721-2.796-12.141-4.31-18.907-4.31-5.523 0-10 4.477-10 10s4.477 10 10 10c10.966 0 17.948 7.07 20.826 13.686 3.681 8.463 2.142 17.525-4.114 24.237-.44.47-.888.935-1.346 1.393z"/></g></g></g></svg>
</a>
<h3 class="site-title">João Gutemberg Braindump</h3><form id="search"
action='https://gutofarias.github.io/braindump/search/' method="get">
<label hidden for="search-input">Search site</label>
<input type="text" id="search-input" name="query"
placeholder="Type here to search">
<input type="submit" value="search">
</form>
</header>
<div class="page" data-level="1">
<div class="content">
<h1 id="hi">Olá!</h1>
<p>Esse site possui um compilado das minhas anotações em caráter de teste.</p>
<p>Para ver um índice das anotações, visite <a href="./posts/">full index</a>.</p>
<p>Para ver a Adaptação do Método de Davies pra Dinâmica, visite <a href="./posts/dynamics_extension_for_davies_method/">Dynamics Extension for Davies Method</a></p>
<p>Have fun!</p>
</div>
</div>
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
<script>
window.store = {
"https:\/\/gutofarias.github.io\/braindump\/": {
"title": "Index",
"tags": [],
"content": "Olá! Esse site possui um compilado das minhas anotações em caráter de teste.\nPara ver um índice das anotações, visite full index.\nPara ver a Adaptação do Método de Davies pra Dinâmica, visite Dynamics Extension for Davies Method\nHave fun!\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/"
},
"https:\/\/gutofarias.github.io\/braindump\/search\/": {
"title": "Index",
"tags": [],
"content": "Olá! Esse site possui um compilado das minhas anotações em caráter de teste.\nPara ver um índice das anotações, visite full index.\nPara ver a Adaptação do Método de Davies pra Dinâmica, visite Dynamics Extension for Davies Method\nHave fun!\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/search\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/2021-06-25\/": {
"title": "2021-06-25",
"tags": [],
"content": "tags :\nTestando Parecer Equiparação ESO - Victor Hugo Após análise do processo 23082.007921/2021-79 que trata de um requerimento de Equiparação de ESO do aluno Victor Hugo Nascimento Cleto, foram feitas as seguinte observações em consonância com a Resolução CEPE 425/2010 e respectiva instrução normativa:\n De acordo com a página 51 do PPC, incluiu-se a possibilidade de equiparação de atividades de extensão e de iniciação científica ao estágio supervisionado. As atividades a serem equiparadas são atividades de extensão já concluídas pelo aluno com carga horária suficiente. As atividades são compatíveis com a formação do aluno no curso de Engenharia Mecânica, contendo assuntos abordados em disciplinas das áreas de Mecânica dos Fluidos, Materiais e Projeto de Maquinas. Diante do exposto, a comissão designada para análise recomenda DEFERIMENTO do pedido.\nA comissão foi composta dos seguintes membros:\n Felipe Orlando Centeno Gonzalez (Presidente) Euclides Apolinário Cabral de Pina João Gutemberg Barbosa de Farias Filho ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/2021-06-25\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/2021-07-08\/": {
"title": "2021-07-08",
"tags": [],
"content": "Ideia sobre ângulos de euler duais Ângulos de Euler Duais de forma que a parte dual dos ângulos consiga retratar a posição do sistema. Isto é, os ângulos de euler duais tratariam de uma vez posição e orientação.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/2021-07-08\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/abaunza2017\/": {
"title": "abaunza2017 | Dual Quaternion Modeling and Control of a Quad-rotor Aerial Manipulator",
"tags": [],
"content": "The work presents modeling and control of a quadcopter with an robotic arm attached, forming a aerial manipulator. Both modeling and control uses dual quaternions. The work is very similar to abaunza_quadrotor_2016 (same authors)\nInfo This contribution presents a modeling technique for an aerial manipulator based on a quad-rotor vehicle provided with a robotic arm. Dual quaternions, which are a little explored but powerful mathematical tool, are proposed as an alternative to the classical Euler angles approach for the kinematic and dynamic modeling. A feedback control law based on dual quaternions is used to validate the proposed model, taking into account the external effects of the robotic limb. Numerical simulations and experiments validate the proposal, opening a path for future research.\nNotes Resumo Trabalho muito similar a abaunza_quadrotor_2016 (inclusive são os mesmos autores). O trabalho apresenta a modelagem e controle de um quadcoptero com um braço acoplado usando quatérnios duais.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/abaunza2017\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/action_graph\/": {
"title": "Action Graph",
"tags": [],
"content": "Start with the Tree Graph with the strings included as dashed edges. Replace each edge by c_i edges in parallel, one for each Constraints of Motion of the relative joint. The replaced edges carry a wrench related to the constraint it adds.\nIf the original edge was a branch, only one parallel edge remains a branch, all the others become strings. If the original edge was a string, all the parallel edges become strings.\nExternal forces and moments should be added as strings going from the support link to the link where the force/moment is being applied.\nThe wrenchs can be constructed by Wrench of a Joint, but at the action graph they should be only refered by a symbol.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/action_graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/action_network_matrix\/": {
"title": "Action Network Matrix",
"tags": [],
"content": "Start from the Cut-Set Matrix (Qa) and replace each element of it with the corresponding wrench (read the OBS) times the value of the element in Qa.\nOBS.: Actually it uses not the whole wrench, just the screw associated with the wrench.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/action_network_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/amininan2017\/": {
"title": "amininan2017 | Explicit Inverse Kinematic Solution for the Industrial FUM Articulated Arm using Dual Quaternion Approach",
"tags": [],
"content": "The paper solves the inverse kinematics of an specific serial 6dof industrial arm using dual quaternions. The direct kinematics equations are derived using DQ and through manipulating the equations they can solve it for the inverse kinematics problem. Nothing too fancy or new.\nInfo The industrial grade FUM articulated arm is a six-axis robot arm, here on referred to as, FUM 6R-20, designed by Ferdowsi University of Mashhad Robotics Lab. In this paper, an explicit inverse kinematics solution for the industrial grade FUM 6R-20 is presented. The dual quaternion, DQ, method is presented. This method uses two quaternions, one for orientation and one for position to represent the kinematics equations of the robot. The DQ method avoids the wrist singularity as a result of the rotation matrices. It is shown that this approach eliminates the wrist singularity and the gimbal lock problem. The Simulink as well as the SolidWorks models of the FUM 6R-20 are also developed. All eight inverse kinematics solutions are obtained. Three random positions and orientations in space are selected and results of the closed-form solutions are verified with the results of both Simulink and SolidWorks software.\nNotes The paper solves the inverse kinematics of an specific serial 6dof industrial arm using dual quaternions. The direct kinematics equations are derived using DQ and through manipulating the equations they can solve it for the inverse kinematics problem. Nothing too fancy or new.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/amininan2017\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/antonello2018\/": {
"title": "antonello2018 | A Dual Quaternion Feedback Linearized Approach for Maneuver Regulation of Rigid Bodies",
"tags": [],
"content": "The work proposes a Maneuver Regulation Feedback Linearization Controller using dual quaternions for a 6Dof free body. The results show better results for the Maneuver Regulation than the Trajectory Tracking.\nInfo The adoption of the dual quaternion formalism to represent the pose (position and orientation) of a rigid body allows to design a single controller to regulate both its position and its attitude. In this letter, we adopt such a pose representation to develop an exponentially stable maneuver regulation control law, ensuring robust path following in the presence of disturbances. The designed solution relies on the feedback linearized model of the dual quaternion based dynamics of the rigid body. Numerical results confirm the effectiveness of the proposed maneuver regulation approach when compared with trajectory tracking in a noisy scenario.\nNotes Resumo The work proposes a Maneuver Regulation Feedback Linearization Controller using dual quaternions for a 6Dof free body. The results show better results for the Maneuver Regulation than the Trajectory Tracking.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/antonello2018\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/article_dual_quaternions_applications\/": {
"title": "Article - Dual Quaternions Applications",
"tags": [],
"content": "Esboço do artigo de revisão que estou fazendo sobre Dual Quaternions Applications.\nIntrodução [0/1] TODO figueredo_robust_2013 A introdução desse trabalho é muito boa\nMedical Applications [0/2] Acho que não vou usar\nTODO birlescu2020 Muito grande. Não li. Só sei que usa os parâmetros de Study e aplica num robô médico paralelo\nTODO husty2019 The authors proposes a new method to parametrize parallel mechanisms using Study parameters, applying it in a mechanism to help in the lower limb rehabilitation process of post-stroke patients.\nVantagens [1/2] DONE Comparação com HTM [3/3] DONE pham2018 The proposed controller is tested using DQ and HTM. The result is that the DQ controller is almost twice as fast to compute.\nDONE yacob2020 The common way to compensate variation is using HTM. Using DQ the modeling of the problem became easier as some steps became unnecessary obtaining the same result. Also, DQ allowed to analize other types of form error which the classical model can not analize.\nDONE mirandadefarias2019 The performance of the algorithm using DQ is compared to using HTM, and the result is favorable to DQ, maybe like 33% less cost in terms of number of operations.\nTODO Técnica usando DQ melhor do que as mais comuns [0/3] TODO wang2018 Method for frame calibration: The result was much favorable to the dual quaternion method when compared to a quaternion method and a Procrustes Analysis. The authors credits the higher precision of dual quaternions due to the fact that it computes rotation and translation coupled, so there is no error propagation when computing one and using the result to compute the other.\nTODO fu2020 The article concludes that the DQ methodology offers higher calibration accurary when compared to existing methods.\nTODO schwung2021 It applies two different neural networks, a DQ Recurrent NN (DQRNN) and a DQ Long Short Term Memory NN (DQLSTM). DQLSTM obtained a higher accuracy than DQRNN and when we compare it with a normal LSTM the DQLSTM got half the root mean square error (RMSE). So it performed really well.\nHyper-Dual Numbers [1/1] DONE cohen2020 The authors applies for the first time Hyper-Dual Quaternions. Finding a compact representation of pose and its derivative in a single element. Being able to compute kinematics and differential kinematics in only one pass.\nOrigami [3/3] DONE cai2016 The authors develop a method to check for the rigid foldability of multi-vertex cylindrical origami using dual quaternions. It\u0026rsquo;s a multi step method, one of the steps uses quaternions and the other uses dual quaternions.\nDONE jianguo2017 The paper studies the rigid foldability of a cylindrical origami with Kresling patterns concluding that it is not rigidly foldable. DQs are used in the method that analyses the ridid foldability.\nDONE wu2010 The work uses the correspondence between single-vertex rigid origami and spherical linkage to model it as quaternions and the correspondence of multi-vertex rigid origami and spatial linkage to model it as dual quaternions.\nDQ Neural Networks [2/2] DONE schilling2019 The author uses Mean of Multiple Computations (MMC) as a hierarchical recurrent neural network to model a redundant robot. The technique generates a lot of simple equations that converge to a feasible solution where there are many ways for the same pose of the end-effector. Using dual quaternions components in the neural network, the author can approximate transformations by interpolation, which is shown to be a great advantage of DQs. At the end, the author shows the viability of the proposed solution applying it to a complex robot consisting of two arms each having 7 DoF.\nDONE schwung2021 The work uses Dual-Quaternions Neural Networks to predict the behavior (physics) of a simulated system of masses inside a box. So the neural network predicts rigid body movement.\nThe authors say that using DQ in a neural network allows to incorporate physical bias into the prediction task. I.e., just by using the DQ we are already favoring the task of rigid body movement prediction, due to how DQ relates to this task.\nIt applies two different neural networks, a DQ Recurrent NN (DQRNN) and a DQ Long Short Term Memory NN (DQLSTM). DQLSTM obtained a higher accuracy than DQRNN and when we compare it with a normal LSTM the DQLSTM got half the root mean square error (RMSE). So it performed really well.\nMachining [2/2] DONE zhao2017 The paper proposes a dual quaternion B-Spline approximation method for using in five-axis CNC machines. The advantages of the method are: reduced computation time, reduced storage consuption, reduced number of control points. Also using the dual quaternionic method can eliminate the fitting oscillatory and solve the parameter synchronization problem simultaneously (no idea what this two mean).\nDONE yacob2020 The authors use DQ to compensate for variations in machining process. The variations are differences between the ideal/projected piece and the obtained through machining. The common way to compensate variation is using HTM. Using DQ the modeling of the problem became easier as some steps became unnecessary obtaining the same result. Also, DQ allowed to analize other types of form error which the classical model can not analize.\nMotion Planning [1/1] DONE oh_study_2017 Alternatively to motion interpolation, oh_study_2017 uses differential geometry and dual curvature theory. The author claims that it makes the expressions simpler and intuitive.\nRobotics [3/4] DONE Dual Robots [2/2] DONE chandra2018 The work uses what I think can be classified as a Dual Robot but they call a Dual-Arm robot. The authors use DQ to describe and control the coordinated motion of the arms of the robot. In order to do that, the work defines three reference frames and uses Relative Jacobians. Also they parametrize the task to be performed by a Virtual Mechanism that conects both arms. It is an interesting idea, since by doing that they can impose restrictions to the robot arms movement by the layout of the virtual mechanism. So by using this, the whole modeling looks like a two chains parallel robot.\nDONE fu2020 DONE SLAM [2/2] DONE cheng2016 Parametrizes the SLAM (Simultaneous Location and Mapping) problem using dual-quaternions instead of HTM. The problem is solved through a graph approach that in the DQ formulation can have DQs in the vertices and in the edges, because DQs can represent both the state and the restrictions. The proposed solution improves the computational performance when compared to the same approach using HTM.\nDONE bultmann2019 SLAM using an DQ unscented filter and using the stero visual data. Não tenho muito a dizer porque não li muito.\nDONE Aerial Manipulator [1/1] DONE abaunza2017 The work presents modeling and control of a quadcopter with an robotic arm attached, forming a aerial manipulator. Both modeling and control uses dual quaternions. The work is very similar to abaunza_quadrotor_2016 (same authors)\nTODO Set-Point Control [0/1] TODO pham2018 The paper implements a set-point controller for an industrial 6DOF robot using Dual Quaternions. The authors computes the direct kinematics using DQ and differential kinematics using DQ as vectors in R8. The error equation is manipulated in order to obtain a matrix times a variable, but the matrix represents the system dynamics. This matrix is then writen in Laplace Domain and becomes a Transference Matrix, so Classic Control techniques can be used. Using this approach, two different control laws are generated using the Jacobian Matrix (which are compared). The authors state that the proposed controllers does not have the best performance, compared to more sophisticated controllers, but it is simple to implement and using Laplace it is possible to tune the controller using dynamic system parameteres as damping factor and natural frequency.\nEstimation [3/3] DONE sveier2018 The author presents a Moving Horizon Estimator for pose estimation using Dual Quaternions. They were able to formulate the cost function in terms of the DQ product and so satisfying the unitaryness constraint. Also they discretize the DQ and used a Caley transform presented in an article of Selig. The resulting estimator was more accurate them DQ-MEKF (DQ Multiplicative Extended Kalman Filter) and T-UKF (Twistor-bases Unscented Kalman Filter) which the author attributes to the moving horizon strategy (so not only the last result is used).\nDONE dong2019 The authors develop a Dual Quaternion based 6-DOF observer and controller. The controller has a PD-like structure. The observer and controller are validated through simulation of a spacecraft in absensce of both translational and angular velocity measurements.\nDONE sveier2020 The authors develop a Dual Quaternion Particle Filter and test it in the pose estimation of a hanging payload using point clouds data from a Kinect. The pose estimation is then validated showing accurate results.\nCalibration [2/2] DONE wang2018 The work proposes a method for calibrating the transformation between the inertial/world frame and the robot frame. It uses a sensor to measure the position of the end-effector and calibrates the dual quaternion resposible to acheive the transformation.\nThe result was much favorable to the dual quaternion method when compared to a quaternion method and a Procrustes Analysis. The authors credits the higher precision of dual quaternions due to the fact that it computes rotation and translation coupled, so there is no error propagation when computing one and using the result to compute the other.\nDONE fu2020 Interesting article about coordinate calibration of dual robots using dual quaternions. The problem itself is very interesting, we have two robot coordinates system, one camera coordinate system and one coordinate system relative to the object being held. So in order to relate all this coordinates systems and assure that they are calibrated, the authors calibrate a hand-eye, a robot-robot and a tool-flange transformations.\nFormation Control [2/2] DONE giribet2021 The authors present a cluster-space formation control and apply it to leader-follower configuration using dual quaternions and reducing steady-state errors when compared to previous works. Experiments are made to validade the formation control using a ground and an aerial vehicles, and using two aerial vehicles.\nDONE huang2017 The work proposes a formation control using dual quaternions, the formation error is controlled through a sliding modes controller and one term is added for collision avoidance using Artificial Potential Function.\nWhole-Body [1/1] DONE silva2018 The papers proposes a whole-body control using Feedback Linearization in a DQ framework. Experiments are made using a nonholonomic mobile ground vehicle with 5-DOF manipulator arm.\nAerospace [4/4] DONE dong2018 The work shows the control of a Rendezvous and Docking process using dual quaternions to describe the kinematics and formulate two restrictions, one for the line of sight of the chaser to the target spacecraft and other to ensure a safe approach path from the chaser to the target in order to not hit any external equipament of the target. The authors use Artificial Potential Functions to formulate the control problem and perform a Lyapunov Stability Analysis.\nDONE valverde2018 The work describes an framework to derive the dynamics of a satellite, but it can be used to a general serial mechanism (at least I think), the proposed framework works with revolute, prismatic, cylindrical, spherical and planar joints. The equations are computed using dual quaternions and Newton-Euler formulation.\nDONE sun2020 Uses dual quaternions to model an eletromagnetic force with applications in satellites. Also derives the dynamics equations of the satellites subject to this force.\nDONE reynolds2020 It uses dual quaternions in the powered descent guidance problem. The article uses several restrictions in the control formulation, it uses a line-of-sight restriction (a new type they call slant-range-triggered line-of-sight), also a restriction as a window for the allowed values of the control effort (propulsion power). The control problem is solved through a nonconvex optimization problem.\nControl [0/0] Erro [1/1] DONE figueredo_robust_2013 Nova métrica de erro\nMPC [1/1] DONE lee_optimal_2015 Citar junto de lee_constrained_2017.\nKinematic Control [1/1] DONE ozgur2016 Tá na parte de Serial Mechanism\nFeedback Linearization [2/2] DONE antonello2018 The work proposes a Maneuver Regulation Feedback Linearization Controller using dual quaternions for a 6Dof free body. The results show better results for the Maneuver Regulation than the Trajectory Tracking.\nDONE silva2018 Backstepping [1/1] DONE stianandersen2018 The work proposes a Backstepping controller for a fully actuated rigid-body using Dual Quaternions. The controller is proved to be asymptotically stable using Lyapunov.\nSliding Modes [2/2] DONE dong2017 A fault-tolerant sliding modes controller using dual quaternions is proposed for a target-pursuer spacecraft tracking. The proposed controller can achieve a few desired properties as tracking error converging to zero within a choosed finite time. The faults can be partial or total actuator power loss, actuator offset and locking. The controller is used in a simulation showing promising results.\nDONE huang2017 \\(H_\\infty\\) [1/1] DONE figueredo_robust_2013 Controle robusto do tipo \\(H_\\infty\\)\nfigueredo_robust_2013 | Robust kinematic control of manipulator robots using dual quaternion representation\nResolved-Acceleration Control [1/1] DONE chandra2020 The authors propose a new controller using Resolved-Acceleration Control (looks like a feedback linearization) for the trajectory tracking of serial robotic manipulators using dual quaternions and based on screw theory. The controller is compared to a uncoupled controller (which separates translation and orientation) getting similar results, actually performed worse on position but better on orientation.\nSerial Mechanism [2/2] DONE ozgur2016 Very interesting article of kinematic modeling and control of robotic arms. It uses a Screw Theory approach to model the kinematics, much like Successive Screws, but using only one frame, doesn\u0026rsquo;t need a convenient frame. Also the metodology is mind opening someway because the authors model the rotations from end-effector to base, and not the opositte, which in my opinion is easier to understand because going from end to base the successive rotations are not carried by the previous rotations.\nDONE amininan2017 The paper solves the inverse kinematics of an specific serial 6dof industrial arm using dual quaternions. The direct kinematics equations are derived using DQ and through manipulating the equations they can solve it for the inverse kinematics problem. Nothing too fancy or new.\nParallel Mechanism [1/1] DONE shabani2021 The authors uses dual quaternions to formulate closure loop equations as a system of multiaffine equations, they then introduce a new branch-and-prune method tailored to this type of equations to solve the system which can reduce computing time up to 2 orders of magnitude compared to traditional approaches.\nDynamics [2/2] DONE valverde2018 The work describes an framework to derive the dynamics of a satellite, but it can be used to a general serial mechanism (at least I think), the proposed framework works with revolute, prismatic, cylindrical, spherical and planar joints. The equations are computed using dual quaternions and Newton-Euler formulation.\nDONE mirandadefarias2019 The work do a performace study on an Recursive Newton-Euler Inverse Dynamics Algorithm using dual quaternions. The algorithm uses Newton-Euler formulation to compute the kinematics and given the desired accelerations and external forces, computes the necessary torques of the motors to drive the system.\nThey use dual quaternions in the kinematics and kinetics, for the inertia they create an inertia function (so not explicitily a matrix). They use a screw theory approach for the kinematics, not using DH.\nThe performance of the algorithm using DQ is compared to using HTM, and the result is favorable to DQ, maybe like 33% less cost in terms of number of operations.\nDesvantagens [0/0] DONE Adicionar as referências lidas. DONE Colocar as referencias no General Overview DONE Colocar no resto do trabalho DONE Coisas a ver no trabalho DONE Ver se no meu trabalho eu faço o uso de q1.q2 = 0 onde q = q1 + eps q2 TODO Fazer as correções de Edson TODO O que fazer sobre a parte de Geometric Modeling Tirar Deixar junto Deixar separado TODO Após o artigo TODO Ler trabalhos de Featherstone citados em ozgur2016 ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/article_dual_quaternions_applications\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/artificial_potential_function\/": {
"title": "Artificial Potential Function",
"tags": [],
"content": "I saw it in an article (huang2017) and it was used for collision avoidance in a formation control. The idea was to add a repulsive field over the spacecrafts. This repulsive field would generate a repulsive force when two spacecrafts were getting close. Then the repulsive force would be added to the control law.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/artificial_potential_function\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/automatic_differentiation\/": {
"title": "Automatic Differentiation",
"tags": [],
"content": "Property of Dual Numbers that if the dual part of the number is the derivative of the real part, it will remain so after algebraic manipulations like sum, product, division, etc.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/automatic_differentiation\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/base_link\/": {
"title": "Base Link",
"tags": [],
"content": "The initial link of a mechanism, it can be the ground.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/base_link\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/better_bibtex_extension_zotero\/": {
"title": "Better Bibtex Extension (Zotero)",
"tags": [],
"content": " source https://retorque.re/zotero-better-bibtex/ Extensão do Zotero\nEssa extensão permite, dentre outras coisas, manter sincronizado um arquivo .bib com as referências. Ou seja, toda vez que adicionar uma referência no zotero ele atualiza meu .bib\nAlém disso permite configurar o formato do citekey gerado. Não sei se será útil pra integrar com as anotações geradas pelo org-noter a partir do ivy-bibtex.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/better_bibtex_extension_zotero\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/birlescu2020\/": {
"title": "birlescu2020 | Joint-Space Characterization of a Medical Parallel Robot Based on a Dual Quaternion Representation of SE(3)",
"tags": [],
"content": "Muito grande. Não li. Só sei que usa os parâmetros de Study e aplica num robô médico paralelo\nInfo The paper proposes a mathematical method for redefining motion parameterizations based on the joint-space representation of parallel robots. The study parameters of SE(3) are used to describe the robot kinematic chains, but, rather than directly analyzing the mobile platform motion, the joint-space of the mechanism is studied by eliminating the Study parameters. From the loop equations of the joint-space characterization, new parameterizations are defined, which enable the placement of a mobile frame on any mechanical element within the parallel robot. A case study is presented for a medical parallel robotic system in which the joint-space characterization is achieved and based on a new defined parameterization, the kinematics for displacement, velocities, and accelerations are studied. A numerical simulation is presented for the derived kinematic models, showing how the medical robot guides the medical tool (ultrasound probe) on an imposed trajectory.\nNotes Resumo Muito grande. Não li. Só sei que usa os parâmetros de Study e aplica num robô médico paralelo\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/birlescu2020\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/body_frame\/": {
"title": "Body Frame",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/body_frame\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/bookmarklet\/": {
"title": "bookmarklet",
"tags": [],
"content": "É adicionado como uma página de favorito porém no lugar de ser uma página em si, é um código em javascript.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/bookmarklet\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/branch_and_prune_method\/": {
"title": "Branch-And-Prune Method",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/branch_and_prune_method\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/branches_in_a_tree_graph\/": {
"title": "Branches in a Tree Graph",
"tags": [],
"content": "When performing a Transforming a graph into a tree, the branches are the edges that stay on the graph forming the tree.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/branches_in_a_tree_graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/brodsky_dual_1994\/": {
"title": "brodsky_dual_1994 | The Dual Inertia Operator and Its Application to Robot Dynamics",
"tags": [],
"content": "Info Notes ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/brodsky_dual_1994\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/brodsky_dual_1999\/": {
"title": "brodsky_dual_1999 | Dual numbers representation of rigid body dynamics",
"tags": [],
"content": "Info A three-dimensional representation of rigid body dynamic equations becomes possible by introducing the dual inertia operator. This paper generalizes this result and by using motor transformation rules and the dual inertia operator, gives a general expression for the three-dimensional dynamic equation of a rigid body with respect to an arbitrary point.\nNotes ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/brodsky_dual_1999\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/bultmann2019\/": {
"title": "bultmann2019 | Stereo Visual SLAM Based on Unscented Dual Quaternion Filtering",
"tags": [],
"content": "SLAM using an DQ unscented filter and using the stero visual data. Não tenho muito a dizer porque não li muito.\nInfo We present DQV-SLAM (Dual Quaternion Visual SLAM). This novel feature-based stereo visual SLAM framework uses a stochastic filter based on the unscented transform and a progressive Bayes update, avoiding linearization of the nonlinear spatial transformation group. 6-DoF poses are represented by dual quaternions where rotational and translational components are stochastically modeled by Bingham and Gaussian distributions. Maps represented by point clouds of ORB-features are incrementally built and landmarks are updated with an unscented transform-based method. In order to get reliable measurements during the update, an optical flow-based approach is proposed to remove false feature associations. Drift is corrected by pose graph optimization once loop closure is detected. The KITTI and EuRoC datasets for stereo setup are used for evaluation. The performance of the proposed system is comparable to stateof-the-art optimization-based SLAM systems and better than existing filtering-based approaches.\nNotes Resumo SLAM using an DQ unscented filter and using the stero visual data. Não tenho muito a dizer porque não li muito.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/bultmann2019\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cai2016\/": {
"title": "cai2016 | The Foldability of Cylindrical Foldable Structures Based on Rigid Origami",
"tags": [],
"content": "The authors develop a method to check for the rigid foldability of multi-vertex cylindrical origami using dual quaternions. It\u0026rsquo;s a multi step method, one of the steps uses quaternions and the other uses dual quaternions.\nInfo Foldable structures, a new kind of space structures developed in recent decades, can be deployed gradually to a working configuration, and also can be folded for transportation, thus have potentially broad application prospects in the fields of human life, military, aerospace, building structures and so on. Combined with the technology of origami folding, foldable structures derive more diversified models, and the foldable structures in cylindrical shape are mainly studied in this paper. Some researchers use the theory of quaternion representing spatial fixed-point rotation and construct the rotating vector model to obtain the quaternion rotation sequence method (QRS method) analyzing origami, but the method is very limited and not suitable for the cylindrical foldable structures. In order to solve the problem, a new method is developed, which combines the QRS method and the dual quaternion method. After analyzing the folding angle via the QRS method for multi-vertex crease system and calculating the coordinates of all vertices via the dual quaternion, the rigid foldability can be checked. Finally, two examples are carried out to confirm validity and versatility of the method.\nNotes Resumo The authors develop a method to check for the rigid foldability of multi-vertex cylindrical origami using dual quaternions. It\u0026rsquo;s a multi step method, one of the steps uses quaternions and the other uses dual quaternions.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cai2016\/"
},
"https:\/\/gutofarias.github.io\/braindump\/categories\/": {
"title": "Categories",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/categories\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/chandra2018\/": {
"title": "chandra2018 | Dual-Arm Coordination Using Dual Quaternions and Virtual Mechanisms",
"tags": [],
"content": "The work uses what I think can be classified as a Dual Robot but they call a Dual-Arm robot. The authors use DQ to describe and control the coordinated motion of the arms of the robot. In order to do that, the work defines three reference frames and uses Relative Jacobians. Also they parametrize the task to be performed by a Virtual Mechanism that conects both arms. It is an interesting idea, since by doing that they can impose restrictions to the robot arms movement by the layout of the virtual mechanism. So by using this, the whole modeling looks like a two chains parallel robot.\nInfo A novel approach to the kinematic coordination problem for dual-arm robots and for the definition of bimanual tasks is proposed, where both modelling and control aspects of the problem are handled using dual quaternion representation of pose and screw-based manipulator Jacobian. The proposed formulation is advantageous in terms of computation and storage efficiency compared to other formulations of dual-arm manipulator forward kinematics and Jacobian computation. Unit dual quaternion representation is also capable of avoiding representational singularities related to orientation.\nNotes Resumo The work uses what I think can be classified as a Dual Robot but they call a Dual-Arm robot. The authors use DQ to describe and control the coordinated motion of the arms of the robot. In order to do that, the work defines three reference frames and uses Relative Jacobians which I didn\u0026rsquo;t understand very well (looks like a normal jacobian but maybe the jacobian of a relative motion of two frames). Also they parametrize the task to be performed by a Virtual Mechanism that conects both arms. It is an interesting idea, since by doing that they can impose restrictions to the robot arms movement by the layout of the virtual mechanism. So by using this, the whole modeling looks like a two chains parallel robot.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/chandra2018\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/chandra2020\/": {
"title": "chandra2020 | Resolved-Acceleration Control of Serial Robotic Manipulators Using Unit Dual Quaternions",
"tags": [],
"content": "The authors propose a new controller using Resolved-Acceleration Control (looks like a feedback linearization) for the trajectory tracking of serial robotic manipulators using dual quaternions and based on screw theory. The controller is compared to a uncoupled controller (which separates translation and orientation) getting similar results, actually performed worse on position but better on orientation.\nCita bastante ozgur2016 e também três trabalhos de Featherstone que seriam importantes de se ler pois embasam o uso de vetores em 6d e uma separação entre acelaração convencional e aceleração espacial (a espacial seria a derivada da velocidade dual)\nInfo Notes Resumo The authors propose a new controller using Resolved-Acceleration Control (looks like a feedback linearization) for the trajectory tracking of serial robotic manipulators using dual quaternions and based on screw theory. The controller is compared to a uncoupled controller (which separates translation and orientation) getting similar results, actually performed worse on position but better on orientation.\nCita bastante ozgur2016 e também três trabalhos de Featherstone que seriam importantes de se ler pois embasam o uso de vetores em 6d e uma separação entre acelaração convencional e aceleração espacial (a espacial seria a derivada da velocidade dual)\nTask Space Joint Space\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/chandra2020\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cheng2016\/": {
"title": "cheng2016 | Dual quaternion-based graphical SLAM",
"tags": [],
"content": "Parametrizes the SLAM (Simultaneous Location and Mapping) problem using dual-quaternions instead of HTM. The problem is solved through a graph approach that in the DQ formulation can have DQs in the vertices and in the edges, because DQs can represent both the state and the restrictions. The proposed solution improves the computational performance when compared to the same approach using HTM.\nInfo This paper presents a new parameterization approach for the graph-based SLAM problem and reveals the differences of two popular over-parameterized ways in the optimization procedure. In the SALM problem, constraints or relative transformations between any two poses are generally separated into translations plus 3D rotations, which are then described in a homogeneous transformation matrix (HTM) to simplify computational operations. This however introduces added complexities in frequent conversions between the HTM and state variables, due to their different representations. This new approach, unit dual quaternion (UDQ), describes a spatial transformation as a screw with only 8 elements. We show that state variables can be directly represented by UDQs, and how their relative transformations can be written with the UDQ product, without the trivial computations of HTM. Then, we explore the performances of the unit quaternion and the axis extendash angle representations in the graph-based SLAM problem, which have been successfully applied to over parameterize perturbations under the assumption of small errors. Based on public synthetic and real-world datasets in 2D and 3D environments, experimental results show that the proposed approach reduces greatly the computational complexity while obtaining the same optimization accuracies as the HTM-based algorithm, and the axis extendash angle representation is superior to be the quaternion in the case of poor initial estimations.\nNotes Resumo Parametriza o problema chamado de SLAM (Simultaneous Location and Mapping) usando quatérnios duais no lugar de matrizes de transformação homogêneas. O problema é tratado por meio da abordagem de grafo que, nesse caso, usa quatérnios duais nos vértices e arestas, pois conseguem representar tanto os estados como as restrições. A resolução proposta melhora consideravelmente a performance computacional usando quatérnios duais quando comparado com HTM.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cheng2016\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/circuits_matrix\/": {
"title": "Circuits Matrix",
"tags": [],
"content": "Each column relates to an edge of the Motion Graph, so there are as many columns as edges. For each Networks Graph there should be a row in the matrix. The contents of each row is derived by applying Kirchhoff Voltage Law.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/circuits_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/closed_kinematic_chain\/": {
"title": "Closed Kinematic Chain",
"tags": [],
"content": "kinematic chains in which the start link is the end link. The kinematic chain makes a loop, generating a Closure Loop Equation.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/closed_kinematic_chain\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/closed_kinematic_chain_system\/": {
"title": "Closed Kinematic Chain System",
"tags": [],
"content": "A Parallel Mechanism composed of closed kinematic chains but without a well defined (at least visually) End-Effector.\nExamples are: 4 bars, biela-manivela, plaina-limadora.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/closed_kinematic_chain_system\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/closure_loop_equations\/": {
"title": "Closure Loop Equations",
"tags": [],
"content": "Kinematic loop equations of parallel mechanisms. They receive that name because the equations starts and ends at the same link.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/closure_loop_equations\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cohen2020\/": {
"title": "cohen2020 | Hyper Dual Quaternions representation of rigid bodies kinematics",
"tags": [],
"content": " tags Dual Quaternions Applications O artigo faz uso de Hyper-Dual Quaternions pela primeira vez no cálculo da cinemática de mecanismos. Antes tinhamos os números hiper duais e matrizes hiper duais. O resultado mostra uma forma compacta de descrever o movimento e de menos uso computacional que matrizes hiper duais. Usando HDQ, calculamos posição e rotação junto com velocidade linear e angular no mesmo quatérnio hiper dual.\nInfo Notes Resumo O artigo faz uso de Hyper-Dual Quaternions pela primeira vez no cálculo da cinemática de mecanismos. Antes tinhamos os números hiper duais e matrizes hiper duais. O resultado mostra uma forma compacta de descrever o movimento e de menos uso computacional que matrizes hiper duais. Usando HDQ, calculamos posição e rotação junto com velocidade linear e angular no mesmo quatérnio hiper dual.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cohen2020\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cohen_application_2015\/": {
"title": "cohen_application_2015 | Application of Hyper-Dual Numbers to Multibody Kinematics",
"tags": [],
"content": "Info Notes ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cohen_application_2015\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/collision_avoidance\/": {
"title": "Collision Avoidance",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/collision_avoidance\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/considerations_of_using_hyper_dual_quaternions_vectors_davies_method_for_dynamics\/": {
"title": "Considerations of using Hyper-Dual Quaternions\/Vectors - Davies Method for Dynamics",
"tags": [],
"content": "Hyper-Dual Quaternions | Hyper-Dual Vectors\nThe kinematics using Davies Method is computed for the velocity. But dynamics needs acceleration. In order to obtain that we will use hyper-dual quantities.\nFor example, when describing a dual veclocity as a dual vector, we have:\n\\[ \\nu = \\omega + \\epsilon \\, v \\]\nThis has the information of the angular velocity and linear velociy. We extend that using the property of Automatic Differentiation to:\n\\[ \\check{\\nu} = (\\omega + \\epsilon \\, v) + \\check{\\epsilon} \\, (\\dot{\\omega} + \\epsilon \\, \\dot{v}) = \\nu + \\check{\\epsilon} \\, \\dot{\\nu} \\]\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/considerations_of_using_hyper_dual_quaternions_vectors_davies_method_for_dynamics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/considerations_over_the_inertia_matrix_davies_method_for_dynamics\/": {
"title": "Considerations over the inertia matrix - Davies Method for Dynamics",
"tags": [],
"content": "We are using all the efforts in the inertial reference frame, so the inertia matrix should be writen in that same frame. One problem arrises, the inertia matrix is not constant in the inertial frame, but it is so in an appropriate mobile frame. So we go frame from the mobile frame and transform it to the inertial frame. I.e.,\n\\[ {_I}I_{i} = R^T_i \\, {_{Bi}I_{i} \\]\nwhere \\(i\\) refers to one of the links.\nWe are using \\(R\\) as a transformation matrix. But maybe we should use \\(q\\) and \\(q^*\\) in order to remain in the quaternion world.\nThe derivative of the inertia matrix is computed by:\n\\[ {_I}\\dot{I}_{i} = \\Omega_i \\, R^T_i \\, {_{Bi}I_{i} \\]\nwhere \\(\\Omega_i\\) is the anti-simmetrical matrix equivalent to a vectorial product of the angular velocity \\(\\vec{\\omega}_i\\). This term comes from the derivative of the transformation matrix.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/considerations_over_the_inertia_matrix_davies_method_for_dynamics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/constraints_of_motion\/": {
"title": "Constraints of Motion",
"tags": [],
"content": "When we analise a system or a joint, it has an allowed motion, which are the degrees of freedom. The motion that is not allowed is then constrained. For each translation motion constrained there should be a force and for each rotation motion constrained there should be a torque/moment.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/constraints_of_motion\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/convenient_frame\/": {
"title": "Convenient Frame",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/convenient_frame\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cost_function\/": {
"title": "Cost Function",
"tags": [],
"content": "It appears in optimization problems and is the function whose value we want to optimize. When we call it cost function usually we mean that we want to minimize its value. This function has to be a measure of performance somehow, meaning that the lower the value the higher the system performance.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cost_function\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/coupled_equations_matrix\/": {
"title": "Coupled Equations Matrix",
"tags": [],
"content": "Matrix in which each column uses the Vector of System Parameters as reference and each row is given by one coupled equation between Kinematics and Statics. Usually this equation is in the form of a viscous friction. The equations should be in the form \\(something = 0\\).\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/coupled_equations_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/coupling_graph\/": {
"title": "Coupling Graph",
"tags": [],
"content": "The coupling graph is a graph created by arranging every joint in a node and every link in an edge.\nIt is a directional graph. The direction can be choose using an arbitrary rule (like pointing to the higher number edge). The direction will determine the positivity of the equations latter on.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/coupling_graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cut_set_matrix\/": {
"title": "Cut-Set Matrix",
"tags": [],
"content": "The cut-set forms a matrix where each column relates to an edge of the Action Graph, so there are as many columns as edges.\nFor each row we cut one branch and assess the positiveness of the cutted elements. Each column in the row is either +1 if the respective element was cutted positively, -1 if cutted negativelly and 0 if not cutted.\nThere is one row for each branch in the Coupling Graph.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cut_set_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/cutting_a_tree_graph\/": {
"title": "Cutting a Tree Graph",
"tags": [],
"content": "Take a line cut in the Action Graph (straight or curved) that cuts only one branch but separates the graph in two parts. Strings can be cutted freely.\nPositiviness of the cutted parts can be found here.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/cutting_a_tree_graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/davies_method\/": {
"title": "Davies Method",
"tags": [],
"content": "Davies Method is a method for computing the differential kinematics and statics of a general mechanical system using Graph Theory, Screw Theory and Plucker Coordinates.\nStart with a Closed Kinematic Chain System (can be used with a Open Kinematic Chain System but it requires virtual links and joints) then follow the procedure\nEnumerate the joints and links Use letters for the joints and numbers for the links. The earth or support should be number 0 or 1 (when there is no 0).\nBuild a Coupling Graph Build a Tree Graph by transforming the coupling graph into a tree. Account for the number os branches (k) and the number of strings (v) in the final tree.\nEvalute the degrees of freedom (f) and constraints (c) of each joint. Kinematic Analysis Build the Motion Graph Build the Networks Graph Build the Circuits Matrix (B) Define the twists of the edges by Twist of a Joint. Build the Direct Twists Matrix (M_D) Acho esse passo desnecessário, dá pra construir M_N sem M_D.\nBuild the Motion Network Matrix (M_N) Define the Vector of Motion Parameters (\\(\\varphi_M\\)) The Kinematics realtions can be found by: \\[M_N \\ \\varphi_M = 0\\]\nStatics Analysis Build the Action Graph Build the Cut-Set Matrix (Q_a) Define the wrenches of the edges by Wrench of a Joint. Build the Direct Wrenches Matrix (A_D) Acho esse passo desnecessário, dá pra construir A_N sem A_D.\nBuild the Action Network Matrix (A_N) Define the Vector of Action Parameters (\\(\\varphi_A\\)) The Statics relations can be found by: \\[A_N \\ \\varphi_A = 0\\]\nCoupling Between Kinematics and Statics There may be a coupling between kinematics and statics, much like in the form of a viscous friction.\nSolving the System Build the Vector of System Parameters (\\(\\varphi\\)) Build the Coupled Equations Matrix (\\(C_{T\\omega}\\)) Build the System Matrix (\\(M_S\\)) The combined equation for Kinematics and Statics can be found by: \\[M_S \\ \\varphi = 0\\]\nArrange the known parameters to the other side Localize the known variables Extract the respective column of the known variables and negate it to the other side of the equation. Now you have: \\(\\varphi^*:\\) \\(\\varphi\\) without the extracted variables. \\(M_S^* :\\) \\(M_S\\) without the columns related to the extracted variables. \\(b_S:\\) Other side of the equation with the extracted varibles combined. Solve the resulting linear system to compute the Kinematics and Statics \\[M_S^* \\ \\varphi^* = b_s\\]\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/davies_method\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/deft\/": {
"title": "Deft",
"tags": [],
"content": " sources https://github.com/jrblevin/deft, https://jblevins.org/projects/deft/ Ferramenta que permite pesquisar as notas de uma pasta (escolhi a pasta do org-roam) de forma fuzzy. A pesquisa inclui nome, path e conteúdo.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/deft\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/degrees_of_freedom\/": {
"title": "Degrees of Freedom",
"tags": [],
"content": "Refers to the freedom of motion of a system or joint. It is usually described as a subset from the allowed motions of a freebody in space, being it 3 independent translations and 3 independent rotations. When dealing with a system in the plane we consider only 3 allowed motions, 2 independent translations and 1 rotation.\nWhen talking about a joint, it may allow a relative motion between the two or more conected links. The allowed relative motions are the degrees of freedom of the joint.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/degrees_of_freedom\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/difference_of_the_approach_to_dynamics_in_force_analysins_davies_method_for_dynamics\/": {
"title": "Difference of the approach to Dynamics in Force Analysins - Davies Method for Dynamics",
"tags": [],
"content": "Check out Understanding Davies Method\u0026rsquo;s statics analysis first.\nIn dynamics calculations we need to perform the sum of forces and moments acting in each individual body. So for each link/node we compute the sum of forces and moments acting in the link.\nAlso, we need to chose a point in order to calculate the external moments. For simplicity, the point should be the center of mass of the link.\nIn order to do that, we first build an Action Graph and make a \u0026ldquo;circular cut\u0026rdquo; in every node to account for all efforts acting on the node/link. Each node will generate one equation.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/difference_of_the_approach_to_dynamics_in_force_analysins_davies_method_for_dynamics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/difference_of_the_approach_to_dynamics_on_the_kinematic_analysis_davies_method_for_dynamics\/": {
"title": "Difference of the approach to Dynamics on the Kinematic Analysis - Davies Method for Dynamics",
"tags": [],
"content": "Check out Understanding Davies Method\u0026rsquo;s kinematic analysis first.\nTo deal with dynamics, we can not reference the origin of the system, we need to reference the center of mass of each of the links. Also, we can not make a Closed Kinematic Chain equation, as the kinematics of a link depends only on the previous joints, not on the next ones.\nSo in order to compute the kinematics of a link we use the the Coupling Graph and make a graph trajectory going from the base link (origin of the system) to the link whose kinematics we are calculating. We take into account all the joints in this trajectory.\nGoing through each joint we are summing up the twists of the joint relative to the center of mass of the link. The result is the kinematics of link\u0026rsquo;s center of mass, which is the information we need in a Dynamics analysis.\nWhen dealing with a Closed Kinematic Chain System, there is more than one trajectory to get from the Base Link to the link whose kinematics we are calculating. We choose one trajectory and use it. The ambiguity will be taken care of after when we analyse the relations between the joints.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/difference_of_the_approach_to_dynamics_on_the_kinematic_analysis_davies_method_for_dynamics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/differential_geometry\/": {
"title": "Differential Geometry",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/differential_geometry\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/differential_kinematics\/": {
"title": "Differential Kinematics",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/differential_kinematics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/direct_kinematics\/": {
"title": "Direct Kinematics",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/direct_kinematics\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/direct_twists_matrix\/": {
"title": "Direct Twists Matrix",
"tags": [],
"content": "Matrix created by arranging each respective twist (read the OBS) in a column, following the order of columns of the Circuits Matrix.\nOBS.: Actually it uses not the whole twist, just the screw associated with the twist.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/direct_twists_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/direct_wrenches_matrix\/": {
"title": "Direct Wrenches Matrix",
"tags": [],
"content": "Is a matrix created by arranging each respective wrench (read the OBS) in a column, following the order of columns of the Cut-Set Matrix.\nOBS.: Actually it uses not the whole wrench, just the screw associated with the wrench.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/direct_wrenches_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/directed_edge\/": {
"title": "Directional Edge",
"tags": [],
"content": "Edge that points to a node by having an arrow.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/directed_edge\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/directed_graph\/": {
"title": "Directional Graph",
"tags": [],
"content": "Graph where the edges are directional.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/directed_graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dong2017\/": {
"title": "dong2017 | Dual-Quaternion-Based Fault-Tolerant Control for Spacecraft Tracking With Finite-Time Convergence",
"tags": [],
"content": "A fault-tolerant sliding modes controller using dual quaternions is proposed for a target-pursuer spacecraft tracking. The proposed controller can achieve a few desired properties as tracking error converging to zero within a choosed finite time. The faults can be partial or total actuator power loss, actuator offset and locking. The controller is used in a simulation showing promising results.\nInfo Results are presented for a study of dual extendash quaternion-based fault-tolerant control for spacecraft tracking. First, a six-degrees-of-freedom dynamic model under a dualquaternion-based description is employed to describe the relative coupled motion of a target-pursuer spacecraft tracking system. Then, a novel fault-tolerant control method is proposed to enable the pursuer to track the attitude and the position of the target even though its actuators have multiple faults. Furthermore, based on a novel time-varying sliding manifold, finite-time stability of the closed-loop system is theoretically guaranteed, and the convergence time of the system can be given explicitly. Multiple-task capability of the proposed control law is further demonstrated in the presence of disturbances and parametric uncertainties. Finally, numerical simulations are presented to demonstrate the effectiveness and advantages of the proposed control method.\nNotes Resumo A fault-tolerant sliding mode controller using dual quaternions is proposed for a target-pursuer spacecraft tracking. The proposed controller can achieve a few desired properties as tracking error converging to zero within a choosed finite time. The faults can be partial or total actuator power loss, actuator offset and locking. The controller is used in a simulation showing promising results.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dong2017\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dong2018\/": {
"title": "dong2018 | Dual-Quaternion-Based Spacecraft Autonomous Rendezvous and Docking Under Six-Degree-of-Freedom Motion Constraints",
"tags": [],
"content": " tag Article - Dual Quaternions Applications The work shows the control of a Rendezvous and Docking process using dual quaternions to describe the kinematics and formulate two restrictions, one for the line of sight of the chaser to the target spacecraft and other to ensure a safe approach path from the chaser to the target in order to not hit any external equipament of the target. The authors use Artificial Potential Functions to formulate the control problem and perform a Lyapunov Stability Analysis.\nInfo Notes Resumo O trabalho mostra o controle do processo de Rendezvous e Docking usando quatérnios duais para formular duas restrições, uma que é manter a linha de vista entre o chaser e o target e a outra é garantir uma trajetória segura de aproximação, para não bater em nenhum componente do target. Os autores usam Artificial Potential Functions para formular o problema de controle e provam a estabilidade por Lyapunov.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dong2018\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dong2019\/": {
"title": "dong2019 | Partial Lyapunov Strictification: Dual-Quaternion-Based Observer for 6-DOF Tracking Control",
"tags": [],
"content": "The authors develop a Dual Quaternion based 6-DOF observer and controller. The controller has a PD-like structure. The observer and controller are validated through simulation of a spacecraft in absensce of both translational and angular velocity measurements.\nInfo Based on the dual-quaternion description, a smooth six-degree-of-freedom observer is proposed to estimate the incorporating linear (translational) and angular velocity, called the dual-angular velocity, for rigid bodies. To establish the observer, some important properties of dual vectors and dual quaternions are presented and proved, additionally, the kinematics of dualtransformation matrices is deduced, and the transition relationship between dual quaternions and dual transformation matrices is subsequently analyzed. An important feature of the observer is that all estimation states are ensured to be C{\\(infty\\)} continuous, and estimation errors are shown to exhibit asymptotic convergence if the signals to be estimated are bounded. Furthermore, to achieve tracking control objectives, the proposed observer is combined with an independently designed proportional-derivative-like feedback control law (using full-state feedback), and a special Lyapunov ``strictification\u0026rsquo;\u0026rsquo; process is employed to ensure a separation property between the observer and the controller, which further guarantees almost global asymptotic stability of the closed-loop tracking error dynamics. Numerical simulation results for a prototypical spacecraft pose tracking mission application are presented to illustrate the effectiveness and robustness of the proposed method.\nNotes Resumo The authors develop a Dual Quaternion based 6-DOF observer and controller. The controller has a PD-like structure. The observer and controller are validated through simulation of a spacecraft in absensce of both translational and angular velocity measurements.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dong2019\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_angles\/": {
"title": "Dual Angles",
"tags": [],
"content": "Are an extension of angles to a dual number. Dual angles can encompass a rotation and a translation. So it can represent a line transformation like rotate around an axis an translating along the same axis.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_angles\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_curvature_theory\/": {
"title": "Dual Curvature Theory",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_curvature_theory\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_derivative_operator\/": {
"title": "Dual Derivative Operator",
"tags": [],
"content": "brodsky_dual_1994 criou.\nÉ criado o operador \\(d\\epsilon\\) para agir como uma derivada em relação a \\(\\epsilon\\) (Dual Operator). O seu efeito é fazer o contrário do que o epsilon faz, passa uma quantidade da parte dual para a parte real.\nWhen applied to the real part, the operator makes it 0. As an \\(\\epsilon\\) does not exist in this part, the derivative of this part in relation to \\(\\epsilon\\) is zero.\nAnother way to think of it is as taking one vector from being a Line Vector to a Pure Vector.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_derivative_operator\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_euler_angles\/": {
"title": "Dual Euler Angles",
"tags": [],
"content": "Extension for Euler Angles that treats both position and orientation simultaneously.\nIdea I had. Dont know if some one has already thought of it.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_euler_angles\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_lagrange_equation\/": {
"title": "Dual Lagrange Equation",
"tags": [],
"content": "brodsky_dual_1999\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_lagrange_equation\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_mass\/": {
"title": "Dual Mass",
"tags": [],
"content": "brodsky_dual_1994 criou.\n\\[ M_i = {_I}I_{i} \\, \\epsilon + m_{i} \\, d\\epsilon \\]\nWhere: \\(\\epsilon\\) is the Dual Operator and \\(d\\epsilon\\) is the Dual Derivative Operator.\nNote that the dual mass also work like a Dual Swap Operator.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_mass\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_numbers\/": {
"title": "Dual Numbers",
"tags": [],
"content": "It is like a complex number but instead of an i (imaginary number) we have an \\(\\epsilon\\) having the properties of \\(\\epsilon^2 = 0\\) and it commutes freely with real numbers. So a dual number has a real part and a dual part, like \\(5 + \\epsilon \\, 6\\).\n\\(\\epsilon\\) can also be thougth as a Dual Operator.\nAll sorts of interesting stuff arrives from this simple property, like Dual Angles.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_numbers\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_operator\/": {
"title": "Dual Operator",
"tags": [],
"content": "In Dual Numbers the \\(\\epsilon\\) can be thougth of as an operator that takes a quantity from the Real Part and puts it on the Dual Part. Of course when the operator acts on a quantity in the dual part, it turns it to zero because \\(\\epsilon^2 = 0\\).\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_operator\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_part\/": {
"title": "Dual Part",
"tags": [],
"content": "The dual part of a dual quantity (like a Dual Number) is the part multiplied by \\(\\varepsilon\\).\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_part\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_quaternions_applications\/": {
"title": "Dual Quaternions Applications",
"tags": [],
"content": "Nota pra fazer esboço da continuação do artigo de aplicações de quaternios duais.\nSerá útil para ajudar na construção do Article - Dual Quaternions Applications\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_quaternions_applications\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_robots\/": {
"title": "Dual Robots",
"tags": [],
"content": "Dual robots are two robots working together to accomplish a task. We can have a robot holding an object and another with an end-effector acting in the object.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_robots\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_swap_operator\/": {
"title": "Dual Swap Operator",
"tags": [],
"content": "If we combine the Dual Operator and the Dual Derivative Operator we can build a dual swap operator by:\n\\[ (\\epsilon + d\\epsilon) (a + \\epsilon\\, b) = b + \\epsilon \\, a \\]\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_swap_operator\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_transformation_matrix\/": {
"title": "Dual Transformation Matrix",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_transformation_matrix\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_vector\/": {
"title": "Dual Vector",
"tags": [],
"content": "Vector whose each component is a Dual Numbers. Also, can be thought of being two vectors, one real and another dual.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_vector\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dual_quaternions_neural_networks\/": {
"title": "Dual-Quaternions Neural Networks",
"tags": [],
"content": "In this type of Neural Network neurons, weights and bias become dual quaternions instead of scalar values.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dual_quaternions_neural_networks\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/dynamics_extension_for_davies_method\/": {
"title": "Dynamics Extension for Davies Method",
"tags": [],
"content": "Idea I had for extending Davies Method which works only for Differential Kinematics and Statics. I wish to extend the formulation to include Dynamics.\nMy idea is to go through Hyper-Dual Quaternions. But I should take a look at Screw Calculus as well.\nStart with a mechanism or robot (can be either a Open Kinematic Chain System or a Closed Kinematic Chain System)\nEnumerate the joints and links Use letters for the joints and numbers for the links. The earth or support should be number 0 or 1 (when there is no 0).\nBuild the Coupling Graph Evalute the degrees of freedom (f) and constraints (c) of each joint. Considerations Joints taken in succession - Davies Method for Dynamics Kinematic Analysis Understanding Davies Method\u0026rsquo;s kinematic analysis Difference of the approach to Dynamics Build the Motion Graph In this case the motion graph does not need to take into account the tree configuration.\nFor each link Choose a graph trajectory The graph trajectory should go from the Base Link to the link in consideration.\nConsiderations of using Hyper-Dual Quaternions/Vectors Define the Hyper-Dual Twist of the edges using Hyper-Dual Twist of a Joint. Compute the twists relative to the center of mass of the link Remember you only need the twist of previous joints.\nSum up the hyper-dual twists to obtain the kinematics of the center of mass of the link Forces Analysis Understanding Davies Method\u0026rsquo;s statics analysis Difference of the approach to Dynamics in Force Analysins - Davies Method for Dynamics Build the Action Graph In this case the motion graph does not need to take into account the tree configuration.\nFor each link (using the same sequence of the kinematic analysis) Make a \u0026ldquo;circular cut\u0026rdquo; in the equivalent graph node to account for the efforts acting in the link. The efforts cutted by the circular cut will be considered. Positiviness should be either arrows pointing in the circular cut or arrows pointing out.\nDefine the wrenches of the edges by Wrench of a Joint. We do not need to use hyper-dual quatities because we do not want the derivative or integral of the forces.\n\\[\\hat{F}_{ij} = \\vec{F}_{ij} + \\epsilon \\, \\vec{M}_{ij} \\]\nSum up all the wrenches to find the efforts acting in the link \\[ \\hat{F}_i = \\sum_j \\hat{F}_{ij} \\]\nBuild the Action Network Matrix (A_N) and the Vector of Action Parameters (\\(\\varphi_A\\)) Just write the half-equations obtained for the force analysis in a matricial form putting toghether all the half-equations and separating the Vector of Motion Parameters.\nDo not change the order of equations.\nHyper-dual momentum For each link Build the Dual Mass of each link as \\[ M_i = {_I}I_{i} \\, \\epsilon + m_{i} \\, d\\epsilon \\]\nPerceba que a utilização dos operadores \\(\\epsilon\\) e \\(d\\epsilon\\) em conjunto fazem um swap na velocidade linear e angular. O resultado fica:\n\\[ M_i \\, \\nu_i = m_i \\, \\vec{v} + \\epsilon \\, {_I}I_{i} \\, \\vec{\\omega} \\]\nO que deixa compatível com o wrench que é \\((\\vec{F} + \\epsilon \\, \\vec{M})\\)\nBuild the Hyper-Dual Mass of each link as \\[ \\check{M}_i = M_i + \\check{\\epsilon} \\, \\dot{M}_i \\]\n\\[ \\check{M}_i = {_I}I_{i} \\, \\epsilon + m_{i} \\, d\\epsilon + \\check{\\epsilon} \\, ({_I}\\dot{I}_{i} \\, \\epsilon ) \\]\nConsiderations over the inertia matrix - Davies Method for Dynamics Find the Hyper-Dual Momentum of each link \\[ \\check{P}_i = \\check{M}_i \\, \\check{\\nu}_i \\]\n\\[ \\check{P} = (M + \\check{\\epsilon} \\, \\dot{M})(\\nu + \\check{\\epsilon} \\, \\dot{\\nu}) = M \\, \\nu + \\check{\\epsilon} ( M \\, \\dot{\\nu} + \\dot{M} \\, \\nu ) \\]\nIsolate the Hyper-Dual part, which is the acceleration \\[ \\dot{\\hat{P}} = d\\check{\\epsilon} \\, (\\check{P}) = M \\, \\dot{\\nu} + \\dot{M} \\, \\nu \\]\nBuild the Motion Network Matrix (\\(M_N\\)), the Vector of Motion Parameters (\\(\\varphi_M\\)) and the Vector of Independent Terms (\\(b_M\\)) Just write the half-equations obtained for the momenta in a matricial form putting toghether all the half-equations and separating the Vector of Motion Parameters (the accelerations). The terms that do not contain an explicit second order differential joint variable, should be placed in the Vector of Independent Terms \\(b_M\\).\nThe result should be:\n\\[ M_N \\, \\varphi_M + b_M \\]\nDo not change the order of equations.\nApply Newton\u0026rsquo;s Law and Euler\u0026rsquo;s Law of motion A dual version of Newton\u0026rsquo;s law should be:\n\\[ \\hat{F}_i = \\dot{\\hat{P}}_i = \\frac{d}{dt} [M_i \\, \\nu_i] \\]\n\\[ \\hat{F}_i - \\dot{\\hat{P}}_i = 0 \\]\nWhen we consider all equations in matricial form:\n\\[A_N \\, \\varphi_A - M_N \\, \\varphi_N - b_M = 0\\]\n\\[ \\begin{bmatrix} A_N \u0026amp; - M_N \\end{bmatrix} \\, \\begin{bmatrix} \\varphi_A \\\\ \\varphi_N \\end{bmatrix} = b_M \\]\nCase of Parallel Systems In that case, we will end-up with more joint variables than motion equations. But the joints variables are related one to the other and we can use the traditional Davies Method with Hyper-Dual Numbers to find the relations.\nStart by the already made Coupling Graph Do the kinematic analysis of Davies Method but using Hyper-Dual Twist of a Joint instead of the traditional twist. Isolate the Hyper-Dual part, which is the acceleration \\[ \\dot{\\nu} = d\\check{\\epsilon} \\, (\\check{\\nu}) = \\dot{\\omega} + \\epsilon \\, \\dot{v} \\]\nBuild the Motion Network Matrix (\\(M_{N}^*\\)) The Kinematics realtions can be found by: \\[M_N^* \\ \\varphi_M = 0\\]\nFinal System Serial Mechanisms \\[ \\begin{bmatrix} A_N \u0026amp; - M_N \\end{bmatrix} \\, \\begin{bmatrix} \\varphi_A \\\\ \\varphi_N \\end{bmatrix} = b_M \\]\n\\(M_S : \\begin{bmatrix} A_N \u0026amp; - M_N \\end{bmatrix}\\)\n\\(\\varphi : \\begin{bmatrix} \\varphi_A \\\\ \\varphi_N \\end{bmatrix}\\)\n\\(b : b_M\\)\n\\[ M_S \\ \\varphi = b \\]\nParallel mechanisms Increase the previous system to add the relations between the joints variables in a parallel system.\n\\[ \\begin{bmatrix} A_N \u0026amp; - M_N \\\\ 0 \u0026amp; M_N^* \\end{bmatrix} \\, \\begin{bmatrix} \\varphi_A \\\\ \\varphi_N \\end{bmatrix} = \\begin{bmatrix} b_M \\\\ 0 \\end{bmatrix} \\]\n\\(M_S : \\begin{bmatrix} A_N \u0026amp; - M_N \\\\ 0 \u0026amp; M_N^* \\end{bmatrix}\\)\n\\(\\varphi : \\begin{bmatrix} \\varphi_A \\\\ \\varphi_N \\end{bmatrix}\\)\n\\(b : \\begin{bmatrix} b_M \\\\ 0 \\end{bmatrix}\\)\n\\[ M_S \\ \\varphi = b \\]\nSolving the System Arrange the known parameters to the other side Localize the known variables Extract the respective column of the known variables and negate it to the other side of the equation. Now you have: \\(\\varphi^*:\\) \\(\\varphi\\) without the extracted variables. \\(M_S^* :\\) \\(M_S\\) without the columns related to the extracted variables. \\(b_S:\\) Other side of the equation with the extracted varibles combined plus \\(b\\) Solve the resulting linear system to compute the Kinematics and Statics \\[M_S^* \\ \\varphi^* = b_s\\]\nConsiderações adicionais sobre a técnica Como tratar casos de quebra de continuidade nos referenciais móveis Integração com o método dos helicóides successivos Ver se existe integração possível com Screw Calculus Ler o trabalho do Prof Daniel sobre o Método de Davies ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/dynamics_extension_for_davies_method\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/elm\/": {
"title": "Elm",
"tags": [],
"content": "A Functional Programming language made to write Web Applications, or I think maybe more like front-end stuff. The language emphasis is on easy of use, no been overly complicated. Has a syntax similar to Haskell.\nI did some reseach in the topic so to produce something support material for my classes and a reason to practice Haskell. Elm although is not as haskellish as Purescript, turns out to be way simpler to work, as far as I could tell.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/elm\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/elm_charts\/": {
"title": "elm-charts",
"tags": [],
"content": " tags Elm source https://elm-charts.org/ Pacote sensacional pra se fazer gráficos usando o Elm e renderizando em SVG.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/elm_charts\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/elm_geometry\/": {
"title": "elm-geometry",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/elm_geometry\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/elm_playground\/": {
"title": "elm-playground",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/elm_playground\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/elm_spa\/": {
"title": "elm-spa",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/elm_spa\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/emacs_zettelkasten\/": {
"title": "Emacs Zettelkasten",
"tags": [],
"content": "Minha configuração no Emacs pra usar o método Zettelkasten.\nTransição para Org com Zettelkasten TODO Pacotes para instalar e configurar org-roam org-noter org-pdftools org-noter-pdftools Zotero + Better Bibtex Extension (Zotero) ivy-bibtex org-ref Org Roam Bibtex (ORB) org-roam-dailies Deft org-protocol org-protocol instalação org-roam-protocol org-roam-server org-protocol-capture-html org-download org-cliplink Material de estudo EmacsConf 2020 - 17 - Org-mode and Org-Roam for Scholars and Researchers - Noorah Alhasan https://youtu.be/bTbiC6SamT4\nAn Orgmode Note Workflow https://rgoswami.me/posts/org-note-workflow/\nBlog Jethro [6/6] https://blog.jethro.dev/posts/org_mode_workflow_preview/ https://blog.jethro.dev/posts/automatic_publishing/ https://blog.jethro.dev/posts/introducing_org_roam/ https://blog.jethro.dev/posts/how_to_take_smart_notes_org/ https://blog.jethro.dev/posts/self_tracking_in_plain_text/ https://blog.jethro.dev/posts/taking_srs_seriously/ Recomendado no manual do org-roam https://www.lesswrong.com/posts/NfdHG6oHBJ8Qxc26s/the-zettelkasten-method-1 https://www.reddit.com/r/RoamResearch/comments/eho7de/building_a_second_brain_in_roamand_why_you_might/ DONE Configurar meu template do orb DONE Ver como fica a questão do path das anotações No caso a anotação filipe_adaptive_2015 está dentro da pasta do slip-box mas era pra estar na pasta refs.\nDONE Ver se coloca ou não o cite-key no título Coloquei\nDONE Definir quais funções fazer o quê e quais usar. orb-insert\nInsere referência criando uma nota literária se preciso. É útil pra inserir referências e ao mesmo tempo criar as notas literárias. Configurei pra inserir as referências como citação do org-ref. Customizável em orb-insert-link-description. Outra opção seria usar esse comando pra fazer link do org-roam das notas literárias enquanto que usaria o org-ref-insert-link pra fazer citações.\n org-ref-insert-link\nInsere referência sem criar uma nota literária. O padrão do org-ref é um link dado por cite:citekey.\n orb-insert-non-ref\nSeria a mesma coisa do org-roam-insert porém exclui as notas literárias. Termina ficando mais útil do que o org-roam-insert porque separa as notas permanentes das notas literárias.\n org-roam-insert\nInsere um link do org-roam pra uma nota dentro da pasta do zettelkasten. Pode ser qualquer nota. Acho que orb-insert-non-ref terminará sendo mais útil a não ser que se queira inserir um link do org-roam de uma nota literária (sem ser um link de citação).\n ivy-bibtex\nLeva para o pdf a partir de uma entrada de citação. Mostra todos as suas citações e quando você seleciona ele leva pra o respectivo pdf.\n DONE Ver se faz sentido as coisas de refs ficarem dentro da pasta vigiada pelo org-roam Faz sim\nDONE Configurar org-roam-dailies DONE Configurar meu template do org-roam DONE Consertar o título das notas já criadas. Cuidar para que não seja quebrado nenhum backlink DONE Ver as funções orb-persp-project e orb-switch-persp Pelo que entendi tem que usar o projectile tbm pra isso funcionar\nDONE Configurar meus keybindings ((\u0026ldquo;C-c n i\u0026rdquo; . orb-insert-non-ref)) ((\u0026ldquo;C-c n I\u0026rdquo; . org-roam-insert-immediate)) ((\u0026ldquo;C-c n c\u0026rdquo; . orb-insert)) ((\u0026ldquo;C-c n C\u0026rdquo; . org-ref-insert-link)) ((\u0026ldquo;C-c n n\u0026rdquo; . org-noter)) ((\u0026ldquo;C-c n b\u0026rdquo; . ivy-bibtex))\nDONE Configurar faces DONE Nano Face Critical\ntestedjoifjsdfioj\n(set-face-attribute \u0026#39;nano-face-critical nil :foreground \u0026#34;#ff757f\u0026#34; :weight \u0026#39;bold :background \u0026#39;unspecified) DONE Org Roam Tags\n;; mudei pra isso pq usando o set-face-attribute tava cagando o carregamento de tudo que vinha depois ;; Apesar disso, nao vi diferença nessa face. Porém deixei aqui a forma de colocar pelo custom no lugar do set-face-attribute (custom-theme-set-faces \u0026#39;user \u0026#39;(org-roam-tag ((t (:weight bold))))) ",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/emacs_zettelkasten\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/emacsclient\/": {
"title": "emacsclient",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/emacsclient\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/end_link\/": {
"title": "End Link",
"tags": [],
"content": "The final link of a mechanism, the one that does the intended motion which is the purpose of the mechanism.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/end_link\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/estimation\/": {
"title": "Estimation",
"tags": [],
"content": "A field in robotics that tries to infer system real parameters based on measurements and predictions.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/estimation\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/euler_angles\/": {
"title": "Euler Angles",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/euler_angles\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/extended_kalman_filter\/": {
"title": "Extended Kalman Filter",
"tags": [],
"content": "A type of estimator that extends the use of a Kalman Filter to a non-linear system by linearization\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/extended_kalman_filter\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/feedback_linearization\/": {
"title": "Feedback Linearization",
"tags": [],
"content": "Type of nonlinear controller Elaborar mais.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/feedback_linearization\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/figueredo_robust_2013\/": {
"title": "figueredo_robust_2013 | Robust kinematic control of manipulator robots using dual quaternion representation",
"tags": [],
"content": " tags Dual Quaternions Applications Resumo Very good article in general, very well writen. Talks about a \\(H_\\infty\\) control using dual quaternions for the kinematics and control (for control the dual quarternion is used as an 8-vector). The control strategy is robust as it rejects perturbations. Also it defines a new error metric (more in the notes). Very good introduction.\nInfo This paper addresses the H\\(infty\\) robust control problem for robot manipulators using unit dual quaternion representation, which allows an utter description of the end-effector transformation without decoupling rotational and translational dynamics. We propose three different H\\(infty\\) control criteria that ensure asymptotic convergence, whereas reducing the influence of disturbances upon the system stability. Also, with a new metric of dual quaternion error in SE(3) we prove independence from robot coordinate changes. Simulation results highlight the importance and effectiveness of the proposed approach in terms of performance, robustness, and energy efficiency.\nNotes Resumo Very good article in general, very well writen. Talks about a \\(H_\\infty\\) control using dual quaternions for the kinematics and control (for control the dual quarternion is used as an 8-vector). The control strategy is robust as it rejects perturbations. Also it defines a new error metric (more in the notes). Very good introduction.\nCuriosidade Kinematic control can be used when robot dynamics can be neglected, as in stiff (rígido) robots operating at low velocities.\nNova métrica de erro The author defines a new error metric, very simple and given by\n\\begin{align*} x_e \u0026amp;= x_m^* \\, x_d \\\\ e \u0026amp;= 1 - x_e \\end{align*}\nThe author claims that this new error is coordinate invariant, which is true but it is so because \\(x_e\\) itself is coordinate invariant.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/figueredo_robust_2013\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/formation_control\/": {
"title": "Formation Control",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/formation_control\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/fu2020\/": {
"title": "fu2020 | A Dual Quaternion-Based Approach for Coordinate Calibration of Dual Robots in Collaborative Motion",
"tags": [],
"content": "Interesting article about coordinate calibration of dual robots using dual quaternions. The problem itself is very interesting, we have two robot coordinates system, one camera coordinate system and one coordinate system relative to the object being held. So in order to relate all this coordinates systems and assure that they are calibrated, the authors calibrate a hand-eye, a robot-robot and a tool-flange transformations.\nThe article concludes that the DQ methodology offers higher calibration accurary when compared to existing methods.\nInfo Coordinate calibration accuracy is a prerequisite for the achievement of collaborative motion of dual robots, and visual positioning. In the case of AXB=YCZ, the associated hand-eye (X), robot-robot (Y), and tool-flange (Z) coordinate relationships need to be determined in order to provide accurate data for dual-robot manipulation. The classical independent estimations and separable solving of rotational and translational components, inevitably induce certain levels of inaccuracy and inconsistency. To this end, the work presented herein describes an efficient approach based on dual quaternion (DQ), to the calibration of the hand-eye (X), robot-robot (Y), tool-flange (Z) transformations, corresponding to the dual-robot collaborative motion. After establishing a closedform kinematic equation for dual robots in DQ form, the calibration process is divided into two steps: 1) the hand-eye transformation (X) calibration is performed by letting the one robot with the visual sensor move freely, while keeping the other robot with the end-tool in a fixed configuration, thereby allowing the calibration result to be obtained by solving the DQ-based linear equations with the SVD algorithm; 2) the simultaneous calibration of robot-robot (Y) and tool-flange (Z) is transformed into a DQ-based equation, and the results are obtained in a similar way. A simulation analysis is carried out, accounting for the presence of noise levels and different data pairs, while calibration experiments are also conducted to verify the accuracy and efficacy of the proposed method.\nNotes Resumo Interesting article about coordinate calibration of dual robots using dual quaternions. The problem itself is very interesting, we have two robot coordinates system, one camera coordinate system and one coordinate system relative to the object being held. So in order to relate all this coordinates systems and assure that they are calibrated, the authors calibrate a hand-eye, a robot-robot and a tool-flange transformations.\nThe article concludes that the DQ methodology offers higher calibration accurary when compared to existing methods.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/fu2020\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/functional_programming\/": {
"title": "Functional Programming",
"tags": [],
"content": "",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/functional_programming\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/general_dual_quaternion_with_d_de\/": {
"title": "General Dual Quaternion with d\/de",
"tags": [],
"content": "Usar o gerador d/de introduzido para representar a Dual Mass como sendo uma forma de generalizar o quatérnio dual, que deixaria de ser teria três quaternios (q1 + e q2 + d/de q3).\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/general_dual_quaternion_with_d_de\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/giribet2021\/": {
"title": "giribet2021 | Dual Quaternion Cluster-Space Formation Control",
"tags": [],
"content": "The authors present a cluster-space formation control and apply it to leader-follower configuration using dual quaternions and reducing steady-state errors when compared to previous works. Experiments are made to validade the formation control using a ground and an aerial vehicles, and using two aerial vehicles.\nInfo We present a tracking controller for mobile multirobot systems based on dual quaternion pose representations applied to formations of robots in a leader-follower configuration, by using a cluster-space state approach. The proposed controller improves system performance with respect to previous works by reducing steady-state tracking errors. The performance is evaluated through experimental field tests with a formation of an unmanned ground vehicle (UGV) and an unmanned aerial vehicle (UAV), as well as a formation of two UAVs.\nNotes Resumo The authors present a cluster-space formation control and apply it to leader-follower configuration using dual quaternions and reducing steady-state errors when compared to previous works. Experiments are made to validade the formation control using a ground and an aerial vehicles, and using two aerial vehicles.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/giribet2021\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/graph\/": {
"title": "Graph",
"tags": [],
"content": "The main element in the Graph Theory. It is a structure composed of node/vertices and edges.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/graph\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/graph_edge\/": {
"title": "Graph Edge",
"tags": [],
"content": "The line that goes from one node to another node (i think it may even go to the same node). It can be directed or not.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/graph_edge\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/graph_node\/": {
"title": "Graph Node",
"tags": [],
"content": "The points where the edges start and end.\n",
"url": "https:\/\/gutofarias.github.io\/braindump\/posts\/graph_node\/"
},
"https:\/\/gutofarias.github.io\/braindump\/posts\/graph_theory\/": {
"title": "Graph Theory",