============== |package_name| ============== :ir_github:` ` Quickstart ---------- .. note:: This quickstart demonstrates setting up |package_name|. It is often used with an encoder and decoder node to perform pre-processing and post-processing respectively to form an application. To use the packages in useful contexts, refer :doc:`here `. Set Up Development Environment ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. include:: /_snippets/set_up_dev_env.rst Build |package_name| ^^^^^^^^^^^^^^^^^^^^^^ .. tabs:: .. tab:: Binary Package 1. Launch the Docker container using the ``run_dev.sh`` script: .. code:: bash cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh 2. Install the prebuilt Debian package: :ir_apt: .. code:: bash sudo apt-get install -y ros-humble-isaac-ros-triton .. tab:: Build from Source 1. Clone this repository under ``${ISAAC_ROS_WS}/src``: .. code:: bash cd ${ISAAC_ROS_WS}/src && \ git clone :ir_clone:`` 2. Launch the Docker container using the ``run_dev.sh`` script: .. code:: bash cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \ ./scripts/run_dev.sh 3. Use ``rosdep`` to install the package's dependencies: :ir_apt: .. code:: bash rosdep update && rosdep install --from-paths ${ISAAC_ROS_WS}/src/isaac_ros_dnn_inference/isaac_ros_triton --ignore-src -y 4. Build the package from source: .. code:: bash cd ${ISAAC_ROS_WS}/ && \ colcon build --symlink-install --packages-up-to isaac_ros_triton --base-paths ${ISAAC_ROS_WS}/src/isaac_ros_dnn_inference/isaac_ros_triton 5. Source the ROS workspace: .. note:: Make sure to repeat this step in **every** terminal created inside the Docker container. Because this package was built from source, the enclosing workspace must be sourced for ROS to be able to find the package's contents. .. code:: bash source install/setup.bash Troubleshooting --------------- Isaac ROS Troubleshooting ^^^^^^^^^^^^^^^^^^^^^^^^^ For solutions to problems with Isaac ROS, see :doc:`here `. Deep Learning Troubleshooting ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ For solutions to problems with using DNN models, see :doc:`here `. API ---- Usage ^^^^^ This package contains a launch file that solely launches ``isaac_ros_triton``. .. note:: For your specific application, these launch files may need to be modified. Consult the available components to see the configurable parameters. Additionally, for most applications, an encoder node for pre-processing your data source and decoder for post-processing the inference output is required. ====================================== ==================== Launch File Components Used ====================================== ==================== ``isaac_ros_triton.launch.py`` :doc:`TritonNode ` ====================================== ==================== TritonNode ^^^^^^^^^^ ROS Parameters ~~~~~~~~~~~~~~ =========================== =============== ======================== =================================================================================================================================================================================================================================== ROS Parameter Type Default Description =========================== =============== ======================== =================================================================================================================================================================================================================================== ``model_repository_paths`` ``string list`` ``['']`` The absolute paths to your model repositories in your local file system (the structure should follow Triton requirements) E.g. ``['/tmp/models']`` ``model_name`` ``string`` ``''`` The name of your model. Under ``model_repository_paths``, there should be a directory with this name, and it should align with the model name in the model configuration under this directory E.g. ``peoplesemsegnet_shuffleseg`` ``max_batch_size`` ``uint16_t`` ``8`` The maximum batch size allowed for the model. It should align with the model configuration ``num_concurrent_requests`` ``uint16_t`` ``10`` The number of requests the Triton server can take at a time. This should be set according to the tensor publisher frequency ``input_tensor_names`` ``string list`` ``['input_tensor']`` A list of tensor names to be bound to specified input bindings names. Bindings occur in sequential order, so the first name here will be mapped to the first name in input_binding_names ``input_binding_names`` ``string list`` ``['']`` A list of input tensor binding names specified by model E.g. ``['input_2:0']`` ``input_tensor_formats`` ``string list`` ``['']`` A list of input tensor NITROS formats. This should be given in sequential order E.g. ``['nitros_tensor_list_nchw_rgb_f32']`` ``output_tensor_names`` ``string list`` ``['output_tensor']`` A list of tensor names to be bound to specified output binding names ``output_binding_names`` ``string list`` ``['']`` A list of tensor names to be bound to specified output binding names E.g. ``['argmax_1']`` ``output_tensor_formats`` ``string list`` ``['']`` A list of input tensor NITROS formats. This should be given in sequential order E.g. ``[nitros_tensor_list_nchw_rgb_f32]`` =========================== =============== ======================== =================================================================================================================================================================================================================================== ROS Topics Subscribed ~~~~~~~~~~~~~~~~~~~~~ ============== ==================================================================================================================================================================== ======================= ROS Topic Type Description ============== ==================================================================================================================================================================== ======================= ``tensor_pub`` :ir_repo:`isaac_ros_tensor_list_interfaces/TensorList ` The input tensor stream ============== ==================================================================================================================================================================== ======================= ROS Topics Published ~~~~~~~~~~~~~~~~~~~~ ============== ==================================================================================================================================================================== ========================================================== ROS Topic Type Description ============== ==================================================================================================================================================================== ========================================================== ``tensor_sub`` :ir_repo:`isaac_ros_tensor_list_interfaces/TensorList ` The tensor list of output tensors from the model inference ============== ==================================================================================================================================================================== ========================================================== .. |package_name| replace:: ``isaac_ros_triton``