RoboCupAtHome / RuleBook

Rulebook for RoboCup @Home 2024
https://robocupathome.github.io/RuleBook/
Other
149 stars 61 forks source link

Combine Storing Groceries and Clean the Table into one Stage 2 Task #912

Open SparkRibeiro21 opened 1 month ago

SparkRibeiro21 commented 1 month ago

Note: This comes as an alternative to combining Serve Breakfast and Clean the Table (so some comments may reference this comparison)

Combining SG with CT would provide a more natural task. In CT, the only "furniture interaction" is with the dishwasher. Whereas in a standard dinners there are more than dishes to tidy up. There are drinks, foods, fruits, snacks, trash, etc... The idea of combining these two tasks, is to have a wider variety of objects on the table, such as foods or drinks for example that the robot would have to (similarly to SG) place in the correct cabinet shelf. For example: one object from two different categories (one fruit and one snack) are also on the table, and have to be placed near the same category in the cabinet. This would provide a more realistic "end of dinner" scenario rather than just having dishes on the table to tidy up. A bonus, could be having an object from a third category (like a drink) that had to be placed in the trash bin. Fully representing what happens in an actual dinner scenario: objects that have to be cleaned, objects that need to be stored and objects that need to be put in the trash. This way SG would be naturally and smoothly merged into CT not being just removed from the tasks the robot should do, as what is done in SG will also be done in the new CT. In addition (comparing to combining SB with CT proposal) it would not cause additional mess for referees that would have to change objects on the table. This would allow teams to have "simpler" chores (placing objects in the cabinet) in CT. Since CT task has the lowest average point of every S2 task, with only 4 teams out of 17 (all S2 teams from the 3 sub leagues) having more than 55 points (which is a LOT LOWER than all other tasks). This would most likely increase the amount of chores robots can perform in CT, making it more interesting for audience.

Also putting SB as a second part of CT feels unnatural and since teams struggle so much do CT will virtually make SB disappear. SB is the only task where the robot must perform an action (pouring) that is not just pick and place of an object is done. In addition interactions with the cabinet are also being performed in EGPSR and Stickler (and a bit in GPSR) whereas performing actions such as pouring do not exist in any other task. Actually teams have been using it in finals performances to showcase their manipulation which commends actions such as pouring that are not just pick and place. SB provides more show-off ability than SG, this can be observed from the livestream and from teams videos. The audience is more invested in robots pouring items into the bowl than placing items in a cabinet. Combining SG with CT would mean more show-off in Stage 1 but also in Stage 2 as teams, apart from loading the dishwasher can also perform more manipulation chores.

This way in Stage 1 the robots have to do a pre-meal task and in Stage 2 the robots have to do a post-meal task, which creates a smoother experience for viewers and for teams.

LeroyR commented 1 month ago

If we want to go this route we have to do something about the current state of object labeling/training this year. It does not feel good for teams to label and train each object if they only have to detect cornflakes and cutlery until stage two.

Combining SG with CT would provide a more natural task. In CT, the only "furniture interaction" is with the dishwasher. Whereas in a standard dinners there are more than dishes to tidy up. There are drinks, foods, fruits, snacks, trash, etc... The idea of combining these two tasks, is to have a wider variety of objects on the table, such as foods or drinks for example that the robot would have to (similarly to SG) place in the correct cabinet shelf. For example: one object from two different categories (one fruit and one snack) are also on the table, and have to be placed near the same category in the cabinet. This would provide a more realistic "end of dinner" scenario rather than just having dishes on the table to tidy up. A bonus, could be having an object from a third category (like a drink) that had to be placed in the trash bin. Fully representing what happens in an actual dinner scenario: objects that have to be cleaned, objects that need to be stored and objects that need to be put in the trash. This way SG would be naturally and smoothly merged into CT not being just removed from the tasks the robot should do, as what is done in SG will also be done in the new CT.

I like the idea of this new Cleanup task. Very natural expansion of 'cleanup' is removing unused clutter and trash. My concern is only focussed using SB as a s1 task..

In addition (comparing to combining SB with CT proposal) it would not cause additional mess for referees that would have to change objects on the table. I do not understand this point. Every combination of these tasks need the referees to change the setup.

This would allow teams to have "simpler" chores (placing objects in the cabinet) in CT. Since CT task has the lowest average point of every S2 task, with only 4 teams out of 17 (all S2 teams from the 3 sub leagues) having more than 55 points (which is a LOT LOWER than all other tasks). This would most likely increase the amount of chores robots can perform in CT, making it more interesting for audience.

Also putting SB as a second part of CT feels unnatural and since teams struggle so much do CT will virtually make SB disappear.

Both solutions don't have to mandate doing one before the other: there could be 1-2 spots for each part, with one "seat" having used/dirty dishes and another free or cluttered (groceries/trash).

SB is the only task where the robot must perform an action (pouring) that is not just pick and place of an object is done. In addition interactions with the cabinet are also being performed in EGPSR and Stickler (and a bit in GPSR) whereas performing actions such as pouring do not exist in any other task. Actually teams have been using it in finals performances to showcase their manipulation which commends actions such as pouring that are not just pick and place. SB provides more show-off ability than SG, this can be observed from the livestream and from teams videos. The audience is more invested in robots pouring items into the bowl than placing items in a cabinet. Combining SG with CT would mean more show-off in Stage 1 but also in Stage 2 as teams, apart from loading the dishwasher can also perform more manipulation chores.

Recognition and describing storing locations can be done without an arm, we already have people raising voices against being too manipulation focused. I personally don't see a away to make SB less manipulation focussed, but i am sure we could rework SG to be. Also, i would rather improve the scoring of new teams by rewarding a training pipeline for the recognition model, "scene understanding" and "dialog generation" with more points than awarding entering the arena :sweat_smile:

Thus SG feels more stage 1 to me than SB. So while this "Cleanup" (SG+clean) tasks feels better than "Set The Table" (SB+clean), i find SB to be a much worse stage 1 task. Imho it was really misplaced as s1 task: not only the challenge and manipulations itself but also the time limit which reduced the intent of moving around the kitchen to collect different objects into "turn 180 deg".

This way in Stage 1 the robots have to do a pre-meal task and in Stage 2 the robots have to do a post-meal task, which creates a smoother experience for viewers and for teams.

I don't think we need a smooth storyline over the different stages or even tasks of robocup.