快速上手手册 ============== 关于本文档 ---------- 本文的目标是帮助用户快速了解产品,通过案例教学一步一步完成从安装到运行的整个流程。 关于登录 -------- .. important:: 以下内容适用于单机企业版 **Step 1 启动软件** 安装好软件后,点击桌面上51Sim-One快捷方式或双击本地安装文件夹中的51Sim-One的exe可启动51Sim-One。 .. thumbnail:: ./images/teaching_newcase/launcher.png .. image:: ./images/teaching_newcase/icon.png **Step 2 进入Simone案例库页** 进入51Sim-One平台的首页。 .. thumbnail:: ./images/teaching_newcase/entry.png 运行一个内置案例 ---------------- 案例运行演示 自动驾驶仿真测试一般包括创建(或导入)案例静态场景、创建主车、编辑案例动态场景,运行案例、观察案例运行的可视化展示和查看案例的运行结果。Sim-One可以用来进行静态和动态数据导入,测试场景案例编辑,传感器仿真,动力学仿真,可视化,测试与回放,虚拟数据集生成。其中,运行案例是最基本和核心的功能之一。 **案例** 测试案例其实指各个测试场景的集合,它可以用来测试各个功能,作为测试案例的测试人员来说,您可以将自己置身于最终用户的角色,在体验符合真实世界的场景过程中测试产品的各个功能是否完善。 **内置案例** 内置案例是Sim-One平台为用户免费提供用于测试功能的一批内置场景,它不能被用户编辑,如用户需编辑内置案例需内存为新的案例进行编辑。目前的内置案例库包括案例教学、标准法规和中国汽研场景库。案例教学包括ASAM样例和入门案例(交通流案例和标准案例2.0);标准法规包括了C-NCAP2018和智能网联场景库;另外还有中国汽研场景库案例。 **运行案例** 运行案例意味着将准备好的测试场景进行运行来测试各个功能。在未接入被测算法时,运行案例方便用户提前遍历案例场景,检测静态场景和动态场景。 首先,你可以直接选择运行一个内置案例,感受一下案例运行的过程。 **Step 1 运行案例** 51Sim-One仿真平台已提供系统内置案例库用于快速标准测试,如图所示进入案例库页面,选择一个内置案例并点击运行按钮。 .. thumbnail:: ./images/teaching1/choose_a_case.png **Step 2 创建任务** 点击运行按钮后,会弹出新建任务的弹窗,主车选择默认主车(如用户未安装Apollo算法,建议统一选择手动控制-默认),并点击创建按钮运行案例。点击运行案例后,案例即可添加到运行任务的管理列表中。可在任务管理列表查看到案例的实时运行状态 .. thumbnail:: ./images/teaching1/new_task.png **Step 3 监测案例的实时运行状态** 在任务管理页面,可查看到案例的运行状态,点击视频监控按钮弹出可视化窗口,用户可观察到案例的实时运行场景、传感器状态、测试日志等信息。 .. thumbnail:: ./images/teaching1/task_manage.png .. thumbnail:: ./images/teaching1/case_running.png **Step 4 回放案例或保存回放案例** 运行结束后,可视化窗口关闭,运行结束后的任务会更新在已完成的列表中。在已完成的列表中用户可选择回放案例回看案例。 .. thumbnail:: ./images/teaching1/reback_case.png **Step 5 查看运行结果报告和数据** 用户可选择下载任务报告或者下载单个案例的数据包查看案例运行的结果。 .. thumbnail:: ./images/teaching1/download_result.png 选择将下载的报告或数据保存在本地 .. thumbnail:: ./images/teaching1/report.png .. thumbnail:: ./images/teaching1/data.png 创建你的第一个案例 ------------------ 用户可选择创建一个标准案例来遍历一下基本的测试流程,了解流程的基本步骤、进行自动驾驶感知、决策、控制算法训练、动力学仿真、硬件在环与传感器仿真和测试等功能。如用户需要在特定的场景下测试进行自动驾驶算法测试、传感器仿真、动力学仿真等测试,则需要自己创建案例 当前51Sim-One支持创建标准案例(OpenSCENARIONE案例)和交通流案例。 标准案例(OpenSCENARIONE案例)是区别于标准案例1.0(之前版本)的一种新类型的案例。标准案例1.0案例是描述一个固定测试案例,里面的变量都是固定的。符合基本流程的标准案例,包括静态测试场景,用户可自定义静态、动态元素,可向场景中添加主车、对手车、设置路径、触发器、特殊区域、判定条件、环境和设置等,当用户需要测试标准测试场景、主车算法、主车动力学和传感器硬件在环等可以使用标准案例。在标准案例1.0的基础上,标准案例2.0它能兼容OpenSCENARIO标准,支持xosc导入编辑,采用OpenSCENARIO格式的案例是一个标准的仿真测试场景格式,可描述驾驶模拟应用程序中的动态内容,可兼容不同的仿真的仿真测试软件。当用户想要采用兼容不同的仿真测试软件和在各种数据格式和接口中进行转换的时候可以使用OpenSCENARIO格式的案例。 交通流案例也是测试案例的一种,用户可配置随机交通流、可以观察某个或多个车辆,监测车辆是否有违章、碰撞、异常操作等事件。用户可调节场景中的交通流,包括车辆类型和密度。当用户需要观察一组或多个车辆和主车在场景中的表现时,可以使用交通流案例 接下来,是创建一个标准案例(OpenSCENARIONE案例)的基本流程: 配置地图 ~~~~~~~~ 对于训练和测试算法,合适的高精地图尤为重要,用户可以在创建案例前,需要查看或上传所需的地图。 首先准备好需导入的.xodr地图文件。 如下图打开资源库(标1),打开地图文件夹,选择自定义地图(标2),点击导入(标3)。 .. thumbnail:: ./images/teaching_newcase/import_map.png 在导入窗口点击“浏览”(标4)选择地图文件xodr,我们准备了内置地图Tutorial_ThreeLanes.xodr,点击确定开始导入。 导入时长取决于地图大小。 .. thumbnail:: ./images/teaching_newcase/import_map1.png 地图导入成功后出现在该文件内(标5) .. thumbnail:: ./images/teaching_newcase/import_map_success.png 在案例编辑器内可按需使用。 选择和配置主车 ~~~~~~~~~~~~~~ 对于训练和测试算法,需要用户根据事先选择并编辑好主车资源,在编辑测试案例的过程中方可选择相应的主车。 **Step 1 新建一辆主车** 进入主车预设页面,点击页面中的+号,即可新建一辆主车 .. thumbnail:: ./images/teaching_newcase/add_car.png .. thumbnail:: ./images/teaching_newcase/add_car_success.png **Step 2 进入主车编辑视窗** 双击上图中的主车模型,进入主车编辑视窗 .. thumbnail:: ./images/teaching_newcase/car_editor.png **Step 3 配置传感器模型** 通过拖拽的方式,从主车资源库选择相应的传感器仿真模型添加到主车编辑视窗中,同一主车可支持多传感器接入 .. thumbnail:: ./images/teaching_newcase/drag_sensor.png 当前51Sim-One可支持的传感器仿真模型如下: ======================= ============== 类型 支持的仿真模型 ======================= ============== 目标级传感器 目标级摄像头、目标级激光雷达、目标级毫米波雷达、理想传感器、目标级超声波雷达、V2X路侧目标级传感器-摄像头、V2X路侧目标级传感器-激光雷达、V2X路侧目标级传感器-毫米波雷达、 物理传感器 摄像头、激光雷达、毫米波雷达、定位传感器 V2X路侧目标级传感器 V2X路侧目标级传感器-摄像头、V2X路侧目标级传感器-激光雷达、V2X路侧目标级传感器-毫米波雷达 V2X路侧物理传感器 V2X路侧物理传感器-摄像头、V2X路侧物理传感器-激光雷达、V2X路侧物理传感器-毫米波雷达、V2X传感器-RSU、V2X传感器-OBU V2X传感器 RSU、OBU ======================= ============== 具体的传感器参数调节可在右侧的传感器参数面板中完成 .. image:: ./images/teaching_newcase/prameter_setting.png **Step 4 配置主车动力学系统** 通过拖拽的方式,从主车资源库选择主车动力学系统添加到主车编辑视窗中 .. thumbnail:: ./images/teaching_newcase/set_dynamic_model.png 当前51Sim-One可支持的动力学系统如下: ======== ============== 类型 支持的仿真模型 ======== ============== 动力学 51Sim-One-Bus、 51Sim-One-Car、 51Sim-One-Truck、Carmaker、VIGrade ======== ============== 具体的动力学参数可在右侧的参数面板进行设置 .. thumbnail:: ./images/teaching_newcase/dynamic_parameter.png **Step 5 配置主控制器** 车辆可接入不同的控制系统 .. thumbnail:: ./images/teaching_newcase/control_system.png 当前51Sim-One(客户端)可支持的主控制器如下: ============ =============== 类型 支持的仿真模型 ============ =============== 主控制器 SimOneDriver、Simulink 手动控制、标准ROS控制 ============ =============== 当前51Sim-One(网页端)可支持的主控制器如下: ============ =============== 类型 支持的仿真模型 ============ =============== AEB SimOneDriver 手动控制、自动驾驶—决策规划 ============ =============== 配置主车时我们可以选择接入自动驾驶系统,将SimOneDriver拖入主车编辑视窗中 .. thumbnail:: ./images/teaching_newcase/simonedriver_control_system.png 新建案例并运行 ~~~~~~~~~~~~~~ **Step 1 新建案例** 启动51Sim-One后,打开案例库页面 - (标1)首先在测试案例库点击“新建” - (标2)选择新建的测试案例库文件夹 - (标3)点击“新建案例” .. thumbnail:: images/teaching2/new_case.png :alt: 新建案例 新建案例 - (标4)在“选择案例类型”界面选择“标准案例2.0” - (标5)点击下一步 .. thumbnail:: images/teaching2/case_type.png :alt: 选择案例类型 选择案例类型 - (标6)填写案例名称为“变道” - (标7)点击创建,页面自动跳转至案例编辑器,这样就完成了新建案例。 .. thumbnail:: images/teaching2/case_name.png :alt: 填写案例名称 填写案例名称 理解编辑原理后,开始进入编辑器 **Step 2 添加测试对象,设定对象初始状态** **添加测试对象** 1 因为编辑器默认的地图不适合本案例,因此从案例资源库-地图文件夹选择“Tutorial_ThreeLanes”地图,并拖拽至视窗完成地图替换。 .. thumbnail:: images/teaching2/exchange_map.png :alt: 替换地图 替换地图 2 下图(标1)选择案例资源库-主车配置文件夹,拖拽主车至地图X轴坐标设定为-300,如图(标2)释放鼠标后,因为开启了自动吸附至车道中心功能(标3),因此主车将自动吸附至车道中心,车头朝向自动与车道方向保持一致,鼠标左键单击蓝色车辆图标可移动主车位置,右侧属性面板初始状态“位移”动作面板中坐标值会随着主车位置的移动而改变(标2),也可直接通过输入坐标值设置主车起点。 tips:测试时可换成接入算法的主车。 .. thumbnail:: images/teaching2/add_ego.png :alt: 添加主车 添加主车 .. thumbnail:: images/teaching2/add_ego_success.png :alt: 添加主车 添加主车 3 点击案例资源库-动态元素,选择任意普通对手车(本案例选择的是AudiA2),拖拽摆放AudiA2车,AudiA2X轴坐标为-270,且AudiA2在主车的隔壁车道上。 鼠标移动至资源列表-动态元素文件夹,双击对手车名称可重命名该对象。 .. thumbnail:: images/teaching2/element_located.png :alt: 对象摆放 对象摆放 tips:按住鼠标左键可拖动视图,滚动鼠标中键可缩放视图,视窗左上角按钮从上至下依次为放大视图、缩小视图、定位至主车、标尺工具。 **设定对象的初始状态** 初始状态对应故事开始,表示该车辆开始瞬间的状态。 .. thumbnail:: images/teaching2/set_speed.png :alt: 速度设定 速度设定 设置主车速度(15m/s)、普通对手车AudiA2(20m/s)车辆的速度设定。 tips:动态对象若只设定初始状态,该对象将以初始速度沿着路网随机生成的路线行驶。 **Step 3 为测试对象添加行为规划** 行为规划包含该动态对象在故事进行阶段什么时机做什么事情的内容。 接下来,在行为规划面板为普通对手车AudiA2添加一次变道的事件。 **行为规划的组成** 单击普通对手车AudiA2车,选中其右侧属性面板的行为规划Tab,行为规划以“事件”为组织单位,可包含多个“事件”。 **添加动作** 为普通对手车AudiA2添加一次变道事件的动作 点击“动作”面板的添加动作区域,在弹出的列表中选择专属动作-“变道” .. thumbnail:: images/teaching2/add_action.png :alt: 添加动作 添加动作 参数配置如下: - 变速维度:时间 - 表述形态:正弦曲线式 - 变速时间:2s - 变道目标:相对目标车道(使用相对目标车道需指定引用对象) - 引用对象:主车(之前步骤创建的主车,采用的是SimOneDriver控制系统) - 相对目标车道:0(表示变道至引用对象所在的车道) - 目标车道偏移:0m 以上参数表示普通对手车AudiA2会用2s的时间从中间车道变道至主车所在车道 .. thumbnail:: images/teaching2/action_parameter.png :alt: 动作参数 动作参数 tips:本案例地图Tutorial_ThreeLanes遵守左手方向行驶交规,左侧为行车方向,左侧车道ID为负,右侧车道ID为正。 **添加触发器** 什么是触发器?是故事中普通对手车AudiA2做变道动作的时机或条件。 点击动作面板下方的开始条件面板,选择“相对距离”触发器。当普通对手车AudiA2超过主车5米后这个时机或条件下触发变道动作,因此普通对手车AudiA2既是触发者又是被触发对象。 .. thumbnail:: images/teaching2/add_trigger.png :alt: 选择触发器 选择触发器 如下图(标1),参数作如下调整,其余保持默认即可 - 引用对象:主车 - 规则:大于 - 相对距离:5m - 条件边界:上升 (上升指触发条件从false变为true时触发,测试开始时普通对手车AudiA2与主车的距离大于5米条件是false,逐渐小于5米,又大于5米条件为true触发。) 将(标2) 触发者管理-触发者设定为A2 .. thumbnail:: images/teaching2/relative_distance.png :alt: 相对距离 相对距离 tips:条件边界选项解释 - “上升”指触发条件从false变为true时触发。 - “下降”指触发条件从true变为false时触发。 - 上升或下降指触发条件“上升”或“下降”任意其一达到后触发。 **预览第一次变道效果** 设定好场景后,可通过预览来检查测试场景是否符合预期。(预览中的主车、对手车等动态元素由51Sim-One引擎驱动,不涉及算法、动力学、判定等) 点击刷新预览按钮(标1),当时间轴由灰色变为蓝色后点击播放按钮(标2),即进入预览模式。 点击播放,可以看到普通对手车AudiA2在逐渐靠近主车并超过主车后开始变道,第一次变道设置成功。在预览模式下画面跟随主车运动,地图上所有对象无法被选中。点击停止按钮(标3)退出预览模式,重回编辑模式。 .. thumbnail:: images/teaching2/preview.png :alt: 预览 预览 **Step 6 运行案例** 点击顶部工具栏“保存”按钮,当保存的按钮变为灰色代表案例保存成功。点击“运行案例”,弹出新建任务窗口中,用户可将主车配置替换为接入算法的主车。点击“创建”,系统将自动添加测试任务。 **Step 7 设置案例结束触发器** 案例结束触发器是指当某个(组)条件为true时,终止测试。每个测试案例都需设置结束触发器。 51Sim-One会为新创建的案例默认添加结束触发器,结束条件为仿真时间大于60s,即:当仿真时间大于60s且判定(判据为案例失败)未触发,系统自动结束测试。用户可自定义案例结束触发器。 **当案例未设置结束触发器**\ ,以下行为会触发编辑器提醒用户去设置案例结束触发器: 1. 点击“刷新”按钮 2. 点击“运行案例” 3. 以点击“运行案例”为例,讲解如何设置结束触发器: 点击运行案例,如下图系统将提示用户需设置“结束触发器”。点击(标1)“去设置”。 .. thumbnail:: images/teaching2/set_stoptrigger.png :alt: 去设置 去设置 页面跳转至结束触发器设置页面,点击条件选择(标2)仿真时间 设置仿真时间(标3),编辑器默认仿真时间大于60s结束测试,因本教学测试时长较短,因此修改为15s。 .. thumbnail:: images/teaching2/set_time.png :alt: 设置仿真时间参数 设置仿真时间参数 参数如下 规则:大于 仿真时间:15s 条件边界:无 延时:0s 设置结束后,再次点击运行案例即可。 **Step 8 观察监控测试过程** 51Sim-One提供了简化渲染的Web Observer与高精度渲染的UE Observer。安装时系统会根据用户的硬件配置推荐可视化方案。 - 假设使用高精度渲染,UE Observer会在测试任务开始后自动弹出。:ref:`reference_manual.py-label1` - 假设使用简化渲染,Web Observer需在任务管理器-正在测试列中打开。:ref:`reference_manual.py-label2` .. thumbnail:: images/teaching2/webobserver.png :alt: 启动WebObserver 启动WebObserver .. thumbnail:: images/teaching2/case_running.png :alt: WebObserver运行 运行WebObserver **Step 9 最后一步,查看测试结果** - 测试结束后,用户可在任务管理器-已完成列表查看测试结果。 - 也可下载测试报告 .. thumbnail:: images/teaching2/report.png :alt: 测试报告 测试报告 .. |image1| thumbnail:: ./images/start/login.png .. |image2| thumbnail:: ./images/start/main.png .. |image3| thumbnail:: ./images/teaching1/choose_a_case.png .. |image4| thumbnail:: ./images/teaching1/new_task.png .. |image5| thumbnail:: ./images/teaching1/task_manage.png .. |image6| thumbnail:: ./images/teaching1/case_running.png .. |image7| thumbnail:: ./images/teaching1/reback_case.png .. |image8| thumbnail:: ./images/teaching1/download_result.png .. |image9| thumbnail:: ./images/teaching1/report.png .. |image10| thumbnail:: ./images/teaching1/data.png .. |image11| thumbnail:: ./images/teaching_newcase/choose_a_case.png .. |image12| thumbnail:: ./images/teaching_newcase/new_task.png .. |image13| thumbnail:: ./images/teaching_newcase/task_manage.png .. |image14| thumbnail:: ./images/teaching_newcase/case_running.png .. |image15| thumbnail:: ./images/teaching_newcase/reback_case.png .. |image16| thumbnail:: ./images/teaching_newcase/download_result.png .. |image17| thumbnail:: ./images/teaching_newcase/report.png .. |image18| thumbnail:: ./images/teaching_newcase/data.png .. |image19| thumbnail:: ./images/teaching_newcase/import_map.png .. |image20| thumbnail:: ./images/teaching_newcase/import_map1.png .. |image21| thumbnail:: ./images/teaching_newcase/import_map_success.png .. |image22| thumbnail:: ./images/teaching_newcase/add_car.png .. |image23| thumbnail:: ./images/teaching_newcase/add_car_success.png .. |image24| thumbnail:: ./images/teaching_newcase/car_editor.png .. |image25| thumbnail:: ./images/teaching_newcase/drag_sensor.png .. |image26| thumbnail:: ./images/teaching_newcase/prameter_setting.png .. |image27| thumbnail:: ./images/teaching_newcase/set_dynamic_model.png .. |image28| thumbnail:: ./images/teaching_newcase/dynamic_parameter.png .. |image29| thumbnail:: ./images/teaching_newcase/control_system.png .. |image30| thumbnail:: ./images/teaching_newcase/simonedriver_control_system.png .. |image31| thumbnail:: ./images/teaching_newcase/launcher.png .. |image32| thumbnail:: ./images/teaching_newcase/icon.png .. |image33| thumbnail:: ./images/teaching_newcase/entry.png