Replace VehicleTrailer/DiffSteerTrailer with an ArticulatedVehicle (or delete them)
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 22/100
Direzione di ricerca
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.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- C++
- Stelle
- 3.5k
- Fork
- 639
- Merge medio
- 1g 16h
- PR unite (30g)
- 88
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di petercorke/robotics-toolbox-python
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
petercorke/robotics-toolbox-python#709 ·
I maintainer di solito rispondono entro 1 giorno
-
tech-debt Tests needed
Difficoltà 4/5 3-5 giorni Idoneità per principianti 25/100
petercorke/robotics-toolbox-python#804 ·
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 10/100
petercorke/robotics-toolbox-python#803 ·
I maintainer di solito rispondono entro 1 giorno
-
tech-debt
Difficoltà 2/5 Meno di un'ora Idoneità per principianti 25/100
petercorke/robotics-toolbox-python#789 ·
I maintainer di solito rispondono entro 1 giorno
-
CI: a PR influx is serialised by 'require up to date' plus a 12 minute CI; consider a merge queueApertatech-debt
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
petercorke/robotics-toolbox-python#758 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di petercorke/robotics-toolbox-python
Issue simili
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno
-
Mac mini M6 (16 GB): Q2_0 streaming works - measured 11.7->27.2 tok/s + arena fix for sub-32 GB MacsAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
champion good first issue remake source/qq
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
metasequoiaime/msime-windows#1025 ·
I maintainer di solito rispondono entro 1 giorno
-
backlog bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
EchoTools/nevr-runtime#653 ·
I maintainer di solito rispondono entro 1 giorno
-
`--fail-require-skip` never fires: run_tests.py searches stdout, but the unittest binary writes the skip summary to stderrForse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno