Transformation utility code for OpenSim/SimBody?

Provide easy-to-use, extensible software for modeling, simulating, controlling, and analyzing the neuromusculoskeletal system.
POST REPLY
User avatar
andrew somerville
Posts: 5
Joined: Tue Sep 10, 2013 10:11 am

Transformation utility code for OpenSim/SimBody?

Post by andrew somerville » Thu Apr 03, 2014 10:36 am

(asking here rather than to SimBody since OpenSim owns the OSIM format)


I'm looking for tools to "walk" the model and aggregate different quantities and move them into a desired frame of reference. As a concrete example, I have a center-of-mass calculator written for Gazebo/ROS which uses the OrocosKDL library and understands URDF/SDF facilitates walking of the model and does forward kinematics and creates transformation matrices. Other ROS users might be familiar with the TF library which provides another interface for doing the same thing.

Is there something similar in OpenSim/SimBody?

User avatar
Michael Sherman
Posts: 814
Joined: Fri Apr 01, 2005 6:05 pm

Re: Transformation utility code for OpenSim/SimBody?

Post by Michael Sherman » Mon Apr 14, 2014 8:17 pm

Hi, Andrew.

I'm not sure I understand what you want to do. Given a .osim file, calculating COM and transformation matrices and doing forward kinematics is a subset of OpenSim's basic functionality. That is, those are things OpenSim already does. So in that case OpenSim would be exactly the tool you are looking for.

Please elaborate.

Regards,
Sherm

User avatar
Michael Sherman
Posts: 814
Joined: Fri Apr 01, 2005 6:05 pm

Re: Transformation utility code for OpenSim/SimBody?

Post by Michael Sherman » Mon Apr 14, 2014 8:18 pm

P.S. There is no capital "B" in Simbody.

User avatar
andrew somerville
Posts: 5
Joined: Tue Sep 10, 2013 10:11 am

Re: Transformation utility code for OpenSim/SimBody?

Post by andrew somerville » Tue Apr 15, 2014 11:57 am

I should probably provide the larger context for this smaller goal.

I'm attempting to use code (re2uta_atlasCommander) from our DARPA robotics challenge work in conjunction with opensim while maintaining as much as possible as the same code base. While it might be possible to replace chunks of atlasCommander with functionality from Opensim, doing so would probably take more time and resources than I've been allotted and diverge the code base. With that in mind I was thinking I could meet my goals within the allotted time and keep maintain a single code base if I was able to replace just the transformation utility provided in Gazebo/ROS by parts Orocos KDL and TF.

The basic functionality I'd need to do that are:
- All of the following out of process/without a full simulator stack
- Produce transforms between any two frames in the kinematic tree (Given joint angles)
- The ability to walk the kinematic tree and collect inertial information
- Look up joints and links by name
- Associate joint names with with Q-index

I'm certain this functionality exists within Opensim/Simbody, but I'm more concerned with the practical concerns surrounding isolating this functionality and putting it into utility code if it doesn't already exist as such, as that will have a large impact as to the difficulty of integrating these pieces.

I may end up taking another tack if this and my OSIM <-> URDF/SDL converter project end up taking more effort/time than predicted.

POST REPLY