Translating between Isaac and ROS

Hi All,

Just wanted to share a post of something I have worked on over the course of my lab’s project.

We have had to do a lot of transferring information between Isaac and ROS so I have created a bunch of “translation codelets” that people can use for transferring some basic information between the two.

You can find the codelets here https://github.com/david2611/isaac_ros_bridge_codelets

I have tried to set it up as something of a tutorial for other people to learn and build from so each translation codelet has an example app showing how you could use it and such.

Would love to have other people add their contributions, suggest improvements etc.

Hope it is useful for some of you :)

Thanks for sharing! We’ll definitely need this feature!

Hello,

I’ve tried your codelet of isaac_ros_bridge_codelets.

I think I have followed your procedure. However I encountered some errors.

bazel run apps/isaac_ros_bridge_codelets/odom_publisher:carter_sim_ros_odom_pub – --config=“apps/assets/maps/carter_warehouse_p.config.json” --graph=“apps/assets/maps/carter_warehouse_p.graph.json”
WARNING: /home/dellstation/isaac-sdk-2019.2/isaac-sdk-2019.2-30e21124/packages/viewers/BUILD:14:12: in srcs attribute of cc_binary rule //packages/viewers:libviewers_module.so: please do not import ‘//packages_x86_64/viewers:libviewers_module.so’ directly. You should either move the file to this package or depend on an appropriate rule there
WARNING: /home/dellstation/isaac-sdk-2019.2/isaac-sdk-2019.2-30e21124/packages/perception/BUILD:34:12: in srcs attribute of cc_binary rule //packages/perception:libperception_module.so: please do not import ‘//packages_x86_64/perception:libperception_module.so’ directly. You should either move the file to this package or depend on an appropriate rule there
INFO: Analysed target //apps/isaac_ros_bridge_codelets/odom_publisher:carter_sim_ros_odom_pub (0 packages loaded, 0 targets configured).
INFO: Found 1 target…
Target //apps/isaac_ros_bridge_codelets/odom_publisher:carter_sim_ros_odom_pub up-to-date:
bazel-genfiles/apps/isaac_ros_bridge_codelets/odom_publisher/run_carter_sim_ros_odom_pub
bazel-bin/apps/isaac_ros_bridge_codelets/odom_publisher/carter_sim_ros_odom_pub
INFO: Elapsed time: 0.272s, Critical Path: 0.00s, Remote (0.00% of the time): [queue: 0.00%, setup: 0.00%, process: 0.00%]
INFO: 0 processes.
INFO: Build completed successfully, 1 total action
INFO: Running command line: bazel-bin/apps/isaac_ros_bridge_codelets/odom_publisher/carter_sim_ros_odom_pub ‘–config=apps/assets/maps/carter_warehouse_p.config.json’ '–graph=apps/assets/maps/carter_warehouse_p.grINFO: Build completed successfully, 1 total action
2020-04-27 14:33:56.440 INFO engine/alice/tools/websight.cpp@166: Loading websight…
2020-04-27 14:33:56.441 WARNING engine/alice/backend/application_json_loader.cpp@98: This application does not have an explicit scheduler configuration. One will be autogenerated to the best of the system’s abilities if possible.
2020-04-27 14:33:56.446 WARNING engine/alice/backend/backend.cpp@168: This application does not have an execution group configuration. One will be autogenerated to the best of the systems abilities if possible.
2020-04-27 14:33:56.446 WARNING engine/gems/scheduler/scheduler.cpp@337: No default execution groups specified. Attempting to create scheduler configuration for 64 remaining cores. This may be non optimal for the system and application.
2020-04-27 14:33:56.446 INFO engine/gems/scheduler/scheduler.cpp@290: Scheduler execution groups are:
2020-04-27 14:33:56.446 INFO engine/gems/scheduler/scheduler.cpp@299: BlockerGroup: Cores = [48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63], Workers = No
2020-04-27 14:33:56.446 INFO engine/gems/scheduler/scheduler.cpp@299: WorkerGroup: Cores = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47], Workers = Yes
2020-04-27 14:33:56.456 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/flatsim/libflatsim_module.so’: Now has 53 components total
2020-04-27 14:33:56.464 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/map/libmap_module.so’: Now has 54 components total
2020-04-27 14:33:56.473 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/navigation/libnavigation_module.so’: Now has 85 components total
2020-04-27 14:33:56.485 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/perception/libperception_module.so’: Now has 95 components total
2020-04-27 14:33:56.495 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/planner/libplanner_module.so’: Now has 103 components total
2020-04-27 14:33:56.505 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/sensors/libjoystick_module.so’: Now has 104 components total
2020-04-27 14:33:56.515 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/sight/libsight_module.so’: Now has 105 components total
2020-04-27 14:33:56.527 INFO engine/alice/backend/modules.cpp@283: Loaded module ‘packages/viewers/libviewers_module.so’: Now has 121 components total
2020-04-27 14:33:56.527 ERROR engine/alice/backend/modules.cpp@307: //isaac_ros_bridge_codelets/odom_publisher:ros_odom_pub_components: /home/dellstation/.cache/bazel/_bazel_dellstation/2cdfd8d69a6ddb1b4ca35a3cc5770ea6/execroot/com_nvidia_isaac/bazel-out/k8-opt/bin/apps/isaac_ros_bridge_codelets/odom_publisher/carter_sim_ros_odom_pub.runfiles/com_nvidia_isaac//external/com_nvidia_isaac/isaac_ros_bridge_codelets/odom_publisher/libros_odom_pub_components_module.so: cannot open shared object file: No such file or directory
2020-04-27 14:33:56.527 PANIC engine/alice/backend/modules.cpp@309: Could not load all required modules for application
====================================================================================================
| Isaac application terminated unexpectedly |
====================================================================================================
#01 engine/alice/tools/main(+0x8044a) [0x561b8c2a144a]
#02 engine/alice/tools/main(+0xe8710) [0x561b8c309710]
#03 engine/alice/tools/main(+0xe8a80) [0x561b8c309a80]
#04 /lib/x86_64-linux-gnu/libpthread.so.0(+0x12890) [0x7f57d7859890]
#05 /lib/x86_64-linux-gnu/libc.so.6(gsignal+0xc7) [0x7f57d6ef3e97]
#06 /lib/x86_64-linux-gnu/libc.so.6(abort+0x141) [0x7f57d6ef5801]
#07 engine/alice/tools/main(+0x9d1d7) [0x561b8c2be1d7]
#08 engine/alice/tools/main(+0x34bdc) [0x561b8c255bdc]
#09 engine/alice/tools/main(+0x350f3) [0x561b8c2560f3]
#10 engine/alice/tools/main(+0x352e4) [0x561b8c2562e4]
#11 engine/alice/tools/main(+0x15c23) [0x561b8c236c23]
#12 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xe7) [0x7f57d6ed6b97]
#13 engine/alice/tools/main(+0x1af7a) [0x561b8c23bf7a]
====================================================================================================
Minidump written to: /tmp/36c9cee7-76f1-45e5-04a27bbb-cdf87d23.dmp
Aborted (core dumped)

Do you have any idea the problem might be?

Thanks,
Rosy

Hi there,

Hmmm as a quick check, I see you haven’t placed the folder in your root SDK folder but instead inside the apps folder. Have you updated the path to the codelet sub-folders as stated in the README?

Here is the quote from the README

If you have not saved the repo your base Isaac SDK folder, you must change the path to the codelet sub-folders in the repo within those sub-folders’ .app.json and BUILD files.

For example if isaac_ros_bridge_codelets is saved in packages in Isaac SDK folder line 18 of img_publisher/carter_sim_ros_img_pub.app.json changes from "//isaac_ros_bridge_codelets/img_publisher:ros_img_pub_components" to "//packages/isaac_ros_bridge_codelets/img_publisher:ros_img_pub_components"

If this doesn’t solve your problem I recommend you raise the issue on to the github page and we can dive a bit deeper from there.

Hello there!

I changed the path in BUILD but missed changing app.json file. Problem solved. It works now! Thanks!!! :D

Best,
Rosy

1 Like