*“Thread created automatically to discuss a document in CD-Media” does not allow attachments (I don’t know the purpose for that limitation. Brandon: would it be beneficial to change that setting?)
Determine how far you want the robot to move, how fast you want to allow it to accelerate at startup (and decelerate as it approaches the destination), and the max speed limit during that motion.
Run the calculator to get your distance vs time equations.
Each pass through TeleOp, chose the appropriate x(t) equation based on elapsed time “t” since start, and use that equation to compute a new position setpoint.
Use the setpoint from Step3 as the position command to a closed-loop controller controlling whatever it is you want to control (e.g. wheels of a drivetrain, position of an elevator, etc)
Seems like we would tune ‘amax’ until the robot drives the desired distance in the desired time.
You can always reduce amax and/or vmax if the computed time-to-destination is faster than required. And vice-versa.
For a given vmax, there will be an amax below which you can’t get a trapezoidal motion profile (it will be triangular instead). [strike]What I’ve presented here presently doesn’t handle that situation.[/strike] I just uploaded a Maxima script and plot for triangular motion profile.
*PS: The purpose of this thread is to raise awareness of and provide a focal point for conversation about the topic of motion profiling. I’m sure there are many motion profiling papers and apps out there in webland. If you have a favorite please feel free to posts links in this thread. *