this repo has no description
0
fork

Configure Feed

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

Continue rapport

+29 -2
+29 -2
rapport/gz-unitree.typ
··· 5 5 #show figure: set block(spacing: 2em) 6 6 #let zebraw = (..args) => zebraw.zebraw(lang: false, background-color: luma(255).opacify(0%), ..args) 7 7 8 + // Utile: message marquant le début du dev de gz-unitree, 23 juin 2025 9 + // https://matrix.to/#/!MmlaUevGqfiZYSHREv:laas.fr/$omjzydhckQuIVkcNBw0LTYVT7Td1C9UeLqbIisJAnFg?via=laas.fr 10 + 8 11 En se basant sur _unitree\_mujoco_, il a donc été possible de réaliser un bridge pour Gazebo. 9 12 10 13 == Établissement du contact ··· 230 233 231 234 Ensuite, Gazebo démarre un nouveau pas de simulation. Avant de faire ce pas, il appelle la méthode `::PreUpdate` sur notre plugin, qui vient chercher la commande stockée dans le _buffer_ (1B), et applique cette commande sur le modèle du robot, animé par le simulateur. 232 235 236 + Pour appliquer la commande, on calcule la force effective que le moteur doit appliquer: 237 + 238 + #grid( 239 + columns: (2fr, 3fr), 240 + $ 241 + tau = tau_"ff" + K_p Delta q + K_d Delta d q 242 + $, 243 + ```cpp 244 + // Avec i l'indice du moteur 245 + auto force = cmdbuf->tau_ff.at(i) + 246 + cmdbuf->kp.at(i) * (cmdbuf->q_target.at(i) - lowstate.motor_state().at(i).q()) + 247 + cmdbuf->kd.at(i) * (cmdbuf->dq_target.at(i) - lowstate.motor_state().at(i).dq()); 248 + 249 + std::vector<double> torque = {force}; 250 + joint.SetForce(ecm, torque); 251 + ```, 252 + ) 253 + 233 254 #architecture([Phase de réception des commandes], { 234 255 edge(<policy>, (2, -1), (2, 0), "-->", label-pos: 10%)[(1A) publish] 235 256 edge(<policy>, (2, -1), (2, 0), stroke: none, label-pos: 60%, label-side: left)[(1A) subscription] ··· 380 401 381 402 Ces désynchronisations pourraient expliquer les problèmes de performance recontrés (cf @perf) 382 403 383 - == Essai sur des politiques réelles 404 + == Vérification sur des politiques réelles 405 + 406 + Après avoir testé le bridge sur les politiques d'examples fournies par Unitree, il a été testé sur une politique en cours de développement au sein de l'équipe de robotique du LAAS, Gepetto. 407 + 408 + L'analyse de la vidéo (cf @video) montre que le bridge fonctionne: le comportement du robot est similaire à celui sur Isaac. 384 409 385 410 == Amélioration des performances <perf> 386 411 387 - == Enregistrement de vidéos 412 + Les premiers essais montrent un 413 + 414 + == Enregistrement de vidéos <video> 388 415 389 416 === Contrôle programmatique de l'enregistrement 390 417