To LUGNET HomepageTo LUGNET News HomepageTo LUGNET Guide Homepage
 Help on Searching
 
Post new message to lugnet.roboticsOpen lugnet.robotics in your NNTP NewsreaderTo LUGNET News Traffic PageSign In (Members)
 Robotics / 19793
19792  |  19794
Subject: 
RE: Autonomous RCX Racing - formerly Nascar style racing
Newsgroups: 
lugnet.robotics
Date: 
Tue, 17 Dec 2002 16:05:54 GMT
Original-From: 
Rob Limbaugh <(RLimbaugh@greenfieldgroup.)saynotospam(com)>
Viewed: 
603 times
  
<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 has 1 Reply:
  Re: Autonomous RCX Racing - formerly Nascar style racing
 
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 (...) (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
    

Custom Search

©2005 LUGNET. All rights reserved. - hosted by steinbruch.info GbR