Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add Vector Scaling #82

Closed
ssejrog opened this issue Jan 24, 2024 · 0 comments
Closed

Add Vector Scaling #82

ssejrog opened this issue Jan 24, 2024 · 0 comments
Assignees
Labels
bug Something isn't working

Comments

@ssejrog
Copy link
Member

ssejrog commented Jan 24, 2024

Expected Behavior

The drive PID should act "normally" regardless of the speed the robot is going

Actual Behavior

When driving with PID at low speeds, the heading PID is too powerful and the robot oscillates.

Steps to Reproduce

void autonomous() {
  chassis.pid_targets_reset(); // Resets PID targets to 0
  chassis.drive_imu_reset(); // Reset gyro position to 0
  chassis.drive_sensor_reset(); // Reset drive sensors to 0
  chassis.drive_brake_set(MOTOR_BRAKE_HOLD); // Set motors to hold.  This helps autonomous consistency.

  // This is fine
  chassis.pid_drive_set(24_in, 110); 
  chassis.pid_wait();

  // This wiggles
  chassis.pid_drive_set(24_in, 30);
  chassis.pid_wait();
}
@ssejrog ssejrog added the bug Something isn't working label Jan 24, 2024
@ssejrog ssejrog self-assigned this Jan 24, 2024
ssejrog added a commit that referenced this issue Jan 24, 2024
ssejrog added a commit that referenced this issue Jan 29, 2024
* Fixed rotation sensor tick per rev (#47)

* middle step for #49 and #54

* Added piston groups (#54)

* Completed small issues (#56, #55, $54, #52, #48)

* Finished with clean up on constants

* Added set ratio function

* Added practice mode

* Updated PROS Kernel, okapi, fixed #53, general cleaning

* ✨Okapi units (#49, #62)

* ✨ Added `set_relative_turn_pid()` (#59)

* issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

* issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

* Fixed issue #67

* ✨Okapi units

* New function names #65

* Added okapi units to turns and time, tuned PID, cleaned code, completed #66

* Fixed some names, added `get` functions #73

* Added more gets, removed version # from print  #73

The version number in `ez_template_print` was redundant when version can be checked through pros cli.

* ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

* Memory optimisation and comments:
when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

* Maybe I was wrong

* add new website code

* added running the site locally

* kernel upgrade

* Update Kernel/Okapi

---------

Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>

* Added Ability for user to reverse Drive in opcontrol (#80)

* Update drive.hpp

weird changes

* Added Reversal to opcontrol driving

* mistake deleting active break logic, added back

* Removed old website, updated readme

* Completed #82, fixed formatting

* Cleaned relative turns, added wide swings #59 #83

* Added slew to turns and swings, fixed wide arc bug #59 #83 #84

Backwards right arcs would have the left PID go the wrong direction.

* #49 #59 #65 #84

All functions that have a parameter using okapi units has the ability to be called without using okapi units.

Fixed relative bug that would stop a swing from working off of a turn

Naming convention was fixed on setting constants.

Forward and Reverse PID for swings was implemented.

* namespaced all classes, removed piston group. #50 #54

* Added PID Tuner #85

* PID Tuner can modify increments #85 #86 #87

PID Tuner:
- printing to brain can now be toggled
- won't enable autonselector if it wasn't on prior to enabling PID Tuner
- user can set all increments
- user can get all increments
- renamed functions to be compliant with #65

Completed #86 and #87

* Cleaned example files

* Added example project to this repo and made v3 template

* Final update for 3.0.0 #65

---------

Co-authored-by: HakopZarikyan <[email protected]>
Co-authored-by: Michael Ben-Zvi <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Mactar Gueye <[email protected]>
@ssejrog ssejrog closed this as completed Jan 29, 2024
ssejrog added a commit that referenced this issue Feb 7, 2024
commit 600bc47
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:53:53 2024 -0800

    Removed 2.x files

commit 6f6c701
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:45:42 2024 -0800

    v3.0.0 (#88)

    * Fixed rotation sensor tick per rev (#47)

    * middle step for #49 and #54

    * Added piston groups (#54)

    * Completed small issues (#56, #55, $54, #52, #48)

    * Finished with clean up on constants

    * Added set ratio function

    * Added practice mode

    * Updated PROS Kernel, okapi, fixed #53, general cleaning

    * ✨Okapi units (#49, #62)

    * ✨ Added `set_relative_turn_pid()` (#59)

    * issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

    * issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

    * Fixed issue #67

    * ✨Okapi units

    * New function names #65

    * Added okapi units to turns and time, tuned PID, cleaned code, completed #66

    * Fixed some names, added `get` functions #73

    * Added more gets, removed version # from print  #73

    The version number in `ez_template_print` was redundant when version can be checked through pros cli.

    * ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

    * Memory optimisation and comments:
    when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

    * Maybe I was wrong

    * add new website code

    * added running the site locally

    * kernel upgrade

    * Update Kernel/Okapi

    ---------

    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>

    * Added Ability for user to reverse Drive in opcontrol (#80)

    * Update drive.hpp

    weird changes

    * Added Reversal to opcontrol driving

    * mistake deleting active break logic, added back

    * Removed old website, updated readme

    * Completed #82, fixed formatting

    * Cleaned relative turns, added wide swings #59 #83

    * Added slew to turns and swings, fixed wide arc bug #59 #83 #84

    Backwards right arcs would have the left PID go the wrong direction.

    * #49 #59 #65 #84

    All functions that have a parameter using okapi units has the ability to be called without using okapi units.

    Fixed relative bug that would stop a swing from working off of a turn

    Naming convention was fixed on setting constants.

    Forward and Reverse PID for swings was implemented.

    * namespaced all classes, removed piston group. #50 #54

    * Added PID Tuner #85

    * PID Tuner can modify increments #85 #86 #87

    PID Tuner:
    - printing to brain can now be toggled
    - won't enable autonselector if it wasn't on prior to enabling PID Tuner
    - user can set all increments
    - user can get all increments
    - renamed functions to be compliant with #65

    Completed #86 and #87

    * Cleaned example files

    * Added example project to this repo and made v3 template

    * Final update for 3.0.0 #65

    ---------

    Co-authored-by: HakopZarikyan <[email protected]>
    Co-authored-by: Michael Ben-Zvi <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Mactar Gueye <[email protected]>
ssejrog added a commit that referenced this issue Apr 2, 2024
* v3.0.0 (#88)

* Fixed rotation sensor tick per rev (#47)

* middle step for #49 and #54

* Added piston groups (#54)

* Completed small issues (#56, #55, $54, #52, #48)

* Finished with clean up on constants

* Added set ratio function

* Added practice mode

* Updated PROS Kernel, okapi, fixed #53, general cleaning

* ✨Okapi units (#49, #62)

* ✨ Added `set_relative_turn_pid()` (#59)

* issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

* issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

* Fixed issue #67

* ✨Okapi units

* New function names #65

* Added okapi units to turns and time, tuned PID, cleaned code, completed #66

* Fixed some names, added `get` functions #73

* Added more gets, removed version # from print  #73

The version number in `ez_template_print` was redundant when version can be checked through pros cli.

* ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

* Memory optimisation and comments:
when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

* Maybe I was wrong

* add new website code

* added running the site locally

* kernel upgrade

* Update Kernel/Okapi

---------

Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>

* Added Ability for user to reverse Drive in opcontrol (#80)

* Update drive.hpp

weird changes

* Added Reversal to opcontrol driving

* mistake deleting active break logic, added back

* Removed old website, updated readme

* Completed #82, fixed formatting

* Cleaned relative turns, added wide swings #59 #83

* Added slew to turns and swings, fixed wide arc bug #59 #83 #84

Backwards right arcs would have the left PID go the wrong direction.

* #49 #59 #65 #84

All functions that have a parameter using okapi units has the ability to be called without using okapi units.

Fixed relative bug that would stop a swing from working off of a turn

Naming convention was fixed on setting constants.

Forward and Reverse PID for swings was implemented.

* namespaced all classes, removed piston group. #50 #54

* Added PID Tuner #85

* PID Tuner can modify increments #85 #86 #87

PID Tuner:
- printing to brain can now be toggled
- won't enable autonselector if it wasn't on prior to enabling PID Tuner
- user can set all increments
- user can get all increments
- renamed functions to be compliant with #65

Completed #86 and #87

* Cleaned example files

* Added example project to this repo and made v3 template

* Final update for 3.0.0 #65

---------

Co-authored-by: HakopZarikyan <[email protected]>
Co-authored-by: Michael Ben-Zvi <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Mactar Gueye <[email protected]>

* Removed 2.x files

* 3.0.1

* Revert "3.0.1"

This reverts commit f0f633d.

---------

Co-authored-by: HakopZarikyan <[email protected]>
Co-authored-by: Michael Ben-Zvi <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Mactar Gueye <[email protected]>
ssejrog added a commit that referenced this issue Apr 2, 2024
* Squashed commit of the following:

commit 600bc47
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:53:53 2024 -0800

    Removed 2.x files

commit 6f6c701
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:45:42 2024 -0800

    v3.0.0 (#88)

    * Fixed rotation sensor tick per rev (#47)

    * middle step for #49 and #54

    * Added piston groups (#54)

    * Completed small issues (#56, #55, $54, #52, #48)

    * Finished with clean up on constants

    * Added set ratio function

    * Added practice mode

    * Updated PROS Kernel, okapi, fixed #53, general cleaning

    * ✨Okapi units (#49, #62)

    * ✨ Added `set_relative_turn_pid()` (#59)

    * issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

    * issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

    * Fixed issue #67

    * ✨Okapi units

    * New function names #65

    * Added okapi units to turns and time, tuned PID, cleaned code, completed #66

    * Fixed some names, added `get` functions #73

    * Added more gets, removed version # from print  #73

    The version number in `ez_template_print` was redundant when version can be checked through pros cli.

    * ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

    * Memory optimisation and comments:
    when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

    * Maybe I was wrong

    * add new website code

    * added running the site locally

    * kernel upgrade

    * Update Kernel/Okapi

    ---------

    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>

    * Added Ability for user to reverse Drive in opcontrol (#80)

    * Update drive.hpp

    weird changes

    * Added Reversal to opcontrol driving

    * mistake deleting active break logic, added back

    * Removed old website, updated readme

    * Completed #82, fixed formatting

    * Cleaned relative turns, added wide swings #59 #83

    * Added slew to turns and swings, fixed wide arc bug #59 #83 #84

    Backwards right arcs would have the left PID go the wrong direction.

    * #49 #59 #65 #84

    All functions that have a parameter using okapi units has the ability to be called without using okapi units.

    Fixed relative bug that would stop a swing from working off of a turn

    Naming convention was fixed on setting constants.

    Forward and Reverse PID for swings was implemented.

    * namespaced all classes, removed piston group. #50 #54

    * Added PID Tuner #85

    * PID Tuner can modify increments #85 #86 #87

    PID Tuner:
    - printing to brain can now be toggled
    - won't enable autonselector if it wasn't on prior to enabling PID Tuner
    - user can set all increments
    - user can get all increments
    - renamed functions to be compliant with #65

    Completed #86 and #87

    * Cleaned example files

    * Added example project to this repo and made v3 template

    * Final update for 3.0.0 #65

    ---------

    Co-authored-by: HakopZarikyan <[email protected]>
    Co-authored-by: Michael Ben-Zvi <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Mactar Gueye <[email protected]>

* Fixed small bugs, refactoring #89, #90, #91, #92)

* Fixed typo in comment, updated readme

* Upgraded kernel, ready for v3.0.1 release
ssejrog added a commit that referenced this issue Apr 2, 2024
* Fixed rotation sensor tick per rev (#47)

* middle step for #49 and #54

* Added piston groups (#54)

* Completed small issues (#56, #55, $54, #52, #48)

* Finished with clean up on constants

* Added set ratio function

* Added practice mode

* Updated PROS Kernel, okapi, fixed #53, general cleaning

* ✨Okapi units (#49, #62)

* ✨ Added `set_relative_turn_pid()` (#59)

* issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

* issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

* Fixed issue #67

* ✨Okapi units

* New function names #65

* Added okapi units to turns and time, tuned PID, cleaned code, completed #66

* Fixed some names, added `get` functions #73

* Added more gets, removed version # from print  #73

The version number in `ez_template_print` was redundant when version can be checked through pros cli.

* ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

* Memory optimisation and comments:
when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

* Maybe I was wrong

* add new website code

* added running the site locally

* kernel upgrade

* Update Kernel/Okapi

---------

Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>

* Added Ability for user to reverse Drive in opcontrol (#80)

* Update drive.hpp

weird changes

* Added Reversal to opcontrol driving

* mistake deleting active break logic, added back

* Removed old website, updated readme

* Completed #82, fixed formatting

* Cleaned relative turns, added wide swings #59 #83

* Added slew to turns and swings, fixed wide arc bug #59 #83 #84

Backwards right arcs would have the left PID go the wrong direction.

* #49 #59 #65 #84

All functions that have a parameter using okapi units has the ability to be called without using okapi units.

Fixed relative bug that would stop a swing from working off of a turn

Naming convention was fixed on setting constants.

Forward and Reverse PID for swings was implemented.

* namespaced all classes, removed piston group. #50 #54

* Added PID Tuner #85

* PID Tuner can modify increments #85 #86 #87

PID Tuner:
- printing to brain can now be toggled
- won't enable autonselector if it wasn't on prior to enabling PID Tuner
- user can set all increments
- user can get all increments
- renamed functions to be compliant with #65

Completed #86 and #87

* Cleaned example files

* Added example project to this repo and made v3 template

* Final update for 3.0.0 #65

* Squashed commit of the following:

commit 600bc47
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:53:53 2024 -0800

    Removed 2.x files

commit 6f6c701
Author: Jess Zarchi <[email protected]>
Date:   Sun Jan 28 23:45:42 2024 -0800

    v3.0.0 (#88)

    * Fixed rotation sensor tick per rev (#47)

    * middle step for #49 and #54

    * Added piston groups (#54)

    * Completed small issues (#56, #55, $54, #52, #48)

    * Finished with clean up on constants

    * Added set ratio function

    * Added practice mode

    * Updated PROS Kernel, okapi, fixed #53, general cleaning

    * ✨Okapi units (#49, #62)

    * ✨ Added `set_relative_turn_pid()` (#59)

    * issue #59 - add set_relative_turn_pid function, no issue - fix various cases of wrong function documentation

    * issue #59 - set_relative_turn_pid changed casing of variables to snake_case and made it relative to current target, not current heading

    * Fixed issue #67

    * ✨Okapi units

    * New function names #65

    * Added okapi units to turns and time, tuned PID, cleaned code, completed #66

    * Fixed some names, added `get` functions #73

    * Added more gets, removed version # from print  #73

    The version number in `ez_template_print` was redundant when version can be checked through pros cli.

    * ⬆️ Update Kernel/Okapi to 3.8.0 and 4.8.0 Respectively  (#76)

    * Memory optimisation and comments:
    when a function is static, it doesn't need to exist for every object. Since this function does not reference any internal variables, it can be static

    * Maybe I was wrong

    * add new website code

    * added running the site locally

    * kernel upgrade

    * Update Kernel/Okapi

    ---------

    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>

    * Added Ability for user to reverse Drive in opcontrol (#80)

    * Update drive.hpp

    weird changes

    * Added Reversal to opcontrol driving

    * mistake deleting active break logic, added back

    * Removed old website, updated readme

    * Completed #82, fixed formatting

    * Cleaned relative turns, added wide swings #59 #83

    * Added slew to turns and swings, fixed wide arc bug #59 #83 #84

    Backwards right arcs would have the left PID go the wrong direction.

    * #49 #59 #65 #84

    All functions that have a parameter using okapi units has the ability to be called without using okapi units.

    Fixed relative bug that would stop a swing from working off of a turn

    Naming convention was fixed on setting constants.

    Forward and Reverse PID for swings was implemented.

    * namespaced all classes, removed piston group. #50 #54

    * Added PID Tuner #85

    * PID Tuner can modify increments #85 #86 #87

    PID Tuner:
    - printing to brain can now be toggled
    - won't enable autonselector if it wasn't on prior to enabling PID Tuner
    - user can set all increments
    - user can get all increments
    - renamed functions to be compliant with #65

    Completed #86 and #87

    * Cleaned example files

    * Added example project to this repo and made v3 template

    * Final update for 3.0.0 #65

    ---------

    Co-authored-by: HakopZarikyan <[email protected]>
    Co-authored-by: Michael Ben-Zvi <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Michael Barr <[email protected]>
    Co-authored-by: Asik007 <[email protected]>
    Co-authored-by: Sylvie <[email protected]>
    Co-authored-by: Will Xu <[email protected]>
    Co-authored-by: Mactar Gueye <[email protected]>

* Fixed small bugs, refactoring #89, #90, #91, #92)

* Fixed typo in comment, updated readme

* Upgraded kernel, ready for v3.0.1 release

---------

Co-authored-by: HakopZarikyan <[email protected]>
Co-authored-by: Michael Ben-Zvi <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Michael Barr <[email protected]>
Co-authored-by: Asik007 <[email protected]>
Co-authored-by: Sylvie <[email protected]>
Co-authored-by: Will Xu <[email protected]>
Co-authored-by: Mactar Gueye <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

1 participant