Page 1 of 3 123 LastLast
Results 1 to 10 of 29

Thread: COLLADA 1.5 kinematics

  1. #1
    Gustavo Puche
    Guest

    COLLADA 1.5 kinematics

    Hi,

    We are developing a robot system simulator based in OpenRAVE.

    Does anybody send me an example of a COLLADA 1.5 model with kinematics joints?

    Best regards,

    Gustavo Puche.

  2. #2

    Re: COLLADA 1.5 kinematics

    Some hard and some simple stuff attached
    Start with simple.dae and finish with ir663.dae
    Good luck and don't hesitate to ask if something is unclear.

  3. #3
    Gustavo Puche
    Guest

    Re: COLLADA 1.5 kinematics

    Quote Originally Posted by sebastian
    Some hard and some simple stuff attached
    Start with simple.dae and finish with ir663.dae
    Good luck and don't hesitate to ask if something is unclear.
    A lot of thanks Sebastian for your colaboration. :P

    Best regards,

    Gus

  4. #4
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    The collada namespace and version of each of these files is:

    <COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1">

    both are different from the COLLADA 1.5 implementation of collada dom 2.2:

    namespace="http://www.collada.org/2008/03/COLLADASchema"
    version="1.5.0"


    is there any examples with articulated_system?

    thanks!
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

  5. #5
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    The reason I make a point about the namespace and version is that collada-dom 1.5 fails to open it completely because the checks fail. How were these files generated and were they really tested?
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

  6. #6

    Re: COLLADA 1.5 kinematics

    The samples were tested against an intermediate version of the DOM that did not evaluate the XSD version. We will upload the corrected samples again. It should be sufficient to change 1.4.1 to 1.5.

  7. #7
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    I have a question regarding the format of bind_kinematics_model that is a little unclear in the specification.

    Imagine that you have the following code:

    <instance_kinematics_scene url="#kinScene">
    <bind_kinematics_model node="Product.1_0">
    <param>kinmodel.0</param>
    </bind_kinematics_model>
    </instance_kinematics_scene>

    My question is how to search for "kinmodel.0" (declared in <param>) in "kinScene". The specification says:

    "The parameter of the kinematics model that is defined in the
    instantiated kinematics scene. See main entry in Core."

    The spec says that we have to look for a <newparam> tag whose sid is "kinmodel.0". The question is, where to look for the newparam.

    kinScene is a kinematics_scene declared in library_kinematics_scenes. kinScene also holds an array of <instance_kinematics_model> tags, therefore the possibilities for the search are:

    - the entire scope of the collada document
    - the entire scope of "kinScene" and all its children
    - only in the scope of every <instance_kinematics_model>

    Currently I've implemented the 3rd option because that's what the files Sebastian sent show, but that might not be the end of the story.

    thank you,
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

  8. #8
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    The real question would be:

    How can <bind_kinematics_model> be resolved into the correct <instance_kinematics_model>? Are there any automatic methods in collada-dom to do this? Right now it is a pain to check both <param> and <SIDREF> tags and call the appropriate methods.
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

  9. #9
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    I have another question:

    In simple.dae, I'm trying to resolve the SIDREF in a newparam, which is supposed to point to a joint axis in <kinematics_model>

    Code :
    	<library_kinematics_scenes id="libkinscenes">
    		<kinematics_scene id="libkinscenes.kinScene">
    			<instance_kinematics_model url="#kinmodel.0" sid="inst_kinmodel.0">
    				<newparam sid="libkinscenes.kinScene_libkinscenes.kinScene_inst_kinmodel.0_joint_1_axis0">
    					<SIDREF>libkinscenes.kinScene/inst_kinmodel.0/joint_1/axis0</SIDREF>
    				</newparam>
    			</instance_kinematics_model>
    		</kinematics_scene>
    	</library_kinematics_scenes>

    I'm using the newparam element as the reference element in the resolution action. In collada-dom this looks like:

    Code :
    daeSidRef("libkinscenes.kinScene/inst_kinmodel.0/joint_1/axis0", [pointer of newparam]).resolve().elt

    However, it is failing to resolve. I'm guessing the resolution is failing to follow the url of the real kinematics_model, which is also failing to follow the url of <instance_joint>? Here is the relevant XML:

    Code :
    	<library_kinematics_models id="libkinmodels">
    		<kinematics_model id="kinmodel.0" name="Mechanism.1">
    			<technique_common>
    				<instance_joint url="#joint_1" sid="joint_1"/>
    			</technique_common>
    		</kinematics_model>
    	</library_kinematics_models>

    I'll try stepping into the code to find the real reason, but suggestions on how to really resolve SIDs in this case would be really helpful.

    thanks,
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

  10. #10
    Member
    Join Date
    Mar 2009
    Location
    Tokyo, Japan
    Posts
    88

    Re: COLLADA 1.5 kinematics

    After more analysis i fixed the collada-dom problem by adding the addition url resolution into daeSIDResolver.cpp....... this feels like a hack that i shouldn't be doing, and no where in the spec does it say that urls should be followed when resolving SIDs. Which begs the question, are the files that were submitted on this forum consistent with the collada 1.5 spec?
    Rosen Diankov
    Department of Mechano-Informatics, University of Tokyo
    http://openrave.org

Page 1 of 3 123 LastLast

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •