用户常见问题 ============ 安装及启动问题 --------------- **1. 安装结束后点击启动,服务进程存在,但是启动无效,点击打开主页面一直转圈加载?** 主要有以下两方面原因: a. 安装时服务没有安装成功,具体可从任务管理器-服务查看,先检查是否有杀毒软件,退出后卸载SimOne重新安装。 .. thumbnail:: ./images/task_server.png b. 用户权限原因,非管理员权限时安装服务失败,检查一下当前用户权限。 **2. 已安装 2.2 版本,升级至 3.1 版本,无法正常启动 3.1 版本?** 可以通过以下方式进行排查: a. 退出 2.2 后,打开任务管理器,选择详细信息,右击状态栏,勾选路径名称,点击确定; .. thumbnail:: ./images/task_server2.png b. 查看 2.2 版本安装目录下是否还有残余进程,若是存在,手动终止;例如下面两个就是安装目录下的残余进程 .. thumbnail:: ./images/task_server3.png c. 确认无 2.2 版本安装目录下相关进程。 d. 如果先前未安装 3.1 版本,接下来正常安装 3.1 版本使用。 e. 如果已经安装 3.1 版本,而出现启动失败的情况,先停止掉 3.1 版本的所有服务,右击 launcher 打开 Agent 配置 界面,点击 停止,然后右击 launcher,点击退出。 .. thumbnail:: ./images/stop_agent.png **3. 用例库为空,资源库地图为空,不能创建目录、用例?** a. 检查数据服务(dataservice 是否正常启动),TaskServer,AssetServer 是否配置 CZ_DATA_SERVER 正确,一般默认配置为 "http://127.0.0.1:8090" i. 查看任务管理器中的 dataservice 进程是否存在 ii. 用户目录下 .simone/logs/node/task/app.log 中是否有关于请求 data 的错误日志 b. 检查数据服务是否因为端口号 8090 已被占用而不能正常工作。 1. 命令行下找到 8090 端口号对应的进程 id,根据进程 id 在任务管理器中找到对应进程,确定是否为 dataservice .. thumbnail:: ./images/ip_port.png 2. 管理员权限打开命令行,并运行如图命令,更改 dataservice 端口号 .. thumbnail:: ./images/dataservice_port.png 3. 找到相应的 web 的 config.json,加入 CZ_DATA_SERVER和CZ_DATA_SERVER_PORT .. thumbnail:: ./images/config_json.png 4. SimOne Launcher 停止服务后再重新启动 .. thumbnail:: ./images/stop_launcher.png **4. 3.1 安装包形式不支持同第三方软件联合仿真?** 当前 3.1 版本安装包形式不支持第三方软件联合仿真,例如 Simulink,Carsim,可以使用脚本启动方式,打开 SimOne 。 .. thumbnail:: ./images/start_bat.png **5. 产品安装加密狗相关问题** 安装 SimOne 成功后,如果加密狗插入正确,即可正常操作软件,如果运行过程中将加密狗拔出,或者安装过程中没有插入加密狗,那么能正常进入界面。在选择用例运行后,页面右上角会弹出提示,告知用户未插入加密狗,用例无法运行。 .. thumbnail:: ./images/qa1.png **6. 未安装正确路径导致的问题** 安装路径中不能包含 双空格 和 中文字符 。ue 安装失败,运行案例的时候找不到 ue 引擎,所以就会有以下截图中的错误提示。 - line 6: cd: too many arguments - unable to find image '3.3:latest' locally - docker:Error response from daemon: pull access denied for 3.3, repository does not exist or may require 'docker login': denied: requested access to the resource is denied. - See 'docker run --help'. - install simone-ue success. - Failed to PreAllocate - reason: no work node ===>CybertronObserver .. thumbnail:: ./images/qa2.png .. thumbnail:: ./images/qa3.png 功能使用问题 --------------- **1. 版本打开后,高精度渲染下运行用例,任务列表显示用例一直等待测试?** 如果切换简化渲染方式,运行用例正常,此时需要安装 UE4PrereqSetup_x64.exe 驱动文件,才可以正常使用高精度渲染可视化模式。 **2. 2.2版本,运行用例,任务列表显示用例一直等待测试?** 检查 ip 地址,如果使用的是动态 ip,需要取消系统设置的 ip 地址自动选项,设置当前正确的 ip 地址,同时修改环境变量中 CZ_WEB_DOWNLOAD_HOST 的 ip 地址,再重启仿真软件。 .. thumbnail:: ./images/agent_ip.png .. thumbnail:: ./images/agent_ip2.png **3. 安装分布式部署时,大于 2 个以上的 Agent 关于 web ip 及授权码如何设置?** a. Master 机器上,右击 launcher 打开 Agent 配置界面,设置 Web ip 为本机 ip,然后点击停止再重新启动。 .. thumbnail:: ./images/web_ip.png b. Agent 机器上 SimOneCommonFoundation 下 Agent.cfg 文件编辑 Master 机器上分配的 authcode 和 web ip,然后双击启动 Agent 机器上的 CybertronTray.exe 。 .. thumbnail:: ./images/web_ip2.png **4. 安装分布式部署时,Agent一直无法连接上Master?** 检查部署环境机器的防火墙设置,关闭 Master 机器和 Agent 机器上的防火墙设置,再重新建立连接。 **5. 2.2 版本,使用 apollo 决策主车运行用例,用例显示一直等待测试?** a. Docker 版本有误,有的用户选择了升级 Docker 的版本; b. Docker 设置:需要配置 Apollo 运行的资源; .. thumbnail:: ./images/apollo_docker.png .. thumbnail:: ./images/apollo_resource.png c. 检查 apollo 配置,其中 IP 为本机 IP 地址,IP 与 PORT 需要与 SimOne 的配置保持一致 GLOBAL_DATA=D:apollo6-2021-06-23-release2.2 应保持正确目录途径和书写格式,中间不应出现空格。 .. thumbnail:: ./images/apollo_setting.png .. thumbnail:: ./images/apollo_ip.png **6. 3.1 版本,安装 apollo 后未连接上,全局设置 Agent 列表显示 apollo 标志置灰?** 方法 1 a. SimOne 正常安装且 web ip 设置本机 ip,执行 apollo 安装脚本,设置 ip 为本机 ip,安装完成,点击 start-apollo.bat 脚本启动 apollo,然后再 SimOne 全局设置查看连接情况。 .. thumbnail:: ./images/apollo_bat.png .. thumbnail:: ./images/apollo_bat2.png b. 步骤 1 执行无误,但是 apollo 依然显示没有连接成功,此时可能是重复安装导致容器内 apollo 的 Agent uuid 被占用,打开命令行执行以下程序,删除容器内 SimOneOS.conf 文件,然后重新安装 apollo 。 .. thumbnail:: ./images/apollo_cmd.png 方法 2 a. 查看容器 id 。 b. 进入到 win 的 docker 里面 。 c. 进入 /home/unreal/.simone/SimOneOS.conf 文件里面,填写 Apollo ID 20000,保存退出后 Apollo 节点生效。 .. thumbnail:: ./images/11.png .. thumbnail:: ./images/12.png **7. 使用 6 自由度动态模拟器,启动 simone 运行用例后踩油门进行驾驶,视景上的车不动?** a. 关闭软件,按顺序重启方向盘控制软件(先启SteerController)和模拟器软件(后启AllsparkGUI) b. 将方向盘控制软件右下角的绿色按钮关闭再开启 c. 将进程 “AllsparkPlugin_SimOne.exe”、“AllsparkPlugin_TeleCenter.exe” 关掉,重新点击方向盘控制软件右下角的绿色按钮。 **8. 传感器数据采集生成的camera文件是什么格式的,如何查看?** 打开 SimOne文档中心,查看 用例教学 - 传感器数据Dump采集 章节。 **9. LUA仿真实时性问题脚本的判定介绍?** 打开 SimOne 文档中心,查看 用例教学 - Lua判定的使用 章节。 **10.在传感器仿真中,有些软件会要求设置的仿真内核和传感器的频率成倍数关系(还有求解器的频率),SimOne需要手动设置各模块的频率吗,是否可以提高输出帧率设置?** 每个模块的频率都是可以配置的,比如可以设置输出频率是 120HZ,但某个摄像头可以维持在 30HZ,这样每 4 帧,有一帧传感器输出,成倍数的原因是为了保证时间的精确性,比如 120HZ 下,30HZ 可以每 4 帧输出一次,但如果某个传感器频率是 25HZ, 不是倍数,那么数据结果就有可能有轻微跳动。没法隔 4.8 帧输出一次,只能在 4 和 5 之间变动,不过总体影响不大,毕竟仿真系统内部是离散的。, 不是倍数,那么数据结果就有可能有轻微跳动。没法隔4.8桢输出一次,只能在4和5之间变动,不过总体影响不大,毕竟仿真系统内部是离散的。 **11. 3.1 版本,用例适用性问题,即目前 apollo 不是所有用例都可以运行?** 当前发现: a. 自带用例+apollo:可以运行 b. 交通流用例+任意地图+apollo:不能运行 c. 标准用例+任意地图(法兰克福)+apollo:可以运行 **12. 试用版本没有多车互动用例?** 试用版本为企业版,企业版默认无多车功能,已做版本分离。 **13. 算法接入操作指南中,安装 SimOne 后,打开 SDK 文件夹,进入 Build 目录,没有 SDK 文件夹,SDK 具体指 ADAS/Autopilot/Tutorial?** SDK 为 2.2 版本文件目录,3.1 版本下的算法示例在 Sim-One\SimOneAPI 下,ADAS、Autopilot、Trtorial 等文件夹下可见 build。 **14. 是否可以实现自己设计交通流,并能够控制交通流中的每一辆车,正式版中的多车互动案例是否可以实现该功能,如果不能实现是否支持其他交通流仿真软件接入?** 标准用例中可以通过添加动态元素以及设置行为规划设计交通流场景,交通流用例中可以配置交通流密度;多车互动用例通过设置可以自行控制每一辆主车。 **15. 是否可以利用RSU发送消息给不同OBU同时控制不同主车?** 支持,发送的数据不能定制化,是 v2x 一阶段标准消息级,但是 RSU 无法控制主车。 **16. SimOneAPI::SetV2XInfoUpdateCB的作用,是否有支持获取以及更改RSU传输信息的接口或SDK,OBU传输信息是否有支持更改的接口?** 不支持更改接口,硬件在环方式可以支持输出到OBU或者RSU进行数据透传,但是也是获取SimOnev2x消息,不能改数据,只能获取。 **17. 感知结果输出能否以数据的形式获得(比如txt,udp订阅等,目的是获取感知信息的文本,而不是可视化展示)?** 可以以数据形式获得,api就是通过udp输出,点云和图像的都是二进制,显示只是解码二进制。 **18. 感知结果中是否包含所有分类的置信度,比如检测的某个目标是人,除了输出人的置信度是否还能够输出车,非机动车的分类置信度?** 包含所有分类的置信度,物理级有图像和点云的二进制,目标级有结构化目标物信息。 性能问题 --------------- **1. 云仿真资源消耗量多少?** 规控主要在并发量,总结:一路并发消耗 8 核 16G 内存。(资源占用推荐:不要超过 70-80%) 技术咨询问题 --------------- **1. 传感器仿真真实性问题?(先讨论摄像头仿真的真实性,从行业对标分析与我方先进技术角度进行分析)** 从摄像头仿真视角来看,影响虚拟场景真实程度的因素包括: (1)静态和动态场景的真实度,包括场景中所有资源的物理材质和纹理的渲染真实度。 (2)天气和光照的真实度 ,包括基于物理的时间和光照,以及云、雨、雪、雾等天气的真实度。 (3)摄像头的物理还原真实度,包括内外参、镜头特性和传感器处理过程等物理特性。 (4)摄像头的像素还原真实度,即 ISP 处理后图像,包括色彩还原、动态范围和清晰度等。 SimOne 中使用的真实度评价指标如下: 通过摄像头的仿真图像去评价仿真场景的真实性(该方法 51WORLD 相关专利有 3 篇),包括两种方法: (1)基于某款已标定摄像头,仿真特定图像,比较真实图像和虚拟图像的色彩还原、动态范围、清晰度、信噪比、畸变等图像质量参数,来评价仿真结果的真实性。 (2)基于真实的数据集去仿真一个虚拟的数据集,通过对比两个数据集中所有图像的色调、饱和度、亮度、对比度等的相似性,去评价仿真场景的真实性。 从仿真结果使用角度,通过深度学习的方法(目标检测和语义分割)来衡量仿真场景的真实性, 使用平均交并比(mIOU)和像素精确度(Pixel Accuracy)对每一个类别的真实度进行评分。通过对比每个类别真实和虚拟的得分差异,从而评价仿真场景的真实性。(该方法相关论文有两篇,商汤&百度) (1)用真实数据训练的深度学习模型去检测仿真数据 (2)用仿真数据训练的深度学习模型去检测真实数据 (3)使用真实数据和仿真数据相结合,训练出来的深度学习模型去检测真实数据 **2. 仿真实时性问题?(带宽与延时一个越来越重要的话题,从仿真软件的角度,从数据闭环的角度进行分析)** 51WORLD 仿真系统自带仿真时间服务器,仿真内部所有节点基于该时间服务器作数据同步。这样只要每个节点在自己的时钟周期内完成完成所有工作,就不会引起整个系统的延时。如果某节点在一个时钟周期内无法完成工作,就会引起整个系统的延时。比如说,某参与时间同步的 30HZ 摄像头,由于显卡渲染性能较差,导致 33ms 内无法完成渲染,就会导致所有节点等待该节点。主要的解决方案是提高硬件配置,使用更好的 CPU 和显卡,降低硬件资源占用率。另一种方案为让自动驾驶算法也参与时间同步,类似于单步调试的方式,这样整体系统以慢速仿真进行。可能真实世界过去了 1 分钟,但仿真世界才过去 10 秒。 当然对于 HIL, 对于动力学结算的频率和实时性要求都极高,此时动力学节点就需要运行在实时机中,按照自己的频率去运行(比如 2000HZ), 并定期与其他节点同步车辆底盘状态信息(比如 120HZ), 产生更加精确的动力学仿真结果。 **3. 动力学的准确性?(从智驾领域动力学自由度范畴,到与 carsim 对标的角度进行分析)** SimOne 车辆动力学仿真支持 26 自由度动力学仿真,可以方便的批量部署在公有云和私有云环境, 而不需要外部动力学仿真软件的授权限制。 车辆动力学仿真模块采用多体车身动力学实现,支持三个方向的移动自由度、三个方向的转动自由度、四个轮胎的旋转自由度、四个非簧载质量自由度、八个轮胎瞬态特性自由度、四个制动压力自由度。能够准确仿真车辆运行时的总体和内部姿态。车辆动力学仿真模块支持传动系统模型(发动机、变速箱、离合器、差分器),转向模型,制动模型,悬挂模型和轮胎模型等的建模。支持传统燃油乘用车和电动驱动乘用车。 车辆动力学的真实性标定尤为重要。可以通过对标本仿真平台的动力学和 CarSim 动力学的输出结果,改善并提高动力学的精度。总体动力学精度跟 CarSim 的差异在 3%之内。具体对标可选用以下几个工况: 1. 60km/h 加速,60deg 转向 2. 100km/h 加速,20deg 转向 3. 全油门加速 4. 半油门加速 5. 0.3 油门加速,20deg 转角 具体对标数据则包括: 车速、发动机转速、纵向加速度、横向加速度、车辆轨迹、车辆转向角、横向滑移角、车轮载荷等。 同样动力学仿真的精度也支持跟真实车辆数据进行对标。通过采集一定工况下的真实数据,并基于 SimOne 提供的标定算法,可以标定出更加接近于真实车辆的车辆动力学和控制模型,总体精度可控制在 10% 之内。 **4. 规控云仿真的有效性问题?** 相比传统的单机仿真,云仿真具有多方面的优势,包括它的高并发测试、大算力、强协同以及易于对接大数据平台等。 1. 对于 L2 及以下的 ADAS 功能,所需要的测试场景有限,仿真测试场景库会比较小,传统的单机测试完全能够搞定,但是后续高阶自动驾驶需要测试的场景越来越多,对仿真测试的要求越来越高。现在自动驾驶基本上都是采用快速迭代的方式,所以回归测试的次数或者频率会非常高。面对这样海量的测试场景,只有利用云仿真进行高并发测试才能快速地迭代,比较快地得到仿真测试结果。同时云仿真可以方便与自动驾驶算法进行 CI/CD 集成,每日可在云端对最新算法进行回归测试。 2. 汽车智能驾驶系统越来越复杂,车上配置的传感器也越来越多。若是采用单机仿真的话,性能再强算力也总是有天花板的,如果利用云仿真的话,可以把算力分布到多个服务器上,形成强大算力,这就是所谓 “抱团” 的力量,大大的提升了算力的上限。 3. 云仿真能够让自动驾驶多个部门协同工作在同一个平台上。 4. 另外云仿真平台能够很好地跟大数据平台去做对接,便于数据提取、数据分析,然后再做仿真测试分析,最后把结果反馈回大数据平台,大大增强了仿真测试的便利性。