Loading ...
Sorry, an error occurred while loading the content.

Re: [tekkotsu_dev] Robot as object in Mirage simulator

Expand Messages
  • Ignacio Herrero Reder
    Thanks a lot, Dave! Ignacio Herrero Reder / Tl. +34-95.213.71.60 Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47 E.T.S. Ing.
    Message 1 of 15 , Jun 14, 2012
    • 0 Attachment
      Thanks a lot, Dave!
      Ignacio Herrero Reder            / Tl. +34-95.213.71.60
      Dpto. Tecnologia Electronica     / Fax: +34-95.213.14.47 
      E.T.S. Ing. Telecomunicacion     / nhr@... 
      Universidad de Malaga            / http://www.dte.uma.es
      Campus Universitario de Teatinos 
      29010 Malaga, Spain  

      El 14/06/2012 7:42, Dave Touretzky escribió:
       

      > I've build a world in mirage, and I would like to add some robot
      > models as objects inside of it. Is there any way to do that?

      Yes. I've written a new wiki section about this:

      http://wiki.tekkotsu.org/index.php/Mirage_Tips#Make_A_Robot-Shaped_Object

      -- Dave

    • Ethan Tira-Thompson
      Hi all, I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin
      Message 2 of 15 , Jun 16, 2012
      • 1 Attachment
      • 369 Bytes
      Hi all,

      I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin instead of individual meshes.  All of the joints are set and held at 0.  I’ll attach an example (edit the file path for your system, FYI relative paths should be interpreted relative to the location of the .mirage file itself)

      An advanced alternative is to have a program, possibly a full tekkotsu executable, launch and connect to Mirage, send the kinematics and joint angles you want to use, and also set the persist flag and exit.  You could have a shell script dynamically load up a world without keeping a bunch of executables in memory, e.g. just set the Drivers.Mirage.Persist setting to true in Tekkotsu before exiting.  See also tools/mazegen, tools/chess, tools/dhcalc…

      -Ethan

    • Ethan Tira-Thompson
      Oh and one more thing, if using the regular tekkotsu executable, have to somehow set the wireless id in ms/config/tekkotsu.xml for each launch so that each
      Message 3 of 15 , Jun 16, 2012
      • 0 Attachment
        Oh and one more thing, if using the regular tekkotsu executable, have to somehow set the wireless id in ms/config/tekkotsu.xml for each launch so that each tekkotsu connection doesn’t reset and overwrite the model from the previous connection… it wasn’t really designed for this ;)

        -Ethan

        On Jun 16, 2012, at 5:54 PM, Ethan Tira-Thompson wrote:

        Hi all,

        I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin instead of individual meshes.  All of the joints are set and held at 0.  I’ll attach an example (edit the file path for your system, FYI relative paths should be interpreted relative to the location of the .mirage file itself)

        An advanced alternative is to have a program, possibly a full tekkotsu executable, launch and connect to Mirage, send the kinematics and joint angles you want to use, and also set the persist flag and exit.  You could have a shell script dynamically load up a world without keeping a bunch of executables in memory, e.g. just set the Drivers.Mirage.Persist setting to true in Tekkotsu before exiting.  See also tools/mazegen, tools/chess, tools/dhcalc…

        -Ethan

        <Chiara.mirage>

        On Jun 13, 2012, at 10:42 PM, Dave Touretzky wrote:

         

        > I've build a world in mirage, and I would like to add some robot
        > models as objects inside of it. Is there any way to do that?

        Yes. I've written a new wiki section about this:

        http://wiki.tekkotsu.org/index.php/Mirage_Tips#Make_A_Robot-Shaped_Object

        -- Dave



      • Ignacio Herrero Reder
        Hello. Finally I ve build a mesh file for the full robot by opening the .blender file, joining all meshes, and saving the resultant mesh in Ogre format. I ve
        Message 4 of 15 , Jun 18, 2012
        • 0 Attachment
          Hello. Finally I've build a mesh file for the full robot by opening the .blender file, joining all meshes, and saving the resultant mesh in Ogre format. I've also changed legs position so the robot-objetc it's in the duck-walk position. Anyway these other 2 methods seem interesting... thanks!!

          PS: I'm developing a "solid" (with mass) kinematic model for AIBO-ERS7, based on the one  developed by Sergei Poskriakov for Webots 5. Though it's not complete yet (is headless for now!), it is able to walk (not completely stable I fear ) and collide with other objects with mass.
          I'm not a mechanical engineering expert, but I hope to obtain an enough functional model to work with the simulator.



          Ignacio Herrero Reder            / Tl. +34-95.213.71.60
          Dpto. Tecnologia Electronica     / Fax: +34-95.213.14.47 
          E.T.S. Ing. Telecomunicacion     / nhr@... 
          Universidad de Malaga            / http://www.dte.uma.es
          Campus Universitario de Teatinos 
          29010 Malaga, Spain  

          El 17/06/2012 2:54, Ethan Tira-Thompson escribió:
          Hi all,

          I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin instead of individual meshes.  All of the joints are set and held at 0.  I’ll attach an example (edit the file path for your system, FYI relative paths should be interpreted relative to the location of the .mirage file itself)

          An advanced alternative is to have a program, possibly a full tekkotsu executable, launch and connect to Mirage, send the kinematics and joint angles you want to use, and also set the persist flag and exit.  You could have a shell script dynamically load up a world without keeping a bunch of executables in memory, e.g. just set the Drivers.Mirage.Persist setting to true in Tekkotsu before exiting.  See also tools/mazegen, tools/chess, tools/dhcalc…

          -Ethan




          On Jun 13, 2012, at 10:42 PM, Dave Touretzky wrote:

           

          > I've build a world in mirage, and I would like to add some robot
          > models as objects inside of it. Is there any way to do that?

          Yes. I've written a new wiki section about this:

          http://wiki.tekkotsu.org/index.php/Mirage_Tips#Make_A_Robot-Shaped_Object

          -- Dave


        • Ignacio Herrero Reder
          Hi. I m modifying kinematic model for AIBO ( ERS-7.kin ) in order to be able to collide and have mass. I m working based on some information by Sergei
          Message 5 of 15 , Jun 27, 2012
          • 1 Attachment
          • 28 KB
          Hi. I'm modifying kinematic model for AIBO ("ERS-7.kin") in order to be able to collide and have mass. I'm working based on some information by Sergei Poskriakov for Webots 5.
          I've developed an "almost" working - but headless - model with a main problem. When I move the simulated robot, I have an exception at MotionManager (Exception caught at Motion Manager.cc410 => kinematics::linkTobase: kinematics unspecified for
          requested offset" (ocurred during motioncommand updateoutputs).

          Is there any way to solve this?

          Furthermore, when the robot is stopped it slightly "slips" over the field, line it was on ice. How could I avoid this? Could I give a friction parameter to joint objects?

          Thanks in advance

          PS: I send attached the modified kin file.



          Ignacio Herrero Reder / Tl. +34-95.213.71.60
          Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
          E.T.S. Ing. Telecomunicacion / nhr@...
          Universidad de Malaga / http://www.dte.uma.es
          Campus Universitario de Teatinos
          29010 Malaga, Spain
        • Ignacio Herrero Reder
          Hello Ethan. Regarding to this way to add a robot object to a mirage scene, how could I change kinematics file ( .kin ) so an AIBO robot starts in a different
          Message 6 of 15 , Jul 3, 2012
          • 0 Attachment
            Hello Ethan. Regarding to this way to add a robot object to a mirage scene, how could I change kinematics file (".kin") so an AIBO robot starts in a different pose?
            Or, does the kinemtaics file just describe the relationship of the joints, so I cannot change that initial pose?
            Thanks!!
            Ignacio Herrero Reder            / Tl. +34-95.213.71.60
            Dpto. Tecnologia Electronica     / Fax: +34-95.213.14.47 
            E.T.S. Ing. Telecomunicacion     / nhr@... 
            Universidad de Malaga            / http://www.dte.uma.es
            Campus Universitario de Teatinos 
            29010 Malaga, Spain  
            El 17/06/2012 2:54, Ethan Tira-Thompson escribió:
            Hi all,

            I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin instead of individual meshes.  All of the joints are set and held at 0.  I’ll attach an example (edit the file path for your system, FYI relative paths should be interpreted relative to the location of the .mirage file itself)

            An advanced alternative is to have a program, possibly a full tekkotsu executable, launch and connect to Mirage, send the kinematics and joint angles you want to use, and also set the persist flag and exit.  You could have a shell script dynamically load up a world without keeping a bunch of executables in memory, e.g. just set the Drivers.Mirage.Persist setting to true in Tekkotsu before exiting.  See also tools/mazegen, tools/chess, tools/dhcalc…

            -Ethan




            On Jun 13, 2012, at 10:42 PM, Dave Touretzky wrote:

             

            > I've build a world in mirage, and I would like to add some robot
            > models as objects inside of it. Is there any way to do that?

            Yes. I've written a new wiki section about this:

            http://wiki.tekkotsu.org/index.php/Mirage_Tips#Make_A_Robot-Shaped_Object

            -- Dave




          • Ignacio Herrero Reder
            Hello. I ve found a problem when using simulated robots with camera in Mirage and camera must be close to the object it is viewing. It seems that the blue
            Message 7 of 15 , Jul 4, 2012
            Hello. I've found a problem when using simulated robots with camera in Mirage and camera must be close to the object it is viewing. It seems that the "blue pyramid" which shows the camera angle have some interference with the objects, so they
            disappear from the simulated world. Is there any way to avoid this? Or perhaps should I "move" the blue pyramid at the kinematic model inside the head frame?

            I enclose an attached image with an example of such interference. Thanks for your help.
            Regards



            Ignacio Herrero Reder / Tl. +34-95.213.71.60
            Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
            E.T.S. Ing. Telecomunicacion / nhr@...
            Universidad de Malaga / http://www.dte.uma.es
            Campus Universitario de Teatinos
            29010 Malaga, Spain
          • Ethan Tira-Thompson
            Since you are using Tekkotsu to load and send the .kin to mirage, it’s mostly a matter of having Tekkotsu set the current position before it sends it to
            Message 8 of 15 , Jul 4, 2012
            • 0 Attachment
              Since you are using Tekkotsu to load and send the .kin to mirage, it’s mostly a matter of having Tekkotsu set the current position before it sends it to mirage.  There is a Motion.StartPose setting in Tekkotsu which is supposed to be able to load a posture file during launch for the initial joint angles.  However, I haven’t been using this myself, and last I heard it was buggy so that might need to be checked.

              If you weren’t loading via Tekkotsu, you could also change the .kin file's qOffset for each joint to control the zero position of the joint, or I think if you set the joint’s Min and Max values to the position you are looking for that should also do it.  Both of these would also affect the way Tekkotsu uses the file however, so this would only work for ‘static’ models.

              -Ethan


              On Jul 3, 2012, at 5:53 AM, Ignacio Herrero Reder <nhr@...> wrote:

               

              Hello Ethan. Regarding to this way to add a robot object to a mirage scene, how could I change kinematics file (".kin") so an AIBO robot starts in a different pose?
              Or, does the kinemtaics file just describe the relationship of the joints, so I cannot change that initial pose?
              Thanks!!
              Ignacio Herrero Reder            / Tl. +34-95.213.71.60
              Dpto. Tecnologia Electronica     / Fax: +34-95.213.14.47 
              E.T.S. Ing. Telecomunicacion     / nhr@... 
              Universidad de Malaga            / http://www.dte.uma.es
              Campus Universitario de Teatinos 
              29010 Malaga, Spain  
              El 17/06/2012 2:54, Ethan Tira-Thompson escribió:
              Hi all,

              I’ll add that the .mirage files support setting a path to a kinematics file for an object, which would allow you to actually load the full robot .kin instead of individual meshes.  All of the joints are set and held at 0.  I’ll attach an example (edit the file path for your system, FYI relative paths should be interpreted relative to the location of the .mirage file itself)

              An advanced alternative is to have a program, possibly a full tekkotsu executable, launch and connect to Mirage, send the kinematics and joint angles you want to use, and also set the persist flag and exit.  You could have a shell script dynamically load up a world without keeping a bunch of executables in memory, e.g. just set the Drivers.Mirage.Persist setting to true in Tekkotsu before exiting.  See also tools/mazegen, tools/chess, tools/dhcalc…

              -Ethan




              On Jun 13, 2012, at 10:42 PM, Dave Touretzky wrote:

               

              > I've build a world in mirage, and I would like to add some robot
              > models as objects inside of it. Is there any way to do that?

              Yes. I've written a new wiki section about this:

              http://wiki.tekkotsu.org/index.php/Mirage_Tips#Make_A_Robot-Shaped_Object

              -- Dave






            • Ethan Tira-Thompson
              I’m pretty sure you’d still see this even if you removed the blue graphic (remove the CameraFOV Model in the .kin file). The problem is the graphics
              Message 9 of 15 , Jul 4, 2012
              • 0 Attachment
                I’m pretty sure you’d still see this even if you removed the blue graphic (remove the CameraFOV Model in the .kin file). The problem is the graphics engine has a minimum clipping distance for the camera, within which it doesn’t try to render the object. For your example this is also annoying because Ogre doesn’t render the back faces, so you wind up losing both the front and back of the sphere.

                This would probably be a good thing to make configurable, but for now you can edit the value at Tekkotsu/tools/mirage/src/CameraInfo.cc:86:
                ogreCamera->setNearClipDistance(40);

                There’s a similar but different value for the user window that mirage itself displays, UIController.cc:496: mCamera->setNearClipDistance(5);

                I notice the CameraFOV for Aibo and some other robots isn’t using Visible=False in the .kin, we probably should be doing that so it doesn’t try to render the FOV cone regardless of the near clipping distance. (in other words, if you shorten near clipping, make sure to either remove CameraFOV or add an entry: <key>Visible</key> <false/>

                -Ethan

                On Jul 4, 2012, at 5:00 AM, Ignacio Herrero Reder <nhr@...> wrote:

                > Hello. I've found a problem when using simulated robots with camera in Mirage and camera must be close to the object it is viewing. It seems that the "blue pyramid" which shows the camera angle have some interference with the objects, so they
                > disappear from the simulated world. Is there any way to avoid this? Or perhaps should I "move" the blue pyramid at the kinematic model inside the head frame?
                >
                > I enclose an attached image with an example of such interference. Thanks for your help.
                > Regards
                >
                >
                >
                > Ignacio Herrero Reder / Tl. +34-95.213.71.60
                > Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
                > E.T.S. Ing. Telecomunicacion / nhr@...
                > Universidad de Malaga / http://www.dte.uma.es
                > Campus Universitario de Teatinos
                > 29010 Malaga, Spain
                >
                >
                >
                >
                > ------------------------------------
                >
                > Yahoo! Groups Links
                >
                >
                >
                >
              • Ethan Tira-Thompson
                ... Actually this was just a straightforward oversight, I’ve fixed them up: http://www.tekkotsu.org/cvslog2web/2012/07/commit-1341458312.html Thus when one
                Message 10 of 15 , Jul 4, 2012
                • 0 Attachment

                  On Jul 4, 2012, at 4:10 PM, Ethan Tira-Thompson <ejt@...> wrote:

                  I notice the CameraFOV for Aibo and some other robots isn’t using Visible=False in the .kin, we probably should be doing that so it doesn’t try to render the FOV cone regardless of the near clipping distance.  (in other words, if you shorten near clipping, make sure to either remove CameraFOV or add an entry: <key>Visible</key> <false/>

                  Actually this was just a straightforward oversight, I’ve fixed them up:
                  Thus when one robot sees another, it shouldn’t see the FOV cone, that would only show up in the Mirage window.  It’s kind of a useless indicator though, mostly handy when initially writing the .kin to make sure the camera is in the right place.

                  -Ethan
                • Ignacio Herrero Reder
                  Thanks a lot Ethan!! It seems to work!! Ignacio Herrero Reder / Tl. +34-95.213.71.60 Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47 E.T.S.
                  Message 11 of 15 , Jul 5, 2012
                  • 0 Attachment
                    Thanks a lot Ethan!! It seems to work!!

                    Ignacio Herrero Reder / Tl. +34-95.213.71.60
                    Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
                    E.T.S. Ing. Telecomunicacion / nhr@...
                    Universidad de Malaga / http://www.dte.uma.es
                    Campus Universitario de Teatinos
                    29010 Malaga, Spain

                    El 05/07/2012 1:10, Ethan Tira-Thompson escribió:
                    > I’m pretty sure you’d still see this even if you removed the blue graphic (remove the CameraFOV Model in the .kin file). The problem is the graphics engine has a minimum clipping distance for the camera, within which it doesn’t try to render the object. For your example this is also annoying because Ogre doesn’t render the back faces, so you wind up losing both the front and back of the sphere.
                    >
                    > This would probably be a good thing to make configurable, but for now you can edit the value at Tekkotsu/tools/mirage/src/CameraInfo.cc:86:
                    > ogreCamera->setNearClipDistance(40);
                    >
                    > There’s a similar but different value for the user window that mirage itself displays, UIController.cc:496: mCamera->setNearClipDistance(5);
                    >
                    > I notice the CameraFOV for Aibo and some other robots isn’t using Visible=False in the .kin, we probably should be doing that so it doesn’t try to render the FOV cone regardless of the near clipping distance. (in other words, if you shorten near clipping, make sure to either remove CameraFOV or add an entry: <key>Visible</key> <false/>
                    >
                    > -Ethan
                    >
                    > On Jul 4, 2012, at 5:00 AM, Ignacio Herrero Reder <nhr@...> wrote:
                    >
                    >> Hello. I've found a problem when using simulated robots with camera in Mirage and camera must be close to the object it is viewing. It seems that the "blue pyramid" which shows the camera angle have some interference with the objects, so they
                    >> disappear from the simulated world. Is there any way to avoid this? Or perhaps should I "move" the blue pyramid at the kinematic model inside the head frame?
                    >>
                    >> I enclose an attached image with an example of such interference. Thanks for your help.
                    >> Regards
                    >>
                    >>
                    >>
                    >> Ignacio Herrero Reder / Tl. +34-95.213.71.60
                    >> Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
                    >> E.T.S. Ing. Telecomunicacion / nhr@...
                    >> Universidad de Malaga / http://www.dte.uma.es
                    >> Campus Universitario de Teatinos
                    >> 29010 Malaga, Spain
                    >>
                    >>
                    >>
                    >>
                    >> ------------------------------------
                    >>
                    >> Yahoo! Groups Links
                    >>
                    >>
                    >>
                    >>
                    >
                    >
                    > ------------------------------------
                    >
                    > Yahoo! Groups Links
                    >
                    >
                    >
                    >
                  • Ignacio Herrero Reder
                    Hello. You forgot write also the key at line 53, as Camera objet has two components (revolute and prismatics) if you don t do so, you ll see
                    Message 12 of 15 , Jul 5, 2012
                    • 0 Attachment
                      Hello. You forgot write also the <Visible> </false> key at line 53, as Camera objet has two components (revolute and prismatics) if you don't do so, you'll see the camera object as a little blue sphere just at the center of the image.
                      But the overall fix worked like a charm!!

                      Ignacio Herrero Reder            / Tl. +34-95.213.71.60
                      Dpto. Tecnologia Electronica     / Fax: +34-95.213.14.47 
                      E.T.S. Ing. Telecomunicacion     / nhr@... 
                      Universidad de Malaga            / http://www.dte.uma.es
                      Campus Universitario de Teatinos 
                      29010 Malaga, Spain  
                      El 05/07/2012 1:23, Ethan Tira-Thompson escribió:
                       


                      On Jul 4, 2012, at 4:10 PM, Ethan Tira-Thompson <ejt@...> wrote:

                      I notice the CameraFOV for Aibo and some other robots isn’t using Visible=False in the .kin, we probably should be doing that so it doesn’t try to render the FOV cone regardless of the near clipping distance.  (in other words, if you shorten near clipping, make sure to either remove CameraFOV or add an entry: <key>Visible</key> <false/>

                      Actually this was just a straightforward oversight, I’ve fixed them up:
                      Thus when one robot sees another, it shouldn’t see the FOV cone, that would only show up in the Mirage window.  It’s kind of a useless indicator though, mostly handy when initially writing the .kin to make sure the camera is in the right place.

                      -Ethan


                    • Ignacio Herrero Reder
                      Thanks a lot Ethan!! It seems to work!! PS: I forgot to ask...but, what for is the mCamera- setNearClipDistance(5); line at UIController.cc:496? ... Ignacio
                      Message 13 of 15 , Jul 5, 2012
                      • 0 Attachment
                        Thanks a lot Ethan!! It seems to work!!

                        PS: I forgot to ask...but, what for is the mCamera->setNearClipDistance(5); line at UIController.cc:496?
                        >

                        Ignacio Herrero Reder / Tl. +34-95.213.71.60
                        Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
                        E.T.S. Ing. Telecomunicacion / nhr@...
                        Universidad de Malaga / http://www.dte.uma.es
                        Campus Universitario de Teatinos
                        29010 Malaga, Spain

                        El 05/07/2012 1:10, Ethan Tira-Thompson escribió:
                        > I’m pretty sure you’d still see this even if you removed the blue graphic (remove the CameraFOV Model in the .kin file). The problem is the graphics engine has a minimum clipping distance for the camera, within which it doesn’t try to render the object. For your example this is also annoying because Ogre doesn’t render the back faces, so you wind up losing both the front and back of the sphere.
                        >
                        > This would probably be a good thing to make configurable, but for now you can edit the value at Tekkotsu/tools/mirage/src/CameraInfo.cc:86:
                        > ogreCamera->setNearClipDistance(40);
                        >
                        > There’s a similar but different value for the user window that mirage itself displays, UIController.cc:496: mCamera->setNearClipDistance(5);
                        >
                        > I notice the CameraFOV for Aibo and some other robots isn’t using Visible=False in the .kin, we probably should be doing that so it doesn’t try to render the FOV cone regardless of the near clipping distance. (in other words, if you shorten near clipping, make sure to either remove CameraFOV or add an entry: <key>Visible</key> <false/>
                        >
                        > -Ethan
                        >
                        > On Jul 4, 2012, at 5:00 AM, Ignacio Herrero Reder <nhr@...> wrote:
                        >
                        >> Hello. I've found a problem when using simulated robots with camera in Mirage and camera must be close to the object it is viewing. It seems that the "blue pyramid" which shows the camera angle have some interference with the objects, so they
                        >> disappear from the simulated world. Is there any way to avoid this? Or perhaps should I "move" the blue pyramid at the kinematic model inside the head frame?
                        >>
                        >> I enclose an attached image with an example of such interference. Thanks for your help.
                        >> Regards
                        >>
                        >>
                        >>
                        >> Ignacio Herrero Reder / Tl. +34-95.213.71.60
                        >> Dpto. Tecnologia Electronica / Fax: +34-95.213.14.47
                        >> E.T.S. Ing. Telecomunicacion / nhr@...
                        >> Universidad de Malaga / http://www.dte.uma.es
                        >> Campus Universitario de Teatinos
                        >> 29010 Malaga, Spain
                        >>
                        >>
                        >>
                        >>
                        >> ------------------------------------
                        >>
                        >> Yahoo! Groups Links
                        >>
                        >>
                        >>
                        >>
                        >
                        >
                        > ------------------------------------
                        >
                        > Yahoo! Groups Links
                        >
                        >
                        >
                        >





                        ------------------------------------

                        Yahoo! Groups Links
                      Your message has been successfully submitted and would be delivered to recipients shortly.