Chief Delphi

Chief Delphi (http://www.chiefdelphi.com/forums/index.php)
-   Rules/Strategy (http://www.chiefdelphi.com/forums/forumdisplay.php?f=6)
-   -   How many RoboCoach Commands? (http://www.chiefdelphi.com/forums/showthread.php?t=60884)

David 06-01-2008 23:46

Re: How many RoboCoach Commands?
 
Quote:

Originally Posted by Chrisms (Post 670369)
it's not a loophole, just creativity of coding.

also, think about this:
if you had one of your commands "cycle" through a list of 3 other commands, you could have an infinite amount of commands from 4 inputs. however... your robocoach will go nuts trying to figure out which command is which. Maybe if you had a card counter or something.. hmmm.

You could have a few status lights on the robot to tell the robocoach what programming set he had on.

Quote:

I think that the Robocoach can only make the robot do 4 things during a match. As for the changing from hybrid to tele - the second bullet of <R69> specifically disallows that.

• The ROBOT shall not dynamically change the recognized command set during a MATCH.
If this rule is interpreted literally you would have to have, for example, a button to turn left then a button to stop turning. I believe this rule is intended so teams cannot change code "on-the-fly" during a match (i.e. downloading new code through some remotely operate serial cable). I do not believe this rule prevents cycling through commands like Chrisms and others have stated. Also if your team had PID or traction control and one of your commands was drive straight, then, if interpreted literally, you would have violated this rule (the robot is dynamically changing motor speed depending on the robot's speed).

663.keith 07-01-2008 00:03

Re: How many RoboCoach Commands?
 
Quote:

Originally Posted by David (Post 670681)
You could have a few status lights on the robot to tell the robocoach what programming set he had on.



If this rule is interpreted literally you would have to have, for example, a button to turn left then a button to stop turning. I believe this rule is intended so teams cannot change code "on-the-fly" during a match (i.e. downloading new code through some remotely operate serial cable). I do not believe this rule prevents cycling through commands like Chrisms and others have stated. Also if your team had PID or traction control and one of your commands was drive straight, then, if interpreted literally, you would have violated this rule (the robot is dynamically changing motor speed depending on the robot's speed).

I believe that it is pretty apparent that the intention of the rules is to only have four commands ever sent to the robot. The GDC went as far as to state this in three separate rules <G01> <R65> and <R69>. I think the best way to interpret this rule is by the 3x5 card where you have to state what the four commands are, if you can write the commands in such a way that there are only 4 commands, i would say it is legal.

for more information i would suggest looking into this topic
http://www.chiefdelphi.com/forums/sh...&highlight=R65

specific rules are listed in my previous post on this matter
http://www.chiefdelphi.com/forums/sh...4&postcount=25

jgannon 07-01-2008 00:09

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by EricH (Post 670453)
Can we put the lawyers to bed now? I'm pretty sure the intent is FOUR buttons control FOUR commands, in a 1:1 ratio.

I'm mostly interested in figuring out what a "command" is so I can make sure that my students are doing it properly, and so I can explain what they're doing wrong when the issue inevitably arises. I could envision somebody writing this piece of code:
Code:

int *fwd[] = {&relay1_fwd, &relay2_fwd, &relay3_fwd, &relay4_fwd, &relay5_fwd};
int *rev[] = {&relay1_rev, &relay2_rev, &relay3_rev, &relay4_rev, &relay5_rev};
int index = 0;

while(true){
  if(button == 1)
    index = (index + 1) % 5;
  if(button == 2){
    *(fwd[index]) = !*(fwd[index]);
    *(rev[index]) = !*(rev[index]);
  }
}

And their index card reads:
Code:

Button 1: Chooses a relay
Button 2: Toggles a relay

So, using two buttons, I am able to turn any of five relays on or off. My command set never changes. I'd call this two commands. I suspect that some people would call it ten, but that seems like a bizarrely strict interpretation, and I'd expect a lot of askance looks from anyone I tried to tell that to. If that is indeed the case, I expect that a lot of teams won't do it properly for a lack of understanding, and that it will be impossible to police.

EricH 07-01-2008 00:15

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by jgannon (Post 670708)
I'm mostly interested in figuring out what a "command" is so I can make sure that my students are doing it properly, and so I can explain what they're doing wrong when the issue inevitably arises. I could envision somebody writing this piece of code:
[snip]
So, using two buttons, I am able to turn any of five relays on or off. My command set never changes. I'd call this two commands. I suspect that some people would call it ten, but that seems like a bizarrely strict interpretation, and I'd expect a lot of askance looks from anyone I tried to tell that to. If that is indeed the case, I expect that a lot of teams won't do it properly for a lack of understanding, and that it will be impossible to police.

I should have said actions. The rules say actions as well. (Granted, you've got a point, but I think common sense should win over the lawyers in this case.)

Vogel648 07-01-2008 01:14

Re: Multiple IR Key codes to activate four hybrid operating modes
 
• The ROBOT shall not dynamically change the recognized command set during a MATCH.
I was under the impression that this rule was to keep people from choosing which 4 signals to recognize after the match had already started, not it couldn't change it's reaction based on it. So if I were commanding my arm to a specific angle during autonomous it wouldn't be illegal for that to move the arm up sometimes and not others I don't think. But what if I had a + button a - button and 2 toggle mode buttons. The two buttons ALWAYS toggle the mode, the + and the - always effect the mode in the + or - direction... It's really hard to interpret such a rule if you read it as "your robot can only react in 4 different ways to inputs", which is why I think that really can't be.

My 2 cents
-nrv

Uberbots 07-01-2008 02:14

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by EricH (Post 670714)
I should have said actions. The rules say actions as well. (Granted, you've got a point, but I think common sense should win over the lawyers in this case.)

But the thing is... does it mean physical actions or any action? because you could just map a button to a bit in a 4 bit number, and the remote will not send any encoded messages over nor will it be changing the message set dynamically. granted that would be a beast for the robocoach to control, but still...

JohnC 07-01-2008 02:24

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by jgannon (Post 670708)
...So, using two buttons, I am able to turn any of five relays on or off. My command set never changes. I'd call this two commands. I suspect that some people would call it ten, but that seems like a bizarrely strict interpretation, and I'd expect a lot of askance looks from anyone I tried to tell that to.

We're looking at that too. Specifically:

A: cycles through positions on the overpass
B: sets position (where our ball is)
C: cycles through starting positions in the home stretch
D: sets starting position

that way the robot will know where it is and where the ball is, and can conduct itself appropriately.

What is the CD opinion on that?

Guy Davidson 07-01-2008 02:44

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by JohnC (Post 670819)
C: cycles through starting positions in the home stretch
D: sets starting position

Why not just have a physical four-position switch on the robot connected to two digital inputs and use those to specify the position of the robot? You'll know it when you place it, and you have the freedom of using the fourth position to do whatever you want.

JohnC 07-01-2008 05:18

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by sumadin (Post 670830)
Why not just have a physical four-position switch on the robot connected to two digital inputs and use those to specify the position of the robot? You'll know it when you place it, and you have the freedom of using the fourth position to do whatever you want.

Because almost a year ago now, at PNW 2007, I hung out with one of the mars rover guys (Mark Leon) who told us the exact same story Lavery did (plus lots of other fun stuff :)) so I'm inspired to play it how I think they want us to.

We did do something similar to that last year with our various autonomous modes though.

MrForbes 08-01-2008 12:35

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by EricH (Post 670453)
It's also harder to do. And, see <R65>:
(emphasis mine)

• use a maximum of four different inputs from the ROBOCOACH (e.g. use four different buttons) during any single MATCH
• communicate no more than four messages, states or conditions to the ROBOT (please refer to Rule <R69> and Rule <G01> for additional information) during any single MATCH.

Can we put the lawyers to bed now? I'm pretty sure the intent is FOUR buttons control FOUR commands, in a 1:1 ratio.

I'm not quite ready to put it to bed....I see no rule violation (either literal or in spirit) if you transmit 4 different sequences of the four buttons, to execute 4 different high level commands.

For example, using the number buttons,

Drive straight: 241
Turn left: 134
Whack ball: 423
Stop: 123

The signal that the remote sends when you push one button is coded already, somehow, isn't it? I see no rule preventing you from changing the coding scheme.

Might be a Q&A question...with emphasis that the intent of this method is to improve safety by reducing communication errors :)

JohnC 09-01-2008 00:43

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by squirrel (Post 672316)
I'm not quite ready to put it to bed....I see no rule violation (either literal or in spirit) if you transmit 4 different sequences of the four buttons, to execute 4 different high level commands.

End of <R65>
  • not use changes in the signal states to encode or transmit larger messages (e.g. Morse code)

Uberbots 09-01-2008 01:52

Re: Multiple IR Key codes to activate four hybrid operating modes
 
Quote:

Originally Posted by squirrel (Post 672316)
I'm not quite ready to put it to bed....I see no rule violation (either literal or in spirit) if you transmit 4 different sequences of the four buttons, to execute 4 different high level commands.

For example, using the number buttons,

Drive straight: 241
Turn left: 134
Whack ball: 423
Stop: 123

The signal that the remote sends when you push one button is coded already, somehow, isn't it? I see no rule preventing you from changing the coding scheme.

Might be a Q&A question...with emphasis that the intent of this method is to improve safety by reducing communication errors :)

You cant say with this method that one button is doing one thing, as they are always part of a larger message.

MrForbes 09-01-2008 08:21

Re: How many RoboCoach Commands?
 
Not at all! The message is what comes out the other end...and I am still only selecting one of 4 commands, which is what the rules allow.

Note that I specified the message in each case:

For the message "Drive straight", the signal is: 241
For the message "Turn left", the signal is: 134
For the message "Whack ball", the signal is: 423
For the message "Stop", the signal is: 123

I have modified the SIGNAL to be 3 characters, but I have NOT changed the number of MESSAGES. The are still only 4 messages.

===================================

To show you what would be illegal, consider this example of a use of a larger number of coded messages, with a smaller signal:

The message "drive" uses a first digit of 1
The message "turn" uses a first digit of 2
The message "manipulate ball" uses a first digit of 3
The message "stop" uses a first digit of 4.

Now, we get to the illegal part:

For a first digit of 1, the second digit of 1 means "slow"
For a first digit of 1, the second digit of 2 means "medium"
For a first digit of 1, the second digit of 3 means "fast"

For a first digit of 2, the second digit of 1 means "right"
For a first digit of 2, the second digit of 2 means "left"

For a first digit of 3, the second digit of 1 means "pop off overpass"
For a first digit of 3, the second digit of 2 means "pick up"
For a first digit of 3, the second digit of 3 means "drop"

For a first digit of 4, the second digit of 1 means "with manipulator down"
For a first digit of 4, the second digit of 2 means "with manipulator up"

See how in this illegal example, we use only the 4 digits, and the signal is only two characters long, but it is decoded into ten different MESSAGES!

jtdowney 09-01-2008 08:52

Re: How many RoboCoach Commands?
 
Quote:

Originally Posted by squirrel (Post 672316)
I'm not quite ready to put it to bed....I see no rule violation (either literal or in spirit) if you transmit 4 different sequences of the four buttons, to execute 4 different high level commands.

R65 states
Quote:

Active SIGNALING DEVICES shall:
* be operated through only a single input at any given time (e.g. may not be operated by depressing two buttons at one time)

MrForbes 09-01-2008 09:02

Re: How many RoboCoach Commands?
 
Pressing two buttons in sequence is not the same as pressing two buttons at once.

However, it is likely that the intent of that rule is also to prohibit the longer signal scheme I presented.....so if someone plans to use this scheme, it would be wise to ask about it on the Q&A


All times are GMT -5. The time now is 02:19.

Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi