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 SetForceMode srv #20

Open
wants to merge 2 commits into
base: melodic-devel
Choose a base branch
from

Conversation

urmarp
Copy link

@urmarp urmarp commented Jan 9, 2023

Copy link
Member

@gavanderhoorn gavanderhoorn left a comment

Choose a reason for hiding this comment

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

High-level comment: the description and field types appear to be almost verbatim copy-pastes from URScript documentation.

Should task_frame and the other fields use appropriate ROS types? I'm thinking geometry_msgs/PoseStamped, geometry_msgs/WrenchStamped, etc.

@fmauch
Copy link
Contributor

fmauch commented Jan 27, 2023

I agree with @gavanderhoorn that we should use ROS types in the service. Using stamped datatypes also removes the ambiguity of the data passed to the service. Obviously this would then have to be transformed before being sent to the robot (But this is more of a driver issue independent of the service definition).

@urmarp
Copy link
Author

urmarp commented Jan 27, 2023

I will have a look at changing task_frame to geometry_msgs/PoseStamped and wrench to geometry_msgs/WrenchStamped. Does it make sense to change selection_vector to e.g. geometry_msgs/PoseStamped, as selection_vector should only be 0s and 1s? The same goes for limits as it is float32, but e.g. geometry_msgs/PoseStamped or geometry_msgs/TwistStamped use float64.

urmarp added a commit to urmarp/Universal_Robots_ROS_Driver that referenced this pull request Jan 30, 2023
@@ -0,0 +1,21 @@
# A 6d pose vector that defines the force frame relative to the base frame
geometry_msgs/PoseStamped task_frame
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure whether this makes sense. From what I understand, the target wrench is given in the task_frame, right? So, when using a WrenchStamped for the target wrench, the pose would be given through the frame_id.

geometry_msgs/WrenchStamped wrench

# An integer [1;3] specifying how the robot interprets the force frame
uint8 type
Copy link
Contributor

Choose a reason for hiding this comment

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

The types should probably be explained / use constants.

# An integer [1;3] specifying how the robot interprets the force frame
uint8 type

# 6d vector. For compliant axes, these values are the maximum allowed tcp speed along/about the axis. For non-compliant axes, these values are the maximum allowed deviation along/about an axis between the actual tcp position and the one set by the program
Copy link
Contributor

Choose a reason for hiding this comment

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

Suggested change
# 6d vector. For compliant axes, these values are the maximum allowed tcp speed along/about the axis. For non-compliant axes, these values are the maximum allowed deviation along/about an axis between the actual tcp position and the one set by the program
# For compliant axes, these values are the maximum allowed tcp speed along/about the axis. For non-compliant axes, these values are the maximum allowed deviation along/about an axis between the actual tcp position and the one set by the program.

# A 6d pose vector that defines the force frame relative to the base frame
geometry_msgs/PoseStamped task_frame

# A 6d vector of 0s and 1s. 1 means that the robot will be compliant in the corresponding axis of the task frame
Copy link
Contributor

Choose a reason for hiding this comment

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

This is not a 6d vector anymore, a final docstring can be done once we figured out the task frame above.

Comment on lines +5 to +10
bool selection_vector_x
bool selection_vector_y
bool selection_vector_z
bool selection_vector_rx
bool selection_vector_ry
bool selection_vector_rz
Copy link
Contributor

Choose a reason for hiding this comment

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

I'm not sure whether "selection_vector" is the best naming. Maybe something like "compliance_x" would be more suitable?

URJala pushed a commit to URJala/Universal_Robots_ROS_Driver that referenced this pull request Jul 3, 2024
@URJala URJala mentioned this pull request Jul 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants