Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Championship Event (http://www.chiefdelphi.com/forums/forumdisplay.php?f=12)
-   -   Motion Planning and Control for FRC - FIRST Championship Conference Session (http://www.chiefdelphi.com/forums/showthread.php?t=136798)

Ether 05-05-2015 09:34

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by mman1506 (Post 1479036)
Just you

Quote:

Originally Posted by Asymons (Post 1479103)
Both links work for me perfectly.

I can view the presentation on-line. Is that what you both are referring to?

I am saying that the PDF and PPTX download options in this popup menu do not work for me:

http://i.imgur.com/jWPsNVP.png


Jared, is that intentional or an oversight?

~

Jared Russell 05-05-2015 14:28

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
1 Attachment(s)
Not intentional. The PDF and PPT links work for me. :ahh:

I've attached the PDF.

Ether 05-05-2015 15:43

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by Jared Russell (Post 1480208)
I've attached the PDF.

Thank you.

~

chsahit 07-05-2015 12:48

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
What does the spline paramater represent? When discussing 2d hermite cubic spline fits functions are created in terms of "s". Is this time?

Thank you and great presentation!

artK 07-05-2015 13:23

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by chsahit (Post 1480759)
What does the spline paramater represent? When discussing 2d hermite cubic spline fits functions are created in terms of "s". Is this time?

Thank you and great presentation!

Spline parameters can be whatever you want: time, % of time, % of total arclength. When 254 implemented it in 2014, I believe we used % of total arclength. As long as you're consistent with your parameter usage, the code should be mostly the same.

Jared Russell 07-05-2015 20:00

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by chsahit (Post 1480759)
What does the spline paramater represent? When discussing 2d hermite cubic spline fits functions are created in terms of "s". Is this time?

Thank you and great presentation!

Usually 's' is not time; it is just an arbitrary parameter (nominally varying between 0 and 1 for any given segment). You can reparameterize a spline by creating another function that maps 's' to something else, like time or arc length.

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).

apache8080 16-10-2015 19:42

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.

AustinSchuh 21-10-2015 01:25

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by apache8080 (Post 1500564)
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.

You never want to run saturated (full PWM output). The math to handle that with a drivetrain properly is very nasty due to the non-holonomic nature of a skid steer robot and coupled dynamics.

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.

ranlevinstein 24-10-2015 10:47

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Hi,
1. during autonomous why did you apply control only to the speed and rotation of the drivetrain wheels? there are other options like DFL or IOSFL and I was wondering why you didn't choose an option with regulation for the robot's absolute position and and heading.
2. Can someone from 971 please explain how did they use integral control and how to tune the gains matrices for LQR? also in your auto, did you use LQR for the trajectory? if so can you explain how you did that?

You can read more about DFL, IOSFL and posture regulation in this slideshow:http://www.dis.uniroma1.it/~deluca/r...ingControl.pdf

Any help will be greatly appreciated :)

ranlevinstein 24-10-2015 10:54

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Hi,
1. during autonomous why did you apply control only to the speed and rotation of the drivetrain wheels? there are other options like DFL or IOSFL and I was wondering why you didn't choose an option with regulation for the robot's absolute position and and heading.
2. Can someone from 971 please explain how did they use integral control and how to tune the gains matrices for LQR? also in your auto, did you use LQR for the trajectory? if so can you explain how you did that?

You can read more about DFL, IOSFL and posture regulation in this slideshow:http://www.dis.uniroma1.it/~deluca/r...ingControl.pdf

Any help will be greatly appreciated :)

kylelanman 31-12-2015 12:43

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by Jared Russell (Post 1479028)
As promised, here is the recording of the session (in standard Cheesy Poof 4k of course): https://youtu.be/8319J1BEHwM

This was a wonderful presentation!

You made mention that the Talon SRX's can do a lot of "this" for you and that it is extensively documented. Are you just referring to the Feedback/Feedforward PID control built in to the Talons or can they execute a full trajectory/path? I have searched through the software manual for the Talon SRX (http://www.ctr-electronics.com/Talon%20SRX%20Software%20Reference%20Manual.pdf
) and didn't find any mention of motion planning/trajectories.

Looking through the source for CANTalon in WPILib I do see mention of trajectories and motion profiles. Is there additional documentation somewhere that I am missing that actually talks about using motion profiles?

Thad House 31-12-2015 12:51

Re: Motion Planning and Control for FRC - FIRST Championship Conference Session
 
Quote:

Originally Posted by kylelanman (Post 1515602)
This was a wonderful presentation!

You made mention that the Talon SRX's can do a lot of "this" for you and that it is extensively documented. Are you just referring to the Feedback/Feedforward PID control built in to the Talons or can they execute a full trajectory/path? I have searched through the software manual for the Talon SRX (http://www.ctr-electronics.com/Talon%20SRX%20Software%20Reference%20Manual.pdf
) and didn't find any mention of motion planning/trajectories.

Looking through the source for CANTalon in WPILib I do see mention of trajectories and motion profiles. Is there additional documentation somewhere that I am missing that actually talks about using motion profiles?

The motion profile stuff is being added this offseason to the CAN Talons. The documentation for it should be released at kickoff.


All times are GMT -5. The time now is 05:12.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi