Go to Post If you don't like getting tipped don't build a robot that tips. - Koko Ed [more]
Home
Go Back   Chief Delphi > Competition > Championship Event
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
 
Thread Tools Rating: Thread Rating: 7 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 30-04-2015, 17:59
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,064
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Thank you to all who attended our conference session. We were blown away by the number of people in the audience - several hundred FIRSTers were there and it was standing room only! This goes to show that the FRC community has quite an appetite for technical conference sessions, and I hope we can grow this part of the Championship Conferences substantially in the years to come.

As promised, here is the recording of the session (in standard Cheesy Poof 4k of course): https://youtu.be/8319J1BEHwM

And here are the slides (with a couple of small corrections from the version used in the session): https://docs.google.com/presentation...e&delayms=3000

We hope that our session was useful! We know there are some things we can improve for future sessions. One request for anyone who attended: please feel free to PM or email me feedback so we can get better at this in the future. A major challenge in presenting on such a deep subject is hitting the right technical level - there were many levels of experience and expertise in the audience, and you don't want to alienate either end. Please tell us how we did!
  #2   Spotlight this post!  
Unread 30-04-2015, 18:26
Abhishek R Abhishek R is offline
Registered User
no team
Team Role: Alumni
 
Join Date: Mar 2013
Rookie Year: 2012
Location: Texas
Posts: 890
Abhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond reputeAbhishek R has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by Jared Russell View Post
Thank you to all who attended our conference session. We were blown away by the number of people in the audience - several hundred FIRSTers were there and it was standing room only! This goes to show that the FRC community has quite an appetite for technical conference sessions, and I hope we can grow this part of the Championship Conferences substantially in the years to come.

As promised, here is the recording of the session (in standard Cheesy Poof 4k of course): https://youtu.be/8319J1BEHwM

And here are the slides (with a couple of small corrections from the version used in the session): https://docs.google.com/presentation...e&delayms=3000

We hope that our session was useful! We know there are some things we can improve for future sessions. One request for anyone who attended: please feel free to PM or email me feedback so we can get better at this in the future. A major challenge in presenting on such a deep subject is hitting the right technical level - there were many levels of experience and expertise in the audience, and you don't want to alienate either end. Please tell us how we did!
Thank you!

It may just be me, but are the slides private right now?

Edit: Never mind, doesn't like the mobile app for some reason.
__________________
2012 - 2015 : 624 CRyptonite
Team Website

Last edited by Abhishek R : 30-04-2015 at 18:45.
  #3   Spotlight this post!  
Unread 30-04-2015, 18:32
mman1506's Avatar
mman1506 mman1506 is offline
Focusing on Combat Robots!
AKA: Marcus Quintilian
no team (WARP7)
Team Role: Alumni
 
Join Date: Mar 2012
Rookie Year: 2012
Location: Toronto
Posts: 735
mman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond reputemman1506 has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by Abhishek R View Post
Thank you!

It may just be me, but are the slides private right now?
Just you
__________________
2014-2015: FRC 865 Warp7 Team Captain
2016: FRC 865 Mentor
  #4   Spotlight this post!  
Unread 30-04-2015, 18:40
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,986
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by Abhishek R View Post
Thank you!

