Skip to content
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

Merged
merged 11 commits into from
Jul 8, 2021

Conversation

ale-git
Copy link
Contributor

@ale-git ale-git commented May 12, 2021

New parts not yet mounted on robots are now available.
A new iCub_components folder has been added.

ale-git and others added 4 commits May 5, 2021 09:21
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
@ale-git ale-git marked this pull request as draft May 12, 2021 13:36
@ale-git ale-git marked this pull request as ready for review May 12, 2021 13:36
@ale-git
Copy link
Contributor Author

ale-git commented May 12, 2021

@fiorisi

@@ -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
Copy link
Member

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
Copy link
Member

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
Copy link
Member

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/).

Copy link
Member

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.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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")
Copy link
Member

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:

While this can be done, it complicates maintenance, so probably we need to understand if it is worth it.

COMMAND ${CMAKE_COMMAND} -E
copy "${CMAKE_CURRENT_SOURCE_DIR}/data/${GIVTWO_YAML_TEMPLATE}" "${GENERATED_YAML_LOCATION}")

add_custom_command(OUTPUT "${GENERATED_CSV_LOCATION}"
Copy link
Member

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.

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()
Copy link
Member

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?

@traversaro
Copy link
Member

traversaro commented May 19, 2021

Recap of open points for this PR (@pattacini), based on our discussion:

Minor points, nice to have but not blocking the PR:

@ale-git
Copy link
Contributor Author

ale-git commented Jun 30, 2021

I've fixed all the points except for the naming, since I had to talk with @fiorisi about that.

@ale-git
Copy link
Contributor Author

ale-git commented Jun 30, 2021

About the wrist I've aligned the joint names with the standard iCub names: l_wrist_prosup, l_wrist_pitch, l_wrist_yaw

@ale-git
Copy link
Contributor Author

ale-git commented Jun 30, 2021

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
l_thumb_rotate_phys
l_thumb_proximal_phys
l_thumb_distal_phys
l_hand_finger_phys
l_index_proximal_phys
l_index_distal_phys
l_middle_proximal_phys
l_middle_distal_phys
l_pinky_proximal_phys
l_pinky_distal_phys

The logical (coupled) joint names as seen from the outside are:

l_thumb_oppose
l_thumb_rotate // new, not present in 2.0
l_thumb // l_thumb_proximal + l_thumb_distal in 2.0
l_hand_finger // only index adduction/abduction in 3.0
l_index // l_index_proximal + l_index_distal in 2.0
l_middle // l_middle_proximal + l_index_distal in 2.0
l_pinky

@ale-git
Copy link
Contributor Author

ale-git commented Jul 8, 2021

@fiorisi agreed with keeping the present iCub wrist names. Is there anything else to do before merging?

@traversaro
Copy link
Member

@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?)

@pattacini
Copy link
Member

pattacini commented Jul 8, 2021

Can we write these wrist names somewhere, even just in internal documentation? Thanks!

@ale-git I'd suggest that you update our internal wiki with the new names (if it's not done already).
Later on, @fiorisi and his group could move it to our official iCub Tech doc website.

@ale-git
Copy link
Contributor Author

ale-git commented Jul 8, 2021

(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.

@traversaro
Copy link
Member

(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!

@traversaro traversaro merged commit 872c9bd into robotology:master Jul 8, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants