环境
Ubuntu18.04
ROS Melodic
Gazebo 9.0
SolidWorks设计模型
Gazebo中物体尺寸单位为米,如果在SolidWorks中以毫米为单位设计,那么最终的尺寸需要缩小1000倍。
例如需要在Gazebo中导入一个用SolidWorks设计的1m 0.5m 0.2m的长方体,如果在SolidWorks中的尺寸为1000mm 500mm 200mm,那么最终导出为STL文件时,需要改为1mm 0.5mm 0.2mm,这样导入到Gazebo的时候尺寸就是1m 0.5m 0.2m
导出为STL文件时,文件名最好不要是中文,并且要将后缀STL改为stl,否则Gazebo无法识别文件
Gazebo导入模型
模型文件尺寸修改正确且后缀改为stl后
- 打开Gazebo,选择左上角的Edit->Model Editor进入模型编辑器,点击Custom Shapes的Add栏,选择制作好的stl文件
- 模型此时就会加载到模型编辑器,点击模型,然后右键,选择Open Link Inspector,即可编辑模型的各项属性
- 编辑完成后,点击模型编辑器左上角的File->Save As,就可以保存该stl模型为sdf文件,保存好后,会在你指定的路径下生成一个文件夹,里面包含一个config文件和一个sdf文件,config文件用于保存作者和模型的描述信息,sdf文件存储的是模型的参数
- 点击左上角File->Exit Model Editor即可退出模型编辑器
Gazebo使用模型
模型保存成sdf文件后,打开sdf文件,会发现uri是绝对路径,如果代码在他人电脑上运行,那么就需要更改uri,这样比较麻烦,可以把uri改成相对路径
例如原uri为/home/xxx/src/simulation/model/Passageway/meshes/passageway.stl,那么uri可改为model://Passageway/meshes/passageway.stl
注意:文件夹名称一定要为model,改为其他名称无效
在Gazebo的世界编辑器中(打开Gazebo后默认进入的编辑器),点击左上方的Insert栏,点击Add Path,选择刚才保存模型的文件夹,即可加载模型