dummy就是一个虚拟对象、一个虚设的点。
虚拟对象是最简单的对象:它是一个有方向的点,可以看作是一个参照系。单独使用时,它们不是很有用,但是当与其他对象或计算模块一起使用时,它们可能是至关重要的;dummy有许多用途、也可以作为辅助对象。下图显示了一个dummy:
dummy是可碰撞、可测量和可检测的物体。这意味着:
可用于其他基于体积的可碰撞对象的碰撞检测,如八叉树。
可用于与其他可测量对象的最小距离计算。
可以被近距离传感器探测到。
默认情况下,dummy的可碰撞、可测量和可检测属性是关闭的(参见对象公共属性)。
可以通过[Menu bar --> Add --> Dummy]添加假人到场景中,也可以通过顶点编辑模式从一个形状对象创建dummy。
01
dummy的相关API函数
02
Dummy functions
dummy有多种用途。它们可以具有非常特定的功能,或者它们可以仅作为辅助对象使用。常见的dummy的功能有:
Used as a point or reference system(用作一个点或参考系统):当想要跟踪场景中一个特定点的位置和/或方向时。例如,虚拟位置可以与形状顶点的位置匹配,并允许精确定位形状:在顶点编辑模式中,从一个顶点创建一个虚拟点,然后将形状附加到虚拟点(使虚拟点为父对象)。现在可以通过与选定顶点相同位置的虚拟点来操纵/定位形状。
Used as proxy or supporting object for models(用作模型的代理或支持对象):模型是通过用对象是模型基础 (object is model base)标志标记一个对象来定义的。任何对象都可以作为模型的基础,但是dummies是模型的首选对象。
Used as marking points(作为标记点):例如在评估机器人的工作空间时,可以在不同的时间间隔内将一个dummies与机器人的末端执行器放置在相同的坐标上,最后提取并显示添加的所有dummies的凸包。
Used to specify end-effector, and end-effector target positions/orientations in inverse kinematics calculations(用于指定末端执行器和末端执行器在逆运动学计算中的目标位置/方向):逆运动学计算模块处理运动学链。每个链都用一个基对象和一个tip对象指定。尖端对象必须是一个dummy,通常用户的位置和方向(the tip dummy)与机器人的末端执行器重合。同时,为了使运动链以逆运动学方式运动,需要机器人末端执行器的目标位置/定位。同样,一个虚拟对象被用作目标对象。
Used to create loop closure constraints for mechanisms dynamically simulated(用于为动态模拟的机制创建循环闭包约束):更多细节请参考设计动态模拟一节。
Used as path following objects(作为跟随路径的对象):虚拟对象是唯一可以被分配保持在路径上(自由在路径上,自由滑动)或跟随路径位置(固定在路径上,沿路径固定在其当前固有位置)的对象。下图显示了一个分配在路径上的虚拟点:
03
Dummy properties
Linked dummy(链接dummy):连接到这个的dummy。链接的dummies(很容易在场景和场景层次中通过彩色段链接它们)有特殊的属性和行为。
Link type(链接类型):链接类型将指定在模拟过程中链接的dummies的行为。如果指定了动力学,重叠约束,那么两个dummies将尝试重叠他们各自的位置/方向来创建动力学回路闭包约束。如果IK,尖端目标被指定,然后两个连接的dummies形成尖端目标对用于逆运动学计算。
Follow parent path orientation (only indirect parent)(遵循父路径方向(只有间接父路径)):如果选择,那么一个包含路径(只有间接父路径)的虚拟点将遵循该路径最近的贝塞尔点的方向(而不是位置)。也请参考sim.folowPath 的API函数(使用sim.followPath函数,虚拟点不需要使用路径的父函数)。
Follow parent path (only direct parent)(跟随父路径(只有直接父路径)):如果被选中,并且虚拟点的直接父路径是路径对象,那么虚拟点的位置和方向将自动根据路径计算(即根据路径的贝塞尔点进行插值)。有两种可能的选择:路径上自由或路径上固定。也请参考sim.followPath API函数(使用sim.followPath函数,虚拟点不需要使用路径的父函数)。
Free on path(路径上自由):当被选中时,一个具有直接父路径对象的虚拟对象被分配在路径上(保持与路径的贝塞尔点相同的位置和方向),但是可以沿着路径自由移动。可通过对象操作模式沿路径移动,也可通过逆运动学模块自动引导沿路径移动)。
Fixed on path(固定在路径上):当被选中时,一个有直接父路径对象的虚拟点被分配在路径上(保持与路径的贝塞尔点相同的位置和方向),在路径的固有位置。在这种情况下,可以指定与路径位置的距离偏移量。
Offset(偏移量):当傀儡被分配到一条路径上的一个固定位置时,与路径位置的距离偏移量。如果你想创建一个履带,履带的第一个衬垫(刚性单元)将位于偏移量0处,第二个位于偏移量x处,第三个位于偏移量2x处,以此类推。使用副本增量可以在复制dummy时自动增加偏移量。
Copy increment(复制增量):在复制的dummy的偏移量(见上面)上增加的值(例如,在创建履带时,您可能需要几十个pad,每个pad位于可以自动计算的不同偏移量上)。
Object size(对象大小):模型的大小。此参数仅具有视觉效果,无功能意义。
Adjust dummy color(调整dummy颜色):允许调整dummy的颜色