Make angle normalization correct for any angle and use it everywhere
メンテナーはふだん 9 日以内に返信
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 25/100
- issue の種類
- バグ
- 明瞭さ
- 明確に書かれている
- 活発さ
- 停滞
- 技術スタック
- numpy, python
調査の方向性
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.
索引モデルが issue の本文から書いたものです。
説明
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π
- 主要言語
- Python
- スター
- 1.9k
- フォーク
- 313
- 平均マージ
- 9日 10時間
- マージ済み PR(30日)
- 7
環境構築
このプロジェクトの開発コンテナを、あなたの GitHub アカウントでブラウザ上に起動します。
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドなし
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
ShisatoYano/AutonomousVehicleControlBeginnersGuide のほかの issue
-
good first issue refactoring
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#129 · コメント 1 件 ·
メンテナーはふだん 9 日以内に返信
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#99 ·
メンテナーはふだん 9 日以内に返信
-
documentation good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#98 ·
メンテナーはふだん 9 日以内に返信
-
documentation enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#88 ·
メンテナーはふだん 9 日以内に返信
-
long term
難易度 5/5 1週間以上 初心者へのやさしさ 25/100
ShisatoYano/AutonomousVehicleControlBeginnersGuide#131 ·
メンテナーはふだん 9 日以内に返信
ShisatoYano/AutonomousVehicleControlBeginnersGuide の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
aws-samples/sample-per-model-bedrock#639 ·
メンテナーはふだん 1 日以内に返信
-
bug
難易度 1/5 1時間未満 初心者へのやさしさ 86/100
awslabs/visual-asset-management-system#937 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 79/100
project-codeflare/codeflare-sdk#1195 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
pandas-dev/pandas-stubs#2051 ·
メンテナーはふだん 1 日以内に返信