When connecting Isaac_sim with NavigationRosBridge: Could not load module: "isaac::rosbridge::NavigationRosBridge"".

Hi,

I am little confused when i am trying to connect virtual environment with NavigationRosBridge. what i idid is to add component and edges of ros_bridge in carter_full_graph.json and carter_full_config.json. But there was always an error and told me that “Could not load module: “isaac::rosbridge::NavigationRosBridge””. Could you please tell me how to solve this problem? Thanks ~

Best wishes,
Lan

Hi Lan,
You’re probably forgetting about referencing the module in the app config file and/or in the BUILD file. Check the example in apps/samples/navigation_rosbridge/navigation_rosbridge.app.json, should be similar to that.

I am assuming you’re using the carter_sim app, but the same goes if you have a custom app:

In the carter_sim.app.json (under apps/carter/carter_sim):

  • add "//apps/samples/navigation_rosbridge:navigation_ros_bridge" in "modules"
  • add the ros_bridge node, respective component and the required edges
  • define the desired configuration, like the "tick_period", in "config"

In the BUILD file (under apps/carter/carter_sim):

  • Add "//apps/samples/navigation_rosbridge:navigation_ros_bridge" in the "modules" of carter_sim isaac_app definition:
    isaac_app(
        name = "carter_sim",
        app_json_file = "carter_sim.app.json",
        data = [
            "carter.config.json",
            "carter.graph.json",
            "navigation.config.json",
            "navigation.graph.json",
            "//apps/assets/maps",
            "//packages/map:libmap_module.so",
        ],
        modules = [
            "navigation",
            "perception",
            "planner",
            "viewers",
            "flatsim",
            "//apps/samples/navigation_rosbridge:navigation_ros_bridge",
        ],
    )
    

That should do it. Let me know how it goes.

Best Regards,
Teresa Conceicao

@TeresaC
can the navigation ros bridge run on 2020.2 isaac sdk?
we are missing the file libnavigation_ros_bridge_module.so so it won’t run

Hi Andrey,
What exactly is the issue? What app are you trying to run?
The sdk/apps/samples/navigation_rosbridgeone or the ones under sdk/packages/ros_bridge/apps?

Also are you running on host or Jetson?

we tried

The sdk/apps/samples/navigation_rosbridge

on both Host PC & Jetson
like

bazel run //apps/samples/navigation_rosbridge

However, to run it is not an objective on itself.
original purpose was to get continious text output from apriltag,
from devs:

ros_bridge module wont built

Hi Andrey, sorry for the late reply. I could not reproduce in my system. Can you share the full log?

