solidworks导出gazebo模型


前言

整理了solidworks导出gazebo模型并上色、贴图、修改位姿的大致流程.


1.利用solidworks导出URDF文件

  1. 下载插件:https://github.com/ros/solidworks_urdf_exporter/releases
  2. 加载插件在这里插入图片描述
  3. 导出
  1. 一个link对应一个零件(或者一个部件),两个link之间通过joint连接
  2. 一个link只能上一种颜色,需要区别开的地方在solidworks里面是上色,为了在gazebo里区分,就必须做成俩零件,变成俩link
  3. 注意装配体命名,最好别有中文,导出的文件也留简单点,不要字符大写字母

在这里插入图片描述
在这里插入图片描述

2. 导入gazebo

将到处的urdf文件夹作为功能包放在/catkin_ws/src目录下,编译后运行gazebo.launch文件,即可在gazebo中显示导入的模型。问题是没有颜色。在这里插入图片描述

2.1 上色

修改urdf文件,下拉到最后,修改指定link的颜色。

<gazebo reference="base_link">
  <material>Gazebo/Black</material>
</gazebo>

在这里插入图片描述

2.2 贴图

不知道为啥添加的texture文件没有用,只好用blender添加贴图,参考文章
在这里插入图片描述
需要注意的是,我直接把需要贴图的stl文件导入blender,然后添加的贴图,但是还不知道如何修改贴图的大小,有个展开选项,可以让图片适应目标零件大小。
按教程中的方法得到的文件夹可以直接放在urdf文件夹中,修改mesh路径即可。

在这里插入图片描述至此,完成上色与贴图。

2.3 修改初始位置

修改launch文件,设置模型初始位置

<launch>

<!--设置模型初始位置的参数-->

<arg name="x_pos" default="0"/>
<arg name="y_pos" default="0"/>
<arg name="z_pos" default="0.1"/>

<arg name="R_pos" default="3.1415926"/>
<arg name="P_pos" default="0"/>
<arg name="Y_pos" default="0"/>

  <include
    file="$(find gazebo_ros)/launch/empty_world.launch" />
  <node
    name="tf_footprint_base"
    pkg="tf"
    type="static_transform_publisher"
    args="0 0 0 0 0 0 base_link base_footprint 40" />

<!--加载模型时调用位置参数-->
  <node
    name="spawn_model"
    pkg="gazebo_ros"
    type="spawn_model"
    args="-file $(find dock)/urdf/dock.urdf -urdf -model dock
    -x $(arg x_pos) -y $(arg y_pos) -z $(arg z_pos)
    -R $(arg R_pos) -P $(arg P_pos) -Y $(arg Y_pos)"
    output="screen" />


  <node
    name="fake_joint_calibration"
    pkg="rostopic"
    type="rostopic"
    args="pub /calibrated std_msgs/Bool true" />
</launch>


总结

实现了预期效果,有点麻烦,可能有更好的方法。

  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
solidworksgazebo的大致流程如下: 1. 首先,你需要下载并安装solidworks_urdf_exporter插件。你可以在https://github.com/ros/solidworks_urdf_exporter/releases找到该插件的下载链接。 2. 在solidworks中,使用该插件导出URDF文件。每个link对应一个零件或部件,通过joint连接两个link。需要注意的是,一个link只能上一种颜色,如果需要区分不同部分,可以将其设计为多个零件或部件。在solidworks中进行上色操作,以便在gazebo中区分不同部分。 3. 在导出URDF文件时,注意给装配体和文件命名,最好避免使用中文,并保持文件名简单,不要使用大写字母。 4. 如果你使用的是noetic版本的ROS,需要对URDF文件进行一些修改。例如,你需要将节点名称从"joint_state_publisher"改为"joint_state_publisher_gui",将包名从"robot_state_publisher"改为"robot_state_publisher"。具体修改内容可以参考引用\[3\]中的示例。 总结起来,solidworksgazebo的流程包括安装插件、导出URDF文件并进行上色和命名,以及根据需要对URDF文件进行修改以适应不同版本的ROS。 #### 引用[.reference_title] - *1* *2* [solidworks导出gazebo模型](https://blog.csdn.net/bigold533/article/details/124412752)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [SolidWorks导出URDF到rviz、gazebo](https://blog.csdn.net/qq_45672222/article/details/128161189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值