Repository navigation
docs: 📝 Write sections 4.1, 4.2 and 4.4 of the book: cubic splines, Pure Pursuit and rear wheel feedback - #219
Open
Dhruv-Sharma29 wants to merge 1 commit into
Conversation
…ure Pursuit and rear wheel feedback Add the theory layer of the three remaining sections of chapter 4 (ShisatoYano#200): the natural cubic spline course with its yaw, curvature and target speed, Pure Pursuit with the adaptive look-ahead distance, and rear wheel feedback with its Lyapunov argument and a comparison of the three controllers. Each page has a figure script, and the new symbols are added to Notation.
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #200
Overview
Adds the theory layer of the three remaining sections of chapter 4, one page each, following the writing guide and the Stanley section:
doc/path_tracking/cubic_spline.md): the natural cubic spline derived step by step (conditions, coefficients, the tridiagonal system, natural ends), the chord-length parameter of the 2D course, the yaw angle and curvature formulas, and the target speed along the course (switch-backs and the stop at the end).doc/path_tracking/pure_pursuit.md): the look-ahead point, the arc through it (law of sines), the curvature as a proportional law on the look-ahead point's offset, the steering angle from the bicycle model, the speed-dependent look-ahead distance with a linearized analysis of why it grows with speed, and the adaptive look-ahead distance.doc/path_tracking/rear_wheel_feedback.md): the errors at the rear axle, the error dynamics in the course frame, the control law and its Lyapunov argument, the steering angle, and a "Pure Pursuit vs Stanley vs rear wheel feedback" comparison (what each one looks at and how it behaves at speed).Each page has a figure script in$s$ , $l_d$ and $\alpha$ are added to Notation and Units.
doc/path_tracking/figures/(cubic_spline_course.py,pure_pursuit_geometry.py,rear_wheel_feedback_errors.py) that computes its geometry with the page's equations. The pages are listed on the chapter page, and the new symbolsThe Limits sections also say where the code differs from the theory, for example that
RearWheelFeedbackControllersets the whole yaw rate to 0 when the heading error is exactly 0, and that the simulations' course has a turn of about 1 m radius driven at a constant 20 km/h.How I checked it
sphinx-build -W --keep-going -b html doc doc/_build/htmlbuilds without warnings, andpytest test/test_book_chapters.pypasses.CubicSplinefor the simulations' course.