Replace VehicleTrailer/DiffSteerTrailer with an ArticulatedVehicle (or delete them)
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 22/100
Hướng nghiên cứu
The classes live in src/roboticstoolbox/mobile/Vehicle.py: Trailer, DiffSteerTrailer, VehicleTrailer, and the VehicleBase they should derive from. Start by reading VehicleBase.__init__ next to VehicleTrailer.__init__ and step to see which base attributes are missing, then search the repo for imports of these classes. Done means a recorded decision (ArticulatedVehicle or deletion), with the remaining code covered by tests and docstrings.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Trailer, DiffSteerTrailer and VehicleTrailer in src/roboticstoolbox/mobile/Vehicle.py were a late addition, are not used in the book, and are in poor shape. They are not exported from roboticstoolbox, have no tests and are not in the docs, so only code that imports them from roboticstoolbox.mobile.Vehicle can be affected.
Found during the type-hinting pass. They were annotated only to the extent needed for mypy to pass; their defects were recorded, not fixed.
Proposal
Investigate replacing VehicleTrailer and DiffSteerTrailer with a single ArticulatedVehicle class that is a proper VehicleBase subclass and composes a Trailer. Drop DiffSteerTrailer. This is a design question, not a patch.
Known defects (headstart)
-
VehicleTrailerdoes not callsuper().__init__, so mostVehicleBaseattributes (_V,_control, ...) do not exist on it;_x0is not converted to an array;stepreturnsNonewhere the base returns odometry (hence# type: ignore[override]). Needs a decision: composition, or a proper subclass. -
VehicleTrailer.plotis a copy ofDiffSteerTrailer.plotand usesself._L1,self._L2,self._animation_trailer, none of which exist onVehicleTrailer. Dead code. -
DiffSteerTrailer.derivhas a leftoverprint(X[2], eta, etad)and a deadif X[2] > 0.01: pass;DiffSteerTrailer.__init__callsx0.copy(), which only works because the default is a list. -
Trailer._animationwas only set when an animation or polygon was given, butVehicleTrailer.initreads it (initialised toNonein the typing PR; it crashed before). -
DiffSteerTrailer.initcalledself._animation_trailer.addeven whentrailer=None(now guarded). -
Trailer.__init__has placeholder docstring text (_summary_,_description_). -
The
runblockexample in theVehicleTrailer.stepdocstring usesVehicleTrailerandTrailerwithout importing them (aNameErrorwhen the docs are built)
Acceptance
- Decide:
ArticulatedVehicleor delete. - Whatever remains has tests, docs and a docstring, and
VehicleBaseattributes are all initialised.
- 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
-
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
Tất cả issue của petercorke/robotics-toolbox-python
Issue tương tự
-
bug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
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