-
Notifications
You must be signed in to change notification settings - Fork 48
feat: add more scenarios to o3de manipulation benchmark #452
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
Conversation
cab3f76
to
bf77f7c
Compare
ce51009
to
63a45ad
Compare
@jmatejcz Thank you for the PR |
6472625
to
1302a41
Compare
done |
@jmatejcz Quick note: In step 2, before running I configured the path the the demo binary as described. When I run this command: python src/rai_bench/rai_bench/examples/o3de_test_benchmark.py I can see that simulator started, but some ros2 nodes seem to be missing:
Here is a full log: I think one of the reasons is that I get this error. Did you also encounter it?
Also, in the logs of the benchmark I can see a lot (402 in total) of logs like:
Are they expected? If they are expected - should user know all of them? |
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.
@jmatejcz added some high-level comments/questions to the code
src/rai_bench/rai_bench/o3de_test_bench/tasks/build_tower_task.py
Outdated
Show resolved
Hide resolved
src/rai_bench/rai_bench/o3de_test_bench/tasks/grab_carrot_task.py
Outdated
Show resolved
Hide resolved
yes it seems like you can't properly load grounded dino and grounded sam models, which results in: try removing any existing weights: rm -rf build/ install/ log/ then once again: colcon build --symlink-install
source setup_shell.sh
python src/rai_bench/rai_bench/examples/o3de_test_benchmark.py |
to the second part of the question, the logs about |
I tested with a fresh install. Probalby gdino weights got corrupted for some reason... but it worked now. Thank you!
Could you tell me a bit more about what this log message means? |
Every task validates if given simulation config is suitable by checking if required objects are present and if any of them is placed incorrectly: This is especially useful when scenarios are created automatically like stated in README. This means you can pass a list of tasks, list of simulation configs and get every possible combination of task x sim_config as scenarios. |
1302a41
to
72a5b0f
Compare
e8aa564
to
577feae
Compare
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.
@jmatejcz I've added some comments to the code, but didn't mange to check all of it yet. I'll continue
3eb3fd7
to
96bd95d
Compare
prepered packets in benchmark example
added logger to scenario adjusted log about not creating scenario to debug level
removed redundant NOTE
added note about the positive y part
116e234
to
f446547
Compare
917128b
to
10c3b49
Compare
10c3b49
to
e7bde7c
Compare
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.
Approved.
- tested on ubuntu 22.04 & ubuntu 24.04
- added minor changes to this PR:
- added config from the PR description to the repo
- adjusted
rai_bench/README
- refactored
/reset_manipulator
service call to useROS2Connector
api
1ffd358
to
f094bd0
Compare
Purpose
#433
Proposed Changes
Issues
Not able to test manually if scores are calculated properly in different scenarios, as number of possible scenarios grows significantly. Depending on unit tests to ensure that scores are calculated properly. These tests must cover all cases.
Not enough trivial scenarios (like move object to coords when few objects). Harder scenarios like creating structures from many objects can be created in various number of ways. It isn't the same for easy scenarios where the scenario should include 1, maybe 2 moves and scene setup that is not complicated. If you have ideas for other easy tasks, let me know in comments!
For now ManipulatorMoveTo tool does not allow changing orientation of the gripper, which makes some tasks like RotateObjectTask, or scenes with rotated objects not usable.
Corn entities are to small for gripper, always falling out, which result in them being avoided when defining tasks
When gripper is holding an object it can place it into other object
Testing
Setup
https://github.com/RobotecAI/rai/blob/main/docs/demos/manipulation.md
and:
Download GameLauncher binary: humble or jazzy
Populate
src/rai_bench/rai_bench/o3de_test_bench/configs/o3de_config.yaml
with:Run examples
Run the benchmark with example scenarios. I do not recommend running full packets as this will take some time.
In
src/rai_bench/rai_bench/examples/o3de_test_benchmark.py
there are prepared packets of scenarios.You can swap running all_scenarios for for example 3 trivial scenarios -> t_scenarios[:3] here:
then:
what to look for:
src/rai_bench/rai_bench/experiments/
Tests
Run unit tests: