OCCRA
Go to Post geeez....and i was going to say they should knock a week off the build season. - johnr [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

 
View Poll Results: What do you want to see in the new, unnamed version of Pathfinder?
Better error handling 51 26.70%
Better respect for maximum velocity, acceleration, jerk 83 43.46%
New types of paths 37 19.37%
New types of velocity profiles 39 20.42%
More drive system types (tank, swerve, holo, etc) 41 21.47%
Faster computation 60 31.41%
Easier implementation with vendors (e.g. Talon SRX, NavX) 97 50.79%
More control over waypoints 54 28.27%
Better/more docs 91 47.64%
Better/more examples 80 41.88%
Ability to use in more than just FRC 16 8.38%
Actual "Path Finding" (make the waypoints for me) 52 27.23%
Easier implementation for basic paths 48 25.13%
Other (please comment) 17 8.90%
Multiple Choice Poll. Voters: 191. You may not vote on this poll

Reply
Thread Tools Rate Thread Display Modes
  #61   Spotlight this post!  
Unread 04-03-2018, 09:30 AM
amesmich's Avatar
amesmich amesmich is offline
Registered User
FRC #4638 (Jagbots)
Team Role: Teacher
 
Join Date: Nov 2012
Rookie Year: 2012
Location: Maryland
Posts: 216
amesmich is a glorious beacon of lightamesmich is a glorious beacon of lightamesmich is a glorious beacon of lightamesmich is a glorious beacon of lightamesmich is a glorious beacon of lightamesmich is a glorious beacon of light
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by Jaci View Post
Only for you
we will jump on that bandwagon as well :-)
Reply With Quote
  #62   Spotlight this post!  
Unread 04-03-2018, 11:38 AM
virtuald's Avatar
virtuald virtuald is offline
RobotPy Guy
AKA: Dustin Spicuzza
FRC #6367 (), FRC #7240 ()
Team Role: Mentor
 
Join Date: Dec 2008
Rookie Year: 2003
Location: Boston, MA
Posts: 1,388
virtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond reputevirtuald has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by RocketRedNeck View Post
Visualization tools with the packaging would be awesome... we created a crude output for plotting.
You might find it easier to use matplotlib + robotpy-pathfinder for that application. matplotlib is great for easily creating plots. Here's basic_plot.py from our examples:

Code:
#!/usr/bin/env python3
#
# Demonstrates plotting a trajectory and waypoints with matplotlib. Obviously,
# you can plot a lot more than that -- use your imagination!
#
# Note: This example requires you to install matplotlib
#

import pathfinder as pf
import math

import matplotlib.pyplot as plt

if __name__ == '__main__':

    points = [
        pf.Waypoint(-4, -1, math.radians(-45.0)),
        pf.Waypoint(-2, -2, 0),
        pf.Waypoint(0, 0, 0),
    ]
    
    info, trajectory = pf.generate(points, pf.FIT_HERMITE_CUBIC, pf.SAMPLES_HIGH,
                                   dt=0.05, # 50ms
                                   max_velocity=1.7,
                                   max_acceleration=2.0,
                                   max_jerk=60.0)
    
    # plot the waypoints
    mx, my = zip(*[(m.y, m.x) for m in points])
    plt.scatter(mx, my, c='r')
    
    # plot the trajectory
    x, y = zip(*[(seg.y, seg.x) for seg in trajectory])
    plt.plot(x, y)
    
    plt.show()
__________________
Maintainer of RobotPy (Python for FRC) & WPILib Contributor
Creator of pyfrc (Robot Simulator + utilities for Python), pynetworktables/pynetworktables2js (NetworkTables for Python & Javascript), and lots more...

Team #1418 (remote mentor): Newton Quarterfinalists, 2016 Chesapeake District Champion, 2x Innovation in Control award, 2x district event winner
Team #1418: 2015 DC Regional Innovation In Control Award, #2 seed; 2014 VA Industrial Design Award; 2014 Finalists in DC & VA
Team #2423: 2012 & 2013 Boston Regional Innovation in Control Award


Resources: FIRSTWiki (relaunched!) | My Software Stuff
Reply With Quote
  #63   Spotlight this post!  
Unread 04-03-2018, 01:30 PM
xForceDee's Avatar
xForceDee xForceDee is offline
Registered User
AKA: Bart Kerfeld
FRC #4239 (Warpspeed)
Team Role: Alumni
 
Join Date: Dec 2012
Rookie Year: 2012
Location: Seattle
Posts: 99
xForceDee is a splendid one to beholdxForceDee is a splendid one to beholdxForceDee is a splendid one to beholdxForceDee is a splendid one to beholdxForceDee is a splendid one to beholdxForceDee is a splendid one to beholdxForceDee is a splendid one to behold
Re: What do you want to see in Pathfinder?

The functionality for this may be encapsulated in:

Quote:
This (native support for reversed paths) will likely be implemented as a flag that gets passed (bool reverse Y/N), since 180deg can also refer to a robot going forward, but facing opposite to where it started.
However, for the sake of being overt, the ability to optionally configure our own coordinate system would be nice. Really, I just want to flip all the y-coordinate to get a Right-Hand system, but others may benefit from other configurations.
Reply With Quote
  #64   Spotlight this post!  
Unread 04-03-2018, 03:01 PM
bdaroz's Avatar
bdaroz bdaroz is offline
Programming Mentor
AKA: Brian Rozmierski
FRC #5881 (TVHS Dragons)
Team Role: Mentor
 
Join Date: Jan 2016
Rookie Year: 2016
Location: Albany, NY
Posts: 805
bdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond reputebdaroz has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by xForceDee View Post
However, for the sake of being overt, the ability to optionally configure our own coordinate system would be nice. Really, I just want to flip all the y-coordinate to get a Right-Hand system, but others may benefit from other configurations.
I would caution, not specifically against this idea.... but please don't bury us in so many options / changes that the other big, popular, library this year looks good in comparsion.
Reply With Quote
  #65   Spotlight this post!  
Unread 04-03-2018, 03:35 PM
Jaci's Avatar
Jaci Jaci is offline
http://imjac.in/ta/name
AKA: Jaci R Brunning
FRC #5333 (Can't C#) #5663 (Ground Control) | (OpenRIO, FRC West Aus)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 598
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by xForceDee View Post
The functionality for this may be encapsulated in:



