|
|
|
![]() |
|
|||||||
|
||||||||
|
|
Thread Tools | Rate Thread | Display Modes |
|
#7
|
||||
|
||||
|
Re: pic: Team 624 2015 Offseason Tesbed
Quote:
After attending the Cheesy Poofs' seminar at CMP on Motion Planning and Control Systems, I was inspired make a program that could drive without encoders. Here is how it works: - We use a Trapezoidal Velocity Profile. It is trapezoidal because of the shape that the graph makes. - There are 3 stages to our trapezoidal motion profile: Acceleration to Cruise, Cruise Velocity, and Acceleration to 0 velocity. - Using physics equations and concepts, you can determine the amount of time needed in each phase of the profile. In mine, I give the robot a distance, its max velocity, its max acceleration and 2 scaling constants. The program basically reverse engineers this information to find the time spent in each phase and the velocity/acceleration involved at a given time. This creates a very smooth acceleration and deceleration, which makes the motion predictable and repeatable. Advantages of our Profile - Our profile is computed by the robot on the fly. There are no external data files required - We actually got it to hit 10 feet perfectly multiple times. Limitations of our Profile - Currently, our profile only works in the one dimensional case. We cannot do splines like 254 - We can only use the second order trapezoidal profile. My calculus knowledge isn't up to par with a third order profile (I'm in BC Calculus currently) - We cannot change distances on the fly - It does not integrate with PID (feedback) yet Here are some resources that I used in my quest to accomplish this: Cheesy Poof Presentation Cheesy Poof Presentation on Youtube Online Planning of Time-Optimal, Jerk Limited Trajectories If you have any other questions, I am happy to answer them! -Justin |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|