webots学习笔记——URDF和PROTO文件生成及导入综述参考

这篇具有很好参考价值的文章主要介绍了webots学习笔记——URDF和PROTO文件生成及导入综述参考。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

    在学习webots过程中,对于URDF文件生成、PROTO文件的生成,学习了CSDN上的多篇博客,终于实现了自己的文件导入及初步仿真动作的实现。现做一简单汇总,并简要介绍,希望能帮助到有需要的人。

      一点体会,有时候很难照着一篇博客从头到尾跟下来就能复现,涉及很多因素,包括软件版本不同(solidworks版本不同,对应SW2URDF版本就不同;webots版本不同;python版本不同;URDF2webots版本不同)系统不同(WIN、Linux+ROS)、机器人构型不同(三轴、四轴、六轴),因此需要多多参考别人的多篇文章,找出最接近自己需要的2-3篇,再加上自己实操,才能完成自己的目的和解决自己遇到的问题。

1、下面这篇文章介绍了URDF模型的joint标签详解,了解基本概念还是很有必要的。

ROS中URDF模型的joint标签详解_ros joint-CSDN博客

要点:

1.1 joint中的属性

关节一共有如下六个类型:

continuous: 一个不受限制的, 绕着一根轴的转动副.
revolute: 一个转动角度受到限制的, 绕着一根轴的转动副.
prismatic: 一个沿着一根轴的滑动副, 并且有限位.
fixed: 固定关节.
floating: 这个关节允许六个自由度的运动, 浮动关节.
planar: wiki上的原话是: This joint allows motion in a plane perpendicular to the axis. 我理解是, 这个关节允许再垂直于轴的一个平面内进行运动, 参考"ROS机器人开发实践"第115页上的内容. 这里的运动应该即包括平移, 也包括旋转.

1.2 joint中的元素

<origin>(可选, 默认为0)  这是一个可选的参数, 并不必须.它反应了从parent link到child link之间的一个变换
<parent>(必须) 指定了这个关节的parent link
<parent>(必须) 指定了这个关节的parent link
<axis>(可选, 默认为(1, 0, 0)) 相对于child link也就是joint link的坐标系:
<calibration>(可选, 非必须)

用于校准关节的参考位置:
rising: 当关节沿正方向移动, 将除法上升沿.
falling: 反之.

<dynamics>(可选, 非必须, 默认为0)

反映了这个关节的一些物理参数, 比如阻尼值或者静摩擦力等:

<limit>(仅仅在prismatic和revolute的关节时需要设置)
其中包含如下几个属性:
lower和upper(可选, 默认为0): 反映了关节移动的最小值或者最大值. 如果关节是continuous类型的话, 就会被自动忽略. 如果不填的话全部默认为0.
effort(必须存在): 其中包含如下几个属性:
lowerupper(可选, 默认为0): 反映了关节移动的最小值或者最大值. 如果关节是continuous类型的话, 就会被自动忽略. 如果不填的话全部默认为0.effort(必须存在): 

velocity(必须): 设定了关节运动的最大速度.

<mimic>(可选)

这个标签用于明确定义的关节和其他关节之间的关系. 其中包括multiplier和offset

<safety_controller>(可选)

这个元素可以包含一下属性:
soft_lower_limit(可选, 默认为0)
soft_upper_limit(可选, 默认为0)
k_position(可选, 默认为0)

k_velocity(必须)

2、命令行下使用python转换urdf为 proto,及各参数的设置

【webots】urdf文件转换为webots文件 详细步骤-CSDN博客

 python -m urdf2webots.importer --input=urdf所在目录 --box-collision --static-base --tool-slot=base_link --multi-file --rotation="1 0 0 -1.5708"

3、四轴机械臂URDF导出前在solidworks中的设置讲解的很细,对初学者最有参考价值的文章之一

导出后的package文件ubuntu下使用暂未使用,使用时再参考学习。

提到导出文件时,改成不带下标点并且全都为小写字母的名称,否则编译会出错。

sw2urdf使用探索_sw2urdfsetup-CSDN博客

4、这个博主的两篇文章,尤其是第二篇文章也不错,对初学者最有参考价值的文章之一

第一篇文章讲了meshlab软件处理修复网格文件,可能以后用的上。

webots使用以及第三方模型导入装配、运动学仿真教程_webots六轴机械臂仿真-CSDN博客

第二篇文章简单介绍了六轴工业机械臂的模型导入。

将SolidWorks机器人模型导入webots的快捷方法_solidworks 导入webots-CSDN博客

5、导入proto文件前需要将其/\替换一下。就像下面这篇文章末尾里提到的。

利用插件将solidworks模型转化为URDF文件,再转化为proto文件并导入Webots_ubuntu_逆风的少年-CSDN学习社区

6、下面这个是一个四轮小车的导入过程,暂未涉及,留着备查。

webots导入solidworks模型_webots导入模型-CSDN博客

7、导入之后可能遇到的坑:控制台报错接触点超限

webots警告:WARNING: Contact joints between materials will only be created for the 10……_warning: close contact of 0.861590 angstroms betwe-CSDN博客

我的解决思路是在场景树中将BoundingObject设置为box类型,默认的可能太过复杂,用box可以大大简化计算量。

