Nashoba-Robotics / Nashoba-Robotics2017

Control Team Project Management
6 stars 0 forks source link

Motion profiling #9

Open arlevin opened 7 years ago

arlevin commented 7 years ago

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

arlevin commented 7 years ago

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

gbear605 commented 7 years ago

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 commented 7 years ago

This is something I could help with in the future

arlevin commented 7 years ago

@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 commented 7 years ago

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 commented 7 years ago

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

gbear605 commented 7 years ago

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 notifications@github.com 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 https://github.com/Nashoba-Robotics/Nashoba-Robotics2017/issues/9#issuecomment-248192354, or mute the thread https://github.com/notifications/unsubscribe-auth/AAqKHFEA9PWbopBY7xXyDozdmlr1sakVks5qr1O5gaJpZM4KBHze .

afordiani commented 7 years ago

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

gbear605 commented 7 years ago

Videos about motion profiling:

https://www.youtube.com/watch?v=8319J1BEHwM

https://www.youtube.com/watch?v=rLwOkAJqImo&feature=youtu.be (Slides from this video: https://docs.google.com/presentation/d/1ediRsI-oR3-kwawFJZ34_ZTlQS2SDBLjZasjzZ-eXbQ/pub?start=false&loop=false&slide=id.p)

gbear605 commented 7 years ago

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