CoppeliaSim(V-rep)手册中文翻译

Posted Norach

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了CoppeliaSim(V-rep)手册中文翻译相关的知识,希望对你有一定的参考价值。

CoppeliaSim(V-rep)手册中文翻译

​ 英文原版网址https://www.coppeliarobotics.com/helpFiles/index.html

使用Typora软件编写的Markdown文档,结尾留了转换成PDF格式的百度云下载链接,里面配图都是正常显示的。发到CSDN直接是从Typora自动转化的源码格式复制粘贴的,所以CSDN这篇里面有些图炸了,也没有改。pdf文档里面有什么翻译错误望告知,请在评论区留言。

1. 用户界面

CoppeliaSim应用程序由几个元素组成。它的主要元素是:

  • 控制台窗口:在Windows下,当CoppeliaSim应用程序启动时,会创建一个控制台窗口,但再次直接将其隐藏。隐藏控制台窗口的默认行为可以在用户设置对话框中更改。在Linux下,需要从控制台启动CoppeliaSim,该控制台在整个CoppeliaSim会话中始终可见。在MacOSX下,最好是从终端启动CoppeliaSim,以使消息可见。控制台或终端窗口显示了加载了哪些插件以及它们的初始化过程是否成功。控制台窗口不是交互式的,仅用于输出信息。用户可以使用Lua 打印将信息直接输出到控制台窗口命令(从脚本内部),或者从插件内部使用C printfstd :: cout命令。除此之外,用户还可以通过编程方式创建辅助控制台窗口,以显示特定于模拟的信息。

  • 应用程序窗口:应用程序窗口是应用程序的主窗口。它用于显示,编辑,模拟场景并与之交互。在应用程序窗口中激活鼠标左右键,鼠标滚轮以及键盘具有特定功能。在应用程序窗口中,输入设备(鼠标和键盘)的功能可能会因上下文或激活位置而异。

  • 几个对话框:在应用程序窗口旁边,用户还可以通过调整对话框设置或参数来编辑场景并与场景进行交互。每个对话框将一组相关功能或应用于同一目标对象的功能分组。对话框的内容可能是上下文相关的(例如,取决于对象选择状态)。

以下是CoppeliaSim应用程序的典型视图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pEssuUxY-1595242153694)(https://www.coppeliarobotics.com/helpFiles/en/images/userInterface.jpg)]

[用户界面元素]

启动CoppeliaSim应用程序时,CoppeliaSim将初始化一个默认场景。用户可以自由地并行打开多个场景。每个场景与其他场景共享应用程序窗口和对话框,但是在应用程序窗口或对话框中只有活动的场景内容可见(在给定时间仅一个场景可见)。

在下一节中,将简要介绍应用程序窗口的元素。有关对话框的详细信息,请参阅本参考手册中的相关页面。

  • 应用程序栏:应用程序栏指示您的CoppeliaSim副本的许可证类型,当前正在显示的场景的文件名,用于一次渲染过程(一次显示过程)的时间以及模拟器的当前状态(模拟状态或类型)活动编辑模式)。应用程序栏以及应用程序窗口内的任何表面也可以用于将与CoppeliaSim相关的文件拖放到场景中。支持的文件包括“ * .ttt”文件(CoppeliaSim场景文件)和“ * .ttm”文件(CoppeliaSim模型文件)。

  • 菜单栏:菜单栏允许访问模拟器的几乎所有功能。大多数时候,菜单栏中的项目会激活一个对话框。菜单栏的内容是上下文相关的(即,它将取决于模拟器的当前状态)。也可以通过弹出菜单,双击场景层次结构视图中的图标或单击工具栏按钮来访问菜单栏中的大多数功能。

  • 工具栏:工具栏提供经常访问的功能(例如,更改导航模式,选择其他页面等)。工具栏1中的某些功能以及工具栏2中的所有功能也可以通过菜单栏或弹出菜单访问。进一步了解更多细节。这两个工具栏都可以停靠和取消停靠,但是停靠仅适用于它们各自的初始位置。下图说明了每个工具栏按钮的功能:

[工具栏1]

[工具栏2]
  • 模型浏览器:默认情况下,模型浏览器是可见的,但可以使用其相应的工具栏按钮进行切换。它的上部显示CoppeliaSim模型文件夹结构,而下部显示所选文件夹中包含的模型缩略图。可以将缩略图拖放到场景中以自动加载相关模型。如果拖放区域不受支持或不合适,则捕获的缩略图将显示为黑色。

[模型浏览器]
  • 场景层次结构:默认情况下,场景层次结构是可见的,但可以使用其相应的工具栏按钮进行切换。它显示场景的内容(即组成场景的所有场景对象)。由于场景对象它们以类似层次结构的结构构建,场景层次结构显示该层次结构的树,并且各个元素都可以展开或折叠。双击图标可打开/关闭与单击的图标相关的属性对话框。双击对象名称可以对其进行编辑。鼠标滚轮以及场景层次视图的滚动条的拖动允许向上/向下或向左/向右移动内容。始终支持控制和换档选择。可以将场景层次结构中的对象拖放到另一个对象上,以创建父子关系。如果模拟器处于编辑模式状态,则场景层次将显示不同的内容。请参阅形状编辑模式路径编辑模式以获取更多信息。

[场景层次]

  • 页面:每个场景最多可以包含8页,每个页面可以包含不限数量的视图。可以将页面视为视图的容器。请参阅页面和视图部分以获取更多详细信息。
  • views:一个页面中可以包含无数个视图。视图用于显示通过可见对象(例如相机图形视觉传感器)看到的场景(本身包含环境和对象)。
  • 信息文本:信息文本显示与当前对象/项目选择以及运行模拟状态或参数有关的信息。可以使用页面左上方的两个小按钮之一来切换文本显示。另一个按钮可用于切换白色背景,根据场景的背景颜色提供更好的对比度。
  • 状态栏:状态栏显示与执行的操作,命令相关的信息,还显示来自Lua解释器的错误消息。用户还可以从脚本中使用*sim.addStatusbarMessage*函数将字符串输出到状态栏。默认情况下,状态栏仅显示两行,但可以使用其水平分隔手柄调整其大小。
  • Lua命令程序:一个读取-评估-打印循环,它将文本输入添加到CoppeliaSim状态栏,从而允许像在终端机中一样快速输入和执行Lua代码。该代码可以在沙盒脚本或CoppeliaSim中的任何其他活动脚本中运行。
  • 自定义用户界面自定义用户界面是用户定义的UI表面,可用于显示信息(文本,图像等)或自定义对话框,从而允许以自定义方式与用户进行交互。
  • 弹出菜单:弹出菜单是单击鼠标右键后出现的菜单。要激活弹出菜单,请确保在单击操作期间鼠标没有移动,否则可能会激活摄像机旋转模式(有关更多详细信息,请参见摄像机部分)。应用程序窗口内的每个表面(例如,场景层次视图,页面,视图等)都可以触发不同的弹出菜单(上下文相关)。弹出菜单的内容也可能根据当前的模拟状态或编辑模式而改变。除了仅在视图或页面上激活弹出菜单时才会显示的视图菜单项,大多数弹出菜单功能也可以通过菜单栏访问。

1.1 页面和视图

CoppeliaSim中的页面是场景的主要查看表面。它不是直接的视图,而是可以根据需要包含一个,两个或任意多个视图。视图是用来显示必须是可见对象的特定对象的图像内容的视图。例如,如果视图与相机对象相关联,则它可以显示相机看到的内容。下图说明了页面,视图和可见对象的关系:

[页面,视图和可见对象的关系]

视图在页面内可以具有固定位置,也可以在页面上具有浮动位置。以下页面配置说明了页面上方,视图和可见对象之间的关系:

[页面配置包含四个视图。一个视图是固定的(背景视图),另外三个视图是浮动的]

CoppeliaSim中的 每个场景都有八个可自由配置的页面。可以通过页面选择器工具栏按钮访问(即显示)单个页面:

[页面选择器工具栏按钮]

创建新场景时,将以不同方式预配置8个页面中的每个页面。可以使用[弹出菜单->删除页面]来删除页面。不存在的页面(即已删除的页面)显示暗灰色的表面。然后可以使用[弹出菜单->使用…设置页面]创建页面和具有空视图的默认页面配置。可以使用几种页面配置,如下图所示(数字表示视图索引):

[具有固定视图的可用页面配置]

以上页面配置允许显示1-8个固定视图。浅灰色表面中的每个对应于一个空视图(即未关联的视图)。任何时候都可以使用[弹出菜单->删除页面]来删除页面。删除页面还将删除其包含的所有视图,但不会删除任何关联的对象。在现有页面配置之上,可以使用[弹出菜单->添加->浮动视图]添加无限数量的浮动视图。下图显示了这样一个示例:

[具有四个浮动视图的页面配置]

浮动视图可以移动和调整大小,但不允许使用鼠标左键或右键进行导航(例如,摄像机平移,摄像机旋转等)。双击一个浮动视图以将其内容与视图索引0交换(但是可以通过编程禁用它来禁止此操作)。要删除浮动视图,只需单击其右上角的按钮。

要将可查看对象与视图关联,请选择该对象,然后在要与之关联的视图上单击[弹出菜单->视图->将视图与所选摄像机关联]或[弹出菜单->视图->将视图与选定的视觉传感器关联](弹出菜单将根据最后选定的对象自动调整其内容)。创建视图但尚未与可见对象关联时,[弹出菜单->添加->摄像机]命令将添加摄像机并将其直接与视图关联(即浏览)。给定的可见对象可以同时与任意数量的视图关联。

或者,您还可以通过激活视图中的以下弹出窗口将视图与可见对象相关联:[弹出菜单->视图->视图选择器…]。这将打开视图选择器。

将查看对象与视图关联后,将显示其图像内容,但视觉传感器的工作方式除外:视觉传感器需要生成其图像内容,并且只有在调用适当的API命令时才会发生。默认情况下,主脚本包含一个将处理场景中所有视觉传感器的命令*(sim.handleVisionSensor(sim.handle_all))。除非将视觉传感器标记为显式处理*但未显式处理,否则它将在模拟过程中生成其图像内容。

可以通过以下方式自定义或调整与相机关联的视图:

  • 它可以以实体或线框显示相机视图:[弹出菜单->视图->实体渲染]
  • 它可以透视或正射投影模式显示摄像机视图:[弹出菜单->视图->透视投影]
  • 它可以显示或隐藏边缘:[弹出菜单->视图->可见边缘]
  • 它可以将边缘显示为粗线或细线:[弹出菜单->视图->粗线]
  • 它可以打开和关闭纹理显示:[弹出菜单->视图->启用形状纹理]
  • 其关联的摄像机可以跟踪上一个选定的对象:[弹出菜单->视图->跟踪选定的对象]

1.2 自定义用户界面

由Federico Ferri提供的自定义UI插件(simExtCustomUI)提供了基于Qt框架的功能。该插件的源代码可以在https://github.com/CoppeliaRobotics/simExtCustomUI找到。

自定义UI插件提供Qt样式的小部件,例如集成按钮,编辑框,滑块,标签,图像等的对话框。对自定义UI的任何操作(例如,按钮单击,文本编辑,滑块移动)都将报告为脚本回调。其他功能可通过相关的API函数调用来访问。这样可以在很大程度上自定义仿真。以下显示了一个典型的自定义UI:

[自定义用户界面示例]

1.3 位置/方向操纵

用户可以使用以下工具栏按钮之一来修改和操纵对象或项目的位置和方向 :

[操作工具栏按钮(位置和方向)]

第一个显示位置对话框,第二个显示方向对话框。在这两种情况下,用户都将能够使用鼠标移动选定的对象或项目

1.3.1 位置对话框

当选择对象转换工具栏按钮时,位置对话框变为可见:

[对象翻译工具栏按钮]

该对话框具有四个不同的选项卡:

鼠标移动

[鼠标移动标签]

在对话框的此部分中,可以设置用鼠标操作的对象的平移参数。另请参见有关通过鼠标移动对象的页面。

  • 相对于世界/父坐标系/自身坐标系:表示鼠标拖动将使所选对象在与绝对参考坐标系、父对象参考坐标系或对象自身参考坐标系对齐的平面或直线上平移。
  • 转换步长:用鼠标拖动转换所选对象时使用的步长(有关默认步长,请参见用户设置对话框)。在按下鼠标按钮按Shift键**,**仍可以在操作过程中使用较小的步长。
  • 首选轴:沿X /沿Y /沿Z:表示鼠标拖动允许将所选对象沿上述所选参考系的首选轴平移。在操作过程中,可以在按下鼠标按钮后按下ctrl键来使用其他轴。

位置

[位置标签]

在对话框的此部分中,可以在对象或项目上实现精确定位。

  • 相对于世界/父坐标系:表示坐标相对于绝对参考系,或相对于父参考系。
  • X- / Y- / Z坐标:被选择对象相对于指定参考系(世界或父参考系)的位置。

移动

[移动标签]

在对话框的此部分中,可以实现精确的对象或项目移动。

  • 相对于世界/父坐标系/自身坐标系:表示转换将相对于绝对参考系,相对于父参考系,或者相对于对象自己的参考系。
  • 翻译沿X / Y / Z:指示在指定的参考系(世界坐标系、父坐标系或自身坐标系)的X、Y和Z轴上所需的平移量。

位置缩放

[位置缩放标签]

在对话框的此部分中,可以实现对象或项目位置的精确缩放。

  • 相对于世界/父坐标系:表示缩放的位置将相对于绝对参考坐标系,或相对于父参考坐标系。
  • 沿X / Y / Z缩放:指示所需的位置沿所指示的参考系(世界或父参考系)的X、Y和Z轴缩放。

1.3.2 方向对话框

选择对象旋转工具栏按钮时,方向对话框将可见:

[对象旋转工具栏按钮]

该对话框具有三个不同的选项卡:

鼠标旋转

[鼠标旋转标签]

在对话框的此部分中,可以设置用鼠标操作的对象的旋转参数。另请参见有关通过鼠标移动对象的页面。

  • 相对于世界/父坐标系/自身坐标系:指示鼠标拖动将使所选对象围绕绝对参考系、父对象参考系或对象自身参考系的轴旋转。
  • 旋转步长:用鼠标拖动旋转所选对象时使用的步长(有关默认步长,请参见用户设置对话框)。在按下鼠标按钮按Shift键**,**仍可以在操作过程中使用较小的步长。
  • 首选轴:关于X /Y /Z轴:表示通过鼠标拖动,选中对象可以围绕上面所选参考系的首选轴旋转。在操作过程中,可以在按下鼠标按钮后按下ctrl键来使用其他轴。

取向

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JSh57nQt-1595242153775)(https://www.coppeliarobotics.com/helpFiles/en/images/orientationDlg2.jpg)]

[取向标签]

在对话框的这个部分,可以设置一个精确的对象方向。

  • 相对于世界/父坐标系:表示所指示的欧拉角相对于绝对参考系,或相对于父参考系。
  • Alpha / Beta / Gamma:选择对象相对于指定参考系(世界或父参考系)的欧拉角

旋转

[旋转标签]

在对话框的这一部分中,可以实现精确的对象旋转。

  • 相对于世界/父参考系/自身参考系:表示旋转将相对于绝对参考系、相对于父参考系或相对于对象自身的参考系。
  • 绕X / Y / Z旋转:表示围绕所指示的参考系(世界、父系或自己的参考系)的x,y和z轴的所期望的转动量。

1.3.3 用鼠标移动物体

除了通过坐标和变换对话框修改对象配置之外,还可以使用鼠标直接操作对象:选择对象(和某些项目)后,可以使用以下工具栏按钮来平移或旋转对象:

[操作工具栏按钮(位置和方向)]

默认情况下,在世界XY平面上执行平移。对于每个单个对象,还可以沿着不同的轴/平面并相对于不同的参考系执行此操作,具体取决于位置对话框中的设置。青色覆盖图表示当前平移平面或轴。

默认情况下,绕对象自己的Z轴执行旋转。对于每个单个对象,也可以围绕不同的轴或相对于不同的参考系执行此操作,具体取决于方向对话框中的设置。青色叠加图表示当前的旋转轴。

[使用鼠标进行的对象平移和旋转操作:青色覆盖图表示平移平面或旋转轴]

可以在用户设置对话框中调整默认的平移和旋转步长(捕捉),但建议分别保持5厘米和5度的值,或者分别设置对象的步长。在对象操作过程中按下鼠标按钮,按住Shift键可以暂时禁用快照。以类似的方式,在对象操作过程中按下鼠标按钮,按住ctrl键可以临时激活其他平移或旋转轴。

当模拟器处于顶点编辑模式路径编辑模式时,也可以使用对象/项目转换工具栏按钮。

1.4 欧拉角

欧拉角三个角度描述刚体的方向。在讨论欧拉角时,有十二种不同的约定。在CoppeliaSim中,欧拉角alphabetagamma(或(a,b,g))描述了由三个基本旋转组成的旋转:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MsorIvlJ-1595242153784)(https://www.coppeliarobotics.com/helpFiles/en/images/eulerAngles.jpg)]

[CoppeliaSim中的欧拉角约定]

其中Rx,Ry和Rz分别表示绝对参考系围绕x,y和z轴的元素旋转。

对于刚体或场景对象,如果按以下顺序围绕其自身的参考帧旋转,则可以获得相同的变换:围绕自身X 旋转alpha,然后围绕自身Y 旋转beta,接着围绕自身旋转beta。关于自己Z的gamma

1.5 用户设置

CoppeliaSim中的某些值和设置不依赖于场景模型,而是依赖于用户。用户设置对话框(部分反映文件system / usrset.txt的内容)可以通过[菜单栏->工具->设置]或单击以下工具栏按钮来访问:

[设置工具栏按钮]

[用户设置对话框]
  • 平移步长:在对象操作模式下平移对象时使用的线性步长。建议保持5厘米的值。可以在坐标和变换对话框中为对象分配特定的步长。
  • 旋转步长:在对象操作模式下旋转对象时使用的角度步长 。可以在坐标和变换对话框中为对象分配特定的步长。
  • 删除相同的顶点,公差:选中后,位于其他顶点附近的顶点将被分组以形成一个顶点(然后将在周围的三角形之间共享)。这减少了所需的内存资源量。此参数是影响它们被网格进口形状离开时形状编辑模式。公差指定将顶点分组时要考虑的距离阈值。通常,保持较低的值,但不要为零:一些网格数据格式(例如STL)会为每个三角形分配单独的顶点,而不管某个顶点与另一个三角形中的另一个顶点是否相同;这会大大增加所需的内存量。
  • 删除相同的三角形:选中后,在导入操作期间或形状离开形状编辑模式时,将删除网格资源中的相同三角形。
  • 忽略三角形缠绕:三角形可以有两个不同的方向(因为它有两个不同的面)。选择此项时,识别相同的三角形时将忽略三角形的方向。
  • 启用撤消/重做:启用或禁用撤消/重做功能。该功能通过每次记录更改将整个场景序列化(保存)到内存中来进行操作。仅存储与先前撤消点的差异,以节省内存。这是一种非常有效且具有故障保护功能的撤消/重做,插件主客户端应用程序也支持此撤消/重做操作,并且仅由于CoppeliaSim的序列化例程非常快而被允许。但是,有时计算机真的很旧或场景内容非常大(例如非常详细的cad数据)时,这种方法会使整个应用程序变慢。在这种情况下,只需禁用撤消/重做功能。
  • 显示世界参考系:在相机视图的左下角显示一个小的世界参考系。与CoppeliaSim中的每个地方一样,红色,绿色和蓝色箭头分别对应于x轴,y轴和z轴。
  • 显示选定对象的边界框:在选定对象周围显示白色/黄色边界框
  • 启用自动保存:启用自动保存后,将定期保存每个打开的场景。发生崩溃时,可以恢复自动保存的场景。可以在文件system / usrset.txt中调整自动保存延迟。
  • 隐藏控制台窗口:允许隐藏或显示控制台窗口。默认情况下,控制台窗口是隐藏的。在Mac上,此项目不可用(可以在系统控制台(应用程序/实用程序/控制台)中查看标准输出)。
  • 在模拟过程中隐藏层次结构。:在运行模拟时自动隐藏场景层次。
  • 调整OpenGL设置:打开一个对话框,可调整与OpenGL相关的大多数设置:

OpenGL设置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-QzBHrTMY-1595242153795)(https://www.coppeliarobotics.com/helpFiles/en/images/openGlSettings.jpg)]

[OpenGL设置对话框]
  • 屏幕外上下文类型:屏幕外渲染上下文的类型。默认为不可见窗口。
  • FBO type:帧缓冲区对象的类型。默认为Mac上基于Qt的FBO,以及Windows和Linux上基于非Qt的FBO。
  • VBO操作:是否使用顶点缓冲区对象。该默认选项使用维也纳组织。
  • 空闲每秒帧数空闲时每秒的帧数。

1.6 快捷键

当焦点位于场景层次结构页面上时,支持以下快捷键:

  • CTRL + A:全选
  • ESC:清除选择
  • CTRL + C:复制选择
  • CTRL + V:粘贴复制缓冲区
  • CTRL + X:剪切选择
  • <删除>:删除选择
  • Backspace:删除选择
  • CTRL + O:打开场景
  • CTRL + N:打开一个新场景
  • CTRL + S:保存场景
  • CTRL + W:关闭场景
  • CTRL + Q:退出应用程序
  • CTRL + <空格>:开始/停止模拟
  • CTRL + E:在1)普通,2)对象平移和3)对象旋转鼠标模式之间切换
  • CTRL + D:打开对象属性对话框
  • CTRL + G:打开计算模块对话框
  • CTRL + B:调整视图以适合选定的对象;如果未选择任何对象,则调整整个场景。重点需要放在视图上。
  • CTRL + ALT + C:将重点放在Lua指挥官上
  • CTRL + L:清除状态栏(当焦点位于Lua指挥官上时)

