1:安装SolidWorks to URDF exporter插件
urdf_exporter
2:确认插件已经加载
打开SolidWorks
点击小齿轮旁边的下拉菜单,选择插件,然后拉到插件最底下有个sw2urdf的插件,点击选中,然后保存。
3:导出单个零件到URDF文件
详细步骤
在Solidworks中定义好零件的材质等参数后,在工具→File→Export as URDF中打开导出对话框:
File在工具的最下方,需要点击工具里的下拉键找到File。
4:在ros中加载模型
将生成的urdf文件 、meshes文件、textures文件等拖入自己创建的ros包中。
修改urdf中的文件。
将代码中所有的filename=行 中package后改为自己的包名
<geometry>
<mesh
filename="package://gis_gazebo/meshes/管道1.SLDPRT.STL" />
</geometry>
<material
name="">
<color
rgba="0.79216 0.81961 0.93333 1" />
<texture
filename="package://gis_gazebo/textures/" />
</material>
</visual>
<collision>
<origin
xyz="0 0 0"
rpy="1.5707963267949 0 0" />
<geometry>
<mesh
filename="package://gis_gazebo/meshes/管道1.SLDPRT.STL" />
</geometry>
随便使用launch文件加载模型
<launch>
<!--将模型加载到参数服务器-->
<arg name="model" default="pipe.urdf"/>
<arg name="world" default="my.world"/>
<!--将模型加载到参数服务器-->
<param name="robot_description" textfile="$(find gis_gazebo)/urdf/$(arg model)"/>
<!--打开gazebo-->
<include file="$(find gazebo_ros)/launch/empty_world.launch">
<!-- <arg name="world_name" value="$(find gis_gazebo)/world/$(arg world)"/>-->
<arg name="paused" value="false"/>
<arg name="use_sim_time" value="true"/>
<arg name="gui" value="true"/>
<arg name="headless" value="false"/>
<arg name="debug" value="false"/>
</include>
<!--加载模型-->
<node name="pipe" pkg="gazebo_ros" type="spawn_model"
args="-x 0.3
-y 5
-z 0.17
-Y -01.57
-unpause
-urdf
-param robot_description
-model " />
<!--发布连接信息-->
<node name="robot_state_publisher" pkg="robot_state_publisher"
type="robot_state_publisher"/>
</launch>
如果无误,就可以在gazebo看到模型了。
如果想将模型作为静止世界,可以在gazebo中点击file->Save_World_As保存为.world文件。
之后加载时打开该.world文件。