欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 健康 > 养生 > 用Solidworks生成URDF文件并转换为proto导入Webots

用Solidworks生成URDF文件并转换为proto导入Webots

2025/3/10 6:43:12 来源:https://blog.csdn.net/qq_26230027/article/details/142955190  浏览:    关键词:用Solidworks生成URDF文件并转换为proto导入Webots

假设你已经有了自己的机械臂模型。关于模型我建议你有几部分关节就做成几部分装配体。

准备工作

1.给Solidwork安装sw2urdf插件。
https://github.com/ros/solidworks_urdf_exporter/releases
2.安装一个Python模块,urdf2webots。
https://pypi.org/project/urdf2webots/#files
或者在python环境中直接安装pip install urdf2webots

坐标系

在你的活动关节处设置坐标系,我这里只在旋转轴上找到一个点,直接安装世界坐标轴建立的坐标系。
在这里插入图片描述
导出URDF文件会让你选一个文件夹,可能会带上装配体的后缀,建议删除后缀,建议用英文名字。
生成URDF模型之后,进入python环境中,运行以下命令,python -m urdf2webots.importer --input=D:\Desktop\Solidworks*文件夹*\urdf*文件夹*.urdf
自己根据自己的路径进行修改
生成的proto文件默认会在用户目录下,C:\Users\你的用户名
打开proto编辑,替换全部,将所有的\替换为/
在这里插入图片描述

在Webots中导入你的模型。
在这里插入图片描述
导入后右键转换为基础节点。Convert to Base Node。
在这里插入图片描述
再新增一个Robot节点,把你的机械臂模型转换后的节点剪切进这个的children节点。
在这里插入图片描述
位置不对的话自己点击机械臂后显示三维坐标轴,拖动调整方向和位置。
在这里插入图片描述
创建个控制器,我这里用的python控制的,要在你机械臂的节点里把默认的控制器更改成你新建的。
在这里插入图片描述

代码如下:

"""my_controller controller."""from controller import Robot,Motorrobot = Robot()timestep = int(robot.getBasicTimeStep())joint1 = robot.getDevice('joint1')
joint2 = robot.getDevice('joint2')
joint3 = robot.getDevice('joint3')
joint4 = robot.getDevice('joint4')
joint5 = robot.getDevice('joint5')# 设置电机为速度控制模式
joint1.setPosition(float('inf'))
joint2.setPosition(float('inf'))
joint3.setPosition(float('inf'))
joint4.setPosition(float('inf'))
joint5.setPosition(float('inf'))while robot.step(timestep) != -1:joint1.setVelocity(2)joint2.setVelocity(2)joint3.setVelocity(2)joint4.setVelocity(2)joint5.setVelocity(2)pass

展示一下节目效果

webots

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词