1.7 命令行

通过命令行启动CoppeliaSim时,具有以下受支持的命令行选项:

  • -h:以无头模式运行CoppeliaSim(即没有任何GUI)
  • -sXXX:自动开始模拟。XXX表示可选的仿真时间(以毫秒为单位),此后仿真应再次停止。
  • -q:在第一个模拟运行结束后自动退出CoppeliaSim。
  • -aXXX:加载并运行通过其文件名(XXX)指定的附加加载项脚本。加载项将仅在第一个场景中加载并运行。
  • -bXXX:加载并运行通过其文件名(XXX)指定的附加加载脚本。加载项将针对将要打开的所有场景加载并运行。
  • -GYYY = XXX:命名参数:YYY表示键,XXX表示值,可以在CoppeliaSim中使用simGetStringNamedParam进行查询。
  • -gXXXXXX表示一个可选参数,可以在CoppeliaSim中使用*sim_stringparam_app_arg*参数进行查询。该参数可用于各种自定义目的。
  • -gREMOTEAPISERVERSERVICE_PORT_DEBUG_PREENABLESYNC:该参数可用于请求在CoppeliaSim启动时启动连续的旧式远程API服务器服务。为此,请在以下字符串中替换以下内容:
    • PORT是端口号
    • DEBUG是调试模式(设置为TRUEFALSE
    • PREENABLESYNC允许预启用同步模式(设置为TRUEFALSE
  • -gGUIITEMS_XXX:该参数可用于禁用特定的GUI项目。为此,请使用启动选项中的十进制位编码值替换上面的字符串XXX
  • XXX.ttt:加载CoppeliaSim场景
  • XXX.ttm:加载CoppeliaSim模型
  • XXX.brs:加载XReality场景。
  • XXX.brm:加载XReality模型。

例如,要以无头模式启动CoppeliaSim,请加载场景myScene.ttt,运行模拟5秒钟,然后停止模拟并自动再次离开CoppeliaSim,在CoppeliaSim主文件夹中键入:

Windows: coppeliaSim.exe -h -s5000 -q myScene.ttt
Mac: ./ coppeliaSim.app/Contents/MacOS/coppeliaSim -h -s5000 -q ../../../myScene.ttt
Linux: ./ coppeliaSim.sh -h -s5000 -q myScene.ttt

2. 场景和模型

场景模型是CoppeliaSim的主要模拟元素。模型是场景的子元素,明确标记为模型。场景可以包含任何数量的模型。下图说明了场景模型关系:

[场景和模型]

场景和模型都可能包含以下一个或多个元素:

除了上述元素之外,场景还将包含以下元素:

场景保存在“ * .ttt”文件中,模型保存在“ * .ttm”文件中。通过从资源管理器窗口中将它们拖放到CoppeliaSim应用程序中,可以打开这两种文件类型。也可以双击打开它们。

2.1 场景

模型相比,场景可以包含完全相同类型的元素,但是另外还包括以下特定于场景的元素:

可以通过与视图相关联的可视对象(本身包含在页面中)来查看场景或场景图像内容。创建新场景时([菜单栏->文件->新场景]),默认场景将包含以下元素:

  • 几个相机对象:相机允许看到的情景,如果它们与视图相关联。
  • 几个灯光物体:没有灯光,几乎看不到场景。灯光用于照亮场景。
  • 几种视图:视图与相机关联,并显示相机看到的内容。视图包含在页面中。
  • :一个页面包含一个或多个视图。
  • 环境:环境由环境光,雾,背景色等属性组成。
  • 地板:地板是由模型中分组的对象组成的。
  • 默认的主脚本:默认的主脚本应允许运行最少的模拟,而无需子脚本。如果子脚本与场景对象相关联,则在稍后阶段复制到场景中的子脚本也将自动执行(由主脚本调用)。

可以使用[菜单栏->文件->打开场景…]打开(加载)场景,并使用[菜单栏->文件->保存场景]或[菜单栏->文件- >将场景另存为…]。场景文件(“ * .ttt”文件)还支持资源管理器窗口和应用程序窗口之间的拖放操作。也可以双击场景文件,在这种情况下,它们将启动CoppeliaSim应用程序并打开。

只需在场景层次结构的上部单击即可切换打开的场景(所有打开的场景都在场景层次结构的顶部分组),或者通过与其相关的工具栏按钮使用场景选择器来实现:

[场景选择器工具栏按钮]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hxBZ3f3r-1595242153808)(https://www.coppeliarobotics.com/helpFiles/en/images/sceneSelectorView.jpg)]

[场景选择器]

2.2 模型

模型是场景的子元素。除了文件(“ * .ttm”-文件类型)外,模型本身不能存在,也不能通过自身进行模拟。模型必须包含在场景中才能运行。

模型是通过选择在同一层次树上构建的场景对象来定义的,其中树的基础必须是标记为object is model base的对象。可以通过[菜单栏->文件->加载模型…]来加载它们。但是,通过在模型浏览器场景视图之间进行拖放操作来加载模型更加容易和方便。可以使用[菜单栏->文件->将模型另存为…]保存模型,只需确保选择了一个标记为对象为模型库的单个对象,否则**将模型另存为…-**菜单项未启用。还请确保遵循有关如何构建清晰仿真模型教程

通过以下步骤定义模型:

  • 将逻辑上属于模型的所有对象附加到基础对象,以便基础对象是模型树的基础。
  • 检查对象是否是对象通用属性中的模型基本项目。
  • 在与上述相同的对话框中,检查对象/模型是否可以传输或接受DNA项目。如果稍后进行修改,这将简化模型的重新实例化。
  • 在与上述相同的对话框中,单击编辑模型属性,您可以定义特殊的覆盖属性(例如,使整个模型不可见,不碰撞等)。这样可以快速禁用模型中定义的所有对象的某些属性。
  • 对于模型中除基础对象之外的所有对象,请在对象公共属性中检查选择模型的基础 -item 。这将保护您的模型:您将无法直接选择模型中的单个对象,并且几乎可以将其作为单个对象来操纵模型。
  • 对于通常不可见的所有对象,请选中**“不显示为内部模型”选项** -item。这将使模型边界框以正确的尺寸显示在模型周围。
  • 考虑一下模型的作用:您能否将其附加到其他对象上?(例如,您的模型是可以连接到机械手腕上的抓手)。还是可以附加一些其他模型?(例如,您的模型是可以接受机械手模型的操纵器)。确定角色后,定义模型的组装行为。另请参阅此动力学设计注意事项

现在,无法再在场景中选择建立在模型基础上的单个对象(选择它们将改为选择模型的基础),但是仍然可以通过在选择过程中按住ctrl和Shift键来单独选择它们,或者通过在场景层次中选择它们。除此之外,当选择基础对象时,将显示一个包围整个模型的点画边界框,如下图所示:

[场景视图和相应的场景层次视图。所选的虚拟**对象被**标记为**对象是基于模型的对象** ]

注意标记为模型库的对象图标左侧的模型标签:

[型号标签]

双击模型标签可打开模型对话框,可在其中调整模型属性。修改模型的层次结构后,最好折叠模型的层次结构,以轻松识别逻辑分组的元素/模型的数量:

[显示5个折叠模型的场景层次视图]

子脚本以编程方式访问对象时,将多个对象分组为模型也很重要。请记住,在CoppeliaSim中,对象/模型可以随时复制,也可以在仿真过程中复制。为了使重复的子脚本能够访问正确的对象(不是原始对象,而是重复的对象),应始终在访问子脚本的同时复制子脚本。保证的一种方法是创建模型(如上所述),并确保访问模型中对象的子脚本与模型中包含的对象相关联。最好是将一个子脚本(也可能有第二个子脚本)与模型的基础关联。请参阅以编程方式访问对象部分 想要查询更多的信息。

为了使模型易于组合(即彼此构建)而不进行任何其他修改,重要的是要考虑模型将扮演什么角色:可以动态模拟吗?它会被附加到其他型号,还是会接受其他附加模型?这些问题的答案将使您能够选择最佳的对象类型作为模型基础。有关更多信息,请参考设计动态仿真部分

复制和粘贴模型的行为与保存模型,然后加载(就像使用内存缓冲区而不是磁盘空间)一样。可以将模型从一个场景复制到另一个场景,就像其他对象一样。模型文件(“ * .ttm”文件)还支持资源管理器窗口和应用程序窗口之间的拖放操作。还可以双击模型文件,在这种情况下,它们将启动CoppeliaSim应用程序并加载到默认场景中。

可以在模型对话框中单独调整模型的属性。

2.2.1 模型对话框

可以在模型对话框中单独调整模型的属性。可以双击场景层次中的模型图标来打开它:

[场景层次中的模型图标]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-USFw8Rfh-1595242153823)(https://www.coppeliarobotics.com/helpFiles/en/images/objectCommonDlg3.jpg)]

[模型对话框]
  • 选择模型缩略图:保存模型时,会弹出一个对话框,要求您提供模型缩略图(将在模型浏览器中显示)。但是,如果您希望以其他配置保存模型的缩略图(例如,希望以直线配置保存蛇形机器人的模型,但是希望缩略图以弯曲的形态可视化蛇形机器人),则可以在此处指定缩略图。
  • 覆盖属性:您可以在此处禁用(覆盖)整个模型的特定属性(即,模型层次结构树中的所有对象)。例如,这可以方便地快速禁用需要太多计算时间的模型。另请参见有关可碰撞对象可测量对象可渲染对象可检测对象的部分,以及sim.setModelProperty API函数
  • 模型内容确认/信息:与模型有关的信息。确认模型的原始作者或导入的网格始终是一个好习惯。当一个包含确认信息的模型被打开时,它将自动显示该信息。

3. 环境

CoppeliaSim中的环境定义属性和参数,这些属性和参数是场景的一部分,但不是场景对象。保存模型时不保存环境属性和参数,而仅保存场景时不保存。

环境定义以下属性和参数:

  • 背景颜色。
  • 雾参数。如果选择了相应的选项,则雾参数不会与场景对象直接交互,除非与摄像头视觉传感器交互。
  • 环境光
  • 场景创建信息
  • 其他设置

3.1 环境对话框

可以通过[菜单栏->工具->环境]或通过双击场景层次结构中的以下图标来访问环境对话框:

[环境图标]

[环境对话框]
  • 背景(上/下):允许调整场景的背景色。向上部分对应于屏幕的上部(天空),向下部分对应于屏幕的下部。仅当禁用雾功能时,背景色才可见。
  • 环境光:允许调整场景的环境光。可以将环境光视为场景的最小光,它从各个方向以完全相同的方式照亮对象。有关场景照明的更多详细信息,请参见关于灯光部分
  • 调整雾参数:允许调整各种雾参数。
  • 最大三角形尺寸(绝对值):此项不会影响形状的视觉外观。但是,它将影响大多数CoppeliaSim 计算模块的执行速度。例如,在两个实体之间执行最小距离计算时,如果两个实体均由大小相似的三角形组成,则执行速度通常会更快。最大三角形尺寸值指定形状的内部表示方式处理(即,形状的计算结构的精细程度)。小尺寸将增加预处理时间,但是通常仿真执行速度会同时提高。此值将整体最大三角形大小设置为绝对值。另请参阅下一项和在三角形编辑模式下**缩小三角形的尺寸-**项目。
  • 最小三角形尺寸(相对):与上一个项目相似,但该项目有助于避免创建太大的计算结构,而这可能会花费很长时间。此值将最小三角形尺寸设置为相对值(相对于给定对象的最大尺寸)。
  • 保存操作还会保存现有的计算结构:对于距离计算碰撞检测等。在模拟(预处理)开始时或第一次涉及形状以加快速度时,会计算数据结构计算。计算该数据结构可能很耗时,因此用户可以选择将其与场景模型一起保存。但是,必须注意,将保存的其他信息很大,并且会导致文件更大(有时是两倍或更多)。
  • 禁用形状纹理:如果选中,则将禁用应用于形状的所有纹理
  • 下一个场景保存后锁定场景:如果要从版本/修改,脚本内容查看和资源导出中锁定场景,请选择此项目。下一个场景保存操作后,场景将被锁定。如果希望以后可以修改同一场景,请确保已将其保存为未锁定状态。
  • 扩展字符串:描述其他环境属性的字符串,主要由扩展插件使用(另请参见sim.getExtensionString API函数)。
  • 清理对象名称:允许使用井号标签将一些顺序放入对象名称中。这不是必需的,但可能会方便地减少哈希标记后的后缀数。
  • 清理重影:删除场景中可能包含的所有重影对象。另请参阅幻像录制功能
  • 场景内容确认/信息:与场景有关的信息。最好先确认场景,模型或导入的网格的原始作者。当一个包含确认信息的场景被打开时,它将自动显示该信息。

3.2 纹理对话框

纹理对话框允许您查看和修改与附加到形状的纹理相关的属性。通过在形状属性对话框中单击**设置纹理-**项可以访问它:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-16ZEOCt7-1595242153830)(https://www.coppeliarobotics.com/helpFiles/en/images/texture1.jpg)]

[纹理对话框]

纹理是可以应用于表面以使其看起来更真实的位图图像。想象一下,在矩形表面上应用砖纹理以使其看起来像砖墙。下图说明了带纹理的表面:

[纹理表面]

CoppeliaSim将纹理应用到形状的默认方式是将其投影到形状的x / y平面上,如下图所示:

[默认纹理投影方法]

支持以下5种纹理映射方法:

  • 投影 贴图:将纹理简单地投影到对象的XY平面上(请参见上文)。将计算纹理坐标。
  • 圆柱贴图:将纹理包裹在对象的Z轴上。将计算纹理坐标。
  • 球面贴图:将纹理球面贴图到对象上。将计算纹理坐标。
  • 箱形贴图:将纹理应用于箱形对象的所有6个面上。将计算纹理坐标。
  • 进口纹理坐标:特定纹理坐标可在作为网格的同时被导入导入,经由OBJ文件格式。

下图说明了5种映射方法:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DFrschhm-1595242153840)(https://www.coppeliarobotics.com/helpFiles/en/images/texture6.jpg)]

[纹理贴图方法:A)投影,B)圆柱,C)球形,D)框,E)导入的纹理坐标]

加载新纹理时,将打开以下对话

以上是关于CoppeliaSim(V-rep)手册中文翻译的主要内容,如果未能解决你的问题,请参考以下文章

蓝桥ROS机器人之CoppeliaSim_Edu_V4_2_0

机器人工程专业实践镜像2021版-功能扩展-coppeliasim+webots

机器人工程专业实践镜像2021版-功能扩展-coppeliasim+webots

V-rep学习笔记:机器人模型创建2—添加关节

虚拟机+Ubuntu18.04+CoppeliaSim

CoppeliaSim(vrep)打开闪退的解决办法