基于MATLAB&SIMULINK开发自动驾驶系统第十八讲将HERE高清实时地图导入到驾驶场景中

HERE高清实时地图(HERE HDLM)由HERE技术公司开发,是一项基于云计算的网络服务,使能够访问高度精确、持续更新的地图数据。使用驾驶场景设计器应用程序, 可以从HERE HDLM服务导入地图数据,并使用它来为驾驶场景生成道路。这个例子专注于在应用程序中导入地图数据。另外,要将HERE HDLM道路导入到驾驶场景对象中,请使用 roadNetork功能。18.1 设置HDLM证书要访问HERE HDLM网络服务, 需要输入从HERE Technologies获得的有效HERE凭证。通过使用hereHDLMCredentials函数设置这些凭证。在MATLAB命令提示符下,输入hereHDLMCredentials setup在 "HERE HD实时地图凭证 "对话框中,输入有效的访问密钥ID和访问密钥秘密。要为机器上的未来 MATLAB 会话保存 的凭证,在对话框中选择在 MATLAB 会话之间保存我的凭证,然后单击 "确定"。现在,该凭证将保存在的机器上的其余 MATLAB 会话中。如果需要更改 的凭证, 可以删除它们并设置新的凭证,使用 HereHDLMCredentials函数。18.2 指定地理坐标要选择要导入的道路,需要指定一个感兴趣的区域,从中获取道路数据。要定义这个感兴趣的区域,请指定该道路数据附近的经纬度坐标。可以指定一个点或一组点的坐标,如组成行驶路线的点。从驾驶路线中指定坐标:1加载组成驾驶路线的经纬度坐标序列。在 MATLAB 命令提示符下,输入这些命令。data = load('geoSequence.mat');lat =data.latitude;lon = data.longitude;2 打开应用程序。drivingScenarioDesigner3在应用工具条上,选择导入>HERE高清实时地图。如果之前输入或保存了HERE凭证,那么对话框会直接打开, 可以在页面上指定地理坐标:

4离开从工作区选择,然后选择航线坐标的变量。- 将纬度参数设置为lat。- 将经度参数设置为lon。本表说明了指定经纬度坐标的完整选项列表。指定地理坐标参数值描述维度参数值经度参数值从工作区间指定一组经纬度坐标,例如从通过 GPS 获得的行驶路线中获得。这些坐标必须作为变量存储在MATLAB工作空间中。工作区变量,包含[-90,90]范围内的十进制值向量。单位是度数。纬度和经度的大小必须相同。当 选择一个Latitude变量后,Longitude列表只包含与 选择的Latitude变量相同大小的变量。工作区变量,包含[-180,180]范围内的十进制值向量。单位是度数。 纬度和经度的大小必须相同。在 选择了一个经度变量后,如果 选择了一个不同大小的纬度变量,对话框会清除  的经度选择。.输入坐标指定一个地理点的经纬度坐标。小数标量,范围为[-90,90]。单位为度。小数标量,范围[-180,180]。单位为度。18.3 选择包含道路的区域在指定经纬度坐标后,对话框的 "选择区域 "部分将这些坐标以橙色显示在地图上。地理参考点,也就是驾驶路线中的第一个坐标,也会被显示出来。这个点是导入方案的原点。点击此点可以显示或隐藏坐标数据。坐标以直线连接。在坐标周围显示一个矩形的兴趣区域。在对话框的下一页,可以根据哪些道路至少有一部分在这个区域内,选择要导入的道路。

可以更改该区域的大小,或移动该区域以选择不同的道路。要放大或缩小该区域,请使用地图显示右上角的按钮。在坐标仍在区域内的情况下,单击 "下一步"。18.4 选择要导入的道路选择区域后,对话框的 "选择道路 "部分将以黑色显示可选择的道路。

使用上一节的选择区域,点击 "选择最近的道路",选择离行驶路线最近的道路。选定的道路会被覆盖在行驶路线上,并显示为蓝色。

说明从区域中选择道路时可进行的其他操作。目标执行选择区域内的单个道路。点击各个道路进行选择。选择该地区的所有道路。单击 "全部选择"。选择区域内除少数道路外的所有道路。单击 "全部选择",然后单击各个道路取消选择。选择区域内离指定坐标最近的道路。单击 "选择最近的道路"。当 有一连串非稀疏的道路时,请使用此选项。选择区域内道路的子集,如选择区域上半部分的所有道路。坐标。如果  的坐标是稀疏的,或者这些坐标的基础HERE HDLM数据是稀疏的,那么应用程序可能不会选择最近的道路。在地图显示的左上角,点击选择道路按钮  。然后,在要选择的道路周围画一个矩形。-  若要从该选择中取消选择一个道路子集,请单击取消选择道路按钮  。然后,在要选择的道路周围画一个矩形。取消选择。-  要取消选择所有道路并重新开始,请点击取消选择全部。18.5 导入道路在仍然选择离路线最近的道路时,点击导入。应用程序导入HERE HDLM道路并生成道路网。

为了保持与地理地图显示的一致性,场景画布的X轴在底部,Y轴在左侧。在没有从地图导入的驾驶场景中。X 轴在左边,Y 轴在下面。这种排列方式与自动驾驶工具箱的世界坐标系一致。场景的原点与地理参考点相对应,是驾驶路线中指定的第一个点。即使从驾驶路线的末端选择道路,原点也会被固定在这个第一点上。如果 使用 "输入坐标 "选项指定了一个地理点,那么原点就是该点。默认情况下,道路交互是被禁用的。禁用道路交互可以防止意外地修改网络,并通过隐藏道路中心来减少视觉混乱。如果 想修改道路,在 "场景画布 "的左下角,单击 "配置场景画布 "按钮。然后,选择启用道路交互。18.6比较导入道路与地图数据应用程序中生成的道路网与实际的HERE HDLM道路网有一些差异。例如,实际的HERE HDLM道路网包含了不同宽度的道路,并且有不同的路况。不同数量的车道。驾驶场景设计器应用程序不支持这些功能。相反,该应用程序将每条道路设置为具有最大宽度和最大车道数的道路。沿其整个长度。这些变化增加了道路的宽度,并导致道路重叠并显示为一条道路。探测车道的传感器无法探测被覆盖的车道。本表显示了HERE HDLM道路网的一部分和导入的驾驶场景之间的差异。HERE  HDLM Road NetworkImported Driving  Scenario

从导入的HERE HDLM数据生成的道路网可能与实际的HERE HDLM道路网有一些差异。18.7 保存场景保存场景文件。保存场景后,不能将额外的HERE HDLM道路导入其中。相反, 需要创建一个新的场景并导入一个新的道路网络。现在,可以将执行器和传感器添加到场景中,生成合成车道和物体探测及测试的驾驶算法,或将场景导入Simulink中。

(0)

相关推荐