Diff of /docs/source/suite.rst [000000] .. [87e8bf]

Switch to unified view

a b/docs/source/suite.rst
1
Models and Tasks
2
##############################
3
4
.. _suite:
5
6
Models and tasks are the most important aspects of Myosuite. To provide further, 
7
8
9
* :ref:`models`
10
    * :ref:`myoFinger`
11
    * :ref:`myoElbow`
12
    * :ref:`myoHand`
13
    * :ref:`myoLeg`
14
    * :ref:`myoArm`
15
* :ref:`tasks`
16
* :ref:`task_and_variations`
17
18
19
20
21
.. _models:
22
23
Models
24
********
25
26
MyoSuite consists of five models: :ref:`myoFinger`, :ref:`myoElbow`, :ref:`myoHand`, :ref:`myoArm` and :ref:`myoLeg`.
27
Using these models, we design a rich collection of tasks ranging across simple reaching movements,
28
contact-rich movements involving object-manipulation such as pen-twirling and baoding balls, as well as locomotion behaviors.
29
30
31
.. _myoFinger:
32
33
myoFinger
34
==========
35
Simplified and intuitive model (based on Xu et al. (2012)[https://ieeexplore.ieee.org/document/6290710]) of a 4 Degree of Freedom (DoF) finger
36
which is actuated through a series of 5 simplified antagonistic muscle-tendon units.
37
We also provide its robotic counterpart with simple torque actuators
38
to facilitate the comparative investigation.
39
40
Details of this model can be found at `myoFinger <https://github.com/MyoHub/myo_sim/tree/main/finger>`__
41
42
43
.. image:: images/myoFinger.png
44
  :height: 200
45
46
========  =============================
47
Acronym   Muscle
48
========  =============================
49
EXTN      Central Extensor
50
adabR     Abduction Tendon(Right)
51
adabL     Abduction Tendon(left)
52
mflx      Pip Flexor
53
dflx      DIP Flexor
54
========  =============================
55
56
57
58
.. _myoElbow:
59
60
myoElbow
61
===========
62
A model of 2 DoF human elbow joint -- based on OpenSim’s default testing arm model (Delp et al. (2007); Seth et al. (2018))
63
-- and actuated using multiple agonist/antagonist pairs (3 flexors and 3 extensors).
64
65
Details of this model can be found at `myoElbow <https://github.com/MyoHub/myo_sim/tree/main/elbow>`__
66
67
.. image:: images/myoElbow.png
68
  :height: 200
69
70
========  ========
71
Acronym   Muscle
72
========  ========
73
TRIlong   Triceps long
74
TRIlat    Triceps lateral
75
TRImed    Triceps medial
76
BIClong   Biceps long
77
BICshort  Biceps short
78
BRA       Brachioradialis
79
========  ========
80
81
.. _myoHand:
82
83
myoHand
84
=========
85
The dexterous human hand requires coordination of multiple highly redundant muscles, which have complementary and antagonistic effects on various joints.
86
This musculoskeletal model is comprised of 29 bones, 23 joints, and 39 muscles-tendon units.
87
88
Details of this model can be found at `myoHand <https://github.com/MyoHub/myo_sim/tree/main/hand>`__
89
90
.. image:: images/myoHand.png
91
  :height: 200
92
93
94
=======  ========
95
Acronym  Muscle
96
=======  ========
97
ECRL     Extensor Carpis Radialis Longus
98
ECRB     Extensor Carpis Radialis Brevis
99
ECU      Extensor Carpi Ulnaris
100
FCR      Flexor Carpi Radialis
101
FCU      Flexor Carpi Ulnaris
102
PL       Palmaris longus
103
PT       Pronator teres
104
PQ       Pronator
105
EIP      Extensor Indicis Proprius
106
EPL      Extensor Pollicis Longus
107
EPB      Extensor Pollicis Brevis
108
FPL      Flexor Pollicis Longus
109
APL      Abductor Pollicis Longus
110
OP       Opponens Pollicis
111
FDS      Flexor Digitorum Superficialis (2- index, 3- middle, 4- ring, 5- little)
112
FDP      Flexor Digitorum Profundus (2- index, 3- middle, 4- ring, 5- little)
113
EDC      Extensor Digitorum Communis (2- index, 3- middle, 4- ring, 5- little)
114
EDM      Extensor Digiti Minimi
115
RI       Radial Interosseous (2- index, 3- middle, 4- ring, 5- little)
116
LU-RB    Lumbrical (2- index, 3- middle, 4- ring, 5- little)
117
UI-UB    Palmar or Ulnar Interosseous (2- index, 3- middle, 4- ring, 5- little)
118
=======  ========
119
120
.. _myoLeg:
121
122
myoLeg
123
=========
124
The 3D dexterous human leg requires coordination of multiple highly redundant muscles, which have complementary and antagonistic effects on various joints.
125
126
This musculoskeletal model is comprised of 10 joints, 20 DoFs, and 80 muscles-tendon units. This musculoskeletal model takes
127
Rajagopal's full body gait model [https://github.com/opensim-org/opensim-models/tree/master/Models/RajagopalModel] as close reference.
128
129
Joints and muscle details can be found in Rajagopal's paper [https://ieeexplore.ieee.org/document/7505900]
130
131
The model implementation details can be found on our github repo at `myoLeg <https://github.com/MyoHub/myo_sim/tree/main/leg>`__
132
133
.. image:: images/MyoLeg.png
134
  :height: 200
135
136
=============   =================================
137
Acronym         Muscle
138
=============   =================================
139
addbrev_r       Adductor brevis
140
addlong_r       Adductor longus
141
addmagDist_r    Adductor magnus (distal)
142
addmagIsch_r    Adductor magnus (ischial)
143
addmagMid_r     Adductor magnus (middle)
144
addmagProx_r    Adductor magnus (proximal)
145
bflh_r          Biceps femoris long head
146
bfsh_r          Biceps femoris short head
147
edl_r           Extensor digitorum longusc
148
ehl_r           Extensor hallucis longusc
149
fdl_r           Flexor digitorum longus
150
fhl_r           Flexor hallucis longus
151
gaslat_r        Gastrocnemius lateral head
152
gasmed_r        Gastrocnemius medial head
153
glmax1_r        Gluteus maximus (superior)
154
glmax2_r        Gluteus maximus (middle)
155
glmax3_r        Gluteus maximus (inferior)
156
glmed1_r        Gluteus medius (anterior)
157
glmed2_r        Gluteus medius (middle)
158
glmed3_r        Gluteus medius (posterior)
159
glmin1_r        Gluteus minimus (anterior)
160
glmin2_r        Gluteus minimus (middle)
161
glmin3_r        Gluteus minimus (posterior)
162
grac_r          Gracilis 
163
iliacus_r       Iliacus
164
perbrev_r       Peroneus brevis
165
perlong_r       Peroneus longus
166
piri_r          Piriformis 
167
psoas_r         Psoas
168
recfem_r        Rectus femoris
169
sart_r          Sartorius
170
semimem_r       Semimembranosus
171
semiten_r       Semitendinosus 
172
soleus_r        Soleus 
173
tfl_r           Tensor fascia latae
174
tibant_r        Tibialis anterior 
175
tibpost_r       Tibialis posterior 
176
vasint_r        Vastus intermedius
177
vaslat_r        Vastus lateralis
178
vasmed_r        Vastus medialis 
179
=============   =================================
180
181
.. _myoArm:
182
183
myoArm
184
=========
185
The 3D dexterous human arm reaching and manipulation.
186
187
This musculoskeletal model is comprised of 27 Degree of Freedom, and 63 muscles-tendon units.
188
189
Model specification can be found on our github repo of `myoArm <https://github.com/MyoHub/myo_sim/tree/main/arm>`__
190
191
192
.. image:: images/myoArm.png
193
  :height: 200
194
195
.. _tasks:
196
197
Tasks
198
*******
199
200
201
Finger Joint Pose
202
=====================
203
204
Objective:
205
    - Strike a joint pose
206
207
Variants:
208
    - **Easy**: Move to a fixed specified joint pose ``myoFingerPoseFixed-v0``
209
    - **Hard**: Move to randomly selected joint poses ``myoFingerPoseRandom-v0``
210
    - **More**: Random resets, no resets, dense rewards, sparse rewards
211
212
.. image:: images/finger_joint_pose.png
213
  :width: 200
214
215
216
217
Finger Tip Reach
218
=====================
219
Objective:
220
    - Reach using finger tips
221
222
Variants:
223
    - **Easy**: Reach to a fixed location ``myoFingerReachFixed-v0``
224
    - **Hard**: Reach to random locations ``myoFingerReachRandom-v0``
225
    - **More**: Random resets, no resets, dense rewards, sparse rewards
226
227
.. image:: images/finger_tip_reach.png
228
  :width: 200
229
230
231
Elbow Joint Pose
232
=====================
233
:ref:`myoElbow` model with 6 muscles (3 flexors and 3 extensors) was simplified to have only elbow rotations.
234
Although it is not a physiologically accurate model it can be a very simple model for troubleshooting initial control schemes.
235
236
Objective:
237
    Move elbow to a specified pose.
238
239
Variants:
240
    - **Easy**: Move to random joint poses using 1 muscle ``ElbowPose1D1MRandom-v0``
241
    - **Hard**: Move to random joint poses using 6 muscles ``myoElbowPose1D6MRandom-v0``
242
    - **More**: Random resets, no resets, dense rewards, sparse rewards
243
244
.. image:: images/elbow_joint_pose.png
245
  :width: 200
246
247
Hand Joints Pose
248
=====================
249
Drive the :ref:`myoHand` model to achieve a joint poses.
250
In addition to making co-ordinated movements, avoiding self collisions poses additional challenges in solving this task.
251
252
Objective:
253
    Strike a hand pose
254
255
Variants:
256
    - **Easy**: Move to a fixed joint pose ``myoHandPoseFixed-v0``
257
    - **Hard**: Move to a randomly selected joint pose ``myoHandPoseRandom-v0``
258
    - **More**: Random resets, no resets, dense rewards, sparse rewards
259
260
.. image:: images/hand_joint_pose.png
261
  :width: 200
262
263
264
Hand Tips Reach
265
=====================
266
Make reaching movements using the :ref:`myoHand` model to have finger tips achieve a specific spatial position.
267
In addition to making co-ordinated movements, avoiding self collisions poses additional challenges in solving this task.
268
269
Objective:
270
    Reach using finger tips
271
272
Variants:
273
    - **Easy**: Reach fixed positions using finger tips ``myoHandReachFixed-v0``
274
    - **Hard**: Reach random positions using finger tips ``myoHandReachRandom-v0``
275
    - **More**: Random resets, no resets, dense rewards, sparse rewards
276
277
.. image:: images/hand_tip_reach.png
278
  :width: 200
279
280
281
Hand Key Turn
282
==============
283
Use the the :ref:`myoHand` model to rotate a key.
284
The complexity of this task is due to the use of only index and thumb fingers to solve the task with intermittent contact
285
with the key.
286
287
Objective:
288
    Coordinate finger movements to rotate a key
289
290
Variants:
291
    - **Easy**: Achieve half rotation of the key ``myoHandKeyTurnFixed-v0``
292
    - **Hard**: Achieve full rotation + random initial configuration ``myoHandKeyTurnRandom-v0``
293
    - **More**: Random resets, no resets, dense rewards, sparse rewards
294
295
.. image:: images/hand_key_turn.png
296
  :width: 200
297
298
299
Hand Object Hold
300
=====================
301
A :ref:`myoHand` model moves an object in the hand to a given orientation without dropping it.
302
The complexity of this task is due to the intermittent contacts between the object and multiple fingers needing co-ordination to stabilize the object.
303
304
Objective:
305
    Reposition an object to reach a given target without dropping it.
306
307
Variants:
308
    - **Easy**: Reposition to a fixed position ``myoHandObjHoldFixed-v0``
309
    - **Hard**: Reposition a random object to random positions ``myoHandObjHoldRandom-v0``
310
    - **More**: sparse rewards, dense rewards, random resets, reset free
311
312
.. image:: images/hand_object_hold.png
313
  :width: 200
314
315
Hand Pen Twirl
316
==============
317
A :ref:`myoHand` model rotates a pen in the hand to a given orientation without dropping it.
318
The complexity of this task is due to the intermittent contacts between the object and multiple fingers while trying to stabilize the object.
319
320
Objective:
321
    Rotate the object to reach a given orientation (indicated by the green object in the scene) without dropping it.
322
323
Variants:
324
    - **Easy**: Rotate to fixed orientation ``myoHandPenTwirlFixed-v0``
325
    - **Hard**: Rotate of random orientation ``myoHandPenTwirlRandom-v0``
326
    - **More**: sparse rewards, dense rewards, random resets, reset free
327
328
.. image:: images/hand_pen_twirl.png
329
  :width: 200
330
331
Hand Multiobject Reorientation
332
======================================
333
A :ref:`myoHand` model reorients a set of parameterized geometries to a given target orientation without dropping it.
334
As with before, the complexity of this task is due to the intermittent contacts between the object and multiple fingers while trying to stabilize the object, as well as the multiobject nature of the task.
335
336
Objective:
337
    Rotate one randomly chosen object in the set to reach a given orientation without dropping it.
338
339
Variants:
340
    - **Easiest**: Eight-object reorientation ``myoHandReorient8-v0``
341
    - **Easy**: 100-object reorientation ``myoHandReorient100-v0``
342
    - **Hard**: 1000-object orientation (in-domain parameterized geoms) ``myoHandReorientID-v0``
343
    - **Hardest**: 1000-object orientation (out-of-domain parameterized geoms) ``myoHandReorientOOD-v0``
344
345
346
.. image:: images/multiobj_reorient.png
347
  :width: 200
348
349
Hand Die Rotation (MyoChallenge 2022)
350
========================================
351
A :ref:`myoHand` model involved for reconfiguring a die to match desired goal orientations.
352
This task require delicate coordination of various muscles to manipulate the die without dropping it.
353
354
Objective:
355
    Rotate the object to reach a given orientation (indicated by the green reference object in the scene) without dropping it.
356
357
Action Space:
358
    The whole set of muscle [0, 1]
359
360
Observation Space:
361
    All joints angles [-:math:`\pi`, :math:`\pi`]
362
363
364
Variants:
365
    - **Easy**: Goal position and orientation limited ``myoChallengeDieReorientP1-v0``
366
    - **Hard**: Large range of goal position and rotations. Variability in object size and frictions. ``myoChallengeDieReorientP2-v0``
367
    - **More**: Sparse rewards, 3 different dense reward options to choose from
368
369
.. image:: images/hand_die_rotation.png
370
  :width: 200
371
372
Hand Baoding Balls (MyoChallenge 2022)
373
========================================
374
A :ref:`myoHand` model involved for simultaneous rotation of two free-floating spheres over the palm.
375
This task requires both dexterity and coordination.
376
377
Objective:
378
    Achieve relative rotation of the balls around each other without dropping them.
379
380
Action Space:
381
    The whole set of muscle [0, 1]
382
383
Observation Space:
384
    All joints angles [-:math:`\pi`, :math:`\pi`]
385
386
387
Variants:
388
    - **Easy**: Swap the position of the balls ``myoChallengeBaodingP1-v1``
389
    - **Hard**: Large range of goal position and rotations. Variability in object size and frictions. ``myoChallengeBaodingP2-v1``
390
    - **More**: Sparse rewards, 3 different dense reward options to choose from
391
392
.. image:: images/hand_baoding_balls.png
393
  :width: 200
394
395
Leg Walk
396
========================================
397
A :ref:`myoLeg` model walks across a flat (or rough) surface.
398
This task requires the control of 80 muscles while stabilizing the body to not fall down.
399
400
Objective:
401
    Achieve target velocities while periodically moving your hip joints.
402
403
Variants:
404
    - **Easy**: Achieve a forward velocity in the y-direction without moving in the x-direction. ``myoLegWalk-v0``
405
    - **Hard**: Achieve a forward velocity in the y-direction without moving in the x-direction on uneven terrain. ``myoLeg<Rough|Hilly|Stair>Walk-v0``
406
407
.. image:: images/myoLeg_walk.png
408
  :width: 200
409
410
411
.. Relocate Mobjects
412
.. ========================================
413
.. A :ref:`myoArm` model
414
415
416
417
.. Non-stationarities task variations
418
.. ***********************************
419
420
421
.. .. _sarcopenia:
422
423
.. Sarcopenia
424
.. ==============
425
426
.. Sarcopenia is a muscle disorder that occurs commonly in the elderly population (Cruz-Jentoft and Sayer (2019))
427
.. and characterized by a reduction in muscle mass or volume.
428
.. The peak in grip strength can be reduced up to 50% from age 20 to 40 (Dodds et al. (2016)).
429
.. We modeled sarcopenia for each muscle as a reduction of 50% of its maximal isometric force.
430
431
432
.. .. _fatigue:
433
434
.. Fatigue
435
.. ============================
436
.. Muscle Fatigue is a short-term (second to minutes) effect that happens after sustained or repetitive voluntary movement
437
.. and it has been linked to traumas e.g. cumulative trauma disorder (Chaffin et al. (2006)).
438
.. A dynamic muscle fatigue model (Ma et al. (2009)) was integrated into the modeling framework.
439
.. This model was based on the idea that different types of muscle fiber that have different contributions
440
.. and resistance to fatigue (Vøllestad (1997)).
441
.. The current implementation is simplified to consider the same fatigue factor for all muscles and
442
.. that muscle can be completely fatigued.
443
444
.. .. image:: images/Fatigue.png
445
..   :width: 800
446
447
448
.. .. _ttransfer:
449
450
.. Tendon transfer
451
.. =================================
452
.. Contrary to muscle fatigue or sarcopenia that occurs to all muscles, tendon transfer surgery can target a single
453
.. muscle-tendon unit. Tendon transfer surgery allows redirecting the application point of muscle forces from one joint
454
.. DoF to another (see below). It can be used to regain functional control of a joint or limb motion after injury.
455
.. One of the current procedures in the hand is the tendon transfer of Extensor Indicis Proprius (EIP) to replace the
456
.. Extensor Pollicis Longus (EPL) (Gelb (1995)). Rupture of the EPL can happen after a broken wrist and create a loss of control
457
.. of the Thumb extension. We introduce a physical tendon transfer where the EIP application point of the tendon was moved
458
.. from the index to the thumb and the EPL was removed (see Figure 3).
459
460
.. .. image:: images/tendon_transfer.png
461
..   :width: 400
462
463
.. .. _exo:
464
465
.. Exoskeleton assistance
466
.. ======================
467
.. Exoskeleton assisted rehabilitation is becoming more and more common practice (Jezernik et al. (2003)) due to its multiple benefit (Nam et al. (2017)).
468
.. Modeling of an exoskeleton for the elbow was done via an ideal actuator and the addition of two supports with a weight of 0.101 Kg for the upper arm and 0.111 Kg on the forearm. The assistance given by the exoskeleton was a percentage of the biological joint torque, this was based on the neuromusculoskeletal controller presented in Durandau et al. (2019).
469
470
.. .. image:: images/elbow_exo.png
471
..   :width: 200
472
473
474
.. _task_and_variations:
475
476
477
Task and Variantions
478
************************************
479
480
For convenience, Myosuite has implemented a set of muscle decifiencies that currently includes: :ref:`test_muscle_fatigue` , sarcopenia and tendon transfer alongside with the tasks.
481
482
Here are a list of the tasks currently implement in Myosuite. See :ref:`task_variation` on how to include the additional features.
483
484
485
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
486
|:ref:`tasks`            | **Environment**                  | **Difficulty**  |:ref:`test_sarcopenia` |:ref:`test_muscle_fatigue` | :ref:`test_tendon_transfer`    |
487
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
488
| Finger Joint Pose      | ``myoFingerPoseFixed-v0``        | Easy            |         ✓             |      ✓                    |                                |
489
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
490
| Finger Joint Pose      | ``myoFingerPoseRandom-v0``       | Hard            |         ✓             |      ✓                    |                                |
491
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
492
| Finger Tip Reach       | ``myoFingerReachFixed-v0``       | Easy            |         ✓             |      ✓                    |                                |
493
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
494
| Finger Tip Reach       | ``myoFingerReachRandom-v0``      | Hard            |         ✓             |      ✓                    |                                |
495
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
496
| Elbow Joint Pose       | ``myoElbowPose1D6MRandom-v0``    | Hard            |         ✓             |      ✓                    |                                |
497
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
498
| Hand Joints Pose       | ``myoHandPoseFixed-v0``          | Easy            |         ✓             |      ✓                    |          ✓                     |
499
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
500
| Hand Joints Pose       | ``myoHandPoseRandom-v0``         | Hard            |         ✓             |      ✓                    |          ✓                     |
501
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
502
| Hand Tips Reach        | ``myoHandReachFixed-v0``         | Easy            |         ✓             |      ✓                    |          ✓                     |
503
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
504
| Hand Tips Reach        | ``myoHandReachRandom-v0``        | Hard            |         ✓             |      ✓                    |          ✓                     |
505
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
506
| Hand Key Turn          | ``myoHandKeyTurnFixed-v0``       | Easy            |         ✓             |      ✓                    |          ✓                     |
507
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
508
| Hand Key Turn          | ``myoHandKeyTurnRandom-v0``      | Hard            |         ✓             |      ✓                    |          ✓                     |
509
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
510
| Hand Object Hold       | ``myoHandObjHoldFixed-v0``       | Easy            |         ✓             |      ✓                    |          ✓                     |
511
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
512
| Hand Object Hold       | ``myoHandObjHoldRandom-v0``      | Hard            |         ✓             |      ✓                    |          ✓                     |
513
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
514
| Hand Pen Twirl         | ``myoHandPenTwirlFixed-v0``      | Easy            |         ✓             |      ✓                    |          ✓                     |
515
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
516
| Hand Pen Twirl         | ``myoHandPenTwirlRandom-v0``     | Hard            |         ✓             |      ✓                    |          ✓                     |
517
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
518
| Die Rotation           | ``myoChallengeDieReorientP1-v1`` | Easy            |         ✓             |      ✓                    |          ✓                     |
519
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
520
| Die Rotation           | ``myoChallengeDieReorientP2-v1`` | Hard            |         ✓             |      ✓                    |          ✓                     |
521
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
522
| Hand Baoding Balls     | ``myoChallengeBaodingP1-v1``     | Easy            |         ✓             |      ✓                    |          ✓                     |
523
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
524
| Hand Baoding Balls     | ``myoChallengeBaodingP2-v1``     | Hard            |         ✓             |      ✓                    |          ✓                     |
525
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
526
| 8 Obj. Rotation        | ``myoHandReorient8-v0``          | Easy            |         ✓             |      ✓                    |          ✓                     |
527
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
528
| 100 Obj. Rotation      | ``myoHandReorient100-v0``        | Easy            |         ✓             |      ✓                    |          ✓                     |
529
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
530
| 1000 Obj. Rotation     | ``myoHandReorientID-v0``         | Hard            |         ✓             |      ✓                    |          ✓                     |
531
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
532
| 1000 Obj. Rotation     | ``myoHandReorientOOD-v0``        | Hard            |         ✓             |      ✓                    |          ✓                     |
533
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
534
| Leg walk               | ``myoLegWalk-v0``                | Easy            |         ✓             |      ✓                    |                                |
535
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
536
| Leg walk Rough Ground  | ``myoLegRoughTerrainWalk-v0``    | Hard            |         ✓             |      ✓                    |                                |
537
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
538
| Leg walk Hilly Ground  | ``myoLegHillyTerrainWalk-v0``    | Hard            |         ✓             |      ✓                    |                                |
539
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
540
| Leg walk Stair Ground  | ``myoLegStairTerrainWalk-v0``    | Hard            |         ✓             |      ✓                    |                                |
541
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
542
| Grasping & Placing     | ``myoChallengeRelocateP1-v0``    | Easy            |         ✓             |      ✓                    |                                |
543
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
544
| Chase Tag              | ``myoChallengeChaseTagP1-v0``    | Easy            |         ✓             |      ✓                    |                                |
545
+------------------------+----------------------------------+-----------------+-----------------------+---------------------------+--------------------------------+
546
547
.. _task_variation:
548
549
Variations
550
  - **Sarcopenia**: myoSarc<Environment> e.g. myoSarcHandPoseFixed-v0
551
  - **Fatigue**: myoFati<Environment> e.g. myoFatiElbowPose1D6MRandom-v0
552
  - **TTransfer / Reafferentation**: myoReaf<Environment> e.g. myoReafHandPoseFixed-v0