The isaac::rosbridge::NavigationRosBridge is defined in sdk/apps/samples/navigation_rosbridge:
In sdk/apps/samples/navigation_rosbridge/NavigationRosBridge.hpp you can see there is a ISAAC_ALICE_REGISTER_CODELET(isaac::rosbridge::NavigationRosBridge);
and then the module is defined in the BUILD file:
isaac_cc_module(
name = “navigation_ros_bridge”,

So looks like the module is not being built for some reason when you bazel run the app.

@TeresaC
Thank you for following up!
you may find the log attached

cat log.txt 
/sdk$ bazel run //apps/samples/navigation_rosbridge
Starting local Bazel server and connecting to it...
INFO: Analyzed target //apps/samples/navigation_rosbridge:navigation_rosbridge (77 packages loaded, 5708 targets configured).
INFO: Found 1 target...
INFO: Deleting stale sandbox base /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/sandbox
Target //apps/samples/navigation_rosbridge:navigation_rosbridge up-to-date:
  bazel-bin/apps/samples/navigation_rosbridge/run_navigation_rosbridge
  bazel-bin/apps/samples/navigation_rosbridge/navigation_rosbridge
INFO: Elapsed time: 4.043s, Critical Path: 0.75s
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
INFO: Build completed successfully, 1 total action
2021-02-27 21:56:43.021 WARN  external/com_nvidia_isaac_engine/engine/alice/backend/application_json_loader.cpp@183: This application does not have an explicit scheduler configuration. One will be autogenerated to the best of the system's abilities if possible.
2021-02-27 21:56:43.021 INFO  external/com_nvidia_isaac_engine/engine/alice/backend/redis_backend.cpp@40: Successfully connected to Redis server.

2021-02-27 21:56:43.021 WARN  external/com_nvidia_isaac_engine/engine/alice/backend/backend.cpp@200: This application does not have an execution group configuration. One will be autogenerated to the best of the systems abilities if possible.
2021-02-27 21:56:43.021 WARN  external/com_nvidia_isaac_engine/engine/gems/scheduler/scheduler.cpp@341: No default execution groups specified. Attempting to create scheduler configuration for 20 remaining cores. This may be non optimal for the system and application.
2021-02-27 21:56:43.021 INFO  external/com_nvidia_isaac_engine/engine/gems/scheduler/scheduler.cpp@291: Scheduler execution groups are:
2021-02-27 21:56:43.021 INFO  external/com_nvidia_isaac_engine/engine/gems/scheduler/scheduler.cpp@300: __BlockerGroup__: Cores = [11, 12, 13, 14, 15], Workers = No
2021-02-27 21:56:43.021 INFO  external/com_nvidia_isaac_engine/engine/gems/scheduler/scheduler.cpp@300: __WorkerGroup__: Cores = [19, 18, 17, 16, 5, 4, 3, 2, 0, 1, 6, 7, 8, 9, 10], Workers = Yes
2021-02-27 21:56:43.027 INFO  external/com_nvidia_isaac_engine/engine/alice/backend/modules.cpp@271: Loaded module 'apps/samples/navigation_rosbridge/libnavigation_ros_bridge_module.so': Now has 28 components total
2021-02-27 21:56:43.029 INFO  external/com_nvidia_isaac_engine/engine/alice/backend/modules.cpp@271: Loaded module 'packages/sight/libsight_module.so': Now has 32 components total
2021-02-27 21:56:43.029 INFO  packages/sight/sight_start.cpp@157: Loading websight...
2021-02-27 21:56:43.029 DEBUG external/com_nvidia_isaac_engine/engine/alice/application.cpp@321: Loaded 32 components: isaac::alice::BufferAllocatorReport, isaac::alice::ChannelMonitor, isaac::alice::CheckJetsonPerformanceModel, isaac::alice::CheckOperatingSystem, isaac::alice::Config, isaac::alice::ConfigBridge, isaac::alice::ConfigLoader, isaac::alice::Failsafe, isaac::alice::FailsafeHeartbeat, isaac::alice::InteractiveMarkersBridge, isaac::alice::LifecycleReport, isaac::alice::MessageLedger, isaac::alice::MessagePassingReport, isaac::alice::NodeStatistics, isaac::alice::Pose, isaac::alice::PoseInitializer, isaac::alice::PoseTree, isaac::alice::PyCodelet, isaac::alice::Random, isaac::alice::Scheduling, isaac::alice::Sight, isaac::alice::SightChannelStatus, isaac::alice::Subgraph, isaac::alice::Subprocess, isaac::alice::Throttle, isaac::alice::TimeOffset, isaac::alice::TimeSynchronizer, isaac::rosbridge::NavigationRosBridge, isaac::sight::AliceSight, isaac::sight::PoseTreeJsonBridge, isaac::sight::SightWidget, isaac::sight::WebsightServer, 
2021-02-27 21:56:43.029 WARN  external/com_nvidia_isaac_engine/engine/alice/application.cpp@173: The function Application::findComponentByName is deprecated. Please use `getNodeComponentOrNull` instead. Note that the new method requires a node name instead of a component name. (argument: 'websight/isaac.sight.AliceSight')
2021-02-27 21:56:43.029 DEBUG external/com_nvidia_isaac_engine/engine/alice/application.cpp@321: Loaded 32 components: isaac::alice::BufferAllocatorReport, isaac::alice::ChannelMonitor, isaac::alice::CheckJetsonPerformanceModel, isaac::alice::CheckOperatingSystem, isaac::alice::Config, isaac::alice::ConfigBridge, isaac::alice::ConfigLoader, isaac::alice::Failsafe, isaac::alice::FailsafeHeartbeat, isaac::alice::InteractiveMarkersBridge, isaac::alice::LifecycleReport, isaac::alice::MessageLedger, isaac::alice::MessagePassingReport, isaac::alice::NodeStatistics, isaac::alice::Pose, isaac::alice::PoseInitializer, isaac::alice::PoseTree, isaac::alice::PyCodelet, isaac::alice::Random, isaac::alice::Scheduling, isaac::alice::Sight, isaac::alice::SightChannelStatus, isaac::alice::Subgraph, isaac::alice::Subprocess, isaac::alice::Throttle, isaac::alice::TimeOffset, isaac::alice::TimeSynchronizer, isaac::rosbridge::NavigationRosBridge, isaac::sight::AliceSight, isaac::sight::PoseTreeJsonBridge, isaac::sight::SightWidget, isaac::sight::WebsightServer, 
2021-02-27 21:56:43.030 INFO  external/com_nvidia_isaac_engine/engine/alice/application.cpp@295: Starting application 'navigation_rosbridge' (instance UUID: '9652659e-7970-11eb-a8d9-6789984bdb36') ...
2021-02-27 21:56:43.030 DEBUG external/com_nvidia_isaac_engine/engine/gems/scheduler/execution_groups.cpp@476: Launching 0 pre-start job(s)
2021-02-27 21:56:43.030 DEBUG external/com_nvidia_isaac_engine/engine/gems/scheduler/execution_groups.cpp@485: Replaying 0 pre-start event(s)
2021-02-27 21:56:43.030 DEBUG external/com_nvidia_isaac_engine/engine/gems/scheduler/execution_groups.cpp@476: Launching 0 pre-start job(s)
2021-02-27 21:56:43.030 DEBUG external/com_nvidia_isaac_engine/engine/gems/scheduler/execution_groups.cpp@485: Replaying 0 pre-start event(s)
2021-02-27 21:56:43.030 INFO  packages/sight/WebsightServer.cpp@247: Sight webserver is loaded
2021-02-27 21:56:43.030 INFO  packages/sight/WebsightServer.cpp@248: Please open Chrome Browser and navigate to http://<ip address>:3000
2021-02-27 21:56:43.030 WARN  external/com_nvidia_isaac_engine/engine/alice/backend/codelet_canister.cpp@229: Codelet 'websight/isaac.sight.AliceSight' was not added to scheduler because no tick method is specified.
2021-02-27 21:56:43.040 WARN  external/com_nvidia_isaac_engine/engine/alice/components/Codelet.cpp@53: Function deprecated. Set tick_period to the desired tick parameter
2021-02-27 21:56:43.074 WARN  external/com_nvidia_isaac_engine/engine/alice/backend/codelet_canister.cpp@229: Codelet '_check_operating_system/isaac.alice.CheckOperatingSystem' was not added to scheduler because no tick method is specified.
2021-02-27 21:56:43.074 WARN  external/com_nvidia_isaac_engine/engine/alice/components/Codelet.cpp@53: Function deprecated. Set tick_period to the desired tick parameter
2021-02-27 21:56:43.074 WARN  external/com_nvidia_isaac_engine/engine/alice/components/Codelet.cpp@53: Function deprecated. Set tick_period to the desired tick parameter
====================================================================================================
|                            Isaac application terminated unexpectedly                             |
====================================================================================================
#01 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x6cc1a) [0x55f06e8e5c1a]
#02 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0xe3e80) [0x55f06e95ce80]
#03 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0xe41f0) [0x55f06e95d1f0]
#04 /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980) [0x7f83db662980]
#05 ros::WallTime::now() /usr/lib/x86_64-linux-gnu/librostime.so(_ZN3ros8WallTime3nowEv+0x8) [0x7f83d8ebaa18]
#06 ros::console::TimeToken::getString[abi:cxx11](void*, ros::console::levels::Level, char const*, char const*, char const*, int) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/librosconsole.so(_ZN3ros7console9TimeToken9getStringB5cxx11EPvNS0_6levels5LevelEPKcS6_S6_i+0x76) [0x7f83da1724f8]
#07 ros::console::Formatter::print(void*, ros::console::levels::Level, char const*, char const*, char const*, int) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/librosconsole.so(_ZN3ros7console9Formatter5printEPvNS0_6levels5LevelEPKcS6_S6_i+0x325) [0x7f83da16eb71]
#08 ros::console::_print(void*, ros::console::levels::Level, char const*, char const*, char const*, int) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/librosconsole.so(_ZN3ros7console6_printEPvNS0_6levels5LevelEPKcS5_S5_i+0x52) [0x7f83da16ed96]
#09 ros::console::impl::ROSConsoleStdioAppender::append(log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> const&, log4cxx::helpers::Pool&) /usr/lib/x86_64-linux-gnu/librosconsole_log4cxx.so(_ZN3ros7console4impl23ROSConsoleStdioAppender6appendERKN7log4cxx7helpers10ObjectPtrTINS3_3spi12LoggingEventEEERNS4_4PoolE+0x1f9) [0x7f83d96a6149]
#10 log4cxx::AppenderSkeleton::doAppend(log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> const&, log4cxx::helpers::Pool&) /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10(_ZN7log4cxx16AppenderSkeleton8doAppendERKNS_7helpers10ObjectPtrTINS_3spi12LoggingEventEEERNS1_4PoolE+0x255) [0x7f83d9195665]
#11 log4cxx::helpers::AppenderAttachableImpl::appendLoopOnAppenders(log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> const&, log4cxx::helpers::Pool&) /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10(_ZN7log4cxx7helpers22AppenderAttachableImpl21appendLoopOnAppendersERKNS0_10ObjectPtrTINS_3spi12LoggingEventEEERNS0_4PoolE+0x3f) [0x7f83d919360f]
#12 log4cxx::Logger::callAppenders(log4cxx::helpers::ObjectPtrT<log4cxx::spi::LoggingEvent> const&, log4cxx::helpers::Pool&) const /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10(_ZNK7log4cxx6Logger13callAppendersERKNS_7helpers10ObjectPtrTINS_3spi12LoggingEventEEERNS1_4PoolE+0x8d) [0x7f83d91d8add]
#13 log4cxx::Logger::forcedLog(log4cxx::helpers::ObjectPtrT<log4cxx::Level> const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, log4cxx::spi::LocationInfo const&) const /usr/lib/x86_64-linux-gnu/liblog4cxx.so.10(_ZNK7log4cxx6Logger9forcedLogERKNS_7helpers10ObjectPtrTINS_5LevelEEERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERKNS_3spi12LocationInfoE+0xbe) [0x7f83d91d8d0e]
#14 ros::console::impl::print(void*, ros::console::levels::Level, char const*, char const*, char const*, int) /usr/lib/x86_64-linux-gnu/librosconsole_log4cxx.so(_ZN3ros7console4impl5printEPvNS0_6levels5LevelEPKcS6_S6_i+0x8b) [0x7f83d96a2aab]
#15 ros::console::print(ros::console::FilterBase*, void*, ros::console::levels::Level, char const*, int, char const*, char const*, ...) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/librosconsole.so(_ZN3ros7console5printEPNS0_10FilterBaseEPvNS0_6levels5LevelEPKciS7_S7_z+0x34d) [0x7f83da16f5fd]
#16 ros::master::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/libroscpp.so(_ZN3ros6master4initERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES7_St4lessIS7_ESaISt4pairIKS7_S7_EEE+0x1f3) [0x7f83d9d3f96d]
#17 ros::init(std::map<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::less<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int) /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/../../../_solib_k8/_U@isaac_Uros_Ubridge_Ux86_U64_S_S_Cisaac_Uros_Ubridge_Ux86_U64___Uexternal_Sisaac_Uros_Ubridge_Ux86_U64_Slib/libroscpp.so(_ZN3ros4initERKSt3mapINSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEES6_St4lessIS6_ESaISt4pairIKS6_S6_EEERSA_j+0xe1) [0x7f83d9e2d823]
#18 isaac::rosbridge::NavigationRosBridge::start() /home/computer_username/.cache/bazel/_bazel_computer_username/94cdd7f142bb2be1f2e10ce3fac8d1db/execroot/com_nvidia_isaac_sdk/bazel-out/k8-opt/bin/apps/samples/navigation_rosbridge/navigation_rosbridge.runfiles/com_nvidia_isaac_sdk//apps/samples/navigation_rosbridge/libnavigation_ros_bridge_module.so(_ZN5isaac9rosbridge19NavigationRosBridge5startEv+0x9d) [0x7f83da4253dd]
#19 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x63d3a) [0x55f06e8dcd3a]
#20 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x7f949) [0x55f06e8f8949]
#21 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x7fafe) [0x55f06e8f8afe]
#22 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x7a311) [0x55f06e8f3311]
#23 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x7a465) [0x55f06e8f3465]
#24 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0xdd506) [0x55f06e956506]
#25 external/com_nvidia_isaac_engine/engine/alice/tools/main(+0x16b15) [0x55f06e88fb15]
#26 /usr/lib/x86_64-linux-gnu/libstdc++.so.6(+0xbd6df) [0x7f83db3846df]
#27 /lib/x86_64-linux-gnu/libpthread.so.0(+0x76db) [0x7f83db6576db]
#28 /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f83daddf71f]
====================================================================================================
Minidump written to: /tmp/c84cbdb9-604a-4497-baeb5b9d-db7e8ce4.dmp
Segmentation fault (core dumped)

dumo_dmp.txt (276.7 KB)

Assuming you have ROS properly installed in your system and have run roscore in a separated terminal?
I haven’t been able to reproduce this. The only time I also have a segmentation fault crash like that is if using it in a system without ROS installed.