paper: Team 1626 update of Team 1153 Auto Echo

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

Team 1626 update of Team 1153 Auto Echo
by: kbmeier

VIEW code update to Team 1153’s Autonomous Echo to simplify the model and recording process, and to Lab run more easily on the RoboRio. We chose to forego the ability to sequence small operations, for easier recording and selection of complete autonomous routines.

Our team took the great work that 1153 did with “Echo” and updated it to fit the way we wanted to work with it. The 1153 solution is more elegant, but we wanted to minimize the number of times we had to deploy code, but we wanted to be able to record new routines on the practice field at competitions.

The RoboRio file system has a directories that appear as the equivalent of the cRIO directories, but they weren’t writable by the user running the robot. Rather than change permissions on that directory, we changed the code to write into the home directory of lvuser.

Then, we noticed that we weren’t using the ability to run small files sequentially, preferring, instead, to record a complete autonomous routine in a single pass. In this simpler mode, rather than modifying and deploying our robot code to add a file to the list of available programs, as was required in the original version, our team changed the code to allow the operator to scroll through all of the files in the directory containing the routines from the joystick buttons while the robot was disabled.

We found that we still had issues with this because the “Record” button was on the front panel of one of the VIs, so, to record a routine the robot had to be running under LabVIEW, instead of just the driver station. Getting this running on the practice field consumed a lot of our practice time, and we didn’t use Echo as much as we should have. During the off season, we updated the code to use the buttons and the string controls and displays on the driver station for complete control of the record process, so we can do everything we want without starting LabVIEW.

The ability to have lists of routine to run in sequence is still in the VIs, but with the current interface, that functionality is unavailable.

I have included a prototype, as a zip file, of a similar function that I wrote as an exercise to gain some experience with Java programming. This version has no sequencing at all, and has a simpler handling of the timing of operations. There are three java classes, one iterative robot, one class that crudely implements a robot behaviors, and one class that implements the autonomous record/playback system.

The Java code was developed on a RoboRio with three hobby servos as the only controlled devices. It implements an interface that is very similar to the LabVIEW code, above.

Note that I consider the Java implementation to be a rough prototype, or proof-of-concept. It isn’t a Recycle Rush robot, and it hasn’t ever been run in competition. There are a bunch of try/catch blocks that are incomplete, It does, however point the way to at least one solution that works.

Echo_Autonomous_Independent.vi (18.4 KB)
Echo_Begin.vi (13.2 KB)
Echo_Disabled.vi (20.6 KB)
Echo_Global_Data.vi (7.11 KB)
Echo_Periodic_Tasks.vi (13.4 KB)
Echo_Record.vi (20.3 KB)
Echo_Record_Values.vi (15.4 KB)
ActionRecorder.zip (4.85 KB)