From 623b3d29cae5bfe9184eee358238e69808c6c7ff Mon Sep 17 00:00:00 2001 From: sciencewhiz Date: Sat, 23 Nov 2024 22:29:36 -0800 Subject: [PATCH] Update advanced-controls --- .../introduction/introduction-to-pid.rst | 1 - .../introduction/tuning-flywheel.rst | 4 ++-- .../introduction/tuning-turret.rst | 4 ++-- .../introduction/tuning-vertical-arm.rst | 4 ++-- .../trajectories/constraints.rst | 16 ++++++++-------- 5 files changed, 14 insertions(+), 15 deletions(-) diff --git a/source/docs/software/advanced-controls/introduction/introduction-to-pid.rst b/source/docs/software/advanced-controls/introduction/introduction-to-pid.rst index d3d590f0e5..f247b1e8c5 100644 --- a/source/docs/software/advanced-controls/introduction/introduction-to-pid.rst +++ b/source/docs/software/advanced-controls/introduction/introduction-to-pid.rst @@ -27,7 +27,6 @@ Roughly speaking: the proportional term drives the position error to zero, the d Throughout the WPILib documentation, you'll see two ways of writing the tunable constants of the PID controller. For example, for the proportional gain: - * :math:`K_p` is the standard math-equation-focused way to notate the constant. * ``kP`` is a common way to see it written as a variable in software. diff --git a/source/docs/software/advanced-controls/introduction/tuning-flywheel.rst b/source/docs/software/advanced-controls/introduction/tuning-flywheel.rst index bcf8f980b0..54768bbb74 100644 --- a/source/docs/software/advanced-controls/introduction/tuning-flywheel.rst +++ b/source/docs/software/advanced-controls/introduction/tuning-flywheel.rst @@ -6,8 +6,8 @@ In this section, we will tune a simple velocity controller for a flywheel. The Our "Flywheel" consists of: - * A rotating inertial mass which launches the game piece (the flywheel) - * A motor (and possibly a gearbox) driving the mass. +* A rotating inertial mass which launches the game piece (the flywheel) +* A motor (and possibly a gearbox) driving the mass. For the purposes of this tutorial, this plant is modeled with the same equation used by WPILib's :ref:`docs/software/advanced-controls/controllers/feedforward:SimpleMotorFeedforward`, with additional adjustment for sensor delay and gearbox inefficiency. The simulation assumes the plant is controlled by feedforward and feedback controllers, composed in this fashion: diff --git a/source/docs/software/advanced-controls/introduction/tuning-turret.rst b/source/docs/software/advanced-controls/introduction/tuning-turret.rst index f836d83e18..7cc186c184 100644 --- a/source/docs/software/advanced-controls/introduction/tuning-turret.rst +++ b/source/docs/software/advanced-controls/introduction/tuning-turret.rst @@ -8,8 +8,8 @@ A turret rotates some mechanism side-to-side to position it for scoring gamepiec Our "turret" consists of: - * A rotating inertial mass (the turret) - * A motor and gearbox driving the mass +* A rotating inertial mass (the turret) +* A motor and gearbox driving the mass For the purposes of this tutorial, this plant is modeled with the same equation used by WPILib's :ref:`docs/software/advanced-controls/controllers/feedforward:SimpleMotorFeedforward`, with additional adjustment for sensor delay and gearbox inefficiency. The simulation assumes the plant is controlled by feedforward and feedback controllers, composed in this fashion: diff --git a/source/docs/software/advanced-controls/introduction/tuning-vertical-arm.rst b/source/docs/software/advanced-controls/introduction/tuning-vertical-arm.rst index 82f5b52ae0..c81f9dab24 100644 --- a/source/docs/software/advanced-controls/introduction/tuning-vertical-arm.rst +++ b/source/docs/software/advanced-controls/introduction/tuning-vertical-arm.rst @@ -8,8 +8,8 @@ Vertical arms are commonly used to lift gamepieces from the ground up to a scori Our "vertical arm" consists of: - * A mass on a stick, under the force of gravity, pivoting around an axle. - * A motor and gearbox driving the axle to which the mass-on-a-stick is attached +* A mass on a stick, under the force of gravity, pivoting around an axle. +* A motor and gearbox driving the axle to which the mass-on-a-stick is attached For the purposes of this tutorial, this plant is modeled with the same equation used by WPILib's :ref:`docs/software/advanced-controls/controllers/feedforward:ArmFeedforward`, with additional adjustment for sensor delay and gearbox inefficiency. The simulation assumes the plant is controlled by feedforward and feedback controllers, composed in this fashion: diff --git a/source/docs/software/advanced-controls/trajectories/constraints.rst b/source/docs/software/advanced-controls/trajectories/constraints.rst index abb365f4bb..cd223a53af 100644 --- a/source/docs/software/advanced-controls/trajectories/constraints.rst +++ b/source/docs/software/advanced-controls/trajectories/constraints.rst @@ -6,14 +6,14 @@ For example, a custom constraint can keep the velocity of the trajectory under a ## WPILib-Provided Constraints WPILib includes a set of predefined constraints that users can utilize when generating trajectories. The list of WPILib-provided constraints is as follows: - - ``CentripetalAccelerationConstraint``: Limits the centripetal acceleration of the robot as it traverses along the trajectory. This can help slow down the robot around tight turns. - - ``DifferentialDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a differential-drive robot goes over a specified maximum velocity. - - ``DifferentialDriveVoltageConstraint``: Limits the acceleration of a differential drive robot such that no commanded voltage goes over a specified maximum. - - ``EllipticalRegionConstraint``: Imposes a constraint only in an elliptical region on the field. - - ``MaxVelocityConstraint``: Imposes a max velocity constraint. This can be composed with the ``EllipticalRegionConstraint`` or ``RectangularRegionConstraint`` to limit the velocity of the robot only in a specific region. - - ``MecanumDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a mecanum-drive robot goes over a specified maximum velocity. - - ``RectangularRegionConstraint``: Imposes a constraint only in a rectangular region on the field. - - ``SwerveDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a swerve-drive robot goes over a specified maximum velocity. +- ``CentripetalAccelerationConstraint``: Limits the centripetal acceleration of the robot as it traverses along the trajectory. This can help slow down the robot around tight turns. +- ``DifferentialDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a differential-drive robot goes over a specified maximum velocity. +- ``DifferentialDriveVoltageConstraint``: Limits the acceleration of a differential drive robot such that no commanded voltage goes over a specified maximum. +- ``EllipticalRegionConstraint``: Imposes a constraint only in an elliptical region on the field. +- ``MaxVelocityConstraint``: Imposes a max velocity constraint. This can be composed with the ``EllipticalRegionConstraint`` or ``RectangularRegionConstraint`` to limit the velocity of the robot only in a specific region. +- ``MecanumDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a mecanum-drive robot goes over a specified maximum velocity. +- ``RectangularRegionConstraint``: Imposes a constraint only in a rectangular region on the field. +- ``SwerveDriveKinematicsConstraint``: Limits the velocity of the robot around turns such that no wheel of a swerve-drive robot goes over a specified maximum velocity. .. note:: The ``DifferentialDriveVoltageConstraint`` only ensures that theoretical voltage commands do not go over the specified maximum using a :ref:`feedforward model `. If the robot were to deviate from the reference while tracking, the commanded voltage may be higher than the specified maximum.