|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
|
|
Thread Tools |
Rating:
|
Display Modes |
|
|
|
#1
|
|||||
|
|||||
|
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
Quote:
In other words, instead of looking up your position by calling a function x(s), you would call x(s(t)), or x(s(arc_length)). Note that if you are creative, you can formulate the problem in different ways. In 2014, 254 actually created 2D splines by making a single function y(x). In this case, the 's' parameter was actually the x coordinate (shifted and rotated to the origin for each spline segment). There are some pros and cons to doing it this way as opposed to the more common parametric way (where you create two independent splines for x and y). Last edited by Jared Russell : 07-05-2015 at 20:03. |
|
#2
|
|||
|
|||
|
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
How does 254 generate the trapezoidal curve for the velocity? My assumption is you just set motor speed to max(1.0) and then calculate what the velocity is at specific time intervals until it reaches a cruise velocity. Then I guess you derive the acceleration from that velocity graph. This makes sense but where I get confused is the deceleration because if you just set the drive speed in the code to 0 then since the motor controllers are in brake mode the motors will just stop.
I am a newbie when it comes to motion profiling so these questions may seem a little dumb. Thanks for all the help. Last edited by apache8080 : 16-10-2015 at 20:54. |
|
#3
|
|||
|
|||
|
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
Quote:
The correct solution is to pick a velocity and acceleration for your profile such that you never run saturated while driving. For 971's 2015 robot, we used 2 m/s as the peak speed and 3 m/s^2 as the acceleration. That results in very clean motion for us which doesn't saturate. I would suggest verifying this by picking a velocity and acceleration for your profile, driving the profile with a robot, and then plotting the PWM value requested. You should never see a request above 1.0 or below -1.0. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|