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

Motion profiling #9

Open
arlevin opened this issue Sep 20, 2016 · 10 comments
Open

Motion profiling #9

arlevin opened this issue Sep 20, 2016 · 10 comments
Assignees

Comments

@arlevin
Copy link
Contributor

arlevin commented Sep 20, 2016

We need better motion profiling.
This is an epic placeholder story until we can break it into smaller stories.

@arlevin
Copy link
Contributor Author

arlevin commented Sep 20, 2016

Garrison, at some point let's you and I go through and figure out how to break this down into manageable stories.

@gbear605
Copy link
Member

That sounds like a good plan.

Here's a brief overview, though it very much needs to be refined:

  1. Implement one-dimensional trapezoidal (ie. the velocity graph looks like a trapezoid) motion profiling. This is mostly done but still needs work.
  2. Implement one-dimensional non-trapezoidal motion profiling.
  3. Investigate steps to be done to move to multi-dimensional motion profiling.

@Ipsum
Copy link

Ipsum commented Sep 20, 2016

This is something I could help with in the future

@arlevin
Copy link
Contributor Author

arlevin commented Sep 20, 2016

@gbear605 That is a good start for a breakdown. What about the PID loops? Is that an integral part of this project or should that be worked on separately?

@Ipsum
Copy link

Ipsum commented Sep 20, 2016

My understanding is that this is just a different kind of control algo that would replace PID loops and eliminate the 3 var tuning problems that PID loops have.

From ALF:
(Dave, there are still 2 nested feedback control loops. The difference between motion profiling and pure PID is that instead of trying to get to (calculating error from) a far-away setpoint, a trajectory is planned and pushed to the controller, and then errors are calculated from where you are compared to your planned trajectory, 200 times a second. In this way, errors are always small and presumably the feedback control becomes simpler.

2 nested loops: The inner loop is run on the talon and is used to be sure the talon is out-putting proper voltage to the motor to match the desired velocity. It is really like a voltage to velocity calibration. The outer loop is run on the RoboRio and uses a PID to correct for errors from the actual position to the profile. But again, since errors are small and updated @ 200 Hz, presumably just some very large P term is all that is necessary.)

@arlevin
Copy link
Contributor Author

arlevin commented Sep 20, 2016

I'm pretty sure we still need at least one PID loop, which can be run from the Talons.

@gbear605
Copy link
Member

Yes, there would need to be a velocity PID loop running on the Talons.
However, this is the same PID loop that we ran in 2016, and shouldn't be a
significant problem to transfer.
On Mon, Sep 19, 2016 at 23:32 arlevin [email protected] wrote:

I'm pretty sure we still need at least one PID loop, which can be run from
the Talons.


You are receiving this because you were mentioned.

Reply to this email directly, view it on GitHub
#9 (comment),
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAqKHFEA9PWbopBY7xXyDozdmlr1sakVks5qr1O5gaJpZM4KBHze
.

@afordiani
Copy link

Alan, I am going to assign myself to lead this task. Dorothy Veracka will work on this with me. And Garrison of course.

@arlevin arlevin removed their assignment Sep 21, 2016
@gbear605
Copy link
Member

gbear605 commented Sep 22, 2016

Here's another resource for doing it directly on the Talon SRX: https://www.ctr-electronics.com/downloads/pdf/Talon%20SRX%20Motion%20Profile%20Reference%20Manual.pdf

And here's a Chief Delphi thread: https://www.chiefdelphi.com/forums/showthread.php?t=151541

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants