-
Notifications
You must be signed in to change notification settings - Fork 23
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Added Mk3 iCub hand and Mk2 iCub wrist parts. #203
Conversation
The paths used inside the `generate_components_simmechanics` macro were pointing to the files, but the paths were not set with CMake and it therefore could not find the files. This has been fixed by adding the `set` and `configure_files` commands before the `add_custom_command`. Also, we included the copying of the meshes and configuration files for the left_hand_mk3. If/when the wrist is included, the copy commands for the wrist should be included as well.
Fixed an issue with the components macro paths
@@ -0,0 +1,2 @@ | |||
simmechanics_to_urdf SIM_LEFT_HAND_Mk3.xml --yaml simmechanics2urdf_configfile.yaml --csv-joints simmechanics2urdf_joints_configfile.csv --output xml --outputfile left_hand_mk3.urdf |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Is this use? The bot will use the CMake infrastructure to generate the models, so to avoid confusion it could make sense to remove this (see #201).
joint_name,lower_limit,upper_limit,damping | ||
l_wrist_yaw_joint,-90.0,90.0,1.0 | ||
l_wrist_pitch_joint,-60.0,50.0,1.0 | ||
l_wrist_roll_joint,-30.0,30.0,1.0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can we document this limits somewhere? For the rest of iCub 3 we had this problem that we were not sure what was the reference for this limits, so it would be great if we could document them somewhere, to know where to check for getting the correct values.
SIM_L_HAND_PROX_MEDIUM_FINGER: l_hand_prox_medium_finger | ||
SIM_L_HAND_DISTAL_MEDIUM_FINGER: l_hand_distal_medium_finger | ||
SIM_L_HAND_PROX_LITTLE_FINGER: l_hand_prox_little_finger | ||
SIM_L_HAND_DISTAL_LITTLE_FINGER: l_hand_distal_little_finger |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Are these joint names documented somewhere? On iCub 2 we have exactly this problem that the joint names of the hand are not defined (see robotology/icub-models#30), it would be great if we could start documenting the joint names for the hand of iCub3, do avoid this problem (see for example https://icub-tech-iit.github.io/documentation/icub_kinematics/icub-joints/icub-joints/).
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
To given an example why this is important, it seems that the configuration files in https://github.com/robotology/robots-configuration/pull/253/files#diff-0fb41e3c08177cef454c0dc1e823aac1a46346e4d44c58a008dd2912f67131d0R12 use completely different joint names, or perhaps the relation between this two set of names is not clear.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
cc @pattacini
CMakeLists.txt
Outdated
@@ -16,6 +16,7 @@ option(ICUB_MODEL_GENERATE_SIMMECHANICS "Generate models using the model generat | |||
option(BUILD_TESTING "Run tests for the generated models" ON) | |||
|
|||
set(BUILD_PREFIX "iCub") | |||
set(COMPONENTS_BUILD_PREFIX "iCub_components") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is any specific reason for not installing these in iCub
as the rest of the models? If we install the models in a different directory, then we need to:
- Update the docs of icub-models ( https://github.com/robotology/icub-models#by-installing-the-models )
- Update the setup scripts of the robotology-superbuild (see https://github.com/robotology/robotology-superbuild/blob/545ec06c6915e0581dfaa2a09cc435f37ad5d614/conda/multisheller/icub-models_deactivate.msh, and all the files in https://github.com/robotology/robotology-superbuild/tree/master/cmake/template)
While this can be done, it complicates maintenance, so probably we need to understand if it is worth it.
simmechanics/CMakeLists.txt
Outdated
COMMAND ${CMAKE_COMMAND} -E | ||
copy "${CMAKE_CURRENT_SOURCE_DIR}/data/${GIVTWO_YAML_TEMPLATE}" "${GENERATED_YAML_LOCATION}") | ||
|
||
add_custom_command(OUTPUT "${GENERATED_CSV_LOCATION}" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As a general comment, it would be great if we could avoid mixing tabs and spaces, as this induces visualization artifacts and misalignments.
simmechanics/CMakeLists.txt
Outdated
copy "${GIVTWO_YARP_COMPONENT_NAME}.urdf" "${CMAKE_BINARY_DIR}/${COMPONENTS_BUILD_PREFIX}/parts/${GIVTWO_YARP_COMPONENT_NAME}/model.urdf") | ||
|
||
list(APPEND model-simmechanics-generated-models "${CMAKE_BINARY_DIR}/${COMPONENTS_BUILD_PREFIX}/parts/${GIVTWO_YARP_COMPONENT_NAME}/model.urdf") | ||
endmacro() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Just to understand, what's the difference between this macro and generate_icub_simmechanics
?
I've fixed all the points except for the naming, since I had to talk with @fiorisi about that. |
…rist_pitch, l_wrist_yaw
About the wrist I've aligned the joint names with the standard iCub names: l_wrist_prosup, l_wrist_pitch, l_wrist_yaw |
…where applicable).
About the hand I have maintained the names already used with the 2.0 hand as much as possible, or modified them in a way that makes sense. The physical joint names are: l_thumb_oppose_phys The logical (coupled) joint names as seen from the outside are: l_thumb_oppose |
@fiorisi agreed with keeping the present iCub wrist names. Is there anything else to do before merging? |
Can we write these wrist names somewhere, even just in internal documentation? Thanks! (Just to understand, of the non-blocking issues in #203 (comment) were address or not?) |
Yes, I can't check the boxes but I took care of all points. |
Perfect, thanks! |
New parts not yet mounted on robots are now available.
A new iCub_components folder has been added.