Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings
Jesse Haviland edited this pageJan 25, 2021 ·4 revisions

Note, this is a discussion document. Some of this has not been implemented yet, or we are experimenting with implementation

Jesse 30/11/20

Robot arms typically have end-effectors which can grasp things. These grippers are troublesome when designing a toolbox for arms as they are part of the robot but typically not a part of the robot which is actively controlled unless picking or placing. Additionally, grippers can not be expressed with DH notation but can be with ETS or URDF notation.

Our solution is to add grippers as an attribute to the robot object. Each robot contains a list of grippers (since a branched robot like the PR2 has two grippers). The Links which form the gripper are stored in the new gripper object so the robot's links only contain robot links. This abstaction also makes it possible to have gripper models where you can attach a Robotiq gripper to a Kionva arm for example.

A gripper object can perform forward kinematics to get the position between its base and its tool tips, close its fingers with a set acceleration/velocity, or set the finger width to be a specified distance.

Peter 5/1/21

We take a rigid-body-tree (ERobot class) and invokerobot.Gripper(link) wherelink is the hand or the link whose children are the fingers. These links are removed from the robot link tree and become children of the Gripper object. The Gripper object is an attribute of the preceding link. The gripper has a tool attribute which is a transform representing the mid point of the orginal grippers.

Original tree

L1--L2--L3--L4--HAND+-F1                    |                    +-F2

whereF1 andF2 are end-effectors, becomes

L1--L2--L3--L4--GRIPPER1GRIPPER1+-F1        |        +-F2

andGRIPPER1 is now a named end-effector of the robot, ie. it can be used to compute FK, IK, Jacobians etc.

If theGripper class inherited fromELink then it could be the final link in the branch and can conveniently provide the static offset, gripper name etc. A reference to it would appear in the EE list of the robot. The Gripper subclass would have additional attributes that hold the finger sub-tree, and additional methods that allow a user program to control the gripper. We could useisinstance() to determine if the link is a regular link or a gripper.

Jesse 25/01/21

How to add a gripper to an existing robot, say a UR gripper to a Panda?

Clone this wiki locally


[8]ページ先頭

©2009-2025 Movatter.jp