How to send goal from Isaac C-API to an existing isaac-application based on python/c++ codelet

I am new to Isaac platform. I am trying to implement Example 1 provided in the C API documentation
Example 1: You want to use the Isaac navigation stack with Carter, but want to send goal commands
from your own software stack. You could achieve this by sending GoTo commands via the C API to the
Carter application. This will require only minor modifications to the existing Carter app.

Could you please help in clarifying the following queries?

  1. How to communicate C API with existing ISAAC Carter application which uses python/C++ Codelet ? Because Isaac C API uses c program
    and it has its own main function. Isaac-application with python/C++ Codelet has its own main so how these to will communicate ?
  2. Document says, “This will require only minor modifications to the existing Carter app”. Could you please provide more details on the same?
  3. How to send goal from Isaac C-API to an existing isaac-application based on python/c++ codelet?
2 Likes

I too have the same query.
Could you please provide more details/examples on “how to communicate external app/send commands to Carter app”?

Example 1: You want to use the Isaac navigation stack with Carter, but want to send goal commands
from your own software stack. You could achieve this by sending GoTo commands via the C API to the
Carter application. This will require only minor modifications to the existing Carter app.

Facing Same Issue for communicating Isaac SDK with external application.

In Document C API need more information
Example 1: You want to use the Isaac navigation stack with Carter, but want to send goal commands
from your own software stack. You could achieve this by sending GoTo commands via the C API to the
Carter application. This will require only minor modifications to the existing Carter app.

Can you Guide us for same.

Isaac SDK C API lets you embed an Isaac SDK application into your own C/C++ host application. You can use the Isaac SDK C-API to load the app JSON file for the Carter navigation (carter_delivery.app.json), for example, which will bring up the components/codelets as part of host application process. From here, you can send/receive messages to that embedded Isaac SDK application graph running within your process. The Isaac SDK application graph itself running within your host application process may open network ports to connect to remote processes such as Isaac Sim or other running Isaac SDK applications as needed.

Isaac SDK applications run as a single process but you can launch multiple Isaac SDK applications and have them communicate over network. Python codelets, for example, need to be launched from a Python script in order to run and communicate with the Isaac SDK application embedded within your host application process using network.

Could you describe more about what you’d like to do with the Carter app with your host application using the Isaac SDK C API? You can have your host application use the Isaac SDK C API to load the Carter nav stack app graph from JSON and then run. You would then send goal messages from your host application through the Isaac SDK C API to the GlobalPlannercodelet (here).

Thank you for your inputs.
Could you describe more about what you’d like to do with the Carter app with your host application using the Isaac SDK C API?
I want to send pose from external application to isaac sdk application.

Solved the problem using C-API. Used json payload to send data to a desired node.
Isaac C API — ISAAC 2021.1 documentation (nvidia.com).

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.