OCCRA
Go to Post hmmm... big open space between arena and pits... thousands of poof balls...thousands of high school kids hopped up on sugar and robotics.... sounds a little dangerous. - Courtneyb1023 [more]
Home
Go Back   Chief Delphi > ChiefDelphi.com Website > Extra Discussion
CD-Media  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 06-26-2018, 06:56 PM
FalconWarriorrr's Avatar
FalconWarriorrr FalconWarriorrr is offline
Registered User
FRC #0900
 
Join Date: Nov 2017
Location: North Carolina
Posts: 3
FalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond repute
paper: ZebROS 1.0: ROS for FRC

Thread created automatically to discuss a document in CD-Media.

ZebROS 1.0: ROS for FRC by FalconWarriorrr
Reply With Quote
  #2   Spotlight this post!  
Unread 06-26-2018, 06:57 PM
FalconWarriorrr's Avatar
FalconWarriorrr FalconWarriorrr is offline
Registered User
FRC #0900
 
Join Date: Nov 2017
Location: North Carolina
Posts: 3
FalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond reputeFalconWarriorrr has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

In 2016, Team 900 wrote a neural network for detecting boulders. Last year, we implemented the Robot Operating System, ROS, into our vision code to facilitate communication between multiple processors. But this year, we’ve gone above and beyond what anyone thought we would be crazy enough to attempt. We transitioned our entire robot code -- including hardware control -- into ROS.

It wasn’t an easy transition -- not only did we have to rewrite all of our code from the very basics of controlling motors to starting robot code automatically, but our problems were completely unique to FRC. Since we’re blazing a trail where no one one else has dared to go, we had to figure out most of our problems on our own without any specific resources. In this white paper, we explain why we did it, how we did it, and what we plan to do in the future. We hope to be a resource for any other teams crazy enough to try this out.

There’s no doubt that it’s been a difficult year, but many exciting things happened as well. We played back driver station data in real time to debug our different autonomous modes. We made huge strides with localization and mapping. We began integrating vision code with generated motion profiled paths. We’re looking forward to next year where we will do even more exciting things. Stay tuned!

Thank you to the entire team that worked tirelessly on the ROS transition and to our programming mentors Eric Blau and Kevin Jaget for their help throughout the competition season to surmount such a significant codebase transformation. Thank you to our mentors and fellow students for their help reviewing this paper. Finally, thank you to our sponsors for providing us with the resources that allowed us to make these groundbreaking leaps. We couldn't do any of this without your continued support!
Reply With Quote
  #3   Spotlight this post!  
Unread 06-26-2018, 06:58 PM
marshall's Avatar
marshall marshall is offline
Online Stripe & Drape Sales
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 3,012
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by FalconWarriorrr View Post
Thread created automatically to discuss a document in CD-Media.

ZebROS 1.0: ROS for FRC by FalconWarriorrr
WOOOOO! Very proud of all of you.
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman
Clarke's Laws
Reply With Quote
  #4   Spotlight this post!  
Unread 06-26-2018, 07:22 PM
KJaget's Avatar
KJaget KJaget is offline
Zebravision Labs
AKA: Kevin
FRC #0900
Team Role: Mentor
 
Join Date: Dec 2014
Rookie Year: 2015
Location: Raleigh, NC
Posts: 156
KJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

There has been some discussion around the cost-benefit tradeoffs of using ROS for FRC. Living with it for the past year has given me some insight into the benefits. Note that none will be "free code for SLAM/autonomous path planning".

1. Breaking code into individual nodes is a big plus. Being able to drive each node individually from the command line is terrific for testing. This can be used for unit tests as well as for injecting commands to any point in a fully connected compute node. Plus it makes it way easier to have multiple coders collaborating without breaking stuff (but this might also be partly due to switching to Perl, uh, I mean C++).
2. There's existing code for how to do anything. That doesn't mean that we're just slapping other people's code together, but if we need a way to communicate something, someone's already figured out and implemented the right way to do it (or at least a good one).
3. Pre-written command line tools to record, analyze and play back the entire state of a robot from a match has the potential to be huge. We're still looking at the full benefits of this but it is great so far.
4. This is kinda a sub bullet of 1, or forced by it : since code is broken into nodes, we only have to replace the hardware interface node with a simple simulator and can test the rest of stack as-is. It is so nice to be able to bring up robot code on a laptop and test 90%+ of everything without touching a robot.
5. Moving code between processors is changing a config file and it just works. Communication between CPUs, coprocessors and so on is a solved problem.

