How to Access HERE HD Live Maps in MATLAB
Discover how to read and visualize lane configurations for a recorded driving route from the HERE HD Live Map (HERE HDLM) service. You can use this visualization to verify the lane configurations detected by the perception system of an onboard sensor, such as a monocular camera. Learn how to access the tiled layers from the HDLM service and identify relevant road-level and lane-level topology, geometry, and attributes.
Published: 10 Jun 2021
Hey, everyone. This is temp bar from MathWorks. In this video, I'll talk about how to access HERE HD Live Maps using MATLAB. And I'm going to be following this doc example over here. So that means if you have automated driving toolbox, you can follow along. OK. Let's get into some basics.
High Definition Maps can be used to develop automated driving applications like lane-level verification, localization, and path planning. The accuracy of HD Maps allows us to use it as perception ground truth to verify deployed algorithms. HERE HD live maps is a cloud based HD map service. The map data has many layers which is grouped into three models.
First, the road centerline model. This tells us about shape geometry and other road-level attributes. Next, the HD lane model. And this provides lane topology and lane level attributes. Finally, we have the HD localization model. This provides features to support vehicle localization strategies.
Now, let's jump into MATLAB. We're going to use HERE HD live maps to visualize and verified the lane configurations on a recorded drive. So first, I load in the video data that we're working with. I'm going to slightly modify this to show us the entire video instead of the first frame. Let's take a look at the video.
Next, I'll bring in the corresponding GPS data and I'll show you what that looks like on a map. This blue line shows the start and end points of the recorded video. You'll notice from this code that our GPS data contains information about the car's route through latitude and longitude coordinates. We are going to use these coordinates as inputs to our HERE HDL reader function.
Now I'll switch to the command window and let's take a look at the reader object specifically, the different layers. In the next few steps I'll show you how to extract information from some of these layers. The first one that we'll look at is the road topology layer. So let's go ahead and plot it so you can see what it looks like. This layer defines the road centers and intersections through nodes and links. You can see the root here in blue. The links represent individual segments of road while the nodes represent the ends of these segments.
Now we can use a route matching algorithm to determine how the GPS coordinates correspond to the links in our road topology layer. This link information that we extract will be used later on to determine road and lane attributes. For example, let's get the speed limit along the road. Here, we'll access the speed attributes layer from the reader and find the speed limit for the path that the car traveled. Notice, how we're filtering the roads using the link IDs calculated in the previous step.
The speed on this road as we can see is 35 miles per hour. The two layers that we looked at were part of the road centerline model. Now let's take a look at the HD lane model. First, we'll take a look at the lane level geometry and topology. Let's read and view the lane topology layer. Previously, we saw nodes and links representing road topology. Here, we have polygons representing lane shapes. The specificity of lane level geometry and lane attributes provide the necessary detail to support automated driving algorithms.
Let's obtain this lane boundary information. We're going to use two layers for this. The first is the lane topology layer, which provides the lane geometries that we just saw. The second is the lane road references. This allows us to translate the positions on our road centerline model, which we previously looked at to a corresponding position on the lane model that we're currently using.
Just like we extracted a speed for a given segment of the road, we can extract lane attributes for a given lane. This will include information like the boundaries that define the lane. At this point, we've looked at
four layers and extracted information about the roads and the lanes. We can now use this information to perform our intended task to use HERE HD live maps to visualize and verify lane configurations from our recorded driving video. I'll just pause the video and post just to show you that the lane types and boundaries that you see in our custom player they match our recorded video. So we're able to verify the lane configurations.
Let's summarize. First, we accessed HERE HD live maps using GPS data from a recorded video. Then we match this GPS data to road links and lane groups. And finally, we use attributes to visualize and verify lane configurations from our original video. I hope this helps you get started with accessing here HD live maps.
If you want more information. I highly recommend the doc. There's a lot of technical detail that's captured in the text. And if you scroll down to the bottom, you'll be able to see all the helper functions we used as well. That's all for now, I'll see you in another video. Thanks.