补充1:

这篇站外的文章也不错。

如何将URDF转为PROTO并导入Webots - C-Alen - 博客园 (cnblogs.com)

谢谢阅读~~文章来源地址https://www.toymoban.com/news/detail-855499.html

到了这里,关于webots学习笔记——URDF和PROTO文件生成及导入综述参考的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ROS自学笔记二十九:如何从SolidWorks导出URDF文件

    SolidWorks是一款三维计算机辅助设计(CAD)软件,用于创建三维模型。要将SolidWorks模型导出为URDF(Unified Robot Description Format)文件,您可以按照以下步骤进行操作: 1. 安装SolidWorks URDF插件: 首先,您需要安装SolidWorks URDF插件,以便能够导出URDF文件。这个插件通常由SolidWorks社

    2024年02月05日
    浏览(44)
  • 【ROS学习笔记17】ROS常用仿真组件URDF集成Gazebo

    写在前面,本系列笔记参考的是AutoLabor的教程,具体项目地址在 这里 1.1 URDF与Gazebo基本集成流程 URDF 与 Gazebo 集成流程与 Rviz 实现类似,主要步骤如下: 创建功能包,导入依赖项 编写 URDF 或 Xacro 文件 启动 Gazebo 并显示机器人模型 1.创建功能包 创建新功能包,导入依赖包: 2.编

    2024年02月06日
    浏览(31)
  • Rviz中如何导入自定义障碍物 | 从建模到导出urdf到导入rviz | Ros中如何导入障碍物 | sw2urdf的下载和使用 | MeshLa的下载和使用

    配置: Ubuntu20.04 Solidworks2016 sw2urdf1.5.1(GitHub下载链接) MeshLab(GitHub下载链接) 本文希望在Solidworks中自己完成障碍物建模,并且导入Rviz中,进行机械臂运动的碰撞分析等探索。 |----------------------------------------------------------------------------------------------- 总的来说可以分为: 模型导

    2024年02月15日
    浏览(28)
  • 学习笔记:jmeter-CLI命令生成jtl文件及html文件

    背景:jmeter学习中,CLI:无界面模式 负载测试使用CLI模式,而非GUI模式(GUI模式仅用于创建测试计划和调试脚本) 原因:性能测试多用户并发,消耗资源较高;GUI图像界面本身占用资源,导致用于性能测试资源变少,进而导致向服务器发起请求的压力降低,与服务器真实性

    2023年04月16日
    浏览(24)
  • FPGA 学习笔记:Vivado 生成的 Bitstream bit 文件 超大的解决方法

    最近学习FPGA,使用Vivado,照着开发板例程,写了个流水灯的Verilog程序,配置好引脚约束后,下载到开发板,发现下载的速度有点慢,我一查看 生成的 bit文件,发现竟然接近11MB。 开始以为是 Vivado 版本出了问题,我先后更换为 Vivado 2018.2 Vivado 2019.2 Vivado 2022.2,生成的 bit 文件

    2024年02月13日
    浏览(49)
  • gRPC---proto文件编写及文件介绍

    在编写完上面的内容后,在/proto目录下执行如下命令: 运行完代码后会在proto目录下生成两个.go文件: message类似于结构体,在消息中承载的数据分别对应于每一个字段,其中每一个字段都有一个名字和一种类型 一个proto文件中可以定义多个消息类型 required :消息体中

    2023年04月21日
    浏览(23)
  • 《零基础实践深度学习》(第2版)学习笔记,(二)机器学习和深度学习综述

    **人工智能(Artificial Intelligence,AI)**是研发用于模拟、延伸和扩展人的智能的理论、方法、技术及应用系统的一门新的技术科学。 **机器学习(Machine Learning,ML)**是当前比较有效的一种实现人工智能的方式。 **深度学习(Deep Learning,DL)**是机器学习算法中最热门的一个分

    2024年02月13日
    浏览(30)
  • 关于边缘联邦学习的研究方向以及现状综述阅读笔记

    预准备知识: 什么是联邦学习? 联邦学习非常适合边缘计算应用程序,可以利用 边缘服务器计算能力 以及在广泛 分散的边缘设备上收集数据 。 为了建立联邦边缘学习系统,需要应对多种技术挑战。 联邦学习(Federated Learning):技术角度的理解 综述原文链接: A survey of

    2024年02月02日
    浏览(35)
  • .netcore grpc的proto文件字段详解

    grpc的接口传输参数都是根据.proto文件约定的字段格式进行传输的 grpc提供了多种类型字段;主要包括标量值类型(基础类型)、日期时间、可为null类型、字节、列表、字典、Any类型(任意类型)、Oneof等 字段严格规范,是一种强类型文件协议 标量值类型 日期时间 可为null类

    2024年02月12日
    浏览(26)
  • aspnetcore微服务之间grpc通信,无proto文件

    aspnetcore微服务之间通信grpc,一般服务对外接口用restful架构,HTTP请求,服务之间的通信grpc多走内网。 以前写过一篇grpc和web前端之间的通讯,代码如下: exercisebook/grpc/grpc-web at main · liuzhixin405/exercisebook (github.com)   本次是微服务之间的通信使用了开源软件MagicOnion, 该软件定义

    2024年02月08日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包