this repo has no description
0
fork

Configure Feed

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

Continue rapport

+1 -123
+1 -123
slides/main.typ
··· 295 295 ] 296 296 297 297 298 - == `unitree_mujoco` 299 - 300 - #centered(scale(70%, reflow: true, diagram({ 301 - node(name: <sdk>, (0, 0))[SDK] 302 - node(enclose: ((1, 1), (-1, 1)), stroke: blue, inset: 10pt, snap: false, text( 303 - fill: blue, 304 - )[Canaux \ DDS]) 305 - node(name: <lowcmd>, (1, 1))[`rt/lowcmd`] 306 - node(name: <lowstate>, (-1, 1))[`rt/lowstate`] 307 - node( 308 - name: <bridge>, 309 - enclose: ((1, 2), (-1, 2)), 310 - stroke: black, 311 - inset: 10pt, 312 - )[Bridge] 313 - node(name: <mujoco>, (0, 3))[Mujoco] 314 - 315 - 316 - edge(<sdk>, <lowcmd>, "->", bend: 30deg)[pub] 317 - edge(<lowcmd>, (1, 2), "-->", bend: 20deg)[via sub] 318 - edge((1, 2), <mujoco>, "->", bend: 20deg, `data->ctrl[i] = ...`) 319 - 320 - edge(<sdk>, <lowstate>, "<--", bend: -30deg)[via sub] 321 - edge(<lowstate>, (-1, 2), "<-", bend: -20deg)[pub] 322 - edge((-1, 2), <mujoco>, "<-", bend: -20deg, `... = data->sensordata[i]`) 323 - 324 - edge( 325 - <mujoco>, 326 - <mujoco>, 327 - "->", 328 - bend: 130deg, 329 - loop-angle: -90deg, 330 - `mj_step(model, data)`, 331 - ) 332 - }))) 333 - 334 - 335 298 #title-slide[ 336 299 == Développement de _gz-unitree_ 337 300 Un bridge pour Gazebo ··· 360 323 361 324 #pagebreak() 362 325 363 - #centered(scale(75%, reflow: true, ```cpp 364 - #include <gz/sim/System.hh> 365 - namespace gz_unitree 366 - { 367 - class UnitreePlugin : 368 - public gz::sim::System, 369 - public gz::sim::ISystemPreUpdate 370 - { 371 - public: 372 - UnitreePlugin(); 373 - public: 374 - ~UnitreePlugin() override; 375 - public: 376 - void PreUpdate(const gz::sim::UpdateInfo &_info, 377 - gz::sim::EntityComponentManager &ecm) override; 378 - }; 379 - } 380 - ```)) 381 - 382 - #pagebreak() 383 - 384 - #centered(scale(75%, reflow: true, grid( 385 - columns: 2, 386 - gutter: 2em, 387 - ```cpp 388 - #include <gz/plugin/Register.hh> 389 - 390 - ... // class implementation 391 - 392 - GZ_ADD_PLUGIN( 393 - UnitreePlugin, 394 - gz::sim::System, 395 - UnitreePlugin::ISystemPreUpdate) 396 - ```, 397 - 398 - zebraw( 399 - numbering: false, 400 - highlight-lines: (..range(3, 5),), 401 - ```xml 402 - <sdf version='1.11'> 403 - <world name="default"> 404 - <plugin filename="gz-unitree" name="gz_unitree::UnitreePlugin"> 405 - </plugin> 406 - </world> 407 - <model name='h1_description'> 408 - <link name='pelvis'> 409 - <inertial> 410 - ... 411 - ```, 412 - ), 413 - ))) 414 - 415 - #pagebreak() 416 326 417 327 418 328 #let legend = ( ··· 544 454 #let policy-edge = (..args) => colored-edge(fuchsia, ..args) 545 455 546 456 #centered-slide(scale(56%, reflow: true, architecture( 547 - show-legend: false, 548 - pauses: true, 549 - edge( 550 - <configure>, 551 - "u", 552 - <channelfactory>, 553 - "->", 554 - label-side: left, 555 - label-pos: 50%, 556 - )[appelle], 557 - pause, 558 - edge(<configure>, "d,d,d,r", <gzclock>, "->", label-pos: 85%)[démarre], 559 - pause, 560 - edge( 561 - <configure>, 562 - "d,d", 563 - (0, 3.75), 564 - "r,r", 565 - <gzimu>, 566 - "->", 567 - label-pos: 75%, 568 - )[démarre], 569 - pause, 570 - edge(<channelfactory>, "->", <publisher>)[initialise], 571 - edge(<channelfactory>, "->", <subscriber>)[initialise], 572 - edge(<publisher>, "<->", <lowstate>)[`std::bind`], 573 - edge(<subscriber>, "<->", <lowcmd>)[`std::bind`], 574 - ))) 575 - 576 - #centered-slide(scale(56%, reflow: true, architecture( 577 457 show-legend: true, 578 - pauses: false, 579 - 580 - pause, 458 + pauses: true, 581 459 582 460 // Simulation loop 583 461 sim-edge(