Subject:
|
Re: Autonomous RCX Racing - formerly Nascar style racing
|
Newsgroups:
|
lugnet.robotics
|
Date:
|
Tue, 17 Dec 2002 17:20:02 GMT
|
Viewed:
|
976 times
|
| |
| |
These are exellent ideas, I was originally trying to support 20+ teams like
a tournament. only a few (eight is plenty)cars would be on the track at one
time. Now I realize that would be better handeled by a database.
I like the idea of the vision command but i dont have that capability
To avoid broadcast collisions, I think I will place a recieving tower on
thew front straight and a tower fro broadcasting race/place data on the back
straight.
Jeff Wood
"Rob Limbaugh" <lego-robotics@crynwr.com> wrote in message
news:73718FFFA963C045BD5B74B2F9B1EBA53B0D87@gcgpo1.greenfieldgroup.com...
<SNIP>
> >
> > I plan to acomplish this by using a serise of single byte messages from
> > the RCX to the Tower and vice versa (0-255 or 000 to 255)
> >
> > Messages from the tower to the RCX will have the vehicle number (1-24) as
> > the first two digits and the place as the third (car four is in third place
> > would be 43 or 043 car twelve in first place would be 121)
> the third digit
>
> What message would the 11th place car get?
>
> Right off the bat, I'd say 23 cars is too many. It won't
> leave any room to
> move around, so they'll spend all their time bumping each
> other. I'd guess
> 4 or 6 would be about right. So, if the program was set to
> handle 10, that
> should be pretty good.
>
> Or, you could specify that '9' means 9th or above.
>
> If you do limit it to 9 (or 10), you could send the car
> number, position,
> and some other message to each car.
>
> Can the RCX receive a message of 000?
Perhaps 2 bits for race status, 3 bits for car #, and 3 bits for position.
That gives 8 cars and 8 positions plus allows the ability to tell a car
"finished", "keep racing", or "caution":
MSB 7 6 5 4 3 2 1 0 LSB
s s c c c p p p Message meaning Value range
0 0 x x x x x x command broadcast 0 thru 63
0 1 x x x x x x keep racing 64 thru 127
1 0 x x x x x x caution 128 thru 191
1 1 x x x x x x finished 192 thru 255
s = race status (2 bits)
c = car number (3 bits)
p = position
Examples:
10000000 = caution flag up, car 1 in 1st place
11101111 = finished race, car 5 in 8th place
01011001 = keep racing, car 3 in 2nd place
Depending on how complex someone wanted to program, they
may want to use that detail, or they could simply check
for value ranges to know if they should keep going, slow
down, or are finished.
Possible meaning of message values < 64:
MSB 7 6 5 4 3 2 1 0 LSB
n m m d d d
0 0 x x x x x x
n = notify (1=private followed 2 bit command 3 bit car)
m = message/command
d = car number data or extended command data
Examples:
00111011 = car #3, you are disqualified
00011111 = all cars, race cancelled, stop immediately
>
> > Messages for the RCX would be triggered from an event from the the light
> > sensor over the start finsh line at the beginning of a straightaway or a
> > touch sensor for an overhead bar. the rcx would transmit a single byte with
> > the first two digits being the racer number and the last digit being the lap
> > number(for error correction)
>
> What happens if two cars cross the line together? I think
> this will be the
> hardest part to do with a program. Maybe you could design it
> so someone
> presses a key when their 'car' crosses the start/finish line.
I think the message should be triggered by the bot seeing
a start/finish line marked on the track. If it sees the line,
it attempts to send a message. If it does not receive a
race status message (condition, car, rank), it tries a resend.
Another option would be to color code the tops of the cars
(up to 8 regions) and use a Lego Cam over the track. This
would also allow for "photo finishes". (FYI - Other Logitec
USB cams with better quality work with Vision Command.)
In the cam scenario, 8 regions are defined in a checkerboard
pattern and the camera is aimed so the regions are directly
over the actual solid colored line of the track. When a car
crosses, the appropriate signal is sent. This would also
mean it is the car's responsibility to "listen" and does not
need to "talk" at all.
Also, a serial IR tower could be built/modified so that
IR broadcast points could be set up along the track. Racers
could use the messages intended for other cars to adjust
bot behavior in programming.
Perhaps that's all too complicated...
- Rob
|
|
Message is in Reply To:
| | RE: Autonomous RCX Racing - formerly Nascar style racing
|
| <SNIP> (...) Perhaps 2 bits for race status, 3 bits for car #, and 3 bits for position. That gives 8 cars and 8 positions plus allows the ability to tell a car "finished", "keep racing", or "caution": MSB 7 6 5 4 3 2 1 0 LSB s s c c c p p p Message (...) (22 years ago, 17-Dec-02, to lugnet.robotics)
|
2 Messages in This Thread:
- Entire Thread on One Page:
- Nested:
All | Brief | Compact | Dots
Linear:
All | Brief | Compact
|
|
|
Active threads in Robotics
|
|
|
|