Cannot import name 'PybindMessage'

Hi everyone,

I have a problem running the example
https://docs.nvidia.com/isaac/isaac/doc/manipulation/samples.html#manipulation-sample-applications

ImportError                               Traceback (most recent call last)
<ipython-input-6-c699e57290b0> in <module>
      5 import threading
      6 
----> 7 from engine.pyalice import Application, Codelet
      8 from engine.pyalice.gui.composite_widget import CompositeWidget
      9 

/src/workspace/engine/pyalice/__init__.py in <module>
     11 # Modules to be included upon import of package
     12 
---> 13 from . import Message
     14 from . import Composite
     15 from .Application import Application

/src/workspace/engine/pyalice/Message.py in <module>
     13 from .CapnpMessages import get_capnp_proto_schemata, capnp_schema_type_id_dict
     14 from capnp.lib.capnp import _DynamicStructBuilder    # pylint: disable=no-name-in-module
---> 15 from .bindings import PybindMessage    # pylint: disable=no-name-in-module
     16 from typing import List
     17 

ImportError: cannot import name 'PybindMessage'

Can anyone please help?
And one more thing: is there anyone involved with RL and who got some time to answer questions?

Hi aksir,

Thank you so much for using Isaac SDK. Could you provide some context about your RL questions and your project? we usually provide answer to developer through this devforum.

Best!

Hi atorabi,

I am trying to create a simple environment. The question is the ability to completely generate it with code, that is, not to create an environment manually on the Omniverse platform. And also the possibility of receiving data from sensors. Are there any examples?

Hi akskir,

Sorry to hear you are facing trouble running manipulation example.
Could you please confirm if you have deployed app first using this command:
bob@desktop:~/isaac$ ./engine/build/deploy.sh -p //apps/samples/manipulation:simple_joint_control-pkg -h localhost -d x86_64

Then you can go to to deployed folder to run this example e.g. $HOME/deploy//simple_joint_control-pkg

jupyter notebook apps/samples/manipulation/simple_joint_control.ipynb

Do let us know if this resolves your problem or you still face any problem.

Thanks!

Hi ameshram,

This is exactly what i did, so the problem is still not solved.
Here is what i have in bindings folder:
/engine/pyalice/bindings$ ls
bindings.cpp pybind_clock.cpp pybind_message.hpp
pybind_application.cpp pybind_clock.hpp pybind_node.cpp
pybind_application.hpp pybind_component.cpp pybind_node.hpp
pybind_atlas.cpp pybind_component.hpp pybind_py_codelet.cpp
pybind_atlas.hpp pybind_core.cpp pybind_py_codelet.hpp
pybind_cask.cpp pybind_core.hpp
pybind_cask.hpp pybind_message.cpp

Maybe it can help

Hi, @akskir,

Thanks for using Isaac SDK. As I read from your last post, seems you are trying to run the code from engine/pyalice/bindings. All codes in Isaac SDK assume current directory of isaac/ (root folder of Isaac SDK). Please try it from there.
If that’s not the case, it would be great to have exact commands you used so we could reproduce the case here.

Regards

Hi, yangl

I followed the instructions completely.
Exact order on my Ubuntu 20.04 desktop:

  1. Create a docker container for Isaac SDK

$ engine/build/docker/create_image.sh

  1. Launch it using the host network in right folder

docker run -v pwd:/src/workspace -w /src/workspace --runtime=nvidia -it --network=“host” isaacbuild:latest /bin/bash

  1. Deploy all projects

bazel build …

  1. Deploy the simple_joint_control package

./engine/build/deploy.sh -p //apps/samples/manipulation:simple_joint_control-pkg -h localhost -d x86_64

  1. Change directory

cd /home/deploy/simple_joint_control-pkg/

  1. On Isaac Sim started ur10_basic.usd and press play
  2. Start jupyter (--allow-root because of docker)

jupyter notebook --allow-root apps/samples/manipulation/simple_joint_control.ipynb

And its not working.
All examples from Isaac Sim work perfectly, and I can modify python codelets in it.

@akskir

At the moment Isaac SDK requires Ubuntu 18.04 as we need the compiler it provides. Migration to Ubuntu 20.04 is planned but not there yet. My wild guess is the compilation failed.
Isaac Sim Unity3d would work as it comes pre-compiled.
In case you can’t switch back to Ubuntu 18.04, maybe Virtual Box would work for you.

I’m working in docker container, so it cant be a problem

Hi, @akskir,

Container is actually not virtualization. Maybe something is different on Ubuntu 20.04. Believe VirtualBox would help.
Out of curiosity, do we have the full console output from Bazel?