Hi All!
As promised, here is the thread to discuss sensing! My apologies, this
is a long one but this is also a complicated topic that I think requires
such a discussion.
The sensing and dexterity rules have been rather open-ended so far
because when the current rulebook was written, the goal was that RMRC
would follow the Major RRL rules, with just the modifications necessary
to make the competition work for us. The idea was that the sensing and
dexterity rules would be mostly a mirror of the Major RRL rules.
Things have moved a bit in the years since though and I think we want to
make sure that for this year, the RMRC rulebook is complete by itself,
and also reflects what makes sense for RMRC now. Here are my proposed
changes, please let us know what you think!
Here is the apparatus we have for sensing and dexterity:
- The 5 sets of 5 Landolt-C optotypes in tubes in the linear rail, each
of which starts with a manipulation object.
- The contents of the sensor crate and the door to open.
- The keypad omni.
- The QR codes in the labyrinth.
Here are some open questions that I think are worth considering. For the
most part, this is about being more generous with the points and
allowing teams more opportunities to score and demonstrate what they can
do, but these proposals also add some complexity to the scoring.
- As currently written in the rulebook, the manipulation objects start
inside the linear rail, blocking the Landolt-C optotypes so to score
these points, the team first needs to remove the manipulation object. I
think we should loosen this requirement and allow teams to choose to
start with some/all of the manipulation objects removed, which means
they won't get the point for that object but they can go straight to the
sensing task (just like leaving the door open on the sensor crate).
- The rulebook is ambiguous about how to score a Landolt-C optotype. At
the time it was written, in the RRL a Landolt-C was considered "scored"
if the operator could identify the second ring in (with a gap of about
4.4 mm). Given how high resolution cameras have advanced, I propose we
give a point for each ring (including the biggest one with the lettering
in it, which shows you "got there"). This does mean that each Landolt-C
optotype progression is now theoretically worth 5 points but I don't
think that this will be an issue as I've yet to see a robot (that isn't
a big bomb squad robot with large lenses on them) able to zoom that far in.
- The rulebook currently states that 1 point is scored for grabbing a
manipulation object and placing it in the designated container. I
propose that we give 1 point for picking up the manipulation object and
putting/dropping it anywhere that isn't the tube that it came from, and
1 more point for putting it into the designated container (that the team
places somewhere on the field). At the time that the previous rules were
written, the Major RRL had the robot carry the container into the arena
but that might be a bit impractical for RMRC robots, at least just yet.
- The keypad omni requires that the center key (the "5" key) be pressed
without touching the surrounding keys to score a point. Teams may score
the same key, on the same side, multiple times in the timeslot but not
consecutively. I propose that we loosen this up, with the "5" worth 2
points and any of the immediately surrounding 8 keys worth 1 point. Once
a key is hit on a keypad, no other key on that keypad counts until a key
is hit on another keypad. Note that this does mean that a team can
bounce back and forth between two keypads. I think this makes sense
given how small the robots are but does anyone think that, instead, we
should oblige teams to touch every keypad before they can score a keypad
for the second time?
- The sensor crate appears on the manipulation field and in the
labyrinth. The rulebook and construction guide just assume we will be
using the same sensor crate as RRL but the RRL sensor crate has evolved
since our rules were written. I propose that we fix our sensor crate to
a simpler version that has the following elements in it:
1: A hazmat label (see previous discussion and proposal below). 1 point
for correctly identifying it. No penalty for incorrectly identifying it.
We probably want to think about expanding this out with points per
element in future years as per the previous email thread, also see below.
2: A Landolt-C optotype. 1 point for the middle ring (approx. 1.8 mm gap).
3: A thermal source hidden behind something opaque (e.g., a chemical or
USB handwarmer in a paper envelope - where the envelope is much larger
than the handwarmer so it isn't obvious by sight where the handwarmer
is). 1 point for correctly identifying where the thermal source is.
4: Motion. Are we OK with leaving out motion for now? Alternatively how
about we go for an easier motion source, such as standardizing on 2
wristwatches with white dials at least a 35 mm dial, and a red or black
second hand (motion can be continuous or intermittent) at least 10 mm
long, and the task is seeing which one is stopped?
5: A magnet (this simulates anything that requires close-proximity
sensing without the need for a gas source). 1 point for demonstrating
that the robot can detect the polarity (but this maybe doesn't make
sense to score manually - see below).
- The rulebook is unclear about how autonomy interacts with sensing.
Page 19 implies that autonomous points are worth a 4x multiplier. I
propose we clarify this as follows:
1: A hazmat label that is fully identified by autonomous computer vision
is worth a 4x multiplier.
2: A Landolt-C ring where the orientation *relative to the letters
identifying it* is correctly identified fully autonomously by computer
vision is worth a 4x multiplier.
3: A thermal source that is identified by the system correctly putting
an overlay indicator over the warm spot on the display is worth a 4x
multiplier.
4: Automatically detecting which watch is moving yields the 4x
multiplier. Up to the system to determine that the robot is stationary
and highlight small moving objects in the scene.
For all of these, the operator is allowed to point the camera at the
label, ring, or thermal source and zoom into it. The operator cannot
tell the system that it exists (e.g., cannot push a button to start
detection, the detection software must be always running). The operator
also cannot tell the system where the label, ring, or thermal source is
or provide any additional information. Furthermore, the first completion
of the test will be considered for scoring. For instance, if, as the
robot drives up, the system autonomously (but incorrectly) identifies
the label from far away, even if the system identifies it correctly
later when it drives closer, the team won't get the 4x multiplier for
that test. The team can still manually perform the task to score the
point without the multiplier (i.e., there's no risk to trying autonomy).
5: By definition the magnet needs to be detected autonomously (but we
allow the human to wave the detector near the magnet) so I propose that
it's always worth 4x.
- Similarly the rulebook is unclear about how autonomy interacts with
dexterity. I propose that for opening the crate door or picking up a
manipulation object, as long as the robot starts with the arm stowed and
completes the task without operator input (apart from a single button or
command), we award the 4x multiplier. We could define the "stowed"
position as the "minimum bounding box" position of the arm, that is, the
position that the arm takes such that the overall robot fits into the
smallest volume box possible. Note that we wouldn't require a stow
between pick and place as the robot may be unable to stow the arm with
an object in the gripper. Does this sound reasonable? Are there any
corner cases we need to consider? What I don't want to have happen is a
team claiming that "stowed" is with the arm out in a pose that is,
really, more suited for manipulation.
For placing the manipulation object, I propose that as long as the
operator didn't move the arm manually between the pick and the place
apart from a single button or command to initiate the place (but could
drive the robot base manually) they can be awarded the 4x multiplier for
the place point. In theory, this could mean that a robot could be
manually driven with the arm outstretched until the object was over the
container and then the "autonomous place" would be simply opening the
gripper. I'm less worried about this specific case just because the
pickup itself would have had to have been autonomous and then the robot
would have had to have driven over the bars of the manipulation station
terrain with the arm out as well.
- We are starting to see good mapping being possible on small platforms
so I think it's time to update the Labyrinth rules to reward this. The
QR codes are detected automatically so I don't think an autonomy
multiplier is useful. Instead, how about we apply a 4x mapping multiplier?
QR codes can only be scored if they are automatically placed on a map of
the labyrinth, relative to the fiducials (the cylinders that are cut in
half and placed either side of the walls). Each QR code is worth 1 point
for appearing in the map and 4 points for being correctly located
relative to the closest 2 observed fiducials. An observed fiducial is
one that appears as at least a half circle. I propose that for this
year, "correctly located" means that the horizontal distance between the
QR code and the two closest fiducials is correct to within 30 cm. Of
course, if the team has no mapping, this basically falls back to 1 point
per QR code if they simply report all their QR codes as being at the
origin of a blank map. Note that the 2 observed fiducials must be
separate fiducials (not the two halves of the same fiducial).
Revisiting hazmat, Marcus proposed providing different numbers of points
for detecting hazmat labels in increasingly difficult situations. I
think this is a great idea and perhaps we could run this as a separate
technical challenge, with the best performing team being awarded a
certificate. This will give us the necessary information to see how we
might incorporate this into the main rules for next year.
Here's an option that was proposed.
0 = Cannot automatically read Hazmat labels under any conditions.
1 = Can accurately read unobscured hazmat labels while sitting still
at 30 cm when the label is at a height chosen by the team, and the
automatic reading program is manually triggered by the driver. (say, 4
out of 5 correct, when only 1 label at a time is present)
2 = Can read unobscured hazmat labels on the walls of a specific course
at multiple heights set by the organizers, with the automatic reading
program triggered by the driver.
3 = Can read partially obscured hazmat labels (e.g. at the end of a
short pipe as we've done the last two years) at various heights, with
the automatic reading program triggered by the driver.
5 = Can accurately read hazmat labels that appear in multiple courses at
various heights set by the organizers, where the program is constantly
running on all courses (so *not* triggered by the driver), and where
some of labels are partially obscured.
Perhaps for the purpose of a test/demo competition this year, this could
be implemented by adding full and partially obscured hazmat labels to
the 60 cm K-rail terrain at different heights but only using them for
this specific test (they're ignored when running K-rails normally), with
the points added up over a 5 minute run.
Please let us know what you think!
Cheers!
- Raymond
--
https://raymondsheh.org