Some really simple stuff I just want to be certain about:
I wear corrective glasses, because I am legally blind. Like the E on the chart is illegible to me. Anyway, so it’s really hard to wear those and a pair of protective glasses. But when I was in BEST corrective glasses counted as protection. Does VEX allow this?
Also, I read something very interesting in the rulebook. According to <R1>, the 3rd subsystem can be changed out. That by definition is:
So does that mean I can remove the entire tower and arm in favor of a different system? Follow-up, when can I do this? Is it just between separate brackets (skills to standard) or at any time?
I’ve seen competitions allow just glasses without safety glasses but it’s not technically allowed without side shields (these things that clip onto your glasses that provide some extra protection). As for subsystem 3, you can swap it out whenever you want to,I saw at least one team do it based on their alliance partner’s ability in Skyrise.
Well… If you remove the tower and replace it with another tower, it is perfectly legal!
There are a total of 3 subsystems:
1: The drivetrain/base
2: The CORTEX/Power/Circuits
3: Additional mechanisms for manipulation of game objects
If you swap either 1 or 2, this is illegal(It will be considered a second robot). If you swap subsystem 3, this is absolutely allowed. Since you are removing the tower, which is subsystem 3, this is perfectly legal.
Hopefully this helps
Next is glasses,
Glasses like what you are saying is legal, since you are protecting your eyes from most objects. But, there are some judges that may be strict and require you to wear safety goggles to ensure protection(Safety goggles are made out of plastic, which won’t shatter. Glasses are made out of glass, which can shatter and can get into your eyes if they break).
Many people buy glasses with non shattering lenses, and those are usually fine. Regular lenses can shatter, but many people still wear them. Usually you have to put on side shields.
I don’t know about other states and worlds, but in Georgia even if you have glasses, you MUST wear safety goggles. Side shields don’t fly, and lack of safety glasses generally results in a dq of the alliance.
You can change out subsystem 3 at any time you’re not on the playing field. This includes between matches in a best 2 out of three elimination round.
Note that your robot must pass inspection with each subsystem. Also, after you change it out, the refs may re-inspect to be sure your robot is within specification.
I’ve seen a couple of people do this. I haven’t seen it this year, but it would be possible, for instance, to change out a claw with forks and substitute in a scoop. Or change a front dumper to a back dumper.
Last year, I saw a single flywheel swapped out for a double flywheel. I doubt it was worth the trouble of the extra engineering to make them match up the same way, but it looked cool. Probably could win design with that once or twice.
Yeah this is the TSA conference in Alabama, I’ll bring a pair just in case.
Also the swapping of that 3rd system is fantastic. See we have a system based on defense right now, but in a 1v0 skills match, not that effective. So I wondered if we could use a separate catapult system design we had in concept rn. That’s a big help.
One extra thing, I read this;
This seemed really obvious at first, but then I started wondering how do you start it? I mean there is a point at which the round starts, and if I cant press a button to start it…how does it know when to go? I don’t think there is any other source of input that would work for that, so how do you make that sub-code begin?
The current standard is to use a bit of code scaffolding called the “competition template”. The template has 3 tasks that run at different times, all under control of the competition field controller. It’s much less complex than it sounds.
There is a pre-autonomous task which runs after you plug your joystick controller in to the field controller and turn your joystick and robot on. Many people don’t need anything in this task, though sometimes you put some custom initialization there. This is also where you put the code to drive the VEX LCD screen and buttons if you want to use the LCD buttons to pick your autonomous task out of a list of them you’ve programmed.
There is an autonomous task which runs when the field controller starts the match. This is where you put your autonomous function. If you have multiple autonomous functions, you have to arrange some way to choose which one you want to run. This can be a case/switch statement based on a setting obtained from button presses in the pre-autonomous task, or the position of a potentiometer, or a jumper setting, or a touch switch. (If you have two different autonomous programs, you can arrange code so that a rubber band holding the actuator of a touch switch indicates program 1, while the absence of the rubber band (and therefore the absence of the switch press) indicates program 0.) By whatever method some selection is made, then the indicated bit of code is run during autonomous.
There is a driver control task which runs when the field controller switches it on. This is where the code which interprets button presses and joystick movement goes.
Just autonomous:
For skills only runs, you can run with no competition template. Just a single main task which contains the code you want to run. It will run when the field controller enables the robot.
Roll-Your-Own template:
You can use the state of a couple of internal variables supplied by the RobotC runtime system (firmware) to determine whether the robot is enabled or disabled, and whether the mode of the robot is autonomous or driver control.
Though it’s fine to do this, it’s better to go with the competition template.
I believe that’s how we’re more or less planning on doing things, running separate tasks via inputs (usually btns)
But in a basic sense how do I start it? Is there a specific time from startup till autonomous that I could program (wait x time…starttask autonomous)? Can I press a button at the beginning of autonomous and then just release the controls and not do anything else? Can I press it during the 3…2…1… countdown with a wait command so it starts after the bell?
This is my main programming concern atm. I believe I’m fairly adept in the execution, just need the guidelines.
Um…like our joystick controllers right? I think that’s what you mean, unless there is some override controller I’m not aware of.
Ah, I see. Look at the joystick controller. There is a connection port labeled “competition”. When you go out to play on a VEX competition field, they give you a network cable to attach to your joystick. That cable runs from your joystick controller to a black box mounted on a post by the playing field. The box is called a “driver interface” and there’s one for each alliance. (TSA is 1 against 1, but in regular VEX matches, two controllers plug in on each side of the field.) The two driver interface boxes are wired into third black box called a “match controller”, which is in turn cabled to a computer. The computer runs a program called “tournament manager.” It is that software which selects and switches between Enabled/disabled and Autonomous/driver. All that stuff is colloquially called the field controller.
Because all the switching/enabling is handled by external systems, you just have to put your software in the right spot of the template, and it will run at the correct time.
Second, holy cow. I am very confused now. I was completely unaware of this system. Looks like something I have to learn up on. But hey, it’s good I found that out now and not at TSA. That would have been very bad.
I always wondered what that port did. Time to do some research, since we haven’t covered this command set…at all…ever. Shout out to “Unnamed-Middle-Off-Nowhere-High-School”