Go to Post We love both AndyMark and Vex for everything they do. The work these folks put into their products is amazing. - marshall [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rating: Thread Rating: 2 votes, 5.00 average. Display Modes
  #1   Spotlight this post!  
Unread 24-09-2014, 08:03
x86_4819's Avatar
x86_4819 x86_4819 is offline
computer-whisperer
AKA: Christian Balcom
FRC #4819 (Flat Mountain Mechanics)
Team Role: Programmer
 
Join Date: Sep 2014
Rookie Year: 2013
Location: Shepherd MI
Posts: 92
x86_4819 is on a distinguished road
Autonomous Drive Arcs

Hi,

I have been experimenting with various drive arc algorithms for my team's autonomous mode, and I wonder what other teams use? By drive arc, I mean algorithms that take the robot from point A to point B with various characteristics, such as a nice gentle ramp-up, or maybe a PID loop to stop on a dot.
  #2   Spotlight this post!  
Unread 24-09-2014, 08:58
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: Autonomous Drive Arcs

This year 254 ran a system that could generate and drive along a given spline (not an arc, but close enough). The first step was to derive a set of splines to follow given a set of waypoints (x,y,heading combonations) using quintic hermite spline interpolation (an algorithm to generate a 5th order polynomial using the positions, headings and rate of change in heading at consecutive waypoints). After this, the splines are broken down into encoder position, robot heading, velocity, acceleration, and jerk target profiles over time. Then control loops attempt to match the profiles over time. You can find the source code we used for this project here
__________________
Art Kalb
Team 254 (2011-2014): Head Scout, Programmer
2011, 2014 World Champions
  #3   Spotlight this post!  
Unread 24-09-2014, 09:51
x86_4819's Avatar
x86_4819 x86_4819 is offline
computer-whisperer
AKA: Christian Balcom
FRC #4819 (Flat Mountain Mechanics)
Team Role: Programmer
 
Join Date: Sep 2014
Rookie Year: 2013
Location: Shepherd MI
Posts: 92
x86_4819 is on a distinguished road
Re: Autonomous Drive Arcs

I apologize if I was a bit unclear. by "drive arc" I was referring to the power vs time profile of driving the robot in a straight line. Eg accelerating to top speed and the gracefully slowing down, an "arc" on a graph of speed vs time.
  #4   Spotlight this post!  
Unread 24-09-2014, 10:50
Aren Siekmeier's Avatar
Aren Siekmeier Aren Siekmeier is online now
on walkabout
FRC #2175 (The Fighting Calculators)
Team Role: Mentor
 
Join Date: Apr 2008
Rookie Year: 2008
Location: 대한민국
Posts: 735
Aren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond reputeAren Siekmeier has a reputation beyond repute
Re: Autonomous Drive Arcs

Quote:
Originally Posted by x86_4819 View Post
I apologize if I was a bit unclear. by "drive arc" I was referring to the power vs time profile of driving the robot in a straight line. Eg accelerating to top speed and the gracefully slowing down, an "arc" on a graph of speed vs time.
This is something 254 has been doing since at least 2011, and was incorporated (a prerequisite, really) into their spline following code. There are numerous recent threads on the topic:

Some "motion profile" search results:
http://www.chiefdelphi.com/forums/sh...motion+profile
http://www.chiefdelphi.com/forums/sh...d.php?t=117321
http://www.chiefdelphi.com/forums/sh...motion+profile
http://www.chiefdelphi.com/forums/sh...motion+profile
  #5   Spotlight this post!  
Unread 24-09-2014, 12:40
Chadfrom308's Avatar
Chadfrom308 Chadfrom308 is offline
Slave to the bot
AKA: Chad Krause
FRC #0308 (The Monsters)
Team Role: Driver
 
Join Date: Jan 2013
Rookie Year: 2011
Location: Novi
Posts: 272
Chadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to beholdChadfrom308 is a splendid one to behold
Re: Autonomous Drive Arcs

You could use some S-Curve acceleration. Just look it up online, should be relatively easy to implement
  #6   Spotlight this post!  
Unread 24-09-2014, 13:28
Joe Ross's Avatar Unsung FIRST Hero
Joe Ross Joe Ross is offline
Registered User
FRC #0330 (Beachbots)
Team Role: Engineer
 
Join Date: Jun 2001
Rookie Year: 1997
Location: Los Angeles, CA
Posts: 8,600
Joe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond reputeJoe Ross has a reputation beyond repute
Re: Autonomous Drive Arcs

I'd recommend starting with just a distance PID, since it sounds like you don't have that yet. Once you get that working, you can decide what to add.

We've been using Jared Russel's method #1 from http://www.chiefdelphi.com/forums/sh...08&postcount=3 for a few years.

For the drive train, we've been happy with a linear ramp over a fraction of a second on start, and let the PID handle the deceleration. For other devices, we've done a trapezoidal profile. The fancier you make the profile, the more items to tune (or you need a decent model), so we try to start simple.
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 03:02.

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