查看: 1083|回复: 0

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...

[复制链接]
发表于 2022-9-25 09:55:41 | 显示全部楼层 |阅读模式
OpenStreetMap是一个免费的、开源的网络地图服务,能够访问众包的地图数据。使用驾驶场景设计器应用,可以从OpenStreetMap导入地图数据,并使用它为你的驾驶场景生成道路。
本讲主要介绍在应用中导入地图数据的情况。另外,要将OpenStreetMap道路导入到驾驶场景对象中,请使用roadNetwork功能。
选择OpenStreetMap文件
要导入一个道路网,必须首先选择一个包含该道路网几何形状的OpenStreetMap文件。要从http://openstreetmap.org导出这些文件,请指定一个地图位置,手动调整该位置周围的区域,并将该区域的道路几何图形导出到扩展名为.osm的OpenStreetMap中。只有全长在这个指定区域内的道路才会被导出。在本讲中,选择的是之前从本网站导出的OpenStreetMap 文件:
1 打开 "驾驶场景设计器 "应用程序。
驾驶场景设计器(drivingScenarioDesigner)
2 在应用工具条上,选择导入 > OpenStreetMap。
3 在OpenStreetMap导入对话框中,浏览这个文件,其中matlabroot是你的MATLAB文件夹的根。
matlabroot/examples/driving/data/applehill.osm 该文件是从https://www.openstreetmap.org 下载的,该网站提供了对全世界人群来源的地图数据的访问。该数据采用开放数据共享开放数据库许可(ODbL),https://opendatacommons.org/licenses/odbl/。
对话框中的 "选择道路 "部分显示了 MathWorks® Apple Hill 校园的道路网。灰色方框代表从 http://openstreetmap.org 选择的地图区域。中心灰色方框中的点是地理参考点,点击该点可以显示或隐藏坐标数据。点击该点可以显示或隐藏坐标数据。当道路导入到该应用中时,这个点就成为驾驶场景的原点。

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...-8250
28.1 选择要导入的道路
在对话框的 "选择道路 "部分,选择要导入驾驶场景的道路。可选择的道路为黑色。
选择的道路数量对应用性能有直接影响。选择需要的最少的道路来创建驾驶场景。
由于该道路网规模较小,点击 "全部选择 "可选择所有道路。所选道路显示为蓝色。

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...-2087
选择要导入的道路时,可进行的操作如下表所示。
目标行动
选择区域内的单个道路。点击各个道路进行选择。
选择该地区的所有道路。单击 "全部选择"。
选择区域内除少数道路外的所有道路。单击 "全部选择",然后单击各个道路以取消选择。
选择区域内道路的子集,如选择区域上半部分的所有道路。在地图显示的左上角,点击选择道路按钮  。然后,在要选择的道路周围画一个矩形。-  若要从该选择中取消选择一个道路子集,请单击取消选择道路按钮。然后,在要取消选择的道路周围画一个矩形。-  要取消选择所有道路并重新开始,请单击取消选择全部。
28.2导入道路

在网络中的所有道路仍被选中的情况下,点击导入。应用程序暂停导入,并以红色突出显示其中一条道路。应用程序无法正确呈现该道路的几何形状,因此无法导入该道路。

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...-8112
点击 "继续 "继续导入所有其他选定的道路。该应用程序导入道路并生成道路网络。

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...-7635
为了与地理地图显示保持一致,场景画布的X轴在底部,Y轴在左侧。在不是从地图导入的驾驶场景中,X轴在左侧,Y轴在底部。这种排列方式与自动驾驶工具箱的世界坐标系一致。场景的原点与地理参考点相对应。
默认情况下,道路交互是禁用的。禁用道路交互可以防止意外修改网络,并通过隐藏道路中心来减少视觉混乱。如果 想修改道路,在 "场景画布 "的左下角,单击 "配置场景画布 "按钮。然后,选择启用道路交互。
28.3 比较进口道路与地图数据

应用程序中生成的路网与OpenStreetMap路网不同。例如,检查这部分道路网的差异。

基于MATLAB开发自动驾驶第二十八课将OpenStreetMap ...-8967
在导入的场景中,道路之间的过渡比较突然,因为该应用不支持随着车道数的变化而逐渐减少车道数。此外,由于该应用没有从OpenStreetMap导入车道级信息,所以生成的路网中的车道数仅基于路网中指定的行驶方向,其中。
- 所有的单向道路都作为单车道道路导入。
- 所有的双向道路都作为双车道道路导入。
这些车道都具有相同的宽度,这可能导致突然的过渡,如表中所示的例子。
28.4保存场景

保存场景文件。保存场景后,不能将额外的OpenStreetMap道路导入其中。相反, 必须创建一个新的场景并导入一个新的道路网络。
现在,可以将执行器和传感器添加到场景中,生成用于测试驾驶算法的合成车道和物体探测,或将场景导入Simulink中。
您需要登录后才可以回帖 登录 | 加入联盟

本版积分规则

快速回复 返回顶部 返回列表