. The urdf using tree form that does not support parallel robots (close loop robots).
. The sdf using graph form that is more advanced.
. Using Solidworks (edition>2013) and ros tool 'SolidWorks to URDF exporter' plugin can generate urdf.
* solidworks版本要新,example用的2016年的
* 裝配時不能有任何close loop joint,有close loop joints要拆散成open loop
* 基本的參數,如link,joint,inertial可以自動生成
. 如果有close loop joints, 可以在轉換成sdf后,手動修改xml文件
. URDF to SDF:gz sdf -p ./name.urdf > ./name.sdf
===========================================================
* solidworks裝配件中,所有部件都必須是最低層次的parts,不能是低一層的裝配件
* solidworks的close loop robot,首先正常裝配,並且調整到合適的位置
* 其次,拆散配合,使close loop robot變成合適的open loop robot
* 使用 'SolidWorks to URDF exporter' 插件,按GUI步驟導出urdf,稍加修改就可以在rviz中檢查
* URDF to SDF:gz sdf -p ./name.urdf > ./name.sdf
* 下面就是修改SDF文件,添加joints,恢復成close loop robot.
* Each element on SDF is defined with respect to a specific reference frame:
- Links are defined on the parent model's frame
- Joints are defined on the child link's frame
SDF中的joint pose如果和reference frame重合(offset為0),則<pose></pose>可以省略不寫。
否則,offset joint pose 需要顯式的寫出。
* offset joint pose可以在solidworks中測量。注意,測量joints點相對於child link's frame. 測量前可以鎖定所有活動部件。
* joints 根據需要再設置limits
======================================================