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

General HD Map Todo List #170

Open
7 tasks
JStephenHuang opened this issue Jan 21, 2025 · 1 comment
Open
7 tasks

General HD Map Todo List #170

JStephenHuang opened this issue Jan 21, 2025 · 1 comment

Comments

@JStephenHuang
Copy link

JStephenHuang commented Jan 21, 2025

Here is the Todo List involving everything in https://github.com/WATonomous/wato_monorepo/tree/main/src/world_modeling/hd_map.

Todo List

Here’s the to-do list in plain text without any special formatting:


Todo List

  • Push traffic sign msgs from carla

  • Populate detection attribute in the reg elem ptr with its state/type

    // TODO: populate the detection attribute in the reg elem and return the state/type from the
    // detection
    std::string HDMapRouter::get_detection3d_class(
    const vision_msgs::msg::Detection3D::SharedPtr reg_elem_msg_ptr) {
    std::string class_id = "";
    float base_score = 0;
    for (const auto& result : reg_elem_msg_ptr->results) {
    if (result.hypothesis.score > base_score) {
    class_id = result.hypothesis.class_id;
    }
    }
    return class_id;
    }

  • Implement traffic sign to the HD Map #178

  • Implement pedestrian reg elem to the HD Map #179

  • Mock get_traffic_light_state function (to remove or change)

    // Mock function to get traffic light state (to change or remove)
    TrafficLightState HDMapRouter::get_traffic_light_state(
    const vision_msgs::msg::Detection3D::SharedPtr traffic_light_msg_ptr) {
    if (traffic_light_msg_ptr->results.empty()) {
    return TrafficLightState::Unknown;
    }
    TrafficLightState traffic_light_state = TrafficLightState::Unknown;
    float base_score = 0;
    for (const auto& result : traffic_light_msg_ptr->results) {
    if (result.hypothesis.score > base_score) {
    if (result.hypothesis.class_id == "GREEN") {
    traffic_light_state = TrafficLightState::Green;
    } else if (result.hypothesis.class_id == "YELLOW") {
    traffic_light_state = TrafficLightState::Yellow;
    } else if (result.hypothesis.class_id == "RED") {
    traffic_light_state = TrafficLightState::Red;
    }
    base_score = result.hypothesis.score;
    }
    }
    return TrafficLightState::Green;
    }

  • Transfer osm maps in a config

    // Initializing example maps into the hashmap | TODO: transfer to maybe config (just for
    // organizing the codebase)
    osm_maps = {
    {"map1.osm", 40.0, 41.0, -75.0, -74.0}, {"map2.osm", 42.0, 43.0, -76.0, -75.0}
    // Add more maps as needed
    };

  • Complete behaviour tree service functions

    void HDMapService::behaviour_tree_info_callback(
    const std::shared_ptr<world_modeling_msgs::srv::BehaviourTreeInfo::Request> request,
    const std::shared_ptr<world_modeling_msgs::srv::BehaviourTreeInfo::Response> response) {
    response->current_point = current_point_;
    response->goal_point = goal_point_;
    // response->current_lanelet = convert_lanelet_to_msg(current_lanelet_);
    // response->goal_lanelet = convert_lanelet_to_msg(goal_lanelet_);
    // response->route_list = convert_laneletPath_to_msg(lanelet_path);
    }

@JStephenHuang
Copy link
Author

I realized like Vishal said, the tasks are pretty granular. So feel free to combine some of the related task together into one checkbox and you can then create a sub-issue.

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

1 participant