gazebo物理仿真环境搭建

环境搭建

整体框架

在这里插入图片描述

可以看到roscontroller既可以与我们真实的机器人进行交互也可以与gazebo下仿真的机器人进行交互

如何使得urdf文件在gazebo中能使用

  • required

必须要为每一个<link>合理配置一个<inertial>元素

  • optional

为每一个<link>添加<gazebo>元素

将视觉颜色转换为gazebo格式

将stl文件转换为dae文件以获得更好的纹理

添加传感器插件

为每一个<joint>添加<gazebo>元素

设置适当的阻尼动力学

添加执行器控制插件

为<robot>添加<gazebo>元素

前提

urdf 文件格式正确,可以在rviz下进行显示

解析gazebo

<gazebo>标签有一个元素“reference” 如果在没有reference的情况下使用<gazebo>元素,则假定<gazebo>元素用于整个机器人模型

link

<collision>,<visual>要同时指定(urdf文件有)

但注意urdf中定义的<material>在gazebo中不管用,那么重新在<gazebo>下定义一下

<gazebo reference="link1">
    <material>Gazebo/Orange</material>
  </gazebo>

<inertial>

为了使gazebo物理引擎正常工作,必须按照URDF链接元素页上的记录提供<inertial>元素。在gazebo上不可忽略的连接,其mass(质量)必须大于零。此外,在任何有限扭矩作用下,主转动惯量为零的连杆(ixx、iyy、izz)都可能导致无限加速度。这些值都要设置准确

    <inertial>
      <origin xyz="0 0 ${height1/2}" rpy="0 0 0"/>
      <mass value="1"/>
      <inertia
        ixx="1.0" ixy="0.0" ixz="0.0"
        iyy="1.0" iyz="0.0"
        izz="1.0"/>
    </inertial>

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7EuVFTI-1590025856966)(/home/zhongsy/Desktop/cotek_rb/gazebo _to_link.png)]

joint

首先原有urdf文件中joint设置ok。但是不是所有的element都可以用在gazebo中

  • <origin> <parent> <child> 这是必须的
  • <calibration> <safety_controller> 是无效的
  • <limit>标签的属性都可以用

验证

 # gazebo2 and below
  gzsdf print MODEL.urdf
  # gazebo3 and above
  gz sdf -p MODEL.urdf

launch文件启动gazebo

这里之后会专门写一篇博客

link

参考

http://gazebosim.org/tutorials/?tut=ros_urdf


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值