ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question
1

Create a joint on the fly

asked 2023-08-02 00:19:25 -0500

umejima gravatar image

Hi everyone! I just want to ask if it is possible to create a joint thru python script and on the fly? I have been having problems with grasping my object using my robot manipulator. The object just always slips through the grasp. I've tried adjusting the physics but to no avail. So, I thought, if I could, I would just create a fixed joint gluing my robotic hand to the object when they make contact. However, I'm struggling in finding a solution to implement it (if it is even possible).

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted
2

answered 2023-08-03 07:52:11 -0500

danzimmerman gravatar image

updated 2023-08-03 07:52:30 -0500

Assuming your physics simulator is Gazebo Classic, I know of https://github.com/JenniferBuehler/ga..., which as I believe does exactly the thing you're suggesting:

An object is detected as "grasped" as soon as two opposing forces are applied by the gripper links on an object. The object is then fixed to the palm or hand link. As soon as this criterion does not hold any more (e.g. the gripper opens), the object is detached again.

I haven't used it, I've just come across it in the past.

edit flag offensive delete link more
0

answered 2023-08-02 04:28:02 -0500

sampreets3 gravatar image

updated 2023-08-02 04:28:33 -0500

You could probably have some sort of callback that sees your object pose, and using something like elementTree to turn that into a xacro block, and use this to generate your new urdf and publish this onto your /robot_description topic. However, this would most likely cause more problems than solutions. One problem that would spring to mind is that your robot's planner would immediately start complaining, both about the robot itself changing, and the fact that now you would essentially be in a state of collision - because the end-effector _(which is now your end effector + object in grasp)_ would be at the same point as the object itself.

I would highly suggest against this, instead try to see how MoveIt does it with their grasping tutorial here.

edit flag offensive delete link more

Question Tools

2 followers

Stats

Asked: 2023-08-02 00:19:25 -0500

Seen: 49 times

Last updated: Aug 03 '23