mobile: the occupancy grid should draw the planner background, and planners should agree on units
Maintainer thường phản hồi trong vòng 1 ngày
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 30/100
- Loại issue
- Tái cấu trúc
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- python
- Lĩnh vực
- data-visualization, robotics
Hướng nghiên cứu
Start with PlannerBase.plot_bg and BaseOccupancyGrid.plot(), then compare how DistanceTransformPlanner.plan(goal), PRMPlanner and validate_endpoint interpret the goal coordinates. The unit convention is not yet decided, so agree it with the maintainer first and record it in the mobile section of desiderata.md. Done means the planners share one convention, unit-cell output is unchanged, and new tests cover a 0.5 cell size and a non-zero origin.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
Drawing a planner's background (the occupancy grid, the distance field, the colorbar, the cell labels) is done by PlannerBase.plot_bg, in cell numbers. The occupancy grid object, which knows its own workspace, cellsize and origin, only draws the obstacles. The two should be one thing: the map draws itself, and a planner hands it an optional overlay.
Why
- The planners disagree about units.
plot_bgdraws in cell numbers (axes labelled "x (cells)") andDistanceTransformPlanner.plan(goal)uses the goal as a row/column index, whilePRMPlannertakes world coordinates. For a grid with one cell = 1 unit starting at 0, which is everything in the book, they are the same. For a grid with 0.5-unit cells, or one that starts at (10, 20), a goal in world units givesIndexErrorfor the distance transform and a misplaced picture. validate_endpointtests a point against the grid in world coordinates, then the planner uses the same number as a cell index.- Every planner repeats the background logic through the base class, and
RRTPlannerdraws aPolygonMapby another route.
Proposal
BaseOccupancyGrid.plot()takes an optional overlay field and its options (field,colorbar,colorbar_style,labels,label_style,cmap,inflated), and draws in world coordinates using its own geometry.PlannerBase.plot_bgshrinks to "supply the distance field and the inflated image" and calls the map.- Decide whether every planner takes world coordinates and converts to cells itself (my suggestion), and document it in a mobile section of
desiderata.md(the design principles file at the repo root). - Keep the output identical for unit cells, since all the book examples use them; add tests for a 0.5 cell size and a non-zero origin.
Not in scope
- The
blockargument convention (tracked separately). - Animation arguments.
Related
plot(labels=True),colorbar_styleand friends are now arguments ofplot()(the PR that addslabels), which this builds on.
- Ngôn ngữ chính
- C++
- Star
- 3.5k
- Fork
- 639
- Merge trung bình
- 1 ngày 22 giờ
- Pull request đã merge (30 ngày)
- 73
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của petercorke/robotics-toolbox-python
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
petercorke/robotics-toolbox-python#709 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
tech-debt
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 25/100
petercorke/robotics-toolbox-python#789 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
tech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 22/100
petercorke/robotics-toolbox-python#773 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
CI: a PR influx is serialised by 'require up to date' plus a 12 minute CI; consider a merge queueĐang mởtech-debt
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
petercorke/robotics-toolbox-python#758 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
needs investigation tech-debt
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 18/100
petercorke/robotics-toolbox-python#755 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của petercorke/robotics-toolbox-python
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 66/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 62/100
NVIDIA-RTX/NRI#277 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
os:Linux
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
-
acceptable_buffer_backends: unknown backend names are silently ignoredCó thể đã có người làm @mini-1235 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
ros2/rmw_fastrtps#945 ·
Maintainer thường phản hồi trong vòng 1 ngày