0

我的模拟中有一个机器人,可以将物体运送到各个地方。我想在某个位置以初始速度为 0 生成一个对象。触发很可能是碰撞检测或前一个对象到达某个位置时。我还想在使用后或者如果它从机器人的末端执行器上掉下来的物体消失(以防止物体掉落后核心转储)

德雷克有没有一种方法可以连续产生和消失物体?

谢谢

4

1 回答 1

0

Drake 无法自动生成/消失对象。几种可能性:

  • (最简单)在模拟期间检测触发事件(“监控”功能可以很方便)。取回控制权,用新的或删除的对象重建模型,将状态从旧上下文转移到新上下文,然后重新启动。
  • 在初始模型中提供所有需要的对象,但使不需要的对象处于非活动状态(将它们放置在远处,将它们的速度设置为零,并使它们的加速度为零*)。使用 monitor() 或见证函数检测触发事件,激活/停用对象以模拟 spawn/despawn。

*让不活动的物体静止不动可能需要一些努力。您可以使用控制器来执行此操作,或者通过创建一个像弹簧/阻尼器一样作用的 ForceElement,直到被布尔状态变量禁用。其他人可能对此有更好的想法。

于 2020-03-09T00:58:21.307 回答