基于场景的自动驾驶系统虚拟验证
探索创建虚拟驾驶场景的选项,例如场景设计、使用脚本和图形用户界面、从现有库导入场景,以及使用车载传感器记录的数据生成场景。学习如何以编程方式创建现有场景的变体。您可以在闭环仿真中使用生成的场景来建模和测试控制器。
欢迎来到本讲座,题目是自动驾驶系统虚拟验证的交通场景的创建和变化。我的名字是Marco Roggero,我在我的MathWorks的应用工程部工作,专注于自动驾驶系统和自动驾驶系统。我们今天要看什么?我们有三个主题。最主要的是高效地创建交通场景。我们将在那里看到如何有效地创建场景的工具,这是称为RoadRunner的3D模拟。
然后,我们将看到两种场景模拟选项,一种是长方体场景,另一种是传统的3D场景。稍后将详细介绍这两种场景之间的区别,以及如何在这两种情况下工作。然后,我们将看到关于生成合成传感器数据的选项的概述。然后,你如何使用多种场景来自动化自动驾驶系统的验证测试。
现在,在我们开始之前,我想给你们看一些我们今天要看的例子,也解释一下为什么这些观点如此重要。因此,我们对自动驾驶系统进行验证的一个目标是,我们希望根据需要减少已知和不安全场景的集合,例如,从SOTIF标准。这是我们的目标。
要做到这一点,我们面临一个挑战,那就是我们需要大量的现实场景。这些场景必须包括场景参数的变化,也必须引入测试不同条件和危险条件的可能性。在这段视频中,我们使用一种名为RoadRunner的工具来轻松高效地建造道路,从一边定义道路网络,从另一边定义道路网络周围的环境。
稍后你会看到如何使用这个工具,但这只是一个视频例子。你看,你可以添加很多细节,你还可以指定道路上的信号质量。这是一种非常精确地描述三维模拟的方法。
另一种选择是描述这些长方体情形,我们称之为长方体情形。在这些场景中,我们在模拟中对环境的信息较少。我们有关于道路拓扑结构的信息,参与者的特征,也就是道路上的车辆,行人,骑自行车的人。是的,这是我们称之为3D场景的两种选择,第一个我们见过,这个我们称之为长方体场景。
使用这种模拟的好处是我们有一个工作流,可以生成这些场景并自动更改它们。这些长方体场景和3D场景让我们可以模拟数百万公里的距离。我们面临的另一个挑战是,为了进行基于仿真的验证,我们需要从这些场景,这些长方体和3D场景中生成真实可靠的传感器数据。
这里你可以看到一个例子,我们可以从长方体场景中生成传感器数据,合成传感器数据建模,例如,这里是雷达和激光雷达传感器。你可以使用,例如,这些合成数据作为你的感知算法的输入,这样你就可以对它们建模,然后你可以用很多测试来验证它们。
你可以看到的另一个例子是3D场景的选项,我们可以运行更真实的模拟并提取其他类型的数据。正如你在这里看到的,例如,在这张图片中,我们在车辆通过一个详细的城市场景时生成了这个点云。这里,你可以看到如何使用相同的点云,例如,生成你所经过的环境的地图。
因此,合成传感器数据可以模拟和验证感知算法。我们议程上的第三点是我们需要在数百万公里上测试我们的飞行器。要做到这一点,我们需要使用这些不同的场景,我们必须以自动化的方式组织测试。这是可能的。
从一个角度看,你可以进行这种模拟。它接近于模拟道路上发生的事情。你可以模拟传感器将看到什么,以及汽车将如何运行。我们会看到有一些方法可以自动化这种测试。是的,这样做可以让我们以有效的方式验证我们的自动驾驶系统。
现在,让我们从演讲的核心部分开始。所以我们有了交通场景的主题创建。让我们从第一张幻灯片开始。在MathWorks,我们长期致力于自动驾驶系统。我们拥有一支优秀的开发团队,致力于开发新的解决方案。金宝搏官方网站我们专注于客户要求我们提供好的解决方案的三个方面。
所以从一方面来说,我们有第一个观点,那就是情景分析和综合。然后,第二点是,我如何建模、设计和测试我的感知规划和控制算法?然后,我如何将所有这些系统一起测试,并将所有用于自动驾驶应用程序的不同类型的框架和工具链集成在一起?
今天,我们将关注场景的合成。只是给你们一个概述,如果你们在谈论场景,你们有一个问题是定义你想要模拟的场景。然后第二步是定义角色并给他们做动画,也就是定义轨迹,他们应该是怎样的。第三步是生成这些传感器数据。实际上,这些都是我们今天议程上的所有话题。
现在,让我们关注RoadRunner的效率生成和描述。我们从20a版本开始就有了这个名为RoadRunner的工具,它允许我们模拟可以引入大量信息的场景。然后你使用的场景可以导出到不同的外部模拟器,如IPG, VIRES,这个列表很长。然后,实际上,所有用于自动驾驶的模拟器,你也可以导出到我们在MATLAB和Simulink中创建的场景中并使用MATLAB和Simulink工具链中典型的模拟器。金宝app
现在,VectorZero公司设计并开发了RoadRunner并将其推向市场,我想大概是在三年前。现在VectorZero,整个VectorZero公司是MathWorks的一部分。RoadRunner实际上是已知的用于场景生成的最佳工具。这是一个与MATLAB和Simulink以及其他自动驾驶模拟器非常兼容的产品。金宝app而且,如果它能很好地与MATLAB和Simulink兼容,它是独立的。金宝app如果你没有MATLAB许可证,你也可以使用RoadRunner。
RoadRunner产品家族由三个产品组成。下载188bet金宝搏一个是基本的RoadRunner工具,它允许您定义道路和日期的拓扑结构。我们还有一个资产库,它为您提供了一个对象库,您可以使用并直接将它们导入到您正在描述的场景中。
和我们还一个新工具版本20 b叫做走鹃场景建筑商,允许您导入和创建导入数据从高清地图和创建,以一种非常有效的方式,大公路网络很多公里,实际上一个自动调试系统,允许你创建的公路网络质量,不需要太多调试然后从你或你的同事有目的建立现场。
在RoadRunner中,我们可以选择插入各种信息和道路的视觉轮廓,还有信号或道路旁边的不同物体。你可以看到这里,你也有选择,你可以介绍一些材料缺陷的技术,它们组成了你在这个场景中所拥有的不同种类的物体。在这个视频中,我们已经看过了,你可以看到生成这种场景是多么直观。
现在你看到的这个视频是加速的,但实际上,当你使用RoadRunner时,添加这些细节是非常容易和快速的。这些对象来自资产库,可以从道路中导入。你有很多工具可以让你做不同类型的操作,你可以拖拽对象或属性,你可以很容易快速地定义新的场景。
一旦完成了场景的定义,就可以导出它了。这里,例如,我们看到如何导出到CARLA。简单明了。您必须在菜单中选择Export选项,然后选择catalog选项,然后命名要使用的文件。然后,你可以在CARLA环境中导入它,该环境使用你在这里看到的虚幻引擎。然后,你会有你的场景在虚幻模拟器,你可以看到。
我们到了。我们在虚幻中再现了同样的场景。完美的。那么下一步是什么呢?例如,要添加,比如在这个例子中,一辆车,并定义这辆车的路径,让模拟运行,在这里你将能够生成数据并运行各种模拟。你可以生成,例如,这里的一个分割图像是由一个合成相机生成的它在环境中运行或者安装在汽车上。
当然,我们不仅可以模拟摄像头,还可以模拟激光雷达和其他设备。这取决于你要使用的模拟器,但我们在MATLAB仪器工具链中也有这些视觉传感器,摄像机的模拟选项。视觉传感器,激光雷达和雷达。
非常重要的一点是如何将文件导入到RoadRunner中。这是用OpenDRIVE导入的经典方法。在这个视频中,我们展示的是OpenDRIVE。org,我们下载的只是一个OpenDRIVE文件的例子。您可以在环境中快速地导入它。你只需要做一些步骤来自动定义对象的坐标。然后是轨道,然后你把这个道路网络导入到RoadRunner中。再加上第一种情况。
然后,你可以继续,例如,用允许的机动来定义交集,并添加很多很多层次的细节。在本视频中,你将看到如何用鼠标描述RoadRunner中的十字路口。在开始的时候,你需要做一些练习,但我可以向你保证,一旦你测试并练习了一次如何使用RoadRunner进行操作,如果你必须重复它,它将是非常自动和直观的。
我们有一个很好的文档来学习如何使用RoadRunner中提供的不同工具,并提供了许多示例。这里,如果你有这个演讲的PDF,你也可以直接访问文档和[?指它。我们有很多例子,如你所知,还有其他MathWorks产品。文件是一个细节,这是非常重要的,对我们来说,我们会照顾。原因是,有了良好的文档,您将能够以非常有效的方式使用该工具。
我之前提到过,我们有一个资产库,一个带有对象的库,你可以在系统中拖放。这实际上是一个扩展。这是一个单独的工具,你可以和RoadRunner一起购买。该工具的名称是RoadRunner Asset Library。导入3D对象也很容易,这些对象可能不在库中,也可能在你可用的另一个库中。你可以导入矢量图形和高程地图如果你想考虑特定深度的形态,这是一个非常重要的信息。
在本视频中,我们将了解如何通过拖放在场景中轻松导入对象。首先,我们导入的是单个对象。你可以在屏幕的右边看到,关于位置和旋转的信息以及不同物体的尺寸。你也可以在我们的场景中导入一组对象,你想要定义表面,其中将有许多具有特定分布的树。您还可以很好地使用该工具进行导航。是的,这个工具的可用性非常高。
另一个非常非常重要的一点是,你也可以导入其他信息,比如点云,正射影像,或者矢量数据,你可以用这些信息来覆盖你正在创建的场景,这样你就可以把道路插入到正确的位置,你可以把你生成的路线图和你拥有的数据进行比较。
你还可以使用这种信息来生成关于环境的详细信息,不仅是关于道路,还包括建筑物,树木或环境的其他部分。这里,我们有一个非常有趣的例子,在这个例子中,我们将一个包含高度信息的文件导入到RoadRunner中。
然后,你可以用鼠标定义一条路。你可以看到这条路是暂停的,它没有触及高程地图的区域。但我们有工具可以让我们在地图上投射道路,并自动包含海拔信息。
我们已经看到了一些关于如何使用RoadRunner的例子。一旦你定义了场景,你可以导出你的工作,以使用你在不同类型的模拟中所做的工作。你有两个主要的选项来导出数据,一个是Filmbox,一个是OpenDRIVE数据格式。你也有一些其他的,一个相当长的列表,模拟器,直接支持导出你的工作。金宝app
之前,我们见过使用虚幻引擎的CARLA模拟器,但是你可以看到列表很长,甚至在这些幻灯片上都不是完整的。你可以把你的工作导出到你想要使用的不同的模拟中。
这里,我有一个视频,讲的是另一个非常非常有趣的例子。它显示了RoadRunner Scene Builder允许你做什么。你可能听说过从高清地图中导入数据并自动生成大面积路面的道路网络,而且具有很高的灵活性和高质量。因此,您需要做的是指定您想要重现的区域的经度和纬度。这就是我们正在做的。
然后,你必须以某种方式指定你想要的曲面的范围。你可以导入数据。你还需要有高清地图的许可证。你会看到我们已经导入了所有的数据。你在这里看到的是实时的,所以这个过程真的更快。你可以在这里看到不同种类的道路的分类。绿色代表的是不会产生任何错误的道路,红色代表的是没有那么高的信心来保证道路之间的完美匹配。
然后,你必须指定网络的部分,这对你来说很有趣,只是用鼠标以一种非常直观的方式。然后,你可以让Scene Builder为你建造道路。你们看,我们的公路网络有100多公里,我们正在要求修建这些公路。100公里是很多,但实际上在道路上得到更高的公里值是很容易的。
这里,你可以看到这是我们选择的区域。你可以看到这个道路网络有多么复杂,有这么多关于道路高度的信息,以及这些道路之间的许多连接。看看你已经达到的质量。这确实是工具的强大功能。想想有了这样的功能,你可以在场景设计中节省多少时间。这太神奇了,我很自豪有同事在开发这种应用程序和开发这种工具。
再一次,这张幻灯片展示了我们现有的文档。文档中有很多视频。我们也有一个YouTube频道有RoadRunner和从VectorZero准备的方法。你们有例子,书面例子和视频例子。它真的很容易开始,也很有趣,使用这个工具是很有动力的。
对于RoadRunner,我们已经看到了产品家族中的三种工具,基本的RoadRunner, RoadRunner资产库,以及这个RoadRunner场景构建器,它允许我们从高清地图中高效快速地导入信息。
这是关于RoadRunner演讲的第一部分。我们已经看到,我们有可能将场景导出到外部模拟器。现在,让我们看看RoadRunner与MATLAB和Simulink环境之间的选项和兼容性,也让我们看看这两种由MATLAB和Simulink直接支持的场景。金宝app金宝app
第一种情况是长方体情况。这是对环境的简单描述。你有关于道路的拓扑信息,你有可能用不同传感器的统计模型生成传感器数据。我们有视觉传感器,车道探测器,雷达和激光雷达。第二种选择是3D模拟。我们在那里使用虚幻,你可以在那里使用这种更详细的信息。我们还可以选择从雷达、摄像头和激光雷达中生成信息和合成数据。
现在,让我们从这些长方体的情形开始。这些长方体场景是非常重要的,也许在你设计功能的开始,你可以非常容易和快速地定义新的场景,其中没有太多细节,但已经足够现实,以了解你的算法是否正常工作。它们真的很重要。他们不需要一个非常强大的计算机或显卡,他们是一个伟大的工具。
在这里,让我们来看看这个工具我们将在几秒钟后看到一个直接的例子。在这里,你可以看到描述的道路。这是你看到的所有其他演员的行为的自我载体。我们来看看这个工具。
这是我们之前见过的工具。你有不同的选项来导入场景。例如,您可以打开不同的场景。您可以使用预构建的场景库。这里,你看到这里有[?EarnCAP ?]场景和其他类型的信息。在不同的类别中,我们有很多很多已经存在的场景可以打开。
你也有其他选项来导入OpenDRIVE文件,OpenStreetMaps,还有这里的HD Live Map。你也可以选择在这里生成一旦你完成了你正在使用的场景,你可以生成MATLAB函数或导出,例如,一个OpenDRIVE文件。
现在,我将从描述这里的道路开始。我可以描述道路。我还可以添加我想要使用的车道的信息。车道的数量,也许,我只写两条,我可以继续添加不同的细节。然后,我可以添加一个actor。我们在这里加一辆车然后定义这辆车的路径。
然后我们可以做的另一件事是添加另一个actor,例如,一辆卡车,让我们把它定位在这里。我只是在这里快速而肮脏地向你们展示校长。你可以看到,例如,这里我可以添加前进路径点和反向路径点这样我就可以指定我的车辆正在进行的不同类型的机动。所以车辆朝这个方向移动。
然后,在这个例子中,我们以一辆自行车为例,这辆自行车在路中间以一种危险的方式行驶。把它加在这里。你看,现在你有了这个长方体。我想把这个自我飞行器加一个雷达,也许,在这个位置。还有,我们再加一个激光雷达,加在这里。也可以选择这些车辆的任何其他位置和方向。
你可以为每一个传感器定义很多很多的参数,所以这是一个完整的参数化是可能的。然后,你可以在这种情况下进行这种模拟。在这里,你可以看到,有了激光雷达,我们在用自动网格来制作动画。你可以看到路上发生了什么。你看这里,例如,激光雷达点云是随着时间生成的。
如果我们往回看,你也可以看到,雷达反射是由时间产生的。让我们阻止它。一旦你完成了,你可以,例如,导出一个OpenDRIVE文件或通用的MATLAB函数。我想说的是,这是我经常做的一件事,就是为OpenStreetMap做一个场景,在那里我有很好的信息来源。然后直接导入到这里,在复杂的网络中复制。然后导出到OpenDRIVE,这样我就可以直接使用我在RoadRunner中定义的场景。
这对于使用MATLAB、自动驾驶工具箱和RoadRunner的工作流的兼容性和效率是非常重要的一点。而且,如果你愿意,你也可以生成这个MATLAB函数。在这里,你可以快速添加所有你需要的信息,在相同的模拟中重现相同的场景。完美的。让我们开始演示吧。
现在,有了这个自动驾驶工具箱的场景设计器,我们也可以从HD地图或OpenStreetMaps中导入数据。在这里,你可以看到我们为HD地图演示的一个例子。我们希望为特定的区域生成特定的映射。然后,我们只需要导入它。我们必须选择给它,作为信息,我们想要重现的区域的坐标。然后,我们必须选择我们想要导入的道路。最后,我们在这个模拟器中有了我们的场景,我们可以用不同类型的演员来做动画。
然后,你可以导出它,例如,使用这个导出MATLAB函数或者我们有的其他选项。完美的。我们还有其他种类的选择,真的非常非常有用。例如,在这里,您可以看到一个例子,它是自动驾驶工具箱的一部分,我们使用在测试车辆上收集的记录数据来自动生成和再现一个场景。
所以我们使用了来自GPS,视频数据,激光雷达数据,和OpenDRIVE地图的数据来重现这样的场景。你们已经看到了,刚才,这辆车在我们的自我车前面进行了一次迂回。你可以在印度看到这种复杂的情况。我们用opdrive来重建道路网络,GPS数据来创建一个关于我的自我车辆在做什么的信息,我们用激光雷达探测器,激光雷达传感器的一系列物体来了解其他车辆的轨迹。
在这里,你可以看到结果在这里我们有自我交通工具和路上的其他物体。举个例子,你们可以看到我们正在重现这个动作的切口你们在视频开始的时候看到过。这也是一个非常重要,非常有用的例子。如果您已经安装了产品,那么这个示例,就像您在这个演示中看到的所有其他示例一样,都是可用的。下载188bet金宝搏
我们也有可能,产生一些智能的数据模拟。同样,在这里,我们有一个选项,它让我们有可能自动创建一个新的场景,通过编程的方式,改变参数。所以我们有一个工作流,在这个工作流中你可以使用一个脚本来改变你的场景中的代码。例如,你有一个十字路口的场景,你可以用一个脚本,改变汽车的速度,或者两辆车的初始距离,或者,两个参与者的属性。
因此,从一个已定义的场景开始,您可以对同一场景进行许多变体。你可以测试你的自动驾驶系统在这种新情况下的表现。你们在这里找到的使用这个演示的工作流程是向你们展示如何运行模拟,例如,在Simulink闭环模拟中。金宝app
这里,你们可以看到我刚才提到的例子。你可以看到这里有很多信息,这个例子你可以直接在MATLAB中运行。如果您在文档中进行另一个步骤,您可以在这里看到其他示例。这些都是用MATLAB编程改变场景的例子。
这是另一个他们觉得非常非常有趣的例子。在这个例子中,你可以看到如何以自动的方式导入道路网络,以及如何通过定义车辆起始区域和目的地区域来自动生成交通流量。然后在最后,你将能够动画这种模拟,实际上,为一个特定的区域自动生成交通。这是一个非常有趣和惊人的例子。好的。
让我们回到ppt演示。一旦你创建了场景,你就可以用多种传感器来模拟它们。例如,看看你将生成的合成数据,然后你可以开发你的传感器融合和跟踪算法,这样你对算法的感知路径就可以测试正式系统。
现在,让我们来看看3D模拟的选项。这里,我们在Simulink工作流中使用虚幻引擎。金宝app金宝appSimulink和MATLAB也与我们之前提到的其他工具和模拟器兼容,例如用于RoadRunner的模拟器。但虚幻是直接包含在工具链中的工具。
我们有不同类型的场景,我们可以使用,这些场景已经可用,并通过自动驾驶工具箱提供给你。例如,您可以使用这个驾驶场景设计器定义轨迹。当然,你也可以使用虚幻编辑器直接在虚幻中改变场景。你有一个库,里面有不同类型的场景,这些场景都是预先设置好的。
现在,我想和你们谈谈将RoadRunner与MATLAB和Simulink集成的工作流程。金宝app现在,如果你曾经用RoadRunner创建过东西,你可以从一边导出你的作品到OpenDRIVE。并且能够在场景驱动设计器工具中导入这类信息。另一方面,你也可以导出它和其他类型的数据,并将它们导入游戏引擎。最后,您可以从两种方式连接到Simulink。金宝app
让我们从一个创建RoadRunner场景的例子开始。你正在用这个在表面上创建场景。你只是在路上添加了一些细节。这些对象也会生成你收到的合成数据。对沥青的材料进行描述或者对道路进行描述。是的,当你完成时,你可以导出这种信息,例如,使用OpenDRIVE,这样你就可以将这些信息导入到我们之前看到的驾驶场景中,并添加车辆并将它们动画化。
这是你可以做的步骤。你可以导入数据,你会看到和我们之前在RoadRunner中看到的完全一样的网络。您可以在这里添加带有路径的自我载体,并且您可以在场景驱动程序中查看您已经创建的场景,以及您已经定义了参与者及其路径的场景。然后,作为进一步的步骤,您可以执行以下操作。导出你的场景从RoadRunner导入它,以便在虚幻中使用它。这就是我们在这个视频中展示的东西。
导出它,这是一个非常简单的过程。RoadRunner长方体公路公路。你可以把它导出到虚幻。然后,您还可以生成一个插件,这样您就可以生成与Simulink仿真兼容的场景。金宝app好的。现在,我们有了虚幻的场景。好的。
你可以做的另一个步骤是生成Simulink模型并添加关于场景的信息,关于车辆的信息,关于你想建模的传感器金宝app的信息。例如,在这里,我们看到一个3D摄像机,一个激光雷达和一个雷达。然后,作为结果,你会有一个模拟,在这个模拟中你已经用RoadRunner定义了场景,你已经用MATLAB驾驶场景应用定义了参与者和路径以及参与者的行为。你能够看到并测试你现在在这里看到的这些结果。完美的。
然后,让我们快速了解一下可以为合成传感器生成的数据类型。所以我们可以选择生成雷达图像和激光雷达数据。我们已经讨论过长方体了。这里,对于虚幻模拟或3D模拟,你可以从单眼相机,鱼眼相机,激光雷达和概率雷达生成合成数据。
这里有一个鱼眼相机的例子。在这个场景中,你可以看到,这是你可以生成的合成和扭曲的相机,考虑到所有你需要指定相机行为的参数。在这里,你可以看到单目相机生成的相同的地图,你也可以提取一些信息并转换图像,例如,这里我们有一些像素的分割。
再一次,在这里,你可以看到我们在开始看到的这个例子在这个虚幻模拟中我们可以生成点云在这个闭环模拟中我们使用Simulink虚幻引擎和所有我们用来模拟自我交通工具的算法。金宝app在这里,你有可能,例如,在MATLAB中生成你在这个环境中运行时收集到的激光雷达反射。是的,也可以做同样的事情,在环境中产生雷达反射。完美的。
我们现在进入演示的最后一部分,自动驾驶系统在多个场景下的自动测试。所以我们创造了很多场景。现在,我们必须测试它们,检查我们开发的其他类型的自动驾驶功能是否符合它们必须遵循的要求。我们有可能运行这种闭环模拟。这里,你可以看到,例如,一个车道跟踪系统。你可以提取不同类型的信号,你可以监控道路上发生的事情。
我们有一个Simul金宝appink测试,可以用来组织和选择一长串我们想要用于测试的场景。我们可以添加关于我们想要被期望的需求的信息,同样,关于我们想要测试的Simulink模型。金宝app然后,作为结果,您可以有一个测试场景的列表,其中有一个结果,您可以看到需求是否符合预期。在这个例子中,所有的需求都是预期的。如果你不符合要求,你就会有一个红色标志,这样你就可以检查,好吧,我应该如何改变我的自动驾驶系统和功能,以便能够正确地运行。
所有这些都可以自动并行运行而不需要有人去运行每一个模拟。另一种选择是生成一个自动的代码覆盖率报告,在这个报告中,您可以看到系统中哪些部分的代码已经完全测试,哪些部分已经部分测试,哪些部分根本没有测试。你可以在这个分析中添加信息,这样你就可以看到,对于每一行代码,你是否去过那里,去过多少次,所以你可以使用这些信息,当然,来理解你是否需要引入一个新的测试情况和使用场景。
这里的问题是,我应该测试什么,或者我应该引入哪种场景和情况来完整地测试我的系统?在另一边,我可以在这里接收信息。在这里,我有一段从未使用过或不经常使用的代码。这些是很重要的信息。完美的。
我们已经了解了如何使用RoadRunner、MATLAB和Simulink环境高效地创建场景。金宝app你还有很多选择。实际上,MathWorks的工具链是非常灵活和先进的,这将允许您以一种非常非常有效的方式在那里工作。然后,我们附加的第二点是合成传感器数据的生成。然后,我们已经看到您可以在不同的场景下自动组织您的测试。
这就是今天演讲的全部内容。非常感谢您的关注。并联系我们测试这些产品,这两个。下载188bet金宝搏它们是惊人的,我们在这里允许你使用这些工具。我祝愿你们的自动驾驶项目取得巨大成功。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。