this repo has no description
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

Continue rapport

+61 -16
+39 -2
bib.yaml
··· 737 737 type: repository 738 738 author: Unitree 739 739 publisher: Github 740 - title: unitree_sdk2/include/unitree/idl/hg/LowCmd_.hpp at main@{2025-10-17} 740 + title: unitree_sdk2/include/unitree/idl/hg/LowCmd_.hpp at main@{2025-10-17}, lines 33 to 63 741 + url: 742 + date: '2025-10-17' 743 + value: https://github.com/unitreerobotics/unitree_sdk2/blob/main@%7B2025-10-17%7D/include/unitree/idl/hg/LowCmd_.hpp#L33-L63 744 + 745 + dds-benchmark: 746 + type: article 747 + title: A Performance Study on the Throughput and Latency of Zenoh, MQTT, Kafka, 748 + and DDS 749 + author: 750 + - Liang, Wen-Yew 751 + - Yuan, Yuyuan 752 + - Lin, Hsiang-Jui 753 + date: 2023-03 754 + page-rage: 10 755 + url: 756 + value: http://arxiv.org/abs/2303.09419v1 757 + date: '2025-10-17' 758 + serial-number: 759 + arxiv: 2303.09419v1 760 + abstract: In this study, we compare the performance of the new-generation communication 761 + protocol Zenoh with the widely-used MQTT, Kafka, and DDS. Two performance indexes 762 + were evaluated, including throughput and latency. A brief description of each 763 + protocol is introduced in this article. The experiment configuration and the testing 764 + scenarios are described in detail. The results show that Zenoh outperforms the 765 + others with impressive performance numbers. 766 + parent: 767 + type: periodical 768 + 769 + 770 + 771 + 772 + unitree_mujoco: 773 + type: web 774 + title: unitree_mujoco 775 + publisher: GitHub 776 + author: Unitree Robotics 741 777 url: 742 778 date: '2025-10-17' 743 - value: https://github.com/unitreerobotics/unitree_sdk2/blob/main@%7B2024-10-17%7D/include/unitree/idl/hg/LowCmd_.hpp#L33-L63 779 + value: https://github.com/unitreerobotics/unitree_mujoco 780 + date: '2021-11-01' 744 781
+1 -1
cite-github.fish
··· 19 19 publisher: "GitHub", 20 20 author: .owner.name, 21 21 url: { date: $today, value: .url }, 22 - date: .createdAt | sub("T.+$", "") 22 + date: .createdAt | sub("T.+$"; "") 23 23 } }' 24 24 25 25
+4 -4
rapport/proofs.typ
··· 114 114 #let why = explanation => $\ & quad quad #[car #explanation]$ 115 115 116 116 #{ 117 - v(1.5em) 117 + v(0.5em) 118 118 set math.equation(numbering: none) 119 119 show math.equation.where(block: true): set align(left) 120 - block(breakable: false, 120 + block(breakable: false, stroke: 0.5pt+black, 121 121 grid(columns: (1fr, 1fr), row-gutter: 1em, 122 122 123 123 grid.cell(align: center)[ *Cas $alpha > 0$* ], ··· 146 146 $ 147 147 &= min(q/q', quad clip(q/q', thick 1-epsilon, thick 1+epsilon) ) alpha \ 148 148 &= min(q/q', quad q/q') alpha \ 149 - &= min(q/q' , 1+epsilon) alpha \ 149 + &= min(q/q' , 1+epsilon) alpha why(1+epsilon > q/q') \ 150 150 $ 151 151 152 152 ··· 155 155 $ 156 156 &= max(q/q', quad clip(q/q', thick 1-epsilon, thick 1+epsilon) ) alpha \ 157 157 &= max(q/q', quad q/q') alpha \ 158 - &= max(q/q' , 1-epsilon) alpha \ 158 + &= max(q/q' , 1-epsilon) alpha why(1-epsilon < q/q') \ 159 159 $ 160 160 161 161 ],
+17 -9
rapport/sdk2-study.typ
··· 4 4 5 5 == Canaux DDS 6 6 7 - Pour communiquer avec le robot via le réseau, Unitree utilise CycloneDDS, une implémentation par Oracle du standard DDS#footnote[pour Data Distribution Service] @cyclonedds, une technologie de communication bidirectionnelle#footnote[dite "_pub-sub_" pour _publish_/_subscribe_ ] en temps réel, standardisée par l'Object Management Group, OMG @dds. 7 + Pour communiquer avec le robot via le réseau, Unitree utilise CycloneDDS, une implémentation par Oracle du standard DDS#footnote[pour Data Distribution Service] @cyclonedds, une technologie de communication bidirectionnelle#footnote[dite "_pub-sub_" pour _publish_/_subscribe_ ] en temps réel, standardisée par l'Object Management Group, OMG @dds. Les messages sont envoyées sur le réseau via UDP et IP. 8 8 9 - DDS fonctionne sur la base de _topics_. Les messages sont échangés sur un topic de la manière suivante 9 + Les données contenues dans chacun des messages sont spécifiées via un autre format, IDL, également standardisé par l'OMG @omgidl. 10 10 11 - / Lecture: En s'abonnant au topic, on reçoit en temps réel les messages qui sont envoyés dessus 12 - / Écriture: En publiant des messages sur le topic, on les rend disponibles aux abonnés en 13 - 14 - Les données contenues dans chacun des messages sont spécifiées via un autre format, IDL, également standardisé par l'OMG @omgidl. 11 + L'intérêt d'un format indépendant du langage de programmation est que l'on peut générer du code décrivant ces données pour plusieurs langages, ce que fait Unitree en distribuant du code C++ et Python. 15 12 16 13 Par exemple, les messages permettant de contrôler les moteurs du H1v2 sont définis ainsi 17 14 ··· 39 36 }; 40 37 ``` 41 38 ) 39 + 40 + DDS groupe les mesages dans des _topics_. Les messages sont échangés sur un topic de la manière suivante 41 + 42 + / Lecture: En s'abonnant au topic, on reçoit en temps réel les messages qui sont envoyés dessus 43 + / Écriture: En publiant des messages sur le topic, on les rend disponibles aux abonnés 44 + 45 + #import "@preview/unify:0.7.1": qty 46 + 47 + CycloneDDS est capable d'un débit d'environ #qty("1", "GB/s"), pour des messages d'environ #qty("1", "kB") chacun @dds-benchmark. On remarque, en pratique, des messages entre #qty("0.9", "kB") et #qty("1.3", "kB") dans le cas des échanges commandes/état avec le robot 48 + 49 + Et enfin, les _topics_ peuvent être isolés d'autres topics via des _domain_#[s]. 50 + 42 51 43 52 == Une base de code partiellement open-source 44 53 ··· 151 160 152 161 Ces constats ont motivé une première tentative de décompilation de ces `libunitree_sdk2.a` pour comprendre le fonctionnement du SDK2, via _Ghidra_ @ghidra. 153 162 154 - Cependant, l'existance d'une implémentation existante d'un bridge SDK $arrows.lr$ Mujoco a rendu cette piste non nécéssaire. 163 + Cependant, la découverte de l'existance d'un bridge officiel SDK $arrows.lr$ Mujoco @unitree_mujoco a rendu cette piste non nécéssaire. 155 164 156 165 == Un autre bridge existant: `unitree_mujoco` 157 166 158 - 159 - 167 + Unitree propose