It may just be me, but are the slides private right now?
The download options do not work for me either :-(


  #5   Spotlight this post!  
Unread 30-04-2015, 21:45
Asymons Asymons is offline
Registered User
FRC #4716 (Purple Raiders)
Team Role: Driver
 
Join Date: Apr 2013
Rookie Year: 2013
Location: Ontario
Posts: 33
Asymons is an unknown quantity at this point
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

I've been avidly waiting for this .

Both links work for me perfectly. Perhaps the issue is resolved now or maybe try a different browser(I'm using chrome).
  #6   Spotlight this post!  
Unread 30-04-2015, 22:37
Jared's Avatar
Jared Jared is offline
Registered User
no team
Team Role: Programmer
 
Join Date: Aug 2013
Rookie Year: 2012
Location: Connecticut
Posts: 602
Jared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond reputeJared has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

This is an awesome presentation - I'm our team had to miss it because we didn't have badges yet. I think the level of detail was pretty much perfect for an hour long presentation.

As you mentioned, the internet has lots of great papers describing the process:
http://www2.informatik.uni-freiburg....Sprunk2008.pdf

In the presentation, you talked about tuning ka and kv, which we found to be a frustrating process. We started with the method you describe with the robot's maximum velocity and maximum acceleration, but we found that these values of ka and kv only worked well when we ran aggressive and fast trajectories, and weren't as accurate with slower, less terrifying trajectories. kP for the feedback controller had to be increased to maintain accuracy, which caused the robot to oscillate if it was bumped off course. With different values of ka and kv, we could let the feedforward controller do most of the work and decrease kp to improve stability.

Our method to find kp and ka was to simply drive the robot in a straight line with varying speed, acceleration, and power, and record this information every 20 ms. I used a 4 sample moving average to get smooth data from the encoders.

I looked at two points in time that each had different velocity, acceleration, and power, and solved these two equations for ka and kv.

kv * v1 + ka * a1 = p1
kv * v2 + ka * a2 = p2

I repeated this process of selecting two points and solving the equations for 10 times, and averaged the values of ka and kv to get the actual gains.

This resulted in a slightly higher value of kv and a much higher value of ka than we got with the full acceleration test.
  #7   Spotlight this post!  
Unread 30-04-2015, 23:51
GreyingJay GreyingJay is offline
Robonut
AKA: Mr. Lam
FRC #2706 (Merge Robotics)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2015
Location: Ottawa, Canada
Posts: 733
GreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond reputeGreyingJay has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Thanks again for putting this session on.

I am on the newbie end of the knowledge scale for this topic - I know about PID and I understood the basic concepts of motion profiling but it will take some further reading and research to figure out how to make it work for us. I think it was a bit above the heads of the freshmen students I brought with us but they were interested and following along as best they could. They can't wait to try out the code that has been made available.
__________________
"If I'm going to mentor someone, I'm going to be involved in their life as a positive force." -Mechvet
  #8   Spotlight this post!  
Unread 05-05-2015, 09:34
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,986
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by mman1506 View Post
Just you
Quote:
Originally Posted by Asymons View Post
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?

~

Last edited by Ether : 05-05-2015 at 09:59.
  #9   Spotlight this post!  
Unread 05-05-2015, 14:28
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,064
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Not intentional. The PDF and PPT links work for me.

I've attached the PDF.
Attached Files
File Type: pdf Motion Planning and Control for FRC.pdf (3.61 MB, 445 views)
  #10   Spotlight this post!  
Unread 05-05-2015, 15:43
Ether's Avatar
Ether Ether is offline
systems engineer (retired)
no team
 
Join Date: Nov 2009
Rookie Year: 1969
Location: US
Posts: 7,986
Ether has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond reputeEther has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by Jared Russell View Post
I've attached the PDF.
Thank you.

~
  #11   Spotlight this post!  
Unread 07-05-2015, 12:48
chsahit's Avatar
chsahit chsahit is offline
Lead Developer
AKA: Sahit C
FRC #0011 (MORT)
Team Role: Programmer
 
Join Date: Jul 2014
Rookie Year: 2013
Location: Mount Olive
Posts: 7
chsahit will become famous soon enoughchsahit will become famous soon enough
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!
  #12   Spotlight this post!  
Unread 07-05-2015, 13:23
artK artK is offline
Just Another Person
AKA: Art Kalb
no team (No Team)
 
Join Date: Dec 2011
Rookie Year: 2010
Location: Rochester, NY
Posts: 119
artK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond reputeartK has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by chsahit View Post
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.
__________________
Art Kalb
Team 254 (2011-2014): Head Scout, Programmer
2011, 2014 World Champions
  #13   Spotlight this post!  
Unread 07-05-2015, 20:00
Jared Russell's Avatar
Jared Russell Jared Russell is offline
Taking a year (mostly) off
FRC #0254 (The Cheesy Poofs), FRC #0341 (Miss Daisy)
Team Role: Engineer
 
Join Date: Nov 2002
Rookie Year: 2001
Location: San Francisco, CA
Posts: 3,064
Jared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond reputeJared Russell has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by chsahit View Post
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).

Last edited by Jared Russell : 07-05-2015 at 20:03.
  #14   Spotlight this post!  
Unread 16-10-2015, 19:42
apache8080 apache8080 is offline
Lead Programmer, Drive Coach, Scout
AKA: Rishi Desai
FRC #5677
Team Role: Programmer
 
Join Date: Jan 2014
Rookie Year: 2013
Location: San Jose, CA
Posts: 36
apache8080 is on a distinguished road
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.
  #15   Spotlight this post!  
Unread 21-10-2015, 01:25
AustinSchuh AustinSchuh is offline
Registered User
FRC #0971 (Spartan Robotics) #254 (The Cheesy Poofs)
Team Role: Engineer
 
Join Date: Feb 2005
Rookie Year: 1999
Location: Los Altos, CA
Posts: 800
AustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond reputeAustinSchuh has a reputation beyond repute
Re: Motion Planning and Control for FRC - FIRST Championship Conference Session

Quote:
Originally Posted by apache8080 View Post
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.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 09:03.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


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