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

Support Four Axes TCP Robots #142

Open
wants to merge 6 commits into
base: master
Choose a base branch
from

Conversation

Yadunund
Copy link

This PR extends EGM support to four axis robots such as the ABB IRB910SC. It fixes #141

I've tested this with an IRB910SC robot in RobotStudio using abb_egm_rws_managers and the abb_ros2 driver from PickNik. Will be opening PRs in those repositories with supporting changes. But the changes here will need to be merged in first.

abb_libegm_scara_demo.mp4

@Yadunund
Copy link
Author

Hmm I just noticed that the joint position read for the linear axis, ie, joint_3 is incorrect.

Here's the printout of the value of all the joint positions obtained from the incoming protobuf msg. ie _inputs.feedback().robot().joints().position().values()

Positions: [0.00409085, 0.00435426, -5.15469, 0.00300584]

The value at index 2 , -5.15469, is supposed to be the value of the linear joint in mm. However, the true value of the joint as read from the teach pendant is -90mm. So clearly there is a discrepancy.

Does this mean the EGM client on the robot is not publishing the right joint position?

* Estimate linear joint value from cartesian pose

Signed-off-by: Yadunund <[email protected]>

* Cleanup

Signed-off-by: Yadunund <[email protected]>

* Define constants

Signed-off-by: Yadunund <[email protected]>
@Yadunund
Copy link
Author

Managed to overcome the issue above with 60bcc39 which updates the protobuf parsing to compensate for this error by deriving the correct value from the cartesian Z-value of the robot.

Tested this out with the same IRB910SC in RobotStudio and seems to work well. Notice how the linear axis moves this time in the robot state visualization in RViz. In the video in the PR description, the axis doesn't move due to the protobuf error in the input joint value.

abb_libegm_scara_fixed.mp4

@Yadunund
Copy link
Author

Update: I've been using these changes to command a physical irb910sc robot for a few months without any issues.

@Yadunund
Copy link
Author

Yadunund commented Jan 4, 2024

@gavanderhoorn could you provide some feedback on this PR?

@Yadunund
Copy link
Author

@gavanderhoorn another ping.

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.

Support for Four Axis SCARA Arms (Eg IRB910SC)
1 participant