-
Notifications
You must be signed in to change notification settings - Fork 116
Kinematic Skeleton
Links and joints are handled as Blender armatures and bones in Phobos, as
explained [here](Structure-of-Robot-Models#Links, joints,
armatures and bones). It is possible to position the 3D cursor at a specific
location (LMB or 3D Cursor values displayed in the transform panel to the
right of the 3D view), create a Blender armature and set the phobostype to
'link'. It's however easier to use Phobos' Create Link(s)
operator for that.
Adding a link at the 3D cursor position
The operator can either place a link at the 3D cursor or place multiple links
at the origins of selected visual objects (choose selected objects
for
'location' in the operator menu). This will place links in the position and
with the orientation of the selected visuals:
<<<<<<< HEAD:Kinematic-Skeleton.md
The problem here is that not all links are placed sensibly. As they not only represent the reference frames for links, but also the positions of joints between the links (see here), it is not always helpful to directly parent the objects to the newly created links using the parent object(s)
.
The problem here is that not all links are placed sensibly. As they not only represent the reference frames for links, but also the positions of joints between the links (see TODOLhere), it is not always helpful to directly parent the objects to the newly created links using the parent object(s)
.
phobosV1:Kinematic Skeleton.md
If we have arranged our visual objects in a tree already, we could additionally choose parenting
to also parent the newly created bones to one another.
The same problem as above applies: If the visual objects are not arranged properly, this will result in wrongly placed joints, as can be seen in the example picture, where the leg joints reside in the middle of the limb segments.
Thus this parenting method is best used only in case the origins of visuals are located in "link space".
It is possible to configure the name segments and prefix to be used for naming the newly created links. Finish the operator by hitting A. As you will notice, all our newly-created bones are already set to phobostype 'link'.
Joints are defined implicitly via the orientation of the links: most joints rotate around (or slide along) the long axis of the associated bone. If you select a bone, switch to Pose Mode and hit R twice to enter local rotating mode around Y, you can turn your joint around its axis:
Note that the long axis of pose bones is always their local Y axis. Using the Define Joint Constraints
operator, it is possible to specify the constraints defined in URDF, which are then assigned to the joint. These constraint settings can also be edited manually in the displayed tab.
This will restrict the way the pose bone can be rotated in Blender to the same degree as on the actual robot.
Finally, after all armatures are placed correct and all edit bones are correctly oriented to match the joint axes, we have completed the kinematic model of the robot.
<<<<<<< HEAD:Kinematic-Skeleton.md Back to Modeling Walkthrough.
Back to Modeling Walkthrough. TODOL
phobosV1:Kinematic Skeleton.md
Back to top.