Granted, a motivated team could code any of this. But getting it for free after (an admittedly impressive) investment in adapting to ROS is a nice benefit.

Most of this should be in more detail in the paper - read it already

Last edited by KJaget : 06-26-2018 at 07:45 PM.
Reply With Quote
  #5   Spotlight this post!  
Unread 06-26-2018, 07:33 PM
Adithya Balaji's Avatar
Adithya Balaji Adithya Balaji is offline
catkin_maker (wiki.ros.org)
no team
Team Role: College Student
 
Join Date: Sep 2015
Rookie Year: 2013
Location: North Carolina
Posts: 74
Adithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond reputeAdithya Balaji has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Great work guys! This is one impressive paper. I'm excited to see what you all do next season.
__________________


2018 - FIRST NC Volunteer
2017 - 900 - Newton Quarterfinalist, District Championship Winner, Excellence in Engineering (NC District Championship)
2016 - 900 - Excellence in Engineering (NC District Championship)
2015 - 4828 - Spirit Award (NC Regional)
2014 - 4828 - 8th Alliance Captain (NC Regional)
Reply With Quote
  #6   Spotlight this post!  
Unread 06-26-2018, 07:34 PM
marshall's Avatar
marshall marshall is offline
Online Stripe & Drape Sales
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 3,012
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by Adithya Balaji View Post
Great work guys! This is one impressive paper. I'm excited to see what you all do next season.
Speak of the devil - your name is in the paper. Along with some others...
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman
Clarke's Laws
Reply With Quote
  #7   Spotlight this post!  
Unread 06-26-2018, 07:38 PM
Thad House Thad House is online now
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,251
Thad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond reputeThad House has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Regarding the starting scripts, was the robotCommand script just not running? I'd be interested in helping to figure that issue out, as it might help make the WPILib startup simpler as well.
__________________
All statements made are my own and not the feelings of any of my affiliated teams.
Teams 1510 and 2898 - Student 2010-2012
Team 4488 - Mentor 2013-2016
Co-developer of RobotDotNet, a .NET port of the WPILib.
Reply With Quote
  #8   Spotlight this post!  
Unread 06-26-2018, 07:45 PM
KJaget's Avatar
KJaget KJaget is offline
Zebravision Labs
AKA: Kevin
FRC #0900
Team Role: Mentor
 
Join Date: Dec 2014
Rookie Year: 2015
Location: Raleigh, NC
Posts: 156
KJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond reputeKJaget has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by marshall View Post
Speak of the devil - your name is in the paper. Along with some others...
Legacy and/or blame. It is a fine line.
Reply With Quote
  #9   Spotlight this post!  
Unread 06-26-2018, 08:08 PM
amstrudy amstrudy is offline
Registered User
AKA: Anja Sheppard
FRC #0900 (Zebracorns)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2014
Location: Chapel Hill, NC
Posts: 21
amstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant future
Re: paper: ZebROS 1.0: ROS for FRC

Woot woot! It's done! Thanks so much to Marshall, Kevin, Eric, Meg, Mason, and countless others for help reviewing the paper!
Reply With Quote
  #10   Spotlight this post!  
Unread 06-26-2018, 08:10 PM
amstrudy amstrudy is offline
Registered User
AKA: Anja Sheppard
FRC #0900 (Zebracorns)
Team Role: Programmer
 
Join Date: Oct 2015
Rookie Year: 2014
Location: Chapel Hill, NC
Posts: 21
amstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant futureamstrudy has a brilliant future
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by Thad House View Post
Regarding the starting scripts, was the robotCommand script just not running?
Man I would love to figure this out too. I spent a week on this exact issue. Maybe it was just an issue with the way we hacked up our roboRIO because someone I was working with got it to work on their end, but no matter where I tried sticking the startup script it never got run.
Reply With Quote
  #11   Spotlight this post!  
