-
Notifications
You must be signed in to change notification settings - Fork 31
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
Mucojo simulated Franka Gripper have weird open/close values #4
Comments
Hi there, |
For the simulator, No. I might look in to it in the future but I only used the sim to double-check the joints. In the real robot gripper worked just fine; Checking For the real robot, I might also add that your gripper might freeze when it grasp objects. (If you're using standard gripper of Franka) I haven't fixed it but I'm pretty sure this is GELLO using the wrong API call to polymetis/libfranka; I might up a PR if that's the case |
Got it. Thanks for the info! I'll try to deploy on a real franka and see if I have the same problem. |
Hi there, may I ask how you get gello to control a real Franka ? In my setup, I have an intel NUC connected to Franka with polymetis installed. The gello code is sitting on another ubuntu laptop, which is connected to the NUC via a network switch. To run gello, I installed polymetis in the same conda envrionement as gello on the laptop. I also changed the IP specified in launch_nodes.py . But somehow its giving me connection errors even though Im able to ping the robot. |
I have similar setup. The process of starting it (for me) is:
When I bump/get too far outside the workspace defined in I hope that helps Edit: I also remember that the GELLO Edit2: For the default gripper, there seems to be an error in the GELLO software code that I needed to modify. Namely this line in gello_software/gello/robots/panda.py Line 21 in e6a660d
This default value |
sorry added two edits later |
Thanks! Following your instructions works! However, I do have the same problem: to get Gello running, I have to manually match the joint positions of Gello with those of Franka's which is kind of tedious. |
yep it is indeed.... I assume it is an error somewhere in-between the DynamixelSDK and the calibration code so I might also check that later because I intend to modify some parts there for my own use. If you have the default franka gripper and end up getting in to the same issue with grasping an object -> Gripper freezes/become unresponsive, I'd like to know if you come up with any solution. I managed to fix it but in a slightly non-ideal way. The issue is (probably) related to polymetis and should be easily solved when this PR get merged on polymetis |
Hi @Harimus , could you let me know how did you solve the freezing gripper issue in the real franka? When I grasp an object, the gripper does not open anymore. I already tried adding the changes suggested in the PR you linked, but it is still not working for me. (I checked already that the changes are there, I rebuilt the code and added a print statement in the cpp to double check). |
Ah I think I solved it. If anybody is interested, my solution was to modify the def command_joint_state(self, joint_state: np.ndarray) -> None:
"""Command the leader robot to a given state.
Args:
joint_state (np.ndarray): The state to command the leader robot to.
"""
self.robot.update_desired_joint_positions(torch.tensor(joint_state[:-1]))
gripper_closed = joint_state[-1] > 0.25
if gripper_closed and not self.gripper_closed:
self.gripper_closed = True
self.gripper.grasp(speed=0.1, force=1.0)
elif not gripper_closed and self.gripper_closed:
self.gripper_closed = False
self.gripper.stop()
self.gripper.goto(width=MAX_OPEN, speed=1, force=1)
return |
Yes I solved in a similar way, by using the Did you observe the same thing? |
I didn't look into the grasp force myself, but I have heard from some other colleagues that they had this problem. They were using franka_ros instead of polymetis, so it must be an issue with the franka api itself. |
Yes, it seems that precise finger control is not possible with the Franka gripper? The authors avoid this by using the Robotiq gripper. |
Hi I just finished assembling GELLO and was running the
sim_franka
version of the environment to check for everything working properly. After some re-calibration It worked fine.However I noticed that Franka gripper value in the simulator were mapped a bit weirdly. When checking the
panda/finger_joint
values it fluctuates between[8e-06, 0.000153] #gripper: (open, close)
and thepanda/actuator
for the fingers, between[0.0541, 0.994]
. It seems like the actuator values are fine but not the gripper joint values? The gripper is constantly closed.I double-checked on Dynamixel-wizard the Gripper position value, to make sure it wasn't mis-match of calibration and the calibration value I got (191, 149) seemed to correspond pretty well with what the dynamixel-wizard was showing.
Also:
on Line 124
gello_software/experiments/run_env.py
Line 124 in e6a660d
I think it is supposed to be
start_joints=reset_joints
and in line 123reset_joints = np.array(args.start_joints)
(otherwise the code errors when start_joints are handed through command-line args, since it is given astuple
and notnp.ndarray
)The text was updated successfully, but these errors were encountered: