Webots:RHex仿真平台搭建——(二)给不规则腿部设置boundingObject

Webots:RHex仿真平台搭建——(二)给不规则腿部设置boundingObject

将模型导入成功之后点击启动仿真,模型并不会有任何变化,给整个机器人添加physics,点击启动仿真,机器人直接穿过地面掉落,原因是没有对腿部添加boundingObject。一般在直接使用Webots自带的几何形状构建模型时,添加boundingObject只需要选择相同的几何形状即可,但是由于我们的腿部是自己导入的,因此不能使用这种方法。接下来介绍两种为导入的不规则模型添加boundingObject的方法。

方法一:通过给shape命名的方法直接use已有的几何信息

展开在HingeJoint的endPoint节点处导入的leg,找到children的最下级Shape,将其命名为leg。
在这里插入图片描述
命名完成后双击该endPoint节点下的任一boundingObject,选择use,选择刚命名的leg,点击添加即可。

在这里插入图片描述
该方法极为简单,唯一可能出现的麻烦就是分级太多,不知道给哪个节点命名是可以直接使用的几何信息。此处给出一些提示:
1. 能直接USE作为boundingObject的几何信息一般为Shape节点。因此,找到最底层的Shape节点给其命名即可。
2. 无法确定是哪个需要的节点,可以随手给所有的可命名节点命名。

方法二:自定义boundingObject的PROTO节点

双击boundingObject NULL添加boundingObject节点时可以看到Webots Projects中提供了一些节点,其中有一个十分简单的矩形平面可以作为boundingObject。
在这里插入图片描述
打开Webots按照目录D:\Program Files\Webots\projects\objects\geometries\protos可以看到一个文件Rectangle.proto,使用记事本打开,可以看到如下代码

#VRML_SIM R2020a utf8
# license: Apache License 2.0
# license url: http://www.apache.org/licenses/LICENSE-2.0
# tags: static
# Single/double sided and adjustable rectangle shape.

PROTO Rectangle [
  field SFVec2f size        0.1 0.1  # Defines the size of the rectangle shape.
  field SFBool  doubleSided TRUE     # Defines whether the shape has two sides or not.
]
{
   
  %{
   
    -- Size verification
    if fields.size.value.x < 0 or fields.size.value.y < 0 then
      print('The rectangle size should be strictly positive')
    end

    -- Parameters transformation
    -- Convention from https://www.cyberbotics.com/doc/reference/imagetexture
    -- (s0
  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值