paycap crashes for robots with n != 6 and its docstring does not match its behaviour
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
- 18/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- python
- Lĩnh vực
- documentation, robotics
Hướng nghiên cứu
Start from Dynamics.paycap and its docstring, and compare the wmax allocation with the per-joint assignment that fails for n != 6. Uncomment test_paycap in tests/test_DHRobot.py, then run the Panda repro from the issue. Done means n != 6 works, the return value matches the docstring, and the signature and frame docs are corrected. Pull request #731 already targets this, so check it before starting.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Dynamics.paycap allocates wmax = np.zeros((trajn, 6)) but assigns an n-element per-joint vector, so any robot with n != 6 raises:
ValueError: could not broadcast input array from shape (7,) into shape (6,)
Repro: rtb.models.DH.Panda().paycap([0, 0, -1, 0, 0, 0], tauR, q=q) with tauR an (n, 2) array of joint torque limits.
For n = 6 it works but returns per-joint scale factors, not the 6-vector wrench the docstring describes. The maximum load along w is wmax.min() and joint is the limiting joint. On a DH Puma 560 at qr, with w = [0, 0, -1, 0, 0, 0], this gave 4392 N limited by joint 2, and recomputing the joint torques at that load put joint 2 exactly at its limit.
Other problems:
- The docstring signature
paycap(q, w, f, tauR)does not match the codepaycap(w, tauR, frame=1, q=None), and theframedescription ('base'/'ee') does not match the int argument. wis normalised, so it is only a direction, which the docs do not say.- It uses
gravload, so it gives nonsense on models with zero dynamics such as the default URDF-based Panda. This should be documented or detected. tests/test_DHRobot.py::test_paycapis commented out.
Raised from discussion #430.
- Ngôn ngữ chính
- C++
- Star
- 3.5k
- Fork
- 639
- Merge trung bình
- 1 ngày 16 giờ
- Pull request đã merge (30 ngày)
- 88
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 Tests needed
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 25/100
petercorke/robotics-toolbox-python#804 ·
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 10/100
petercorke/robotics-toolbox-python#803 ·
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
Tất cả issue của petercorke/robotics-toolbox-python
Issue tương tự
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
champion good first issue remake source/qq
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 65/100
metasequoiaime/msime-windows#1025 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
backlog bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
EchoTools/nevr-runtime#653 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`--fail-require-skip` never fires: run_tests.py searches stdout, but the unittest binary writes the skip summary to stderrCó thể đã có người làm Có pull request liên kết đang mở hoặc đã được merge. Đang mở
Độ 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 75/100
InfiniTimeOrg/InfiniTime#2492 ·