MARSProgramming / MARSProgramming/2021-MARS-Swerve

iterative PID tester

Open
#1 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
LabVIEW
Stars
1
Forks
0
PR merge metrics
No merged PRs in 30d

Description

The goal is to create a way to systematically test PID values by starting with P, generating P values sequentially (such as 0.001, 0.002, etc), doing a specific test (such as turning the wheel 90 degrees), storing that info, then moving on to the next P value. Then, perhaps the same could be done for D, and maybe I but I'm not sure.

Safety would be a huge priority, so a manual stop button would need to exist. Probably auto-detection for oscillation would be good too, like a hard stop if the error becomes greater than the initial error, something like that, then the test would stop.

The condition to move onto the next P value could either be just a timed value (like a 5 second test), or it moves on once the wheel stops moving.

An issue I could forsee is that at low P values, the wheel probably won't move, and so the goal for the next P value might be much higher than 90 degrees. Maybe the goal for the next value becomes 90 degrees off from the final angle from the previous test, instead of being a round number like 0, 90, 180, etc. This could get annoying though.

I already made a branch for this: https://github.com/MARSProgramming/2021-MARS-Swerve/tree/iterative_PID_tester

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the existing iterative_PID_tester branch and the current PID control entry points. Define how P, D, and I values are generated and tested, how results are stored, when each test ends, and how the manual stop and oscillation safeguards behave. Done means the process safely advances through values and records each test result.

Written by the indexing model from the issue text.

Assessment

Domain
embedded-iot, robotics, testing-qa
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.