【问题标题】:Attach a static object to a robot link through a Gazebo world plugin通过 Gazebo 世界插件将静态对象附加到机器人链接
【发布时间】:2020-06-20 17:21:51
【问题描述】:

我在为 Gazebo 模拟器制作 World 插件时遇到了一些麻烦。

我有一个机械手,负责捡起一些盒子并将它们移动到特定的位置。为了模拟抓取,我只想将盒子(它们是静态模型)刚性地连接到机器人末端执行器上,并在它们就位时将它们分离。

不过,我无法执行这个简单的任务。我从physics::Model 类中找到了AttachStaticModel 函数;我是这样使用的:

robotModelPtr->AttachStaticModel(boxModelPtr, offset);

使用ignition::math::Pose3d()boxLinkPtr->WorldPose() - robotLinkPtr->WorldPose() 作为偏移量,但它什么也不做。

然后,我尝试在盒子和机器人之间手动创建一个固定关节,如:

robotModelPtr->CreateJoint("connection", "fixed", robotLinkPtr, boxLinkPtr)

但是这样做会导致盒子飞走。

box SDF 由一个视觉节点和一个碰撞节点组成,它们都使用 .dae 网格。

任何建议将不胜感激。非常感谢。

【问题讨论】:

    标签: c++ plugins robotics gazebo-simu


    【解决方案1】:

    我无法使用AttachStaticModel 功能。无论如何,出于我的目的,我只是创建了一个世界插件,它维护指向盒子模型和机器人末端执行器链接的指针,并在世界的每个更新事件中相应地更改盒子的模型位置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-11-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多