0% encontró este documento útil (0 votos)
51 vistas2 páginas

TUTORIAL

Este tutorial detalla el proceso de edición de un modelo OpenSim, específicamente el arm26.osim, mediante la modificación de su archivo .xml utilizando Notepad++. Se explica cómo añadir un nuevo cuerpo y un actuador, especificando propiedades de masa, articulaciones y coordenadas generalizadas. El tutorial incluye instrucciones paso a paso para explorar y modificar el modelo, asegurando que se realicen copias de seguridad antes de los cambios.

Cargado por

Carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
51 vistas2 páginas

TUTORIAL

Este tutorial detalla el proceso de edición de un modelo OpenSim, específicamente el arm26.osim, mediante la modificación de su archivo .xml utilizando Notepad++. Se explica cómo añadir un nuevo cuerpo y un actuador, especificando propiedades de masa, articulaciones y coordenadas generalizadas. El tutorial incluye instrucciones paso a paso para explorar y modificar el modelo, asegurando que se realicen copias de seguridad antes de los cambios.

Cargado por

Carlos
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

TUTORIAL – MODEL EDITING

En este tutorial se añadirán un cuerpo y un actuador a un modelo existente de OpenSim


editando el archivo .xml  Se necesita un editor de .xml como Notepad++

Se utilizará para el ejemplo el modelo arm26.osim

Conectar un segmento adicional al modelo

 Abrir el archivo XML del modelo en Notepad++  expandir con Alt+3


 En caso de no poder expandir, hay que establecer el lenguaje de XML en Menu bar >
Language > XML
 Explorar el modelo. Tiene 8 conjuntos principales  BodySet, ConstraintSet, ForceSet,
MarkerSet, ContactGeometrySet, ControllerSet, ProbeSet, y ComponentSet
 Explorar BodySet. Tiene 3 Body objects  ground, r_humerus y r_ulna_radius_hand
 Guardar una copia antes de modificar con nombre distinto
 Añadir un nuevo Body llamado bucket, justo debajo de r_ulna_radius_hand
*Copia y pega de comandos*

 Se especifican las propiedades de masa (Mass properties), añadiendo nombres y


valores
*copiar y pegar  en el caso del exo, todo es 0

<mass>1.0</mass>
<mass_center> 0.0 -0.1 0.0</mass_center>
<inertia_xx>0.0024</inertia_xx>
<inertia_yy>0.0028</inertia_yy>
<inertia_zz>0.0224</inertia_zz>
<inertia_xy>0.0</inertia_xy>
<inertia_xz>0.0</inertia_xz>
<inertia_yz>0.0</inertia_yz>

 Especificar articulaciones/uniones (Joints). Añadir nombres para los PinJoints y


parent_body y valores
*copiar y pegar 

<Joint>

    <PinJoint name="r_handle">
      <parent_body> r_ulna_radius_hand </parent_body>
      <location_in_parent> 0.031    0.31    0.07   </location_in_parent>
      <orientation_in_parent>    0.0    0.0    0.0  </orientation_in_parent>
      <location> 0.0    0.0    0.0    </location>
      <orientation> 0.0    0.0    0.0    </orientation>
     </PinJoint>
</Joint>
Location_in_parent y orientation_in_parent definen la posición y la orientación de una unión
con respecto al su origen en el parent body. *ver ejemplo*

Estos dos vectores deben darse en el marco de coordenadas del parent body que les
corresponda. En la mayoría de los casos, la location_in_parent y orientation_in_parent son
todo lo que se necesita para específicar una nueva articulación/unión.

Además, la localización local y el desplazamiento del centro de unión con respecto del child
body puede especificarse con location y orientation.

 Especificar coordenadas generalizadas.

También podría gustarte