| 457 | | |
| 458 | | |
| | 457 | In the same time, we are going to add a few more pre-defined gaits, in {{{main()}}}: |
| | 458 | |
| | 459 | {{{ |
| | 460 | #!python |
| | 461 | |
| | 462 | def main(): |
| | 463 | def addGait(gaitClass, gaitName): |
| | 464 | gait = gaitClass(gaitName, settings.GAIT_LEGS_GROUPS[gaitName], settings.GAIT_PARAMS[gaitName]) |
| | 465 | GaitManager().add(gait) |
| | 466 | |
| | 467 | addGait(GaitTripod, "tripod") |
| | 468 | addGait(GaitTetrapod, "tetrapod") |
| | 469 | addGait(GaitRiple, "riple") |
| | 470 | addGait(GaitWave, "metachronal") |
| | 471 | addGait(GaitWave, "wave") |
| | 472 | GaitManager().select("riple") |
| | 473 | }}} |
| | 474 | |
| | 475 | As we now have more than one gait, we explicitely tell which one we are going to use as default. Note that it is possible to change the current gait using some buttons of the remote control. See [UserGuideGit#Controllers|documentation]. |
| | 476 | |
| | 477 | The rest is similar to tutorial 2. |
| | 478 | |
| | 479 | === Settings === |
| 499 | | }}} |
| 500 | | |
| 501 | | '''TBC''' |
| 502 | | |
| | 520 | |
| | 521 | # Gaits |
| | 522 | GAIT_LEGS_GROUPS = { |
| | 523 | 'tripod': (('RM', 'LF', 'LR'), ('RF', 'LM', 'RR')), |
| | 524 | 'tetrapod': (('RR', 'LM'), ('RF', 'LR'), ('RM', 'LF')), |
| | 525 | 'riple': (('RR',), ('LM',), ('RF',), ('LR',), ('RM',), ('LF',)), |
| | 526 | 'metachronal': (('RR',), ('LM',), ('RF',), ('LR',), ('RM',), ('LF',)), |
| | 527 | 'wave': (('RR',), ('RM',), ('RF',), ('LR',), ('LM',), ('LF',)) |
| | 528 | } |
| | 529 | |
| | 530 | GAIT_PARAMS = { |
| | 531 | 'tripod': {'length': 40., 'angle': 10., 'height': 40., 'minLength': 4., 'minAngle': 2., 'speedMin': 50., 'speedMax': 200.}, |
| | 532 | 'tetrapod': {'length': 40., 'angle': 10., 'height': 30., 'minLength': 4., 'minAngle': 2., 'speedMin': 50., 'speedMax': 200.}, |
| | 533 | 'riple': {'length': 40., 'angle': 10., 'height': 30., 'minLength': 4., 'minAngle': 2., 'speedMin': 50., 'speedMax': 300.}, |
| | 534 | 'metachronal': {'length': 40., 'angle': 10., 'height': 30., 'minLength': 4., 'minAngle': 2., 'speedMin': 50., 'speedMax': 200.}, |
| | 535 | 'wave': {'length': 40., 'angle': 10., 'height': 30., 'minLength': 4., 'minAngle': 2., 'speedMin': 50., 'speedMax': 200.} |
| | 536 | } |
| | 537 | }}} |