However, for the sake of being overt, the ability to optionally configure our own coordinate system would be nice. Really, I just want to flip all the y-coordinate to get a Right-Hand system, but others may benefit from other configurations.
I think changing the sign convention of pathfinder is niche enough that it can be handled before and after the values are passed into the library (in your case, it's as simple as a few negations). As for alternate coordinate systems entirely, that can be the subject of a basic linear transformation. The methods pathfinder uses are all reliant on euclidean space.

Since all position values are relative to their starting values, this seems flexible enough for almost all implementations. Sign conventions are just something we have to standardize on to make the library make sense, but if you want to invert it you can do so with little effort by preprocessing your values.
__________________
Jacinta R Brunning

Curtin FRC (5333+5663) : Head Mentor
WPILib : Developer

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #66   Spotlight this post!  
Unread 04-03-2018, 04:38 PM
AlexSwerdlow's Avatar
AlexSwerdlow AlexSwerdlow is offline
Registered User
FRC #1836 (Milken Knights)
Team Role: Programmer
 
Join Date: Jan 2017
Rookie Year: 2015
Location: Los Angeles
Posts: 21
AlexSwerdlow has a spectacular aura aboutAlexSwerdlow has a spectacular aura aboutAlexSwerdlow has a spectacular aura about
Re: What do you want to see in Pathfinder?

+1 for a simple way to check if the path already has been generated using hashing. (Although if the library is able to generate splines on the 40 in ~1.5 sec level, then it would probably make that feature just an unnecessary addon.

Another related feature that might be of use to save cpu time is to check if a path has been generated that goes the same relative distance using the same parameters. This would save time if parts of an auto mode were the same and allow the user to not have to manually flip a path but be just as efficient (also potentially unnecessary though).

Furthermore, while this might be included in 'more control over waypoints' or 'new types of paths' adding a logic check to prevent seemingly crazy paths from being generated seems like a good idea. (Possibly having a specified maximum desired encoder position in relation to the actual distance between waypoints) I've never ran into the issue as I've never ran a path without graphing it first, but with dynamic generation I could easily see 'crazy' paths being a serious problem.
Reply With Quote
  #67   Spotlight this post!  
Unread 04-03-2018, 05:02 PM
Jaci's Avatar
Jaci Jaci is offline
http://imjac.in/ta/name
AKA: Jaci R Brunning
FRC #5333 (Can't C#) #5663 (Ground Control) | (OpenRIO, FRC West Aus)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 598
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by AlexSwerdlow View Post
Furthermore, while this might be included in 'more control over waypoints' or 'new types of paths' adding a logic check to prevent seemingly crazy paths from being generated seems like a good idea. (Possibly having a specified maximum desired encoder position in relation to the actual distance between waypoints) I've never ran into the issue as I've never ran a path without graphing it first, but with dynamic generation I could easily see 'crazy' paths being a serious problem.
This is mostly fixed. The reason wildly crazy paths were being generated before was because the direction of the knot points was bounded to within a certain range depending on the last knot point. Now, we ask for a second vector (like a handle on a bezier curve in photoshop/illustrator) that prevents this, and also allows for more control over the path.

This, of course, doesn't save users from themselves, but if the library makes too many assumptions about what the user might want, it will overstep its boundaries and limit its usefulness, so in that case we leave error checking up to the user.
__________________
Jacinta R Brunning

Curtin FRC (5333+5663) : Head Mentor
WPILib : Developer

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #68   Spotlight this post!  
Unread 04-04-2018, 09:02 AM
RocketRedNeck's Avatar
RocketRedNeck RocketRedNeck is offline
Registered User
FRC #4183 (Bit Buckets)
Team Role: Mentor
 
Join Date: Jan 2017
Rookie Year: 2017
Location: Tucson
Posts: 4
RocketRedNeck is an unknown quantity at this point
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by virtuald View Post
You might find it easier to use matplotlib + robotpy-pathfinder for that application.
That is basically what we did... robotpy installation still left many dependencies that did not resolve well (I'll go back to it later) and it was faster for us to just use the C code provided in Jaci's base and have the app just write a python script for us that then generated the plot (with matplotlib, of course).
Reply With Quote
  #69   Spotlight this post!  
Unread 04-04-2018, 09:22 AM
RocketRedNeck's Avatar
RocketRedNeck RocketRedNeck is offline
Registered User
FRC #4183 (Bit Buckets)
Team Role: Mentor
 
Join Date: Jan 2017
Rookie Year: 2017
Location: Tucson
Posts: 4
RocketRedNeck is an unknown quantity at this point
Re: What do you want to see in Pathfinder?

Okay... today it installed just fine. Thanks, makes life simpler... and that is all we can hope for ;-)
Reply With Quote
  #70   Spotlight this post!  
Unread 04-07-2018, 11:38 PM
allgamesdude's Avatar
allgamesdude allgamesdude is offline
Alumni - FLL. Jr, FLL, FTC, and FRC
AKA: Kedar Abhyankar
FRC #0649 (M-SET Fish)
Team Role: Alumni
 
Join Date: Sep 2014
Rookie Year: 2007
Location: Saratoga CA
Posts: 19
allgamesdude is an unknown quantity at this point
Re: What do you want to see in Pathfinder?

Not sure the full extent of pathfinder since I personally haven't explored it fully (but other sw people on my team use it extensively) but using ShuffleBoard's dedicated record feature to record points, then fix those points along a trajectory curve in one simple thing would be kind of nice. like just start a program that has a specified type of drive(tank/arcade/swerve), let the drivers drive in teleOp, and pathfinder will intuitively pick the best waypoints on that path that the drivers make the robot go to smoothly and efficiently make the path work.
Reply With Quote
  #71   Spotlight this post!  
Unread 04-25-2018, 11:51 PM
asid61's Avatar
asid61 asid61 is offline
Design Simple
AKA: Anand Rajamani
FRC #1072 (Harker Robotics)
Team Role: Mentor
 
Join Date: Jan 2014
Rookie Year: 2013
Location: Cupertino, CA
Posts: 2,985
asid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond reputeasid61 has a reputation beyond repute
Re: What do you want to see in Pathfinder?

If nobody has mentioned it yet, acceleration or at least velocity control at different points in the path would be nice. We needed that at several points this year to make tighter turns, among other things.
__________________
Team 1072 2017-present
Team 299 2017
Team 115 2013-2016 (student)

2018 Davis Finalists (w/ 6474 and 3880), 2018 Roebling Winners (w/ 3476, 1323, and 1778)

Reply With Quote
  #72   Spotlight this post!  
Unread 04-26-2018, 12:26 AM
andrewda's Avatar
andrewda andrewda is offline
Programmer
AKA: Andrew Dassonville
FRC #2521 (SERT)
Team Role: Programmer
 
Join Date: Oct 2016
Rookie Year: 2016
Location: Eugene, OR
Posts: 32
andrewda is a name known to allandrewda is a name known to allandrewda is a name known to allandrewda is a name known to allandrewda is a name known to allandrewda is a name known to all
Re: What do you want to see in Pathfinder?

It'd be super nice to have an easier way to access the current/nearest point of the path and the index of that point. We had to do some super hacky stuff in order to get our lift to start to raise at a certain percentage of the way through our path.
__________________
Andrew Dassonville

Team 2521
Reply With Quote
  #73   Spotlight this post!  
Unread 04-26-2018, 05:45 AM
Jaci's Avatar
Jaci Jaci is offline
http://imjac.in/ta/name
AKA: Jaci R Brunning
FRC #5333 (Can't C#) #5663 (Ground Control) | (OpenRIO, FRC West Aus)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 598
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by andrewda View Post
It'd be super nice to have an easier way to access the current/nearest point of the path and the index of that point. We had to do some super hacky stuff in order to get our lift to start to raise at a certain percentage of the way through our path.
This is already possible. EncoderFollower exposes the segment index, which you can access and get the 'distance' field, which divided by the total trajectory length will give you the % thru the path you are at.
__________________
Jacinta R Brunning

Curtin FRC (5333+5663) : Head Mentor
WPILib : Developer

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #74   Spotlight this post!  
Unread 04-26-2018, 05:48 AM
Jaci's Avatar
Jaci Jaci is offline
http://imjac.in/ta/name
AKA: Jaci R Brunning
FRC #5333 (Can't C#) #5663 (Ground Control) | (OpenRIO, FRC West Aus)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Perth, Western Australia
Posts: 598
Jaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond reputeJaci has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by asid61 View Post
If nobody has mentioned it yet, acceleration or at least velocity control at different points in the path would be nice. We needed that at several points this year to make tighter turns, among other things.
In the newer version, the velocity and acceleration are determined by the turning rate at each knot. Since the path defines the profile, it isn't possible to both allow the user to specify their desired speed at a waypoint while still fitting within constraints, since that requires the path to be dictated by the profile.
__________________
Jacinta R Brunning

Curtin FRC (5333+5663) : Head Mentor
WPILib : Developer

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #75   Spotlight this post!  
Unread 05-07-2018, 04:36 PM
Tinnittin Tinnittin is offline
Registered User
FRC #3216
 
Join Date: Feb 2018
Location: Missoula, MT
Posts: 1
Tinnittin is an unknown quantity at this point
getPosition();

Our team would like a method to call that would allow us to get current X and Y coordinates of the robot.
Reply With Quote
Reply


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 05:56 PM.

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


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