Go to Post If there's one thing that I love, it's a good scouting challenge! - wilhitern1 [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

 
Reply
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 06-08-2018, 05:09 PM
Chadfrom308's Avatar
Chadfrom308 Chadfrom308 is offline
Slave to the bot
AKA: Chad Krause
FRC #7226 (Error 404)
Team Role: College Student
 
Join Date: Jan 2013
Rookie Year: 2011
Location: East Lansing
Posts: 307
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
Continuing Autonomous into Teleop

Is there a rule against continuing your autonomous program into teleop? Autonomous ends and there is a considerable delay between teleop and auton. So could we continue with our autonomous routine into teleop?

For example, in 2017 if our robot still had balls in the hopper, could we just continue to shoot balls until we physically handle the controller? Or if we wanted the robot to move back to a certain position after it's autonomous routine, can we just tell it to move to a place and if it doesn't get there, during autonomous, keep going until we input different controls?

Is there anyone that implements this? I feel like the 1-3s of deceleration and re-acceleration for the robot is time well wasted
__________________
//TODO: make signature
Reply With Quote
  #2   Spotlight this post!  
Unread 06-08-2018, 05:20 PM
marshall's Avatar
marshall marshall is offline
Discerning and exacting individual
FRC #0900 (The Zebracorns)
Team Role: Mentor
 
Join Date: Jan 2012
Rookie Year: 2003
Location: North Carolina
Posts: 2,646
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: Continuing Autonomous into Teleop

Quote:
Originally Posted by Chadfrom308 View Post
Is there a rule against continuing your autonomous program into teleop?
No.
__________________
"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
  #3   Spotlight this post!  
Unread 06-08-2018, 05:26 PM
Mark McLeod's Avatar
Mark McLeod Mark McLeod is offline
Just Itinerant
AKA: Hey dad...Father...MARK
FRC #0358 (Robotic Eagles)
Team Role: Engineer
 
Join Date: Mar 2003
Rookie Year: 2002
Location: Hauppauge, Long Island, NY
Posts: 9,633
Mark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond reputeMark McLeod has a reputation beyond repute
Re: Continuing Autonomous into Teleop

Some people do it accidentally...
__________________
2018 Beta Testing Results

Reply With Quote
  #4   Spotlight this post!  
Unread 06-08-2018, 05:40 PM
marcusbernstein's Avatar
marcusbernstein marcusbernstein is offline
I should be at baseball practice
FRC #1836 (The Milkenknights)
Team Role: Mascot
 
Join Date: Dec 2014
Rookie Year: 2013
Location: Los Angeles
Posts: 463
marcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond reputemarcusbernstein has a reputation beyond repute
Re: Continuing Autonomous into Teleop

Set your talons to coast mode and pray
__________________

"Once you've concluded that it isn't a code problem, it isn't an electrical problem, and it isn't a mechanical problem, after all that blaming you now have a culture problem."
"Precedence is no excuse for being wrong."
"Aesthetics are great, but not at the expense of functionality."
"An entire team rallied around a potentially wrong decision is better than half a team rallied around the right one. And if that potentially wrong decision ends up being the right one, that unified team will be successful."
Reply With Quote
  #5   Spotlight this post!  
Unread 06-08-2018, 05:58 PM
AriMB's Avatar
AriMB AriMB is offline
The Philadelphian emigrant
AKA: Ari Meles-Braverman
FRC #5987 (Galaxia)
Team Role: Mentor
 
Join Date: Mar 2015
Rookie Year: 2012
Location: Haifa, Israel
Posts: 1,524
AriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond reputeAriMB has a reputation beyond repute
Re: Continuing Autonomous into Teleop

To be clear, there is no rule about running a pre-programmed routine in the teleop time period. That said, during the second between when auton ends and teleop begins the robot is disabled, so you cannot give power to any of the motors or change states on any pneumatics. If inertia should keep your robot moving through that second of disable into the first few seconds of teleop, when you continue where you left off in your pre-programmed routing until your drivers pick up the controllers, that is perfectly fine.
__________________
Studying MechE at the Technion - Israel Institute of Technology
2017-present: Technical Mentor FRC 5987
2017-present: CSA/FTAA for FIRST Israel
2012-2016: Member FRC 423 Captian, Programmer (LabVIEW), Electrical, CAD, Manipulator, Chassis, Business, Outreach (everything)
Reply With Quote
  #6   Spotlight this post!  
Unread 06-08-2018, 06:32 PM
deslusionary's Avatar
deslusionary deslusionary is offline
easily impressed by fancy acronyms
AKA: Christopher Tinker
FRC #7093 (Veritas Valiants)
Team Role: Programmer
 
Join Date: Mar 2018
Rookie Year: 2018
Location: Austin TX
Posts: 66
deslusionary is a name known to alldeslusionary is a name known to alldeslusionary is a name known to alldeslusionary is a name known to alldeslusionary is a name known to alldeslusionary is a name known to all
Re: Continuing Autonomous into Teleop

Correct me if I'm wrong: I think some form of command-based programming would be necessary here. Achieving continuity while using IterativeRobot (or TimedRobot) would be much harder, as autonomous code is called in the AutonomousPeriodic function and Teleop from TeleopPeriodic.
Reply With Quote
  #7   Spotlight this post!  
Unread 06-08-2018, 06:57 PM
cpapplefamily's Avatar
cpapplefamily cpapplefamily is offline
Registered User
FRC #3244 (Granite City Gearheads)
Team Role: Mentor
 
Join Date: May 2015
Rookie Year: 2015
Location: Minnesota
Posts: 665
cpapplefamily is a name known to allcpapplefamily is a name known to allcpapplefamily is a name known to allcpapplefamily is a name known to allcpapplefamily is a name known to allcpapplefamily is a name known to all
Re: Continuing Autonomous into Teleop

We write a lot of command groups to use in Teleop.

Last year with a single button push the robot
1 tilted the gear onto the peg
2 drove away from the peg
3 raised the gear manipulator.

That sequence we did a lot so we automated it.

This year a single button press prepared our climb by;
1 drop cube (If had one)
2 raise intake wrist
3 lower scissors
4 engage winch
5 raise hooks to bar
all while the driver positioned the robot for facing the boss.

A command group is an autonomous routine.
__________________
It makes sense in my mind.



Reply With Quote
  #8   Spotlight this post!  
Unread 06-08-2018, 07:27 PM
Thad House Thad House is offline
Volunteer, WPILib Contributor
no team (Waiting for 2021)
Team Role: Mentor
 
Join Date: Feb 2011
Rookie Year: 2010
Location: Thousand Oaks, California
Posts: 1,198
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: Continuing Autonomous into Teleop

One thing to remember is the field does explicitly disable your robot for about a second between auto and teleop, so any motors will definitely lose power during that time period.
__________________
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
  #9   Spotlight this post!  
Unread 06-08-2018, 07:38 PM
AlexanderTheOK AlexanderTheOK is offline
Guy
no team
 
Join Date: Jan 2014
Rookie Year: 2012
Location: Los Angeles
Posts: 204
AlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant futureAlexanderTheOK has a brilliant future
Re: Continuing Autonomous into Teleop

Alright fellas. Lets get to work on the new meta of robots that use inertia to continue playing the game during the 1 second disable period. Should be some interesting clockwork mechanisms.

Heck, lets build robots that start playing the game before autonomous starts using entirely non electrical stored potential energy and controls. We could start them with a timed fuse, or an arrow shot at a tensioned rope. Are there any rules against this?
Reply With Quote
  #10   Spotlight this post!  
Unread 06-10-2018, 10:01 AM
Chadfrom308's Avatar
Chadfrom308 Chadfrom308 is offline
Slave to the bot
AKA: Chad Krause
FRC #7226 (Error 404)
Team Role: College Student
 
Join Date: Jan 2013
Rookie Year: 2011
Location: East Lansing
Posts: 307
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: Continuing Autonomous into Teleop

Quote:
Originally Posted by AlexanderTheOK View Post
Alright fellas. Lets get to work on the new meta of robots that use inertia to continue playing the game during the 1 second disable period. Should be some interesting clockwork mechanisms.

Heck, lets build robots that start playing the game before autonomous starts using entirely non electrical stored potential energy and controls. We could start them with a timed fuse, or an arrow shot at a tensioned rope. Are there any rules against this?
Use half the robot's allowed weight for flywheels and use that energy to continue to drive! It's the future!

To everyone else: I forgot the robot disable period. That throws a wrench in things. It might be advantageous to write some code to continue the autonomous routine in teleop until we cancel it manually. Who knows, it all depends on what the autonomous system can do
__________________
//TODO: make signature
Reply With Quote
  #11   Spotlight this post!  
Unread 06-11-2018, 04:41 PM
Brian Michell's Avatar
Brian Michell Brian Michell is offline
Registered User
FRC #1817 (Llano Estacado RoboRaiders)
Team Role: Mentor
 
Join Date: Aug 2015
Rookie Year: 2015
Location: Houston
Posts: 144
Brian Michell is just really niceBrian Michell is just really niceBrian Michell is just really niceBrian Michell is just really niceBrian Michell is just really nice
Re: Continuing Autonomous into Teleop

Quote:
Originally Posted by deslusionary View Post
Correct me if I'm wrong: I think some form of command-based programming would be necessary here. Achieving continuity while using IterativeRobot (or TimedRobot) would be much harder, as autonomous code is called in the AutonomousPeriodic function and Teleop from TeleopPeriodic.
I have never used the command based robot program, however, from what I understand of it 1817 uses a method similar to command based while extending TimedRobot. We never thought about letting the auto program continue outside of the autonomous period (and put measures into the program to prevent this), but components of our robot retained their autonomous functions that got set in auto.
__________________


*Any views I express are my own and do not reflect those of any organization I am currently or formerly associated with unless stated.
5416
2015-2016: Programming, Drive Coach
6488
2017: Programming, Drive Mentor
1817
2018-?: Programming Mentor
Reply With Quote
  #12   Spotlight this post!  
Unread 06-11-2018, 07:35 PM
gerthworm's Avatar
gerthworm gerthworm is offline
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: 515
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: Continuing Autonomous into Teleop

Quote:
Originally Posted by deslusionary View Post
Correct me if I'm wrong: I think some form of command-based programming would be necessary here. Achieving continuity while using IterativeRobot (or TimedRobot) would be much harder, as autonomous code is called in the AutonomousPeriodic function and Teleop from TeleopPeriodic.
Necessary - probably not. A quick proof by counter-example:

Code:
void teleopPeriodic(){
    if(DriverStation.getMatchTime() > 120.0){
        //do autonomous stuff
    } else {
        //do full driver control stuff
    }
}

Helpful? For sure. Any architecture that helps you separate the source of the commands for the robot from the execution of the action commanded will probably be very useful for keeping something like this clean and robust.
Reply With Quote
  #13   Spotlight this post!  
Unread 06-12-2018, 06:36 AM
UnofficialForth's Avatar
UnofficialForth UnofficialForth is offline
Registered User
FRC #1646 (Precision Guessworks)
Team Role: Mentor
 
Join Date: Mar 2017
Rookie Year: 2010
Location: Indiana
Posts: 42
UnofficialForth will become famous soon enoughUnofficialForth will become famous soon enough
Re: Continuing Autonomous into Teleop

I actually think this topic deserves much more credit than most people in this thread are giving it. This has been a topic I have wanted to dive into for 2 years now. It hasn't been realized due to my switch from 1747 as a student to 1646 as a mentor, but it definitely is interesting.

Let's take a look at this year to start. For a team that can get 3 cubes to the scale in auto, It's safe to assume that it takes at most 6 seconds to go from scoring a cube on the scale to scoring another. Even with a disable period, scoring another cube on the scale within the first 6 seconds of the match would have been very big. Even if your team averages only 2 cubes from auto, that takes about 8 seconds, which still beats the speed of many strong robots. This game was completely about being fast and first, and this would definitively aid in that.

Some might be hesitant of letting a robot score on its own again, but there is still a huge gain if the robot has grabbed another game piece, ready for the human player to take control, as long as the controller disables the auto when any input is given.

This all may seem quite complicated, so the question remains...

Can only top-tier teams do it?
No! Let's take steamworks for example. Some first may think that continuing auto would require advanced motion profiling, top-notch speed and precision, some killer hardware, and not to mention balls. However, there is a very simple auto for teams looking to be picked for their defensive abilities. As soon as auto starts, run the robot at full speed onto your opponent's side of the field, with the intent of hitting one of their robots and starting a pushing match. This sudden burst will be a large problem to deal with, since most teams wouldn't be able to react with enough time to evade, allowing you to immediately start your defensive countermeasures.

There is a host of options available, and I really do hope to see some of them implemented in the near future. It may seem like only a minor advantage, but it's a combination of many minor advantages that will take a team from good to great.
Reply With Quote
  #14   Spotlight this post!  
Unread 06-12-2018, 07:01 AM
gerthworm's Avatar
gerthworm gerthworm is offline
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: 515
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: Continuing Autonomous into Teleop

Quote:
Originally Posted by UnofficialForth View Post
Even with a disable period, scoring another cube on the scale within the first 6 seconds of the match would have been very big. Even if your team averages only 2 cubes from auto, that takes about 8 seconds, which still beats the speed of many strong robots. This game was completely about being fast and first, and this would definitively aid in that.
In most cases, accomplishing this is advantageous. The question is how to accomplish it best.

For our team, the answer has been (and will likely continue to be) human driver is faster and more consistant than auto. So, for us, the best way to accomplish the strategy is to use the human as soon as possible.

We do usually look to see where we should be "ending" auto to be well positioned going into teleop. We missed the boat on this in 2016, where there was high value in crossing back over a defense (better prep for the first cross in teleop).

Last edited by gerthworm : 06-12-2018 at 07:03 AM. Reason: added more.
Reply With Quote
  #15   Spotlight this post!  
Unread 06-12-2018, 12:00 PM
Chris Hibner's Avatar Unsung FIRST Hero
Chris Hibner Chris Hibner is offline
Eschewing Obfuscation Since 1990
AKA: Lars Kamen's Roadie
FRC #0051 (Wings of Fire (on sabbatical))
Team Role: Engineer
 
Join Date: May 2001
Rookie Year: 1997
Location: Canton, MI
Posts: 1,507
Chris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond reputeChris Hibner has a reputation beyond repute
Re: Continuing Autonomous into Teleop

Quote:
Originally Posted by Chadfrom308 View Post
It might be advantageous to write some code to continue the autonomous routine in teleop until we cancel it manually. Who knows, it all depends on what the autonomous system can do
We used to do this exact thing for many years. That way if autonomous mode ended before you scored that last object, it would finish scoring it while the drivers were stepping up to the controls.

You do have to be careful because the code is still running while you're disabled (if you put your control code in the timer loop area rather than in the autonomous area), which means you could be getting a lot of integral windup in your PIDs (as well as other issues). As long as you take care of those things, it can work pretty well.
__________________
-
An ounce of perception is worth a pound of obscure.
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 10:31 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