darwinop / webots-cross-compilation

porting behavioral settings from a webots darwin onto a real darwin
www.robotsource.org
5 stars 9 forks source link

Mac darwin robot window is not opening #218

Closed arasalt closed 11 years ago

arasalt commented 11 years ago

Whenever I double click on the robot it doesn't open window. This what it says

Including Motion play, walking algorithm and image processing. [soccer] Warning: Cannot load the "/Applications/Webots/resources/projects/robots/darwin-op/plugins/robot_windows/darwin-op_window/libdarwin-op_window.dylib" robot window library [soccer] due to: -> dlopen(/Applications/Webots/resources/projects/robots/darwin-op/plugins/robot_windows/darwin-op_window/libdarwin-op_window.dylib, 9): Library not loaded: /Users/fabien/software/libssh/build/src/libssh.4.dylib [soccer] Referenced from: /Applications/Webots/resources/projects/robots/darwin-op/plugins/robot_windows/darwin-op_window/libdarwin-op_window.dylib [soccer] Reason: image not found

And I looked at the makefile and didn't noticed any option for Mac computers:

Thank you, Salta

fabienrohrer commented 11 years ago

Hi Salta,

Sorry for this, there is indeed a problem in the distribution. Simply copying WEBOTS/lib/libssh.dylib to WEBOTS/lib/libssh.4.dylib should solve the problem.

Cheers, Fabien Rohrer

fabienrohrer commented 11 years ago

Hi again Salta,

We fixed that more cleanly. You can download the new Webots installer on the same URL: http://www.cyberbotics.com/dvd/mac/webots/webots-7.1.2.dmg

Sincerely, Fabien Rohrer

arasalt commented 11 years ago

Oh Wow... You are very fast! May ask you, I wonder if there is anyway to change darwin parts. For instance, I want to add an official gripper hand for darwin here is the link for this part http://www.generationrobots.com/gripper-arm-with-5-degrees-of-freedom-for-the-darwin-op-humanoid-robot-robotis,us,4,Gripper-Arm-5-DOF-DARWIN-OP.cfm, how can I do it in simulation mode? Do you know anyways of doing it? Or where can I find information for this? Thank you, Salta

2013/3/13 Fabien Rohrer notifications@github.com

Hi again Salta,

We fixed that more cleanly. You can download the new Webots installer on the same URL: http://www.cyberbotics.com/dvd/mac/webots/webots-7.1.2.dmg

Sincerely, Fabien Rohrer

— Reply to this email directly or view it on GitHubhttps://github.com/darwinop/webots-cross-compilation/issues/218#issuecomment-14831266 .

fabienrohrer commented 11 years ago

Hi,

Indeed it's possible. All the related code is open-source and on this repository.

The simulation model is there: https://github.com/darwinop/webots-cross-compilation/blob/master/resources/projects/robots/darwin-op/protos/DARwInOP.proto And can be modified as you wish. After, if you can also modify the code to be able to remote-control and/or crosscompile to the real robot.

Sincerely, Fabien Rohrer

arasalt commented 11 years ago

Hi Fabien, I'm struggling with documentation to understand the code, it has no definition and tutorials for the building the protos, I see it has a lot of coordinates definitions, shapes, servos, I'm not sure of my changes and there's no way to check them. Maybe you used some program for the darwin? I would really appreciate your help or advice. Thank you, Salta

2013/3/14 Fabien Rohrer notifications@github.com

Hi,

Indeed it's possible. All the related code is open-source and on this repository.

The simulation model is there:

https://github.com/darwinop/webots-cross-compilation/blob/master/resources/projects/robots/darwin-op/protos/DARwInOP.proto And can be modified as you wish. After, if you can also modify the code to be able to remote-control and/or crosscompile to the real robot.

Sincerely, Fabien Rohrer

— Reply to this email directly or view it on GitHubhttps://github.com/darwinop/webots-cross-compilation/issues/218#issuecomment-14889807 .

fabienrohrer commented 11 years ago

Hi Salta,

The prototype contains the definition of the virtual robot model, that is, the graphical geometries, the physical bounds, the physical properties (masses, ...), the way they are connected (according to a tree).

The prototype mechanism is explained there: http://www.cyberbotics.com/reference/chapter5.php

