This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM62A7: Not able to run ROS2 Demo applications

Part Number: AM62A7


We are testing robotics SDK for AM62A7 EVM board using below procedure.

https://software-dl.ti.com/jacinto7/esd/robotics-sdk/09_00_00/AM62A/docs/source/docker/setting_docker_ros2.html

After setting up docker using above guide docker is working but we are not able to run any demo applications and it shows package not found error when testing applications

below is the error shown when running demo application.

root@j7-docker:/opt/ros/humble$ ros2 launch ti_vision_cnn zed_semseg_cnn_launch.py
Package 'ti_vision_cnn' not found: "package 'ti_vision_cnn' not found, searching: ['/opt/ros/humble']"
root@j7-docker:/opt/ros/humble$

docker images shows below output on the EVM.

REPOSITORY             TAG                     IMAGE ID       CREATED             SIZE
j7-ros-humble-am62a    9.0.0                   8fed6a2057e7   About an hour ago   2.24GB
<none>                 <none>                  52385d594be9   2 hours ago         1.88GB
j7-ros-humble-common   9.0.0                   d1f642340ed3   2 hours ago         1.88GB
<none>                 <none>                  261086bed85a   2 hours ago         715MB
arm64v8/ros            humble-ros-base-jammy   8b25c0705a1b   4 days ago          715MB

