小鱼 ROS 2 新书上线!点击链接查看, 新书配套视频点击链接查看。
提问前必看的发帖注意事项—— 提问前必看!不符合要求的问题拒绝回答!!
社区使用指南—如何添加标签修改密码
gazebo无法启动使用sw_urdf_exporter导出的模型
-
使用sw_urdf_exporter插件将solidworks中的模型导出为ros1的功能包。只保留了urdf文件和meshes文件夹中的 .STL文件。按照视频教程启动了rviz并显示了机器人。但在后续的启动gazebo并显示机器人模型中,一直无法加载机器人模型。
-
针对您在使用Gazebo时无法加载通过sw_urdf_exporter插件从SolidWorks导出的机器人模型的问题,以下是一些可能的解决方案和排查步骤:
-
检查模型格式与路径:
- 确保您导出的URDF文件是Gazebo支持的格式。虽然URDF是Gazebo支持的格式之一,但还需要确保文件本身没有损坏或格式错误。
- 检查URDF文件和STL文件所在的路径是否正确,确保Gazebo能够访问到这些文件。
-
检查依赖关系:
- 机器人模型可能依赖于其他文件或插件。请确保所有必要的依赖关系都已正确安装和配置。
- 特别是与ROS和Gazebo相关的依赖包,如
ros-<distro>-gazebo-ros
(其中<distro>
是您的ROS发行版,如indigo、kinetic等)、ros-<distro>-gazebo-plugins
等。
-
检查Gazebo版本兼容性:
- 确保您使用的Gazebo版本与您的机器人模型兼容。不同版本的Gazebo可能在功能和支持的文件格式上有所不同。
- 如果可能,尝试更新Gazebo到最新版本,或检查模型是否适用于您当前使用的Gazebo版本。
-
检查URDF文件配置:
- 仔细检查URDF文件的配置,包括各个Link和Joint的设置。确保所有必要的参数都已正确配置,如质量、惯性、关节类型等。
- 特别注意关节力矩的设置,如果关节力矩为0,可能导致关节无法支撑机器人身体而断开。
-
检查插件安装与配置:
- 如果您使用的是特定版本的SolidWorks和sw_urdf_exporter插件,请确保插件已正确安装并配置为与您的SolidWorks版本兼容。
- 检查是否有任何与插件相关的错误消息或日志输出,以便进行进一步的调试。
-
查看Gazebo日志输出:
- 启动Gazebo时,查看其日志输出以获取更多关于错误的信息。这可以通过在终端中运行Gazebo时添加
--verbose
选项来实现。 - 日志输出中可能包含有关无法加载模型的具体原因或错误提示。
- 启动Gazebo时,查看其日志输出以获取更多关于错误的信息。这可以通过在终端中运行Gazebo时添加
-
尝试重新启动Gazebo和ROS:
- 有时,重新启动Gazebo和ROS核心服务可以解决一些临时的加载问题。
-
检查ROS配置:
- 确保您的ROS配置正确,包括环境变量、工作空间设置等。
- 确保所有必要的ROS节点和服务都已正确启动并运行。
如果以上步骤都无法解决问题,建议您提供更多的信息,如操作系统版本、ROS版本、Gazebo版本、SolidWorks版本以及sw_urdf_exporter插件的版本等,以便更准确地定位问题所在。此外,您也可以考虑在ROS社区或相关论坛中寻求帮助,那里有许多经验丰富的开发者和用户可能遇到过类似的问题并找到了解决方案。
以上为生成回答,仅供参考~
-
-
URDF文件没有问题,因为可以在rviz中正常显示。
使用gazebo_ros的spawn_entity.py来启动的gazebo -
我测试过配置其他变量和GAZEBO_MODEL_PATH,终端显示echo命令有效,但是启动gazebo的时候仍然是从仍然在尝试使用 model:// URI 来查找模型,而不是使用 package://。这该如何解决???@凄凉的泪水
-
@凄凉的泪水 collison 有没有配置STL
-
@小鱼 我是使用soildworks的ros插件直接导出的。外观和碰撞在同一个link中是相同的。在今天下午,我吧move_cpp
/meshes目录迁移到~/.gazebo/models/move_cpp/meshes后启动gazebo后成功在gazebo中正常显示机器人模型,但是是通体白色,这个原因还没有确定。但是可以确定,在launch.py和~/.bashrc中配置gazebo_modle_path环境变量没有启效果,gazebo不会从install或者src/move_cpp下寻找meshes文件夹,urdf文件中只有pakeage:没有model:,但终端会显示线上和本地都找不到model:所构建的url的地址。如果你需要 我可以提供全部的源文件。十分感谢你能回答我的问题。谢谢 -
@小鱼 在 gazebo无法启动使用sw_urdf_exporter导出的模型 中说:
@凄凉的泪水 collison 有没有配置STL
截止到今天上午,完全按照教程中的launch.py方法能够启动源urdf文件(使用solidworks插件导出),在launch文件中加入joint_state_publisher_gui节点后,还可以对以转动的关节进行操作。但是按照后续的教程中启动gazebo并添加机器人模型时;初期由于launch中GAZEBO_MODEL_PATH变量无法设置导致无法找到STL文件,后放弃此思路,将模型文件路径保存到了~/.gazebo/models下后,终端不在弹出找不到stl文件的提示。在之前的某次操作中,曾在gazebo中看到了机器人模型,通体白色,但略微倾倒或零件飞出。但在后续的测试中,在终端显示已加载机器人模型和未提示找不到STL文件的情况下,在gazebo世界中,机器人模型无法可视化。但在左侧显示栏中Models/Robot中可以显示机器人的Links和Joins,右键link挥着joint的Follow可以看到机器人的外框,但是esc退出follow模式后模型恢复不可见。
有两个问题:第一个就是问什么在launch定义的GAZEBO_MODEL_PATH无效。第二个就是,为什么gazebo中无法可视化机器人模型。感谢您!这个功能包所有的源代码和三维模型已推送到git@github.com:QILIANGDELEISHUI/ROS2-sw_urdf_GAZEBO.git