Unread 06-26-2018, 11:40 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,395
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: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by amstrudy View Post
Man I would love to figure this out too. I spent a week on this exact issue. Maybe it was just an issue with the way we hacked up our roboRIO because someone I was working with got it to work on their end, but no matter where I tried sticking the startup script it never got run.
You have to execute this at least once to get it to run the robot command. RobotPy executes that anytime we deploy a new version of the code.

Code:
/usr/local/frc/bin/frcKillRobot.sh -t -r
__________________
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
  #12   Spotlight this post!  
Unread 06-27-2018, 08:46 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: 219
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: paper: ZebROS 1.0: ROS for FRC

Our team got ROS up and running this past year and then for various reasons scraped it. One of the main reasons is the closed loop feedback and processing that the talons provide. We could not leverage that as intended. So until another day. Thanks for the update. You work is interesting and helpful.
Reply With Quote
  #13   Spotlight this post!  
Unread 06-27-2018, 09:04 AM
marshall's Avatar
marshall marshall is offline
Online Stripe & Drape Sales
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 3,012
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by Thad House View Post
Regarding the starting scripts, was the robotCommand script just not running? I'd be interested in helping to figure that issue out, as it might help make the WPILib startup simpler as well.
I will let the students respond to this but from an old-linux-dude standpoint, what I'd REALLY like to see is a simplified startup process that is basically a "FRC Teams using non-traditional stuff please put your startup scripts here"-Folder. Where each script is a name like 0-startMeFirst.sh, 1-startMeSecond.sh, 2-startMeThird.sh. And then those are all executed in the appropriate order with each returning a success/failure. This is similar to how init worked and granted, systemd has replaced it so maybe systemd is an option. Basically, I'd like the roboRIO to behave more like the linux system that it is(n't).

Quote:
Originally Posted by amesmich View Post
Our team got ROS up and running this past year and then for various reasons scraped it. One of the main reasons is the closed loop feedback and processing that the talons provide. We could not leverage that as intended. So until another day. Thanks for the update. You work is interesting and helpful.
I remember you contacting us a couple times early this season and getting an email forwarded from Omar I think. As I recall, you were using the ROS for LabVIEW implementation from Tufts. We have moved 100% away from LabVIEW at this point as we also found it a hindrance to making ROS behave like ROS. Hopefully our paper helps you out with getting it working down the road.
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman
Clarke's Laws
Reply With Quote
  #14   Spotlight this post!  
Unread 06-27-2018, 10:17 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,395
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: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by marshall View Post
I will let the students respond to this but from an old-linux-dude standpoint, what I'd REALLY like to see is a simplified startup process that is basically a "FRC Teams using non-traditional stuff please put your startup scripts here"-Folder. Where each script is a name like 0-startMeFirst.sh, 1-startMeSecond.sh, 2-startMeThird.sh. And then those are all executed in the appropriate order with each returning a success/failure. This is similar to how init worked and granted, systemd has replaced it so maybe systemd is an option. Basically, I'd like the roboRIO to behave more like the linux system that it is(n't).
There is a traditional init.d/rc.d folder on the RIO, and it works exactly as you would expect. I was actually quite surprised you tried to use robotCommand instead of this.
__________________
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
  #15   Spotlight this post!  
Unread 06-27-2018, 10:24 AM
marshall's Avatar
marshall marshall is offline
Online Stripe & Drape Sales
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 3,012
marshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond reputemarshall has a reputation beyond repute
Re: paper: ZebROS 1.0: ROS for FRC

Quote:
Originally Posted by virtuald View Post
There is a traditional init.d/rc.d folder on the RIO, and it works exactly as you would expect. I was actually quite surprised you tried to use robotCommand instead of this.
LOL - as if I have anything to do with coding the robot.

Build season is a crazy time and the obvious solutions sometimes escape us. Probably worth digging into this.

Though, honestly, what we ended up with worked well for us.
__________________
"La mejor salsa del mundo es la hambre" - Miguel de Cervantes
"The future is unwritten" - Joe Strummer
"Simplify, then add lightness" - Colin Chapman
Clarke's Laws
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 01:38 AM.

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


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