OCCRA
Go to Post Did our Jaguar swallow a chipmunk, or is something else going on? - Tom Line [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media  
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 54 27.00%
Better respect for maximum velocity, acceleration, jerk 88 44.00%
New types of paths 41 20.50%
New types of velocity profiles 43 21.50%
More drive system types (tank, swerve, holo, etc) 44 22.00%
Faster computation 63 31.50%
Easier implementation with vendors (e.g. Talon SRX, NavX) 102 51.00%
More control over waypoints 56 28.00%
Better/more docs 95 47.50%
Better/more examples 86 43.00%
Ability to use in more than just FRC 17 8.50%
Actual "Path Finding" (make the waypoints for me) 57 28.50%
Easier implementation for basic paths 53 26.50%
Other (please comment) 18 9.00%
Multiple Choice Poll. Voters: 200. You may not vote on this poll

Reply
Thread Tools Rate Thread Display Modes
  #31   Spotlight this post!  
Unread 03-27-2018, 10:31 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: 633
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 calcmogul View Post
I would like an actual C++ API. The current API suffers from things like lack of operator overloading (functions have "2" appended to avoid name conflicts...) and generally dealing with malloc() and pointers. The Java API could just be translated to C++ and it would look better than what's there now. The C API can still be used underneath if desired, but having an idiomatic C++ API is important because that's an officially supported language for FRC.

I would suggest opening up the nextgen test repo so people can provide feedback while the API is still being designed. Having one person write a framework in a "dark room" then finally emerge to release it generally produces a worse framework. At that point, API changes are also more work or may even require a rewrite.

WPILib has some motion profiling PRs posted on GitHub for next season, but it would be nice to have Pathfinder handle those basic trapezoidal and s-curve profiles as a subset of its functionality. We've also recently considered officially supporting Pathfinder because it adds significant value to the community and could benefit from tighter integration with WPILib. One of us has already reached out to hopefully make that happen.
The new-gen of the repo will be using C++ as the base language as opposed to straight C, and makes use of templates in order to specify some compile-time constraints (like how many dimensions you're working in). It is backed by the Blaze Math Library (https://bitbucket.org/blaze-lib/blaze) internally, primarily to allow for better optimization across all platforms (NEON support is coming: https://bitbucket.org/blaze-lib/blaz...rt-for-the-arm).

I'm waiting on making the repo public because the roles of both OpenRIO and my own software will be evolving soon. The repo will be made public sometime soon, and the library will still be far from finished when it is released. It's not a 'dark room' situation, but rather I'm trying to sort out what direction I want to take this project in before making it public.

I did get Brad's email about ya'll reaching out, we're just waiting on him to return home from his trip before we actually start the discussion, which I'm looking forward to as a great next step. Talk soon
__________________

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

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #32   Spotlight this post!  
Unread 03-27-2018, 10:41 PM
Tom Line's Avatar
Tom Line Tom Line is offline
Don't lay blame. Fix probems.
FRC #1718 (The Fighting Pi)
Team Role: Mentor
 
Join Date: Jan 2007
Rookie Year: 1999
Location: Armada, Michigan
Posts: 3,231
Tom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond reputeTom Line has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by jreneew2 View Post
How is this limited to teams with Java? I've been using pathfinder with c++ all season with no issues. You could use https://github.com/vannaka/Motion_Profile_Generator which uses Java but just exports csvs....
I don't think you quite understand what I'm getting at. For most teams, programming is an overwhelming task. For programmers with experience, you might understand how to find the right programming environment for the right language with all the right add ons and be savvy enough to compile.or install everything and get it working and then program a robot.

This is why there is a default driver station with a default camera setup.

Decent programmers consistently underestimate how hard this stuff really is. Many don't understand how lucky they are too have all the preprogrammed tools - like all the functionality built into the talons. Have you linearized the response curve of your victors lately?

But having a simple precompiled windows executable that pretty much everyone knows how to use already? That would help motion profiling explode in popularity.
Reply With Quote
  #33   Spotlight this post!  
Unread 03-27-2018, 10:49 PM
slickvic2252's Avatar
slickvic2252 slickvic2252 is offline
mentor
AKA: Theren Vickery
FRC #2252 (Mavericks)
Team Role: Mentor
 
Join Date: Mar 2013
Rookie Year: 2010
Location: ohio
Posts: 59
slickvic2252 is an unknown quantity at this point
Re: What do you want to see in Pathfinder?

Video tutorials for all 3 base codes c++ java and labview.
Reply With Quote
  #34   Spotlight this post!  
Unread 03-28-2018, 12:58 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,409
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 Tom Line View Post
But having a simple precompiled windows executable that pretty much everyone knows how to use already? That would help motion profiling explode in popularity.
Well, you have the first half of that in the robotpy-pathfinder precompiled wheel...
__________________
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
  #35   Spotlight this post!  
Unread 03-28-2018, 08:37 AM
gerthworm's Avatar
gerthworm gerthworm is online now
Making the 1's and 0's
FRC #1736 (Robot Casserole)
Team Role: Mentor
 
Join Date: Jan 2015
Rookie Year: 2015
Location: Peoria, IL
Posts: 737
gerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond reputegerthworm has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Voted, but additional notes:

We've been using FalconPathPlanner for the past few years, and have been hacking in our own content to account for... interesting... behaviors we've found. Plan is to upgrade over the summer to Jaci's content.

Having the pathplanner be able to drive the robot in reverse would be highly useful. I think this is what most folks are getting at by "path reversal".

Can I vote negative for "use outside of FRC"? A key advantage I see of this library is how it's targeted at FRC applications. Providing a simple & straightforward way of integrating into roboRIO applications for standard WCD/Tank drivetrains is key to keeping the barrier of entry low, and the library useful.

Overall, it would make me feel quite warm and fuzzy to see a "pure algorithm" box that I could easily pull in, give waypoints and config, and it outputs desired wheel speed, heading, etc.. I'd prefer to handle motor/robot dynamics myself, though I'd love to see examples of how others have done it for various types of robots.
Reply With Quote
  #36   Spotlight this post!  
Unread 03-28-2018, 11:00 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,409
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?

I'd like to see unit tests.
__________________
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
  #37   Spotlight this post!  
Unread 03-28-2018, 11:52 AM
BrianAtlanta's Avatar
BrianAtlanta BrianAtlanta is offline
Registered User
FRC #6829 (Ignite Robotics)
Team Role: Mentor
 
Join Date: Apr 2014
Rookie Year: 2012
Location: Atlanta, GA
Posts: 169
BrianAtlanta is just really niceBrianAtlanta is just really niceBrianAtlanta is just really niceBrianAtlanta is just really niceBrianAtlanta is just really nice
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by virtuald View Post
I'd like to see unit tests.
+1

I'd love to have interfaces that allows us to inject fakes so we can unit test our code.
__________________
2014-2017 : FRC 1261 Mentor (Robolions)
2018-Current : FRC 6829 Mentor (Ignite Robotics)
Reply With Quote
  #38   Spotlight this post!  
Unread 03-28-2018, 12: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: 633
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 virtuald View Post
I'd like to see unit tests.
Are you referring to tests for the library itself, or mocks so users can write their own tests for any given setup?

(The new library is test-driven in its development)
__________________

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

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #39   Spotlight this post!  
Unread 03-28-2018, 12:06 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: 633
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 gerthworm View Post
Can I vote negative for "use outside of FRC"? A key advantage I see of this library is how it's targeted at FRC applications. Providing a simple & straightforward way of integrating into roboRIO applications for standard WCD/Tank drivetrains is key to keeping the barrier of entry low, and the library useful.

Overall, it would make me feel quite warm and fuzzy to see a "pure algorithm" box that I could easily pull in, give waypoints and config, and it outputs desired wheel speed, heading, etc.. I'd prefer to handle motor/robot dynamics myself, though I'd love to see examples of how others have done it for various types of robots.
The plan currently is to have a 'generic' library for any implementation, with an extension provided for FRC-specific applications. Many things like tank drive are so generic they are included in both, but for things like pushing to an MP-capable motor controller, that will be in the extension. The extension will primarily serve to abstract the library to make it easier for teams to get started. This will all be a bit more clear soon once the direction of the library is 'locked in'
__________________

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

Website | Github
jaci.brunning@gmail.com
Reply With Quote
  #40   Spotlight this post!  
Unread 03-28-2018, 12:10 PM
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,409
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 Jaci View Post
Are you referring to tests for the library itself, or mocks so users can write their own tests for any given setup?

(The new library is test-driven in its development)
Tests for the library itself, as that's missing from the current version of pathfinder. Sounds like you have it covered.

In my mind, mocks for users aren't particularly useful as the library is 'just' doing data transformations. The real thing users want (even if they don't know it) is the ability to mock/simulate robot components, and see/verify the resulting robot behavior as a result of whatever pathfinder caused the robot to do. That isn't something that pathfinder is responsible for, it's a WPILib issue.
__________________
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
  #41   Spotlight this post!  
Unread 03-28-2018, 12:21 PM
jwhite jwhite is offline
Registered User
FRC #2823
Team Role: Mentor
 
Join Date: Feb 2013
Rookie Year: 2013
Location: Saint Paul, MN
Posts: 85
jwhite will become famous soon enough
Re: What do you want to see in Pathfinder?

Unique file name generation.

We (and I think many people) generate 'named' trajectories and save them to CSV. Our names are unique for a given set of inputs. That way, we only generate the trajectory if we don't already have a CSV made. Makes the computation time mostly a non issue for us.

It'd be nice if Pathfinder just had that built in; something like:
saveToUniqueCsv(directory)
bool loadFromUniqueCsv(directory)

Cheers
Reply With Quote
  #42   Spotlight this post!  
Unread 03-28-2018, 03:31 PM
Maxcr1's Avatar
Maxcr1 Maxcr1 is offline
Registered User
AKA: Max D "Code Boy"
FRC #2169 (KING TeC)
Team Role: Programmer
 
Join Date: Nov 2016
Rookie Year: 2016
Location: Savage, MN
Posts: 126
Maxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant futureMaxcr1 has a brilliant future
Re: What do you want to see in Pathfinder?

I absolutely love the Pathfinder library. It works exactly the way I want it to, and when I can get it running, it is excellent. However, I struggle somewhat with understanding the various units, but I struggle greatly when it comes to calculating the Max Velocity, Max Acceleration, and Max Jerk constants. I've read through Blair Robot Project's whitepaper, which was excellent, but it doesn't begin to discuss Jerk, which, unless I'm doing something wrong, effects paths heavily. (However, I read somewhere that Jerk shouldn't matter very much?)

If these aren't Pathfinder issues, and are instead issues on my side, please let me know (and maybe help me solve them ), but if others have faced these issues, that would be nice to know.
__________________
Max DeVos | Programmer | KING TeC 2169

Reply With Quote
  #43   Spotlight this post!  
Unread 03-28-2018, 04:17 PM
Brian M's Avatar
Brian M Brian M is offline
Design Lead
FRC #1360 (Orbit Robotics)
Team Role: CAD
 
Join Date: Feb 2017
Rookie Year: 2012
Location: Ontario, Canada
Posts: 328
Brian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond reputeBrian M has a reputation beyond repute
Re: What do you want to see in Pathfinder?

Quote:
Originally Posted by Maxcr1 View Post
I absolutely love the Pathfinder library. It works exactly the way I want it to, and when I can get it running, it is excellent. However, I struggle somewhat with understanding the various units, but I struggle greatly when it comes to calculating the Max Velocity, Max Acceleration, and Max Jerk constants. I've read through Blair Robot Project's whitepaper, which was excellent, but it doesn't begin to discuss Jerk, which, unless I'm doing something wrong, effects paths heavily. (However, I read somewhere that Jerk shouldn't matter very much?)

If these aren't Pathfinder issues, and are instead issues on my side, please let me know (and maybe help me solve them ), but if others have faced these issues, that would be nice to know.
+1, Acceleration Gain and Jerk seem to be black boxes that we have no clue how to tune. We just set Jerk to 100 and Gain to 0 thus far.
__________________
2016 - Rah Cha Cha Ruckus Winners (3015 & 4039)
2017 - Industrial Design (Durham), Entrepreneurship (McMaster), Quality Award (Ontario DCMPS)
2018 - Georgian District Winner (1305 & 6864) + Innovation in Control, York District Winner (1325 & 6140) + Chairmans Award, Ont DCMP Excellence in Engineering


Reply With Quote
  #44   Spotlight this post!  
Unread 03-28-2018, 04:44 PM
Jared Russell's Avatar
Jared Russell Jared Russell is offline
4933T15
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,561
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: What do you want to see in Pathfinder?

We got rid of jerk limits in 2015 and haven't looked back. You (likely) don't need them. See this thread for some discussion.

Acceleration gain is covered by Oblarg's drivetrain characterization paper.
Reply With Quote
  #45   Spotlight this post!  
Unread 03-28-2018, 07:53 PM
HenryOM HenryOM is offline
Registered User
FRC #2915 (Pandamonium)
Team Role: Programmer
 
Join Date: Jan 2017
Rookie Year: 2014
Location: Portland, Oregon
Posts: 28
HenryOM will become famous soon enough
Re: What do you want to see in Pathfinder?

I think this would be fairly easy. Is there a way we could see the error that EncoderFollower is working with each step? I think this would make debugging paths a lot easier.
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 08:07 PM.

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


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