-
Notifications
You must be signed in to change notification settings - Fork 275
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 for OnRobot RG2 Gripper #45
base: master
Are you sure you want to change the base?
Conversation
I messed up the description. It's not a Robotique gripper, it's an OnRobot gripper. |
@@ -277,6 +277,17 @@ def movej(self, joints, acc=0.1, vel=0.05, wait=True, relative=False, threshold= | |||
self._wait_for_move(joints[:6], threshold=threshold, joints=True) | |||
return self.getj() | |||
|
|||
def movej_to_pose(self, tpose, acc=0.1, vel=0.05, wait=True, relative=False, threshold=None): |
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.
what is that method supposed to do? it looks like the same as movj or is it?
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.
hi, the movej_to_pose method allows to set a pose instead of joints as target of the movej. I haven't found that variant in the api.
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.
sorry forgot that one. Bit does that make sense at all? is tpose is a list of joint values then it is the same as movej, if it is a pose, then you need the inverse kinematic to find joint values to send... I really do not get what it does...
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.
If i pass a pose variable to movej the robot itself calculates the kinematic. You can try this yourself within Polyscope. You can pass a pose to movej. IMHO this just makes it easier to use
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.
joint positions (q can also be specified as a pose, then
inverse kinematics is used to calculate the corresponding
joint positions)
From the script manual for movej
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.
did not know about it. Thanks
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.
maybe you should writ that comment in doc string so other people understand it?
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.
@Mofeywalker I am wondering is your movej_to_pose_list
method working? BTW, I want to switch ON the welding torch and then use movej_to_pose_list
, however the set_digital_out
method is sent over as a complete program. When it finishes there is no program running and hence the digital output will fall back to OFF for safety sake. Thank you for your help.
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.
@Mofeywalker I am wondering is your
movej_to_pose_list
method working? BTW, I want to switch ON the welding torch and then usemovej_to_pose_list
, however theset_digital_out
method is sent over as a complete program. When it finishes there is no program running and hence the digital output will fall back to OFF for safety sake. Thank you for your help.
hey @blackhorsewu the last time i worked on this in december 2018 it worked :) But I changed jobs in the meantime and don't have access to an UR anymore.
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.
@Mofeywalker thank you very much for your reply. I would then try on it. Thank you also very much for the movej_to_pose. That solved my problem. I was trying to find out ways to call get_inverse_kin() and was getting nowhere! Anyway thank you again for the good work.
urx/onrobot_rg2_gripper.py
Outdated
@@ -0,0 +1,273 @@ | |||
|
|||
from urx.urscript import URScript | |||
import time |
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.
maybe it is a good idea to move all these gripper files to a directory called grippers or devices?
urx/onrobot_rg2_gripper.py
Outdated
@@ -0,0 +1,273 @@ | |||
|
|||
from urx.urscript import URScript | |||
import time |
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.
Hello,I am a student in Turkish German University and we are working on a project with UR3 and RG2 Gripper and we only found your python code for RG2 Gripper.Some movement code(movej,movep...) that you have been writen does not match the dokument (https://s3-eu-west-1.amazonaws.com/ur-support-site/45989/scriptManual.pdf) that have been lead.
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.
@cengizfurkan patch welcome in another PR. but generally I think we should more the RG2 wrapper out of that repository
[WIP] RG2 script Thanks a lot!
I've found the boilerplate code will close and open the gripper immediately, no matter which of the functions is called on it. Could anyone verify the same behaviour on their own gripper? |
Fix syntax errors and documentation
import urx if name == 'main':
Hello, i want to control onrobot rg2 gripper in python. |
If the onrobot gripper plug-in is installed in UR touch pad, it may not
work.
Would you like to remove Plugin on touch pad and retry?
I failed and am controlling it through digital signals. Of course, there is
no control of the force.
I'm sorry I didn't help you. thk
2023년 5월 29일 (월) 오후 4:37, kend11 ***@***.***>님이 작성:
… Hello, I am trying to control my onrobot rg2 gripper on UR10e in python
but when I run the code, the error as shown below pops up. Any advice on
how to solve this? Thank you!
[image: Screenshot 2023-05-29 153424]
<https://user-images.githubusercontent.com/84660468/241674974-765ddd92-c6a4-4c31-9cd2-90b8bac08cc6.png>
The code that I run is this
[image: image]
<https://user-images.githubusercontent.com/84660468/241675144-fc04e404-993c-4869-a76f-c2b66cc30b06.png>
I searched online that those people that faced similar issues, they solved
it uninstalling urx that they installed through pip and cloning this
repository directly. I tried that method but the issue persists. Any help
will be greatly appreciated thanks!
—
Reply to this email directly, view it on GitHub
<#45 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/A4DV2HNIWRY7EKTKONRR6Y3XIRG4BANCNFSM4FPIAPNQ>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
@IE-MangChi what did you mean by "I failed and am controlling it through digital signals"? So, you are not using the function open_gripper() to control the gripper? Did you just set digital signals to true and false to open and close the gripper respectively? Thank you! |
Thanks to your code our gripper started to work. Thank you ;) |
Hi,
I needed support for the OnRobot RG2 Gripper, so I implemented a little plugin which allows to open and close the gripper via a very simple API. I needed a lot of boilerplate code which is generated by the URCap plugin of the gripper.
Maybe this code is helpful for others.
Tested on an UR3 with FW 3.6.1.30595 and RG2 URCap version 1.9.0 and RG2 Firmware version 1.5.0
Best regards
Moritz