Kindly help us resolve the error.

  • Hi Vinay,

    Thanks for your interests in AM62A and the Robotics SDK. Before running the demo, please make sure to build the ROS nodes using "colcon build". If you haven’t done so already, please run the following commands in the SDK container:

    root@j7-docker:~/j7ros_home/ros_ws$ colcon build --base-paths /opt/robotics_sdk/ros2 --executor sequential --cmake-force-configure
    root@j7-docker:~/j7ros_home/ros_ws$ source install/setup.bash

    This will ensure that the ROS nodes are properly built and ready for use.

  • Hi,

    Thanks for the reply.

    After building ROS nodes application is running i think but i am not able to see anything on display.

    below are prints shown when running demo application.

    AM62A7 Target log

    root@j7-docker:~/j7ros_home/ros_ws$ ros2 launch ti_vision_cnn gscam_objdet_cnn_imx219_launch.py cam_id:=X subdev_id:=Y
    [INFO] [launch]: All log files can be found below /root/.ros/log/2023-09-07-03-48-26-290893-iWave-G55M-80
    [INFO] [launch]: Default logging verbosity is set to INFO
    v4l2src device=/dev/video-rpi-camX io-mode=5 do-timestamp=true ! video/x-bayer, width=1920, height=1080, format=rggb ! tiovxisp sink_0::device=/dev/v4l-rpi-subdevY dcc-isp-file=/o
    pt/imaging/imx219/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin format-msb=7 sensor-name=SENSOR_SONY_IMX219_RPI ! tiovxmultiscaler ! video/x-raw, w
    idth=1280, height=720 ! tiovxdlcolorconvert target=1 out-pool-size=4
    file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_info.yaml
    [INFO] [vision_cnn-1]: process started with pid [81]
    [INFO] [gscam_main-2]: process started with pid [83]
    [vision_cnn-1] APP: Init ... !!!
    [vision_cnn-1] MEM: Init ... !!!
    [vision_cnn-1] MEM: Initialized DMA HEAP (fd=12) !!!
    [vision_cnn-1] MEM: Init ... Done !!!
    [vision_cnn-1] IPC: Init ... !!!
    [vision_cnn-1] IPC: Init ... Done !!!
    [vision_cnn-1] REMOTE_SERVICE: Init ... !!!
    [vision_cnn-1] REMOTE_SERVICE: Init ... Done !!!
    [vision_cnn-1]     60.640884 s: GTC Frequency = 200 MHz
    [vision_cnn-1] APP: Init ... Done !!!
    [vision_cnn-1]     60.643385 s:  VX_ZONE_INIT:Enabled
    [vision_cnn-1]     60.643452 s:  VX_ZONE_ERROR:Enabled
    [vision_cnn-1]     60.643496 s:  VX_ZONE_WARNING:Enabled
    [vision_cnn-1]     60.646336 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    [vision_cnn-1]     60.647906 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    [gscam_main-2] [INFO] [1694058507.818618370] [camera.gscam_publisher]: use_intra_process_comms=0
    [gscam_main-2] [INFO] [1694058507.824806450] [camera.gscam_publisher]: gscam_config = v4l2src device=/dev/video-rpi-camX io-mode=5 do-timestamp=true ! video/x-bayer, width=1920, h
    eight=1080, format=rggb ! tiovxisp sink_0::device=/dev/v4l-rpi-subdevY dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.b
    in format-msb=7 sensor-name=SENSOR_SONY_IMX219_RPI ! tiovxmultiscaler ! video/x-raw, width=1280, height=720 ! tiovxdlcolorconvert target=1 out-pool-size=4
    [gscam_main-2] [INFO] [1694058507.826470980] [camera.gscam_publisher]: sync_sink = false
    [gscam_main-2] [INFO] [1694058507.827339495] [camera.gscam_publisher]: preroll = false
    [gscam_main-2] [INFO] [1694058507.827537565] [camera.gscam_publisher]: use_gst_timestamps = false
    [gscam_main-2] [INFO] [1694058507.827628995] [camera.gscam_publisher]: image_encoding = yuv420
    [gscam_main-2] [INFO] [1694058507.827732000] [camera.gscam_publisher]: camera_info_url = file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_info.ya
    ml
    [gscam_main-2] [INFO] [1694058507.827801375] [camera.gscam_publisher]: camera_name = camera
    [gscam_main-2] [INFO] [1694058507.827860370] [camera.gscam_publisher]: frame_id = camera_frame
    [gscam_main-2] [INFO] [1694058507.827954590] [camera.gscam_publisher]: appsink_width = 1280
    [gscam_main-2] [INFO] [1694058507.828018755] [camera.gscam_publisher]: appsink_height = 720
    [gscam_main-2] [INFO] [1694058507.828075925] [camera.gscam_publisher]: appsink_framerate = 30
    [gscam_main-2] [INFO] [1694058507.828282525] [camera.gscam_publisher]: camera calibration URL: file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_i
    nfo.yaml
    [gscam_main-2] [INFO] [1694058507.835056460] [camera.gscam_publisher]: Loaded camera calibration from file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_c
    amera_info.yaml
    [vision_cnn-1] 
    [vision_cnn-1]  Number of subgraphs:1 , 129 nodes delegated out of 129 nodes 
    [vision_cnn-1]  
    [vision_cnn-1]     61.010433 s:  VX_ZONE_ERROR:[tivxQueueGet:326] no elements found in que
    [vision_cnn-1] [INFO] [1694058508.184495190] [vision_cnn]: Created Publisher for topic: camera/image_rect_nv12
    [vision_cnn-1] [INFO] [1694058508.190663455] [vision_cnn]: Created Publisher for topic: vision_cnn/tensor
    [vision_cnn-1] [INFO] [1694058508.191266375] [vision_cnn]: processCompleteEvtHdlr Launched.
    [vision_cnn-1] [INFO] [1694058508.193128135] [vision_cnn]: Subscribed to the topic: camera/image_raw
    
    [gscam_main-2] [INFO] [1694058512.303644940] [camera.gscam_publisher]: Gstreamer initialized
    [gscam_main-2] [INFO] [1694058512.304717245] [camera.gscam_publisher]: Gstreamer version: GStreamer 1.20.3
    [gscam_main-2] APP: Init ... !!!
    [gscam_main-2] MEM: Init ... !!!
    [gscam_main-2] MEM: Initialized DMA HEAP (fd=13) !!!
    [gscam_main-2] MEM: Init ... Done !!!
    [gscam_main-2] IPC: Init ... !!!
    [gscam_main-2] IPC: Init ... Done !!!
    [gscam_main-2] REMOTE_SERVICE: Init ... !!!
    [gscam_main-2] REMOTE_SERVICE: Init ... Done !!!
    [gscam_main-2]     65.261388 s: GTC Frequency = 200 MHz
    [gscam_main-2] APP: Init ... Done !!!
    [gscam_main-2]     65.261627 s:  VX_ZONE_INIT:Enabled
    [gscam_main-2]     65.261657 s:  VX_ZONE_ERROR:Enabled
    [gscam_main-2]     65.261667 s:  VX_ZONE_WARNING:Enabled
    [gscam_main-2]     65.264271 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    [gscam_main-2]     65.264959 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    [gscam_main-2] [INFO] [1694058512.432945255] [camera.gscam_publisher]: Time offset: 1694058452262154640
    [gscam_main-2] [FATAL] [1694058512.434085205] [camera.gscam_publisher]: Failed to pause stream, check gscam_config
    [gscam_main-2]     65.283254 s:  VX_ZONE_ERROR:[vxGetStatus:700] Reference is NULL
    [gscam_main-2]     65.283308 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
    [gscam_main-2]     65.287090 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
    [gscam_main-2] APP: Deinit ... !!!
    [gscam_main-2] REMOTE_SERVICE: Deinit ... !!!
    [gscam_main-2] REMOTE_SERVICE: Deinit ... Done !!!
    [gscam_main-2] IPC: Deinit ... !!!
    [gscam_main-2] IPC: DeInit ... Done !!!
    [gscam_main-2] MEM: Deinit ... !!!
    [gscam_main-2] DDR_SHARED_MEM: Alloc's: 0 alloc's of 0 bytes 
    [gscam_main-2] DDR_SHARED_MEM: Free's : 0 free's  of 0 bytes 
    [gscam_main-2] DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    [gscam_main-2] MEM: Deinit ... Done !!!
    [gscam_main-2] APP: Deinit ... Done !!!
    [gscam_main-2] [INFO] [1694058512.442389215] [camera.gscam_publisher]: Pipeline deleted
    
    ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
    [vision_cnn-1]     78.499623 s:  VX_ZONE_ERROR:[vxWaitGraph:867] graph not in expected state
    [vision_cnn-1] [03:48:45.000.000000]:ERROR:[VISION_CNN_waitGraph:0637] vxWaitGraph() failed
    [vision_cnn-1] [03:48:45.001.001731]:ERROR:[VISION_CNN_intSigHandler:0925] VISION_CNN_waitGraph() failed
    [vision_cnn-1] [INFO] [1694058525.661204394] [vision_cnn]: processCompleteEvtHdlr Exiting.
    [gscam_main-2] [INFO] [1694058525.652544419] [rclcpp]: signal_handler(signum=2)
    [vision_cnn-1] GRAPH: CNN Semantic Segmentation Graph (#nodes =   2, #executions =      0)
    [vision_cnn-1]  NODE:      VPAC_LDC1:                  LdcNode: avg =[   73.656390] kauditd_printk_skb: 113 callbacks suppressed
          0 usecs, min/max = 18446744073709551 /      0 usecs, #exec[   73.656408] audit: type=1701 audit(1694058525.718:56): auid=4294967295 uid=0 gid=0 ses=4294967295 pid=1583 comm=
    "vision_cnn" exe="/root/j7ros_home/ros_ws/install/ti_vision_cnn/lib/ti_vision_cnn/vision_cnn" sig=11 res=1
    utions =          0
    [vision_cnn-1]  NODE:      VPAC_MSC1:               ScalerNode: avg =      0 usecs, min/max = 18446744073709551 /      0 usecs, #executions =          0
    [vision_cnn-1] 
    [vision_cnn-1]  PERF:  Semantic Segmen: avg =      0 usecs, min/max = 4294967295 /      0 usecs, #executions =          0
    [vision_cnn-1]  PERF:  Semantic Segmen:    0. 0 FPS
    [vision_cnn-1] +-----------------------------------------------------------[   73.723622] audit: type=1334 audit(1694058525.782:57): prog-id=13 op=LOAD
    -+
    [vision_cnn-1] |                   Average processing time [   73.735351] audit: type=1334 audit(1694058525.798:58): prog-id=14 op=LOAD
                     |
    [vision_cnn-1] +------------------------------------------------------------+
    [vision_cnn-1] +------------------------------------------------------------+
    [vision_cnn-1]     78.524073 s:  VX_ZONE_INIT:[tivxHostDeInitLocal:110] De-Initialization Done for HOST !!!
    [vision_cnn-1]     78.528573 s:  VX_ZONE_INIT:[tivxDeInitLocal:193] De-Initialization Done !!!
    [vision_cnn-1] APP: Deinit ... !!!
    [vision_cnn-1] REMOTE_SERVICE: Deinit ... !!!
    [vision_cnn-1] REMOTE_SERVICE: Deinit ... Done !!!
    [vision_cnn-1] IPC: Deinit ... !!!
    [vision_cnn-1] IPC: DeInit ... Done !!!
    [vision_cnn-1] MEM: Deinit ... !!!
    [vision_cnn-1] DDR_SHARED_MEM: Alloc's: 28 alloc's of 22716284 bytes 
    [vision_cnn-1] DDR_SHARED_MEM: Free's : 28 free's  of 22716284 bytes 
    [vision_cnn-1] DDR_SHARED_MEM: Open's : 0 allocs  of 0 bytes 
    [vision_cnn-1] MEM: Deinit ... Done !!!
    [vision_cnn-1] APP: Deinit ... Done !!!
    ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring...
    [ERROR] [gscam_main-2]: process has died [pid 83, exit code -2, cmd '/root/j7ros_home/ros_ws/install/gscam2/lib/gscam2/gscam_main --ros-args -r __node:=gscam_publisher -r __ns:=/c
    amera --params-file /tmp/launch_params_m65_i29v -r /image_raw:=/camera/image_raw -r /camera_info:=/camera/camera_info'].
    ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring...
    ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring...
    ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT) again, ignoring...
    [ERROR] [vision_cnn-1]: process has died [pid 81, exit code -11, cmd '/root/j7ros_home/ros_ws/install/ti_vision_cnn/lib/ti_vision_cnn/vision_cnn --ros-args -r __node:=vision_cnn -
    -params-file /root/j7ros_home/ros_ws/install/ti_vision_cnn/share/ti_vision_cnn/config/params.yaml --params-file /tmp/launch_params_zga68bz8'].
    [   76.109024] audit: type=1334 audit(1694058528.170:59): prog-id=14 op=UNLOAD
    [   76.116194] audit: type=1334 audit(1694058528.170:60): prog-id=13 op=UNLOAD
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ sync
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ 
    root@j7-docker:~/j7ros_home/ros_ws$ ros2 launch ti_vision_cnn gscam_objdet_cnn_imx219_launch.py cam_id:=X subdev_id:=Y
    [INFO] [launch]: All log files can be found below /root/.ros/log/2023-09-07-04-01-33-377778-iWave-G55M-125
    [INFO] [launch]: Default logging verbosity is set to INFO
    v4l2src device=/dev/video-rpi-camX io-mode=5 do-timestamp=true ! video/x-bayer, width=1920, height=1080, format=rggb ! tiovxisp sink_0::device=/dev/v4l-rpi-subdevY dcc-isp-file=/o
    pt/imaging/imx219/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.bin format-msb=7 sensor-name=SENSOR_SONY_IMX219_RPI ! tiovxmultiscaler ! video/x-raw, w
    idth=1280, height=720 ! tiovxdlcolorconvert target=1 out-pool-size=4
    file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_info.yaml
    [INFO] [vision_cnn-1]: process started with pid [126]
    [INFO] [gscam_main-2]: process started with pid [128]
    [vision_cnn-1] APP: Init ... !!!
    [vision_cnn-1] MEM: Init ... !!!
    [vision_cnn-1] MEM: Initialized DMA HEAP (fd=12) !!!
    [vision_cnn-1] MEM: Init ... Done !!!
    [vision_cnn-1] IPC: Init ... !!!
    [gscam_main-2] [INFO] [1694059294.096493191] [camera.gscam_publisher]: use_intra_process_comms=0
    [vision_cnn-1] IPC: Init ... Done !!!
    [vision_cnn-1] REMOTE_SERVICE: Init ... !!!
    [gscam_main-2] [INFO] [1694059294.104927227] [camera.gscam_publisher]: gscam_config = v4l2src device=/dev/video-rpi-camX io-mode=5 do-timestamp=true ! video/x-bayer, width=1920, h
    eight=1080, format=rggb ! tiovxisp sink_0::device=/dev/v4l-rpi-subdevY dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss.bin sink_0::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a.b
    in format-msb=7 sensor-name=SENSOR_SONY_IMX219_RPI ! tiovxmultiscaler ! video/x-raw, width=1280, height=720 ! tiovxdlcolorconvert target=1 out-pool-size=4
    [gscam_main-2] [INFO] [1694059294.105185661] [camera.gscam_publisher]: sync_sink = false
    [gscam_main-2] [INFO] [1694059294.105314539] [camera.gscam_publisher]: preroll = false
    [gscam_main-2] [INFO] [1694059294.105397270] [camera.gscam_publisher]: use_gst_timestamps = false
    [gscam_main-2] [INFO] [1694059294.105495307] [camera.gscam_publisher]: image_encoding = yuv420
    [gscam_main-2] [INFO] [1694059294.105573459] [camera.gscam_publisher]: camera_info_url = file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_info.ya
    ml
    [gscam_main-2] [INFO] [1694059294.105649975] [camera.gscam_publisher]: camera_name = camera
    [gscam_main-2] [INFO] [1694059294.105718551] [camera.gscam_publisher]: frame_id = camera_frame
    [gscam_main-2] [INFO] [1694059294.105821798] [camera.gscam_publisher]: appsink_width = 1280
    [gscam_main-2] [INFO] [1694059294.105909715] [camera.gscam_publisher]: appsink_height = 720
    [gscam_main-2] [INFO] [1694059294.105983461] [camera.gscam_publisher]: appsink_framerate = 30
    [gscam_main-2] [INFO] [1694059294.106211020] [camera.gscam_publisher]: camera calibration URL: file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_camera_i
    nfo.yaml
    [vision_cnn-1] REMOTE_SERVICE: Init ... Done !!!
    [vision_cnn-1]    846.942573 s: GTC Frequency = 200 MHz
    [vision_cnn-1] APP: Init ... Done !!!
    [vision_cnn-1]    846.942823 s:  VX_ZONE_INIT:Enabled
    [vision_cnn-1]    846.942853 s:  VX_ZONE_ERROR:Enabled
    [vision_cnn-1]    846.942865 s:  VX_ZONE_WARNING:Enabled
    [vision_cnn-1]    846.944738 s:  VX_ZONE_INIT:[tivxInitLocal:130] Initialization Done !!!
    [vision_cnn-1]    846.945876 s:  VX_ZONE_INIT:[tivxHostInitLocal:96] Initialization Done for HOST !!!
    [gscam_main-2] [INFO] [1694059294.109885228] [camera.gscam_publisher]: Loaded camera calibration from file:///root/j7ros_home/ros_ws/install/gscam2/share/gscam2/config/IMX219_HD_c
    
    

    Host PC log

    root@pc-docker:~/j7ros_home/ros_ws$ ros2 launch ti_viz_nodes rviz_objdet_cnn_launch.py
    [INFO] [launch]: All log files can be found below /root/.ros/log/2023-09-07-04-02-02-805892-iwave-2831
    [INFO] [launch]: Default logging verbosity is set to INFO
    [INFO] [viz_color_conv_yuv2rgb-1]: process started with pid [2832]
    [INFO] [viz_color_conv_yuv2rgb-2]: process started with pid [2834]
    [INFO] [viz_objdet-3]: process started with pid [2836]
    [INFO] [rviz2-4]: process started with pid [2838]
    [rviz2-4] qt.qpa.xcb: could not connect to display 
    [rviz2-4] qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
    [rviz2-4] This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
    [rviz2-4] 
    [rviz2-4] Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
    [rviz2-4] 
    [ERROR] [rviz2-4]: process has died [pid 2838, exit code -6, cmd '/opt/ros/humble/lib/rviz2/rviz2 -d /root/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/rviz/objdet_cnn.rviz --ros-args -r __node:=rviz2'].
    
    
    

  • We are using imx219 camera module for this testing and camera is detected on boot

  • In the launch command on the target, "ros2 launch ti_vision_cnn gscam_objdet_cnn_imx219_launch.py cam_id:=X subdev_id:=Y", X and Y are input arguments for camera ID and subdev ID for the camera, respectively. You can check them by running /opt/edgeai-gst-apps/scripts/setup_cameras.sh on the target Linux. Typically both are 0 when a single IMX219 camera is attached to the target. In that case, please try the following command insider the SDK container on the target:  

    root@j7-docker:~/j7ros_home/ros_ws$ ros2 launch ti_vision_cnn gscam_objdet_cnn_imx219_launch.py cam_id:=0 subdev_id:=0

    On the visualization PC side, please check the documentation section (copied below):

    If your Ubuntu PC (for visualization) uses an Nvidia GPU driver, please ensure that the Nvidia Container Toolkit ("nvidia-docker" or "nvidia-docker2" depending on Ubuntu distro) is installed before running `docker_run_ros2.sh` script. Additionally, when generating scripts, make sure to add the argument `GPUS=y`.