Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Carla Vector Map Topology Bug (unable to make lane change) #3

Open
equantumWang opened this issue Dec 14, 2024 · 2 comments
Open

Carla Vector Map Topology Bug (unable to make lane change) #3

equantumWang opened this issue Dec 14, 2024 · 2 comments

Comments

@equantumWang
Copy link

equantumWang commented Dec 14, 2024

Dr. Hatem,

I recently encountered an issue while using the Carla vector map from the autoware-contents you provided. When I initiate global navigation, the mission planner successfully outputs a valid route if the target is on the same lane. However, when I set the target on an adjacent lane expecting a lane-change path, it outputs:

[ERROR] [1699982942.679321177] [route_handler]: Failed to find a proper route!

After investigation, I ruled out issues with the code itself. The root cause appears to lie in the topology of the provided vector map. I am unsure if you were able to achieve successful lane changes, but I have noticed several similar issues:
issue1
issue2
issue3
issue4

Among these issues, attempts were made to enable lane changes by adding attributes, but most of them failed. I believe I have identified the root cause. By editing the provided OSM file using JOSM, I found the following problems in the original file:

  • In the original file, each lane (i.e., lanes without lane changes) is completely independent from start to finish, with no topological relationship to adjacent lanes.
  • Using JOSM, I discovered this is due to anomalies in their relationships.
  • Specifically, a normal Lanelet should consist of two ways (left and right). The way in the middle of two Lanelets should have two relationships: as the right way of the left Lanelet and as the left way of the right Lanelet. This connection ensures the topology between lanes is intact.
  • In the OSM file you provided, I found overlapping ways in the middle. For example, a segment might look like this:
    way0-Lanelet0-way1 (overlap) way2-Lanelet1-way3...
  • Here, way1 and way2 visually appear as a single line, but JOSM shows there are two overlapping ways. This causes Lanelet0 and Lanelet1 to have no relationship. As a result, the graph solver cannot compute a lane-change path.

Unfortunately, I did not capture the pic of map before making the modifications. Here is the modified Lanlet:
img_v3_02hh_33ef4ee3-b1e5-4a48-804f-6e83694cf6cg

In one of the ways on the middle lane, the original way only had a single relationship. This was due to the presence of overlapping ways, where each way was related to only one Lanelet.

After modifications (by deleting overlapping ways and reconstructing the map), the middle way now has two relationships: one with the left Lanelet and another with the right Lanelet. This can be observed in the "Member" ("成员") and "Role" ("角色") sections in the attributes panel on the right side of the interface.

I addressed the issue by deleting most of the Lanelets while retaining a portion for modification (as the workload for modifying the entire map was too large). This allowed me to verify that the method is effective, and the root cause was confirmed.

Below is an example of the modified lanes and the validated lane-change functionality. Since the file is not currently on my PC, I can provide it later if needed.
image
image

@hatem-darweesh
Copy link
Owner

@equantumWang Thank you for your comments and the deep analysis of the issue.
You are correct, the lanelet2 need to be modified to work with Autoware Universe.
There is a new version of assure mapping tools coming soon. hopefully it will solve some of the Lanelet2 issues.
Please share the map you have fixed so others can use it.

Thanks again.

@equantumWang
Copy link
Author

@equantumWang Thank you for your comments and the deep analysis of the issue. You are correct, the lanelet2 need to be modified to work with Autoware Universe. There is a new version of assure mapping tools coming soon. hopefully it will solve some of the Lanelet2 issues. Please share the map you have fixed so others can use it.

Thanks again.

Thank you for confirming. Of course, I will provide the modified map. This is the OSM file for Town04. Anyone looking to fix the vector map can open this file in JOSM and examine the examples of relationships within it. I believe this will help them understand how to reconstruct the desired map effectively.
lanelet2_map.zip

Currently, I am busy with other related projects, so I have only reconstructed Town04 and only half of the lanes (single direction). However, this reconstruction already meets most requirements, such as lane changes, overtaking, obstacle avoidance, and intersections.

I manually deleted the overlapping ways and corrected or added relationships using JOSM. This non-automated workflow obviously requires significant effort. Was the vector map originally generated automatically from a point cloud map or visual recognition? If so, I think it might be possible to fix this problem directly in the code used for automatic vector map generation, enabling an automated correction process.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants