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

Feature/odom #173

Merged
merged 22 commits into from
Sep 7, 2024
Merged

Feature/odom #173

merged 22 commits into from
Sep 7, 2024

Conversation

ssejrog
Copy link
Member

@ssejrog ssejrog commented Sep 7, 2024

Summary:

Adds odometry along with unrelated fixes because I'm very good at using github correctly

Motivation:

Odometry allows users to do more!

References (optional):

Test Plan:

  • test item

Download the template for this pull request:

Note

This is auto generated from Add Template to Pull Request

curl -o [email protected]+d739b9.zip https://nightly.link/EZ-Robotics/EZ-Template/actions/artifacts/1903639071.zip;
pros c fetch [email protected]+d739b9.zip;
pros c apply [email protected]+d739b9;
rm [email protected]+d739b9.zip;

ssejrog added 22 commits July 3, 2024 20:11
Fixed bug that I created in #152 where path smoothing would pull points down closer to the starting point.  Now there is an additional anchored point to prevent this.

Fixed segfault that #153 caused
BOOMERANG was removed as a unique thing, and is now another flavor of pure pursuit.  This simplified everything internally with no change to the user.
Fixed odom slew, general refactoring, exit conditions are now set correctly for normal drive moves after pure pursuit
Fixed some stuff in the example project, fixed slew constants, and commented out unused variables in tracking
the robot will actually go at a maximum speed now!
tuned constants some more
refactored some pid_tasks
Fixes #167
Messed with #138 for the overloads for turn direction
Also found some bugs that #168 and #145 caused where the robot didn't enjoy going backwards and wasn't correctly finding the shortest angle path.
and some simple refactoring
With this comes a new constructor that is unique to not overlap with "ratio" used previously, and removing "ratio" will create breaking changes.  This new constructor takes in a motor group and it extracts that out into the ez motor groups.  This currently doesn't work as there's a bug with `get_direction` that has an open issue on the PROS kernel.

If a left and right tracker are enabled, the main sensors for the drive switch over to being these tracking wheels.  If only one sensor is used, then this tracker is only used for odom.  Normal drive motions will use IMEs still, as that PID uses a left and a right PID.

Only one horizontal tracker will be used.

Angle is currently always calculated with IMU.  Until there's an easy way to tune track width, #45 will remain open.
Adding missing okapi unit functions, general cleaning and refactoring.  Prep being done for documentation being added to drive.hpp
@ssejrog ssejrog merged commit c2ff910 into dev Sep 7, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant