{"id":18624613,"url":"https://github.com/kumarrobotics/kr_param_map","last_synced_at":"2025-04-11T03:32:34.026Z","repository":{"id":191884809,"uuid":"508538516","full_name":"KumarRobotics/kr_param_map","owner":"KumarRobotics","description":"A parameterized map generator for planning evaluations and benchmarking","archived":false,"fork":false,"pushed_at":"2024-11-25T15:34:48.000Z","size":104901,"stargazers_count":23,"open_issues_count":0,"forks_count":6,"subscribers_count":4,"default_branch":"main","last_synced_at":"2025-03-25T09:03:02.366Z","etag":null,"topics":["benchmark-framework","map-generator","motion-planning"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/KumarRobotics.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-06-29T03:57:55.000Z","updated_at":"2025-03-24T01:47:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"765eb633-6aa3-415e-bf89-fd4063914934","html_url":"https://github.com/KumarRobotics/kr_param_map","commit_stats":null,"previous_names":["yuwei-wu/kr_param_map"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KumarRobotics%2Fkr_param_map","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KumarRobotics%2Fkr_param_map/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KumarRobotics%2Fkr_param_map/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/KumarRobotics%2Fkr_param_map/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/KumarRobotics","download_url":"https://codeload.github.com/KumarRobotics/kr_param_map/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248335574,"owners_count":21086620,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["benchmark-framework","map-generator","motion-planning"],"created_at":"2024-11-07T04:29:43.930Z","updated_at":"2025-04-11T03:32:29.007Z","avatar_url":"https://github.com/KumarRobotics.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Kumar Lab Parameterized Map\n\n\nAll in one! It's a revolution in map parameterization and representation for motion planning.\n\n\n## About\n\nThis repo is related to our evaluation research. If this repo helps your research, please cite our paper at:\n\n```\n@INPROCEEDINGS{10610207,\n  author={Shao, Yifei Simon and Wu, Yuwei and Jarin-Lipschitz, Laura and Chaudhari, Pratik and Kumar, Vijay},\n  booktitle={2024 IEEE International Conference on Robotics and Automation (ICRA)}, \n  title={Design and Evaluation of Motion Planners for Quadrotors in Environments with Varying Complexities}, \n  year={2024},\n  volume={},\n  number={},\n  pages={10033-10039},\n  keywords={Measurement;Navigation;Software algorithms;Kinematics;Planning;Complexity theory;Trajectory},\n  doi={10.1109/ICRA57147.2024.10610207}}\n\n```\n\n\n\n## 0. Setup\n\n\n### 0.1 general map annotation\n\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/map_annotation.png\" width = \"400\" height = \"400\"/\u003e\n\u003c/p\u003e\n\n\n## 1. Usage\n\n\n### 1.1 Grid Map Reader\n\nIt supports file format as:\n\n- image map: .png \n- rosbag: sensor_msgs::PointCloud\n- rosbag: sensor_msgs::PointCloud2\n- pcd\n\n\nset the map mode and file path in \"read_grid_map.launch\" and launch \n```\nroslaunch param_env read_grid_map.launch\n```\n\nThe 2D image map is converted into 3d, with z-axis having the same content. Maze images are generated with the help of [Multi Solution Maze Generator](https://github.com/shaoyifei96/multi_solution_mazegenerator)\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/img_map1.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/img_maze1.png\" width = \"390\" height = \"390\"/\u003e\n\u003c/p\u003e\n\nThe point cloud in bags is shown as:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/pc1.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/pc2.png\" width = \"390\" height = \"390\"/\u003e\n\u003c/p\u003e\n\n\nYou can also set the inflation (m) to inflate the grid map\n\n```\n\u003cparam name=\"map/inflate_radius\" value=\"0.3\"/\u003e\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/pcd.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/pcd_inf.png\" width = \"390\" height = \"390\"/\u003e\n\u003c/p\u003e\n\n\nThe topics:\n\n- /read_grid_map/global_cloud: publish the point clouds \n- /read_grid_map/global_gridmap: publish the center points of the grid map with inflation\n\n\n### 1.2 Sctructed Map Generator\n\n\n```\nroslaunch param_env structure_map.launch\n```\n\nYou can adjust the approximate ratio of each element (overlapping is also counting now) in the launch file \n\n```\n\u003cparam name=\"map/cylinder_ratio\" value=\"0.10\" type=\"double\"/\u003e\n\u003cparam name=\"map/circle_ratio\"   value=\"0.02\" type=\"double\"/\u003e\n\u003cparam name=\"map/gate_ratio\"     value=\"0.02\" type=\"double\"/\u003e\n\u003cparam name=\"map/ellip_ratio\"    value=\"0.02\" type=\"double\"/\u003e\n\u003cparam name=\"map/poly_ratio\"     value=\"0.01\" type=\"double\"/\u003e\n```\n\nExamples:\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/exp_gate1.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/exp_gate2.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/exp_all2.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/cluttered.png\" width = \"390\" height = \"390\"/\u003e\n\u003c/p\u003e\n\nBy increasing the occupied ratios, it's harder to generate feasible trajectories\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/exp_cy1.png\" width = \"280\" height = \"280\"/\u003e\n  \u003cimg src=\"docs/exp_cy2.png\" width = \"280\" height = \"280\"/\u003e\n  \u003cimg src=\"docs/exp_cy3.png\" width = \"280\" height = \"280\"/\u003e\n\u003c/p\u003e\n\nYou can also enable noise around the obstalce by setting:\n\n```\n  \u003cparam name=\"params/add_noise\" value=\"true\"/\u003e\n```\n\n\nThe topics:\n\n- /structure_map/global_cloud: publish the point clouds \n\n\n### 1.3 Change resolution or change map\n\n\nYou can also change the resolution online by publishing the resolution value to:\n\n```\n/structure_map/change_res\n```\nor\n\n```\n/read_grid_map/change_res\n```\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/res_01.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/res_02.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/res_05.png\" width = \"390\" height = \"390\"/\u003e\n  \u003cimg src=\"docs/res_10.png\" width = \"390\" height = \"390\"/\u003e\n\u003c/p\u003e\n\n\nFor read maps, you can publish all the maps by setting folder path in launch file\n\n```\n \u003cparam name=\"folder_path\" value=\"$(find param_env)/data/img/maze/\"/\u003e\n\n```\n\n\nPublish true in topic\n\n```\n/structure_map/change_map\n```\nor\n\n```\n/read_grid_map/change_map\n```\n\nto trigger the function.\n\n\n### 1.4 Dataset generation \n\nIf you want to save map, set \"dataset/save_map\" to true, and set the data number in \"dataset/samples_num\".\n\n```\n    \u003cparam name=\"dataset/save_map\"    value=\"true\"/\u003e\n    \u003cparam name=\"dataset/samples_num\" value=\"100\"/\u003e\n    \u003cparam name=\"dataset/start_index\" value=\"5080900\"/\u003e\n    \u003cparam name=\"dataset/path\"        value=\"$(find param_env)/dataset/\"/\u003e\n\n```\n\nIt will be saved into the path you set.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkumarrobotics%2Fkr_param_map","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkumarrobotics%2Fkr_param_map","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkumarrobotics%2Fkr_param_map/lists"}