-
Notifications
You must be signed in to change notification settings - Fork 204
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
'Scan, dock and deliver' scoring plugin #333
Conversation
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This looks like it's almost complete. Everything worked except as noted below:
color sequence
To submit the color sequence, I had to use a command that varies slightly from what is given in the instructions:
rosservice call /vrx/scan_dock_deliver/color_sequence "blue" "green" "red"
Score for docking events
The scoring for docking is not what I intended. Looking at the documentation I can see this is ambiguous and needs to be clarified. The intention was that the teams would receive 20 points (total) if they dock in the correct bay, but if they dock in the wrong bay they still get 15 points. In other words, you get 5 extra points for getting it right. This matches what RobotX scoring guidance is recommending. Right now our implementation gives teams an additional 20 points for docking in the correct bay (so 35 points total). I will clarify this in the documentation, and I think we should fix the scoring so it's only a 5 point bonus.
Score for ball shooter
The coordinates given in the testing instructions will place the WAMV in a location where it can successfully fire a ball into the large hole of the placard marked with a red circle. To test the small hole, you can use:
gz model -m wamv -x 555.3 -y -230 -z 0 -Y -0.2
These seem to be working correctly with the exception that it is currently possible to fire as many projectiles as you want and get points for all of them. We say in the documentation that the number will be limited to 4. I think this is just a matter of setting the num_shots parameter to 4 (though this will also affect the ball shooter in general).
@@ -45,7 +45,7 @@ | |||
<frame>wamv/ball_shooter_link</frame> | |||
<pose>0.14 0 0.09 0 0 0</pose> | |||
</projectile> | |||
<shot_force>250</shot_force> | |||
<shot_force>300</shot_force> | |||
<topic>${namespace}/${shooter_namespace}${name}/fire</topic> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As mentioned in general comments I think we also need
<num_shots> 4</num_shots>
to align with our documentation for this task.
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
I just hit
Thanks for the clarification! I updated the bonus in the code. See c8285ce.
I'm aware of this and I added a note to this task's wiki clarifying it. The problem is that the number of shots is a global parameter, not a per-task parameter. I'm leaning towards leaving as it is for letting the teams practice with the understanding that we'll limit it during the competition. |
When I use the one you provided, the service crashes with the following error:
I haven't looked into it but I wonder if this is another problem caused by the switch to Python3.
OK, I think there are still two things we can do that would further prevent confusion, if you agree:
What do you think? |
Another note regarding the ros service argument: I tried using the autocomplete feature to reproduce the argument you mentioned and I got this one with line breaks:
This argument seems to work fine. Without the line breaks I get the crash listed above. I'm not sure why or if there is an easy way to make the service a little more forgiving. |
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
Sounds good! I limited the shots to 4 and documented in the wiki how to set unlimited shots for practice. See c8363ae. As for the service request from the command line I was also able to reproduce your issue. I didn't realize that without autocompleting, the line breaks matter. I think to fix this is out of scope. Your suggestion for calling it via command line is totally fine (I updated the wiki). During the competition the teams will call this service programmatically. |
Great! I tested again and I'm getting the expected 4-shot limit, so I think that covers everything. I'll approve in a second. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
All looks good. Thanks!
Signed-off-by: Carlos Agüero <caguero@openrobotics.org>
See issue #278.
This pull request updates the scoring plugin associated to the
Scan, dock and deliver
task. It should fully match what we describe in the rules.For testing:
You can teleoperate the WAM-V with:
For checking the score:
Try reporting the color sequence:
Try teleoperating the WAM-V to the dock. You should observe the following sequence of debug messages:
Note that docking and exiting in the right bay will finish the task.
Try shooting some of the targets:
Check
scan_dock_deliver.world.xacro
forgz model
commands to teleport the robot to the right spot for testing the ball shooting.