The nodes hierarchy there: http://www.cyberbotics.com/reference/section2.1.php http://www.cyberbotics.com/reference/chapter3.php

Moreover I recommend you to do the Webots tutorial to understand better how the Webots node hierarchy works: http://www.cyberbotics.com/guide/chapter7.php

We still not have tools to convert/edit graphically prototypes, but we are working on it.

The next Webots release will certainly contain a new mechanism to add easily new nodes to prototypes.

Sincerely, Fabien Rohrer

arasalt commented 11 years ago

Hello Fabien, Thank you for your response. I wish I don't take a lot of your time. Oh well, I'll wait for that release. But how long would it take for the next release of webots? I have gone through all this tutorials. I don't know anything about graphical design, I just needed to simulate Darwin with gripper hand, and program the controller, but I have stucked on the designing part. Don't know wether I will have a time to follow it in the simulation mode.

From the darwin prototype, you define geometry parameter for the shape of each part. For example you have basic shape of the hand RightHand which consists of group of shapes such as LowerRightHand shape, DArmLowerLCoord and etc. Each of the lower hierarchy parts have their IndexedFaceSet(which is node represents a 3D shape formed by constructing faces (polygons) from vertices listed in the coord field) then coordinate indexes are defined. So I want to add those gripper hands in the following official grippers of 5 DOF http://www.robotsource.org/xe/?module=file&act=procFileDownload&file_srl=7398&sid=f8aed34dd9520fbcee651f02fd4e9f97 Each of the part also have 3D representation which I have found here -> http://www.robotis.com/xe/download_en/26324 In the Reference Manual it's written that IndexedFaceSethttp://www.cyberbotics.com/reference/section3.29.php#indexed_face_set_node nodes can be easily imported from 3D modeling programs after a triangle mesh conversion So here are my questions: How did you converted body parts coordinates, did you use those drawings of each part? If even if I will be able to import those parts, how can I make them joint with other parts?

Thank you, Salta

2013/3/25 Fabien Rohrer notifications@github.com

Hi Salta,

The prototype contains the definition of the virtual robot model, that is, the graphical geometries, the physical bounds, the physical properties (masses, ...), the way they are connected (according to a tree).

The prototype mechanism is explained there: http://www.cyberbotics.com/reference/chapter5.php

The nodes hierarchy there: http://www.cyberbotics.com/reference/section2.1.php http://www.cyberbotics.com/reference/chapter3.php

Moreover I recommend you to do the Webots tutorial to understand better how the Webots node hierarchy works: http://www.cyberbotics.com/guide/chapter7.php

We still not have tools to convert/edit graphically prototypes, but we are working on it.

The next Webots release will certainly contain a new mechanism to add easily new nodes to prototypes.

Sincerely, Fabien Rohrer

— Reply to this email directly or view it on GitHubhttps://github.com/darwinop/webots-cross-compilation/issues/218#issuecomment-15381720 .

arasalt commented 11 years ago

Ps: And also I have no idea about Triangle mesh conversion.

2013/3/25 Saltanat Tazhibayeva tasalta@gmail.com

Hello Fabien, Thank you for your response. I wish I don't take a lot of your time. Oh well, I'll wait for that release. But how long would it take for the next release of webots? I have gone through all this tutorials. I don't know anything about graphical design, I just needed to simulate Darwin with gripper hand, and program the controller, but I have stucked on the designing part. Don't know wether I will have a time to follow it in the simulation mode.

From the darwin prototype, you define geometry parameter for the shape of each part. For example you have basic shape of the hand RightHand which consists of group of shapes such as LowerRightHand shape, DArmLowerLCoord and etc. Each of the lower hierarchy parts have their IndexedFaceSet(which is node represents a 3D shape formed by constructing faces (polygons) from vertices listed in the coord field) then coordinate indexes are defined. So I want to add those gripper hands in the following official grippers of 5 DOF http://www.robotsource.org/xe/?module=file&act=procFileDownload&file_srl=7398&sid=f8aed34dd9520fbcee651f02fd4e9f97 Each of the part also have 3D representation which I have found here -> http://www.robotis.com/xe/download_en/26324 In the Reference Manual it's written that IndexedFaceSethttp://www.cyberbotics.com/reference/section3.29.php#indexed_face_set_node nodes can be easily imported from 3D modeling programs after a triangle mesh conversion So here are my questions: How did you converted body parts coordinates, did you use those drawings of each part? If even if I will be able to import those parts, how can I make them joint with other parts?

