场景对象(Scene objects)
CoppeliaSim中用于构建模拟场景的主要元素是场景对象(简称对象)。对象在场景层次结构和场景视图中是可见的。在场景视图中,对象具有如下图所示的三维表示:
下面的列表给出了每个对象类型的简要函数描述:
- Shapes(形状):形状是由三角形面组成的刚性网格。
- Joints(关节):一个关节物体是一个关节或执行器。有四种类型:旋转关节,移动关节,螺钉和球形关节。
- Graphs(图形):图形用来记录和可视化仿真数据。
- Dummies:dummy是一个有方向的点。是多用途对象,可以有许多不同的应用。
- Proximity sensor(近距离传感器):近距离传感器在其检测体积内以精确的几何方式检测对象。CoppeliaSim支持金字塔型,圆柱型,圆盘型,锥形和射线型接近传感器。
- Vision sensors(视觉传感器):视觉传感器是一种相机类型的传感器,对光线、颜色和图像做出反应。
- Force sensors(力传感器):力传感器可以测量施加在物体上的力和力矩。如果超出了给定的阈值,它也可能被破坏。
- Cameras(相机):相机是一个对象,能从不同位置看到模拟场景。
- Lights(灯光):光可以照亮模拟场景。
- Paths(路径):路径是定义空间中路径或轨迹的物体。它可以用于各种用途,也可作为定制的关节或执行机构。
- OC trees(OC树):OC树是一种由体素组成的空间分区数据结构。
- Point clouds(点云):点云是一个包含点的OC树结构。
上面的一些对象可以有特殊的属性,允许其他对象或计算模块与它们交互。可以是如下属性:
- Collidable(可碰撞):可碰撞物体可以测试与其他可碰撞物体的碰撞。
- Measurable(可测量):可测物体与其他可测物体之间的最小距离可以计算出来。
- Detecable(可检测):可探测的物体可以通过接近传感器检测到。
- Renderable(可渲染):可渲染的物体可以通过视觉传感器看到或检测到。
- Viewable(可视的)::可视的对象可以被看穿,或他们的图像内容可以在视图中可视化。有关更多信息,请参阅页面和视图部分。
仿真场景中的每个对象都有位置和方向。我们将对象的位置和方向称为对象的构型。对象可以附加到其他对象上(或建立在其他对象之上)。如果对象A建立在对象B之上,那么对象B是父对象,对象A是子对象。要在对象B和对象a之间创建父子关系,请选择对象a,然后选择对象B(选择顺序很重要)。然后选择[Menu bar --> Edit --> Make last selected object parent]。下图展示了这个操作:
或者,也可以在场景层次结构中拖放一个对象到另一个对象上,以获得类似的结果。注意,对象A的配置没有改变(两个对象都保持各自的配置)。从场景层次结构中可以看到对象A附属于对象B。对象A也可以被分离,先选择A,在选择[Menu bar --> Edit --> Make selected object(s) orphan]。这样做就可以不改变它的配置而分离物体A。或者,您可以将对象拖放到世界图标上,以获得类似的结果。
每个物体都有一个相对于世界参考系的绝对构型(或累积构型),以及相对于父对象的参考框架的本地配置(或相对配置)。在上面的例子中,当对象A成为对象B的子对象时,对象A的绝对配置没有改变,但它的局部配置被修改了。
最后选择的对象的绝对配置将显示在信息文本中。要修改或调整对象的绝对或局部配置,请参考坐标和转换对话框和对象位置/方向操作部分。
有些对象数据可以用图形对象来记录。有关如何记录对象数据的更多信息,请参阅图和图数据流。