Make angle normalization correct for any angle and use it everywhere
Maintainer thường phản hồi trong vòng 9 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
- 25/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Đặc tả rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- numpy, python
- Lĩnh vực
- autonomous-driving, robotics
Hướng nghiên cứu
Start with src/components/common/angle_lib.py and test/test_angle_lib.py; extend the tests with angles beyond ±3π and check scalar and NumPy array behavior. Then review the listed normalization sites in omni_directional_lidar.py, mppi_controller.py, particle_filter_localizer.py, polar_histogram.py, cubic_spline_course.py, and lqr_controller.py. Done means normalization handles any angle and the duplicated implementations use the shared helper; an open linked pull request is already addressing this work.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
pi_to_pi() in src/components/common/angle_lib.py wraps an angle only once, so angles beyond ±3π are not normalized. The vehicle yaw angle is never normalized and keeps growing on courses with loops, and pi_to_pi() is used for the yaw error in cubic_spline_course.py and in lqr_controller.py.
The same normalization is also implemented separately in several places:
omni_directional_lidar.py(_normalize_angle_until_2pi,_normalize_angle_pi_2_pi)mppi_controller.py(% (2 * pi)andarctan2(sin, cos))particle_filter_localizer.py(arctan2(sin, cos))polar_histogram.py(% (2 * pi))
Expected fix
- Implement
pi_to_picorrectly for any angle (e.g.(angle + pi) % (2 * pi) - pi), also accepting numpy arrays - Use it (or a
zero_to_2pihelper in the same module) instead of the local implementations - Extend
test/test_angle_lib.pywith angles beyond ±3π
- Ngôn ngữ chính
- Python
- Star
- 1.9k
- Fork
- 313
- Merge trung bình
- 9 ngày 10 giờ
- Pull request đã merge (30 ngày)
- 7
Chuẩn bị môi trường
Khởi chạy dev container của dự án ngay trên trình duyệt, bằng tài khoản GitHub của bạn.
- Có Dockerfile hoặc tệp Docker Compose
- Không có mẫu pull request
- Không 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 ShisatoYano/AutonomousVehicleControlBeginnersGuide
-
good first issue refactoring
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#129 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 9 ngày
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#99 ·
Maintainer thường phản hồi trong vòng 9 ngày
-
documentation good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#98 ·
Maintainer thường phản hồi trong vòng 9 ngày
-
documentation enhancement
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#88 ·
Maintainer thường phản hồi trong vòng 9 ngày
-
long term
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 25/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#131 ·
Maintainer thường phản hồi trong vòng 9 ngày
Tất cả issue của ShisatoYano/AutonomousVehicleControlBeginnersGuide
Issue tương tự
-
Add `openai_safety_identifier`, the replacement for the `user` field that `openai_user` sendsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pydantic/pydantic-ai#12091 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Enhance blog readabilityĐang mởCSS enhancement good first issue
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
pychess/pychess-variants#2448 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Bump locked PyTensor so Apple clang 21 does not pass -ld64Có thể đã có người làm @drbenvincent đã nhận hôm nay. Đang mởbug dev ops
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
Maintainer thường phản hồi trong vòng 2 ngày
-
ai_p2 bug comp-datalake
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
ClickHouse/ClickHouse#128306 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày