【发布时间】: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