- Rotate model (Euler coordinates of root link) -> y-axis points upoward
- Export URDF
- Indent XML in Gvim :'<,'>!xmllint --format -
- Manually edit URDF and rotate ground_joint by 1.570796327 (roll).
- Steps to assign new segment to visual:
- Select visual geometry
- Move cursor to selected
- IF present, remove Child Of object constraint.
- Select child visual than shift + select parent visual and than shift + ctrl + P
- Make parent without inverse
- Select child visual, shift + S and move to cursor (offset)
- Add child segment and copy paste Transform coordinates to Euler (in meters)
- Euler coordinates axes not matching Blender axes
- x Blender -> x Euler
- -y Blender -> z Euler
- z Blender -> y Euler
- After setting coordinates press Z to wireframe and check if segment is located precisely inside cursor.
- Rotate model (Euler coordinates of BaseLink) -> y-axis points upoward
- Export URDF (Absolute Filepaths)
- Indent XML in Gvim :'<,'>!xmllint --format -
- Manually edit URDF and rotate BaseLink_joint by 1.570796327 (roll).
- Implemented as 24 DOFs hand model with
dependent_joints
insidehand9dof_dependent_joints.yaml
reducing model to 9 DOFs - Launch iside Rviz using
hand9dof_rviz.launch
- Steps for exporting from
rehab_hand.blend
using HBP:- Export Hand9DOF robot to sdf format
- Change normals inside script and run
python hand_set_normals.py model.sdf
- Set variable to find exported visuals
export MESH_WORKSPACE_PATH=/path/to/rehab/models/RehabilitationDeviceHand/Hand9DOF/meshes/visual/
- Convert to urdf
rosrun pysdf sdf2urdf.py model-normals.sdf model-normals.urdf --no-prefix
- Copy urdf
cp model-normals.urdf /path/to/rehab/urdf/Hand9DOF/hand9dof.urdf