Thank you, Salta

2013/3/25 Fabien Rohrer notifications@github.com

Hi Salta,

The prototype contains the definition of the virtual robot model, that is, the graphical geometries, the physical bounds, the physical properties (masses, ...), the way they are connected (according to a tree).

The prototype mechanism is explained there: http://www.cyberbotics.com/reference/chapter5.php

The nodes hierarchy there: http://www.cyberbotics.com/reference/section2.1.php http://www.cyberbotics.com/reference/chapter3.php

Moreover I recommend you to do the Webots tutorial to understand better how the Webots node hierarchy works: http://www.cyberbotics.com/guide/chapter7.php

We still not have tools to convert/edit graphically prototypes, but we are working on it.

The next Webots release will certainly contain a new mechanism to add easily new nodes to prototypes.

Sincerely, Fabien Rohrer

— Reply to this email directly or view it on GitHubhttps://github.com/darwinop/webots-cross-compilation/issues/218#issuecomment-15381720 .

fabienrohrer commented 11 years ago

But how long would it take for the next release of webots?

We are currently doing some fundamental modifications, so it's difficult to evaluate. I'd say in 3 weeks.

I have gone through all this tutorials. I don't know anything about graphical design, I just needed to simulate Darwin with gripper hand, and program the controller, but I have stucked on the designing part. Don't know wether I will have a time to follow it in the simulation mode.

Indeed, the tutorial doesn't go far in the 3D graphics importing. The general idea is to design the gripper with simple rendering primitives (Boxes, Cylinders, and so on) which are used both for the rendering and for the physics. The second step is to design the 3d shape using a modeling software such as Blender. Learning Blender (or else) is much beyond our support. Finally, almost all the 3D modeling software can export in the VRML (or at worst X3D) format. Simply copy-pasting the IndexedFaceSet primitive in the model should be sufficient.

How did you converted body parts coordinates, did you use those drawings of each part?

For creating the DARwIn-OP, I started from the 2d schematics of the robot (I found precise schemas from the 3 standard orthogonal views), imported these images as background in blender, created the 3D shapes according to this, exported this in VRML, specialized the VRML nodes to the Webots language, added the physical primitives manually. I found in the specs very precise values about servo axes, servo specs, masses, center of masses, and so on. Then the model has been calibrated with a real robot, to validate the model.

For your specific task, as mentioned above, I advise you to start to create the gripper using only simple primitives rather than IndexedFaceSet. The IndexedFaceSet used for the rendering can be set in a second step, but should not be transcending.

If even if I will be able to import those parts, how can I make them joint with other parts?

That's indeed a tricky part. When I did this, I created a script to automatically convert the blender hierarchy to the Webots hierarchy. (I cannot share this script. It's too ugly ;-) ) But this complexity is reduced by working with simple primitives, and can be done manually.

Concretely, for the left arm, I think that you should simply remove the DArmLowerLShape, and replaced it by a Servo. Something like this

DEF DArmLowerL Servo {
  # ...
  children [
    DEF LOWER_ARM_AND_STATIC_GRIPPER_PART Group {
      children [
        Transform {
          translation 0.1 0.2 0.3 # to setup
          rotation 0 1 0 0 # to setup
          children [
            Shape {
              geometry Box {
                size 0.1 0.2 0.3 # to setup
              }
            }
          ]
        }
       # to setup: add eventually other boxes
      ]
    }
    Servo GripperL {
      translation 0.1 0.2 0.3 # to setup
      rotation 0 1 0 0 # to setup : gripper axis
      children [
        DEF GRIPPER_MOVING_PART Group {
          children [
            Transform {
              translation 0.1 0.2 0.3 # to setup
              rotation 0 1 0 0 # to setup
              children [
                Shape {
                  geometry Box {
                    size 0.1 0.2 0.3 # to setup
                  }
                }
              ]
            }
           # to setup: add eventually other boxes
          ]
        }
        boundingObjects USE GRIPPER_MOVING_PART
        physics Physics { # to setup
        }
      ]
    }
    boundingObjects USE LOWER_ARM_AND_STATIC_GRIPPER_PART
    physics Physics { # to setup
    }
  ]
}