View Single Post
  #1   Spotlight this post!  
Unread 02-09-2016, 10:12 AM
Tparbotmail Tparbotmail is offline
Registered User
FRC #3944
 
Join Date: Jan 2015
Location: Az
Posts: 66
Tparbotmail is an unknown quantity at this point
Autonomous in iterative robot

We are very uncertain on how to run autonomous in iterative robot. I have searched much code on github and read tons of post here. I don't see a lot of Boolean management in the code I have have found. Using Boolean logic to protect sections of logic was the only way we could get autonomous to work at all last year. What that means is, that the logic in the first part of the autonomous is executed based on some Boolean condition, while later logic is protected by other Boolean logic whose conditions have not been met. This is just an example, I am not talking about timers, it applies to any logic in iterative autonomous.

If timerA < 5 && a==true && b==false && c==false
Then do some work the next section of logic is dependent on
Since timeA is done set it's Boolean a=false and b=true
If timerB < 2 && a==false && b==true && c==false
Then do some more work and complete by managing more Booleans

Unless we used Booleans to mange state at any given time the robot would not work because all the code would execute simultaneously. We can handle Boolean arrays and the for loops to load them. We are really struggling to get any autonomous working at all because of the amount of Booleans we need to protect all the logic from executing simultaneously.

So here is the question I am trying to answer. I see posts here and code in github but see very little if anything about autonomous iterative and Boolean management. If anything I see the opposite. I see these very elegant code sections but as far as i can tell they won't work. Are we missing something about autonomous iterative that everyone is doing to keep the logic from executing simultaneously, but we have missed? Any guidance would be greatly appreciated.

Thanks
Reply With Quote