|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools | Rate Thread | Display Modes |
|
#16
|
||||
|
||||
|
Re: Modular Autonomous?
Quote:
|
|
#17
|
||||
|
||||
|
Re: Modular Autonomous?
I made my code too modular, i think i broke 30 classes of java code
|
|
#18
|
||||
|
||||
|
Re: Modular Autonomous?
I made a rather simple autonomous that works for all 3 zones, using one of the old banner sensors as a ball detector.
Autonomous is a simple loop of :
However, it times out after about 2 seconds to prevent hitting the bump or the wall in case there's no more balls in the zone. |
|
#19
|
|||
|
|||
|
Re: Modular Autonomous?
Quote:
I'd be interested to hear how other teams select which autonomous mode to use. We select the program number using joystick buttons on the OI, displaying the current program number using the DriverStationLCD. We have +/- 1 and +/- 10 buttons. Also, we allow the operator to select a delay before the program starts running. This has been useful when we've been playing with an alliance partner who would otherwise block our shots at the start of autonomous. Noel |
|
#20
|
|||
|
|||
|
Re: Modular Autonomous?
Quote:
Noel |
|
#21
|
||||
|
||||
|
Re: Modular Autonomous?
The beauty of modular autonomous is that if the architecture is set up right, any team should be able to use the state machine of maneuver implemented by another team, and all they should have to do is code the mechanisms to execute those basic maneuvers.
This is actually at the heart of the ADK project which I have started. This project is an open source collaborative project to attempt to bring an autonomous framework to first which all teams can implement. http://firstforge.wpi.edu/sf/projects/bobotics As you said so many teams this year implemented a drive forward - kick for n number of times. Think about how much time was spent programming the same things on different teams. Rather than all of us doing the same thing, I would like to see FIRST teams work as a company, code something once, not have 100 teams code the same thing, by doing this we will much better use our time as programmers and make debugging for all of us easier, and bring autonomous to a lot more, if not all, FIRST teams. anyone interested in working on this project please join it on first forge. We have had several teams sign up, and more express interest. Lets raise the bar of the entire FIRST autonomous program , not just the leaders by the rookies also. |
|
#22
|
||||
|
||||
|
Re: Modular Autonomous?
Quote:
I made a simple parser where you list out the commands and values for the commands in an cluster (aka struct).The datatype is array[cluster[enum "action" (forward, strafe, turn, kick), dbl "value"]] These are the actions (and order) that it executes. This could be very easily expanded to read that array from a text file. One modification that SHOULD be made is to send the action and action# back to the driver station. As for chosing the section of the field, there is a function that tells you that in the WPI libraries (under Driver Station. I think it's called "get alliance", but it also get you your position, which is either set by FMS or your driver station). However, I have a question: Is anyone else here working in LabVIEW, or am I on my own for now? |
|
#23
|
|||||
|
|||||
|
Re: Modular Autonomous?
I am not an official programmer on my team, but I plan to be one next year. We use LabView, so you're not on your own, I think.
|
|
#24
|
||||
|
||||
|
Re: Modular Autonomous?
We used an approach that just might fit your "modular" model.
We developed four autonomous routines, each was it's own vi and existed in it's own case in a case structure which were selectable by a single potentiometer on the robot. Two possibilities for the Home zone (Zone 1), and one for each of the other zones. Each routine was unique to their approach in playing the game, and each used different sensors to perform the routines. Each routine used a "State Machine" structure to perform it's tasks, this is where the modularity really begins to shine. If extra steps are needed, an additional "State" gets added, ie. backing up from your example. If one portion of any routine needed to be modified, you just modified it in that one state in that particular vi. We never had a single failure of the code to perform exactly as it was written. The only issues we had were do to the positioning of the balls and the routines of our alliance partners. |
|
#25
|
||||
|
||||
|
Re: Modular Autonomous?
For the most part, all of our code is modularly designed.
Our team reads in values from the virtual digital outputs on the Classmate UI. We then assign those values to variables used by a switch statement in our AutonInit() mode to determine what zone our robot is in. For example if DO 1 == true, then we call a series of drive/kick functions. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| pic: Modular Ramp | TheOtherGuy | Extra Discussion | 2 | 19-02-2007 11:52 |
| pic: Installing a modular transmission | Wayne C. | Extra Discussion | 12 | 16-09-2006 23:10 |
| Modular Robot | Jeff Rodriguez | Chit-Chat | 0 | 12-04-2005 14:08 |
| Modular Bots?? | BBFIRSTCHICK | General Forum | 21 | 11-01-2003 04:45 |
| Modular Designs | archiver | 2001 | 6 | 24-06-2002 00:43 |