Closed f1ren closed 1 month ago
Hi @f1ren , thanks for reaching out!
Since the action primitives use sampling-based motion planning, it is expected that the robot behavior can be non-deterministic. This primitives feature is also somewhat experimental and needs a lot more tuning. We are actively working on making this more robust and experimenting with alternative motion planners. But for now, you can try the following to make the primitives more fault-tolerant:
In omnigibson/examples/action_primitives/rs_int_example.py
, you can look for controller.apply_ref(StarterSemanticActionPrimitiveSet.GRASP, apple)
and controller.apply_ref(StarterSemanticActionPrimitiveSet.PLACE_ON_TOP, cabinet)
. This apply_ref
function has an attempts
argument, which defaults to 3. You can try to make this higher either 1) directly in the example you are running or 2) make the default higher in omnigibson/action_primitives/stater_semantic_action_primitives.py::StarterSemanticActionPrimitives::apply_ref
.
We do have some really exciting progress, stay tuned for our next few releases!
Describe the bug
rs_int_example.py
failing onAn error occurred during each attempt of this action.
To Reproduce Steps to reproduce the behavior:
./run_docker.sh
python -m omnigibson.examples.action_primitives.rs_int_example
Expected behavior Program ends after printing
Finished executing place
.Screenshots
Desktop (please complete the following information):
Additional context The behavior is non-deterministic and different attempts are printed depending on state at failure.