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.

[参考译文] SK-TDA4VM:在 SK-tda4vm 上启用 arducam PTZ 摄像机

Guru**** 2015290 points
Other Parts Discussed in Thread: SK-TDA4VM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1411493/sk-tda4vm-enable-arducam-ptz-camera-on-sk-tda4vm

器件型号:SK-TDA4VM

工具与软件:

您好、我想在 sk-tda4vm 上启用摄像机 arducam PTZ 摄像机(github.com/.../master 在哪里可以找到与此相机相关的 dtbo 文件?

我正在使用 SD 卡映像 tisdk-edgeai-image-j721e-evm.wic (版本10.X)

非常感谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    您能否说明您要启用的 Arducam PTZ 摄像机型号? 我们尚未使用我们的设备测试或验证任何 PTZ 摄像机、因此开箱即用后不支持此功能。 有关 SK-TDA4VM 支持的传感器列表、请参阅以下内容: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/10_00_00/exports/edgeai-docs/devices/TDA4VM/linux/getting_started.html#hardware-setup

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!

    感谢您的回答。 我正在使用摄像机 PTZ Arducam 8 MP (链接如下: https://www.arducam.com/product/b01678mp-arducam-8mp-pan-tilt-zoom-ptz-camera-for-raspberry-pi/ )  

    无法将其集成并用于我正在实施的自定义模型。 它是一个模型,可以检测人的脸,然后继续跟踪它。  

    如果可能、您能否 建议我遵循正确的方法?

    非常感谢、

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    链接的传感器基于该器件支持的8MP IMX219传感器。 此处概述了启用此传感器的说明: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/10_00_00/exports/edgeai-docs/devices/TDA4VM/linux/getting_started.html#rpiv2-imx219-raw-sensor

    进行所需更改后、您应该会通过重新启动设备(运行./init_script.sh 或./scripts/setup_cameras.sh)来看到传感器信息、如下所示: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-sk-tda4vm/10_00_00/exports/edgeai-docs/common/configuration_file.html#camera-sources-v4l2

    在您的自定义模型中、使用提供的传感器信息作为输入源。 浏览 SDK 文档中的演示和教程、了解如何实现这一点。 如果您有任何其他问题、请告诉我。

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!

    非常感谢:)我成功地连接了相机,我可以看到传感器信息时启动脚本:  Setup_cameras.sh。

    但是、当我尝试测试时、我遇到了一些错误。

    在目标侧、我成功运行 ROS 节点:  

    ros2启动 gscam2 v4l_imx219_launch.py cam_id=X subdev_id:=Y 

    但从 PC 端看、我无法直观地看到摄像头的输出。 我使用了以下命令:
    ros2启动 ti_viz_nodes gscam_nv12_launch.py 宽度:=1280高度:=720 

    出现以下错误:

    你有想法吗?

    非常感谢、

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好

    我们负责处理此线程的专家 Fabiana 在9月25日之前不在办公室。 请预计回复将延迟。

    谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    感谢您提供的信息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    当然谢谢。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    您能否验证是否能够运行其中一个 IMX219 TI 演示应用并在 PC 上查看结果?

    请访问 https://software-dl.ti.com/jacinto7/esd/robotics-sdk/10_00_00/TDA4VM/docs/source/docker/setting_docker_ros2.html#run-demo-applications

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!

    遗憾的是、示例不起作用。

    启动 IMX219的物体检测示例时、RVIZ 中未检测到图像(在 PC 上)

    在下面的屏幕截图中、您可以看到我的摄像头已被检测到:

    在接下来的屏幕截图中、将在目标上启动 ROS 节点并在 PC 上显示结果:

    您是否知道它为什么不起作用? 在执行示例时、我可以看到一个错误:[ERROR][1727446820.197511301][CAMER_CALIBRATION_parserser]:无法打开摄像头校准文件[camera_calibration]/opt/imaging/imx390/imx390_35244_equidistant_1280x720_rect.yaml

    如果是问题的原因、我该如何解决? 因为我找不到 YAML 文件。

    非常感谢、

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    您是否遵循了机器人 SDK 设置说明? 如果没有、请按照以下页面中概述的步骤操作、如果您有任何问题、请告诉我。

    https://software-dl.ti.com/jacinto7/esd/robotics-sdk/10_00_00/TDA4VM/docs/source/docker/README.html

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

    谢谢!

    Fabiana

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Fabiana、您好!

    是的、我按照机器人 SDK 说明进行了操作。

    运行示例时:ros2启动 ti_vision_cnn gscam_objdet_cnn_imx219_launch.py cam_id:=X subdev_id:=Y

    我得到此错误: [致命][1727859184.979048301][camer.gscap_publisher]:无法暂停流,检查 gscap_config

    和从 PC 端运行:ros2启动 ti_viz_nodes rviz_objdet_cnn_launch.py。 但我收到了 RVIZ 中的消息:"没有图像"。

    我尝试了使用连接电路板时屏幕上显示的边缘 AI 库示例来测试摄像头。 我使用了自定义选项、并选择了摄像机作为输入。 我可以使用摄像头作为输入来运行边缘 AI 模型。

    我仍然忽略在尝试 ROS 示例时为什么它不起作用。 你有想法吗?

    非常感谢、

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    gscam ROS 节点使用下面的 Gstreamer。 因此、让我们首先看看我们是否可以直接创建不带 ROS 的 GStreamer 流水线。

     使用 setup_camerases_v3link.sh 设置摄像机后、运行以下命令时会看到什么?

    • gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5 DO-timestamp=true! \
      video/x-bayer、宽度=1920、高度=1080、格式=rggb! \
      tiovxisp sink_0::device=V4L-imx219-subdev0 dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b_1640x1232.bin \
      sink_0:::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b_1640x1232.bin format-msb=7 sensor-name=sensor_Sony_IMX219_rpi ! \
      video/x-raw、格式=NV12! \
      tiovxmultiscaler! \
      tiovxdlcolorconvert target=1 out-pool-size=4! autovideosink

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    感谢您的回答。

    命令的输出如下:

    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts #./setup_cameras_v3link.sh
    无法设置格式:参数无效(22)
    检测到 IMX219摄像头0
       器件=/dev/video-imx219-cam0
       名称= imx219
       格式=[fmt:SRGGB8_1X8/1920x1080字段:none]
       subdev_id =/dev/v4l-imx219-subdev0
       ISP_必需=是
       LDC_required = yes
    无法设置路由:参数无效(22)
    无法设置格式:参数无效(22)
    无法设置路由:参数无效(22)
    无法设置格式:参数无效(22)
    无法设置路由:参数无效(22)
    无法设置格式:参数无效(22)
    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5 DO-timestamp=true! \
    > video/x-bayer、宽度=1920、高度=1080、格式=rggb! \
    > tiovxisp sink_0::device=v4l-imx219-subdev0 dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b_1640x1232.bin \
    > sink_0:::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b_1640x1232.bin format-msb=7 sensor-name=sensor_sony_imx219_rpi ! \
    > video/x-raw、格式=NV12! \
    > tiovxmultiscaler! \
    > tiovxdlcolorconvert target=1 out-pool-size=4! autovideosink
    应用程序:初始化...!!!
      114.316295 s:内存:初始化...!!!
      114.316331s:MEM:初始化 DMA 堆(FD=8)!!!
      114.316437 s:内存:初始化...完成!!!
      114.316446 s:IPC:初始化...!!!
      114.378727 s:IPC:初始化...完成!!!
    remote_servic: init…!!
    Remote_servic:初始化...完成!!!
      114.386335 s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!!
      114.390541 s: vx_zone_init:Enabled
      114.390569 s: vx_zone_error:Enabled
      114.390577 s: vx_zone_warning:Enabled
      114.402203 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-0
      114.402409 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-1
      114.402491 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-2
      114.402565 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-3
      114.402576 s: vx_zone_init:[tivxInitLocal:136]初始化已完成!!
      114.405448 s: vx_zone_init:[tivxHostInitLocal:106]主机初始化已完成!!!
    警告:错误的管道:无法将元素"tiovxdlcolorconverter"中的属性"target"设置为"1"

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    抱歉、您能从脚本中删除 target=1吗?

    此外、我可能会将硬件设置与本常见问题解答中使用的 Arducam V3Link 摄像头套件相混淆: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1328512/faq-sk-am68-enabling-arducam-v3link-camera-kit-on-sk-am68-and-sk-am69

    您是否可以尝试使用的原始 setup_cameras.sh 脚本并共享日志?

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    "对不起,我不能接受。"

    日志如下:

    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts #./setup_cameras.sh
    检测到 IMX219摄像头0
       器件=/dev/video-imx219-cam0
       名称= imx219
       格式=[fmt:SRGGB8_1X8/1920x1080]
       subdev_id =/dev/v4l-imx219-subdev0
       ISP_必需=是
    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5 DO-timestamp=true! \
    > video/x-bayer、宽度=1920、高度=1080、格式=rggb! \
    > tiovxisp sink_0::device=v4l-imx219-subdev0 dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b_1640x1232.bin \
    > sink_0:::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b_1640x1232.bin format-msb=7 sensor-name=sensor_sony_imx219_rpi ! \
    > video/x-raw、格式=NV12! \
    > tiovxmultiscaler! \
    > tiovxdlcolorconvert out-pool-size=4! autovideosink
    应用程序:初始化...!!!
      142.016677 s:内存:初始化...!!!
      142.016722 s:MEM:初始化 DMA 堆(FD=8)!!
      142.016827 s:内存:初始化...完成!!
      142.016837 s:IPC:初始化...!!!
      142.075694 s:IPC:初始化...完成!!!
    remote_servic: init…!!
    Remote_servic:初始化...完成!!!
      142.084894s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!!
      142.089222 s: vx_zone_init:Enabled
      142.089254 s: vx_zone_error:Enabled
      142.089261 s: vx_zone_warning:Enabled
      142.099711 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-0
      142.099856 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-1
      142.099935 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-2
      142.100005 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-3
      142.100015 s: vx_zone_init:[tivxInitLocal:136]初始化已完成!!
      142.102948 s: vx_zone_init:[tivxHostInitLocal:106]主机初始化已完成!!!
    正在将管道设置为暂停...
    [134.866177] kauditd_printk_skb:抑制5次回调
    [134.866184] 审核: type=1006审核(1728987872.910:23): pid=1622 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=4 res=1
    [ 134.884537]审核:type=1300审核(1728987872.910:23):arch=c00000b7 syscall=64 sucall=yes exit=4 a0=8 a1=ffd1904b98 a2=4 a3=1项=0 psid=1 fid=1622 auid=1000 uid=0 exe=0 euid=0 suid=0 suid=0 sid=0sid=gid=0 /usr/lib sucid=0 sucid=0 sid=0 sid=gid=0
    systemd/systemd-executor" key=(null)
    [134.911658] audit : type=1327 audit (1728987872.910:23): proctitle="( systemd)"
    [135.151148] 审核: type=1006审核(1728987873.194:24 ): pid=1619 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=5 res=1
    [ 135.163980]审核:type=1300审核(1728987873.194:24):arch=c00000b7 syscall=64成功=yes exit=4 a0=8 a1=ffffccbcd5b8 a2=4 a3=1项=0 pid=1 pid=1619 auid=1000 uid=0 euid=0 euid=0 euid=0 euid=0 sucbid=0 sucbcd5b8 a2=4 gid=0s=0"did=gid=0 /usr/lib/sys sucgid=0
    temd/systemd-executor" key=(null)
    [135.190576] 审核: type=1327审核(1728987873.194:24 ): proctitle="( Weston )"
    警告:仍连接代理时队列0xffffff88000be0已销毁:
     XDG_WM_BASE@7仍连接
     WL_SEAT@6仍然连接
     WL_subcomposator@5仍处于连接状态
     WL_COMPOSER@4仍处于连接状态
     WL_REGISTRY@2仍附加
    管道处于活动状态、不需要 PREROLL ...
    从元素"autovideosink0"获得的上下文:gst.gl.GLDisplay=context、gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
    管道是 PREROLLED ...
    正在将管道设置为播放...
    新时钟:GstSystemClock
    已尝试将事件添加到销毁的队列
    [143.087662] audit:type=1701 audit (1728987881.134:25):auid=4294967295 uid=0 gid=0 ses=4294967295 pid=1606 comm="gstglcontext" exe"/usr/bin/gst-launch-1.0 sig =6 res=1
     [143.1336]审核: type=1334审核(1728987881.178:26 ): prog-id=21 op=load
     [143.142632]审核:type=1334审核(1728987881.186:27):prog-id=22 op=load
     [143.149559] audit : type=1334 audit (1728987881.186:28): prog-id=23 op=load
    已中止(已转储内核)
    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts #[ 144.668191]审核:type=1334审核(1728987882.714:29):prog-id=23 op=unload
    [144.675161] audit : type=1334 audit (1728987882.714:30): prog-id=22 op=unload
     [144.682121]审核: type=1334审核(1728987882.714:31): prog-id=21 op=unload

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    欢迎回来! 我很抱歉听到有关疾病的消息,但很高兴听到你的回复。

    现在、对于流水线、您可以将两个"...1640x1232.bin"更改为1920x1080.bin 并重试吗?

    如果这样可行、那么最可能的问题是 Robotics SDK 示例具有一些硬编码的文件名、由于在这个新示例中、我们使用的摄像头模块略有不同、因此分辨率与示例预期的分辨率不同。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    非常感谢。

    我尝试按照您的建议更改命令。

    我看不到摄像头工作正常、但出现了一个黑色窗口。

    运行。

    再次感谢、

    Mariem

    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts #./setup_cameras.sh
    检测到 IMX219摄像头0
       器件=/dev/video-imx219-cam0
       名称= imx219
       格式=[fmt:SRGGB8_1X8/1920x1080]
       subdev_id =/dev/v4l-imx219-subdev0
       ISP_必需=是
    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts gst-launch-1.0 v4l2src device=/dev/video-imx219-cam0 io-mode=5 DO-timestamp=true! \
    > video/x-bayer、宽度=1920、高度=1080、格式=rggb! \
    > tiovxisp sink_0::device=v4l-imx219-subdev0 dcc-isp-file=/opt/imaging/imx219/linear/dcc_viss_10b_1920x1080.bin \
    > sink_0:::dcc-2a-file=/opt/imaging/imx219/linear/dcc_2a_10b_1920x1080.bin format-msb=7 sensor-name=sensor_sony_imx219_rpi ! \
    > video/x-raw、格式=NV12! \
    > tiovxmultiscaler! \
    > tiovxdlcolorconvert out-pool-size=4! autovideosink
    应用程序:初始化...!!!
      264.455141 s:内存:初始...!!
      264.455186 s:MEM:已初始化的 DMA 堆(FD=8)!!
      264.455292 s:内存:初始化...完成!!
      264.455301 s:IPC:初始化...!!
      264.521745 s:IPC:初始化...完成!!
    remote_servic: init…!!
    Remote_servic:初始化...完成!!!
      264.531648 s:GTC 频率= 200 MHz
    应用程序:初始化...完成!!!
      264.535372 s: vx_zone_init:Enabled
      264.535397 s: vx_zone_error:Enabled
      264.535403 s: vx_zone_warning:Enabled
      264.545945 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-0
      264.546069 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-1
      264.546152 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-2
      264.546222 s: vx_zone_init:[tivxPlatformCreateTargetId:124]添加了目标 MPU-3
      264.546333 s: vx_zone_init:[tivxInitLocal:136]初始化已完成!!
      264.548755 s: vx_zone_init:[tivxHostInitLocal:106]主机初始化已完成!!!
    正在将管道设置为暂停...
    [257.231774] 审核:type=1006审核(1729164022.147:23):pid=1734 uid=0 old-auid=4294967295 auid=1000 tty=(none) old-ses=4294967295 ses=4 res=1
    [ 257.244677]审核:type=1300审核(1729164022.147:23):arch=c00000b7 syscall=64 sucall=yes exit=4 a0=8 a1=ffd69fdec8 a2=4 a3=1 ites=0 psid=1 pid=1734 auid=1000 uid=0 gid=0 euid=0 suid=0 suid=0 sid=0 suid=0 sid=0 sucid=0"d=0 sucid=0)/usr/lib
    systemd/systemd-executor" key=(null)
    [257.271723] audit : type=1327 audit (1729164022.147:23): proctitle="(systemd)"
    [257.553047] 审核:type=1006审核(1729164022.467:24):pid=1731 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=5 res=1
    [ 257.565713]审核:type=1300审核(1729164022.467:24):arch=c00000b7 syscall=64 sucall=yes exit=4 a0=8 a1=ffe4b52d98 a2=4 a3=1项=0 pid=1 pid=1731 auid=1000 uid=0 exe=0 euid=0 euid=0 suid=0 suid=0 suid=0 sucid=4 a2id=gid=0 /usr/lib/sys 上 sucyid=gid=0
    temd/systemd-executor" key=(null)
    [257.592696] 审计:类型=1327审计(1729164022.467:24 ): proctitle="( Weston )"
    警告:仍连接代理时队列0xffffff90000be0已销毁:
     XDG_WM_BASE@7仍连接
     WL_SEAT@6仍然连接
     WL_subcomposator@5仍处于连接状态
     WL_COMPOSER@4仍处于连接状态
     WL_REGISTRY@2仍附加
    管道处于活动状态、不需要 PREROLL ...
    从元素"autovideosink0"获得的上下文:gst.gl.GLDisplay=context、gst.gl.GLDisplay=(GstGLDisplay)"\(GstGLDisplayWayland\)\ gldisplaywayland0";
    管道是 PREROLLED ...
    正在将管道设置为播放...
    新时钟:GstSystemClock
    重新分配延迟...
      266.010709 s: vx_zone_error:[vxMapUserDataObject:457]无可用用户数据对象映射
      266.010765s: vx_zone_error:[vxMapUserDataObject:458]可能需要在 tiovx/include/TI/tivx_config.h 中增加 TIVX_USER_DATA_object_MAX_maps 的值
      266.010775 s: vx_zone_error:[vxMapUserDataObject:457]无可用用户数据对象映射
      266.010782 s: vx_zone_error:[vxMapUserDataObject:458]可能需要在 tiovx/include/TI/tivx_config.h 中增加 TIVX_USER_DATA_OBJECT_MAX_MAPLES 的值
    捕获到 SIGSEGV
     在/usr/lib/libc.so.6的轮询()中的#0 0x0000ffaa75906c
    #1 0x0000ffaa91ac20在?? ()来自/usr/lib/libglib-2.0.so.0
     /usr/lib/libglib-2.0.so.0上 g_main_loop_run ()中的#2 0x0000ffaa91b734
    #3 0x000000000040509c 输入? ()
    #4 0x0000ffaa6a84b4 输入?? ()来自/usr/lib/libc.so.6
    #5 0x0000ffaa6a858c 输入:/usr/lib/libc.so.6中的_libc_start_main ()
    #6 0x0000000000403c30 in?? ()
    软件。  请运行"gdb gst-launch-1.0 171717"以继续调试、运行 Ctrl-C 退出、或运行 Ctrl-\转储内核。
    尝试将事件添加到已销毁队列[ 261.601011]审核:type=1701审核(1729164026.515:25):auid=4294967295 uid=0 gid=0 ses=4294967295 pid=1717 comm="gstglcontext" exe="/usr/bin/gst-launch-1.0 sig =6 res=1

    [261.630866] 审核: type=1334审核(1729164026.543:26 ): prog-id=21 op=load
    [261.638796] 审核: type=1334审核(1729164026.551:27 ): prog-id=22 op=load
    [ 261.645741]审核:type=1334审核(1729164026.551:28):prog-id=23 op=load
    已中止(已转储内核)
    root@tda4vm-sk:/opt/edgeai-gst-apps/scripts #[ 263.335639] audit:type=1334 audit (1729164028.251:29):prog-id=23 op=unload
    [ 263.342647]审核:type=1334审核(1729164028.251:30):prog-id=22 op=unload
    [263.349604] audit:type=1334 audit (1729164028.251:31):prog-id=21 op=unload

    Ctrl-A Z 获取帮助| 115200 8N1 | NOR | Minicom 2.8 | VT102 |离线| ttyUSB2                                                                                                                                                                                                

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    好的和坏的。 很高兴看到流水线已启动、而且能够通过消除 ROS 因素来缩小问题。 摄像头传感器驱动程序或摄像头硬件似乎存在问题。

    我的建议、以便于检查:

    • 首先、检查摄像机是否有镜头盖。 我已经看到这发生在人们(包括我自己)。
    • 接下来、检查摄像机是否具有某种对焦机制。 我已经看到、有时有摄像头、您可以使用像这样的镜头调节器扭转镜头来对焦:

      有时、镜头焦距太远、以至于屏幕看起来很暗(不过、通常不如您绘制的屏幕那样暗)
    • 查看带 RPi IMX219重叠图的器件树叠加图: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-j721e-sk-csi2-rpi-imx219.dtso?h=ti-linux-6.1.y。 
      具体而言、检查 I2C 地址(我们的叠加层默认为0x10)是否与特定摄像头模块的 I2C 地址相匹配。
      此外、检查您的摄像头模块中的任何信号布线是否与 RPi 219摄像头不同、并查看 RESET-GPIO 引脚是否正确: https://www.raspberrypi.com/products/camera-module-v2/
    • 检查"dmesg"日志、查看摄像头模块是否已探测且无错误。 你可以通过这个 论坛发送"dmesg"的输出 ,我可以看看它。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    很高兴我能提供帮助! 不取下镜头盖比预期更频繁,但 好消息,因为这是一个简单的解决方法。

    至于绿色阴影、这有点复杂。 绿色图像是 ISP 调优问题的迹象、 因为来自摄像头的原始图像包含一个额外的绿色像素(rggb)。 由于这是新摄像头、因此 ISP 调优二进制文件可能不兼容(许多原因之一、我们仅支持 SDK 中的几个摄像头、因为每个没有摄像头 ISP 的摄像头模块都需要调优)。  

    作为我们调优指南(https://www.ti.com/lit/an/sprad86a/sprad86a.pdf):)的示例

    在任何情况下、我都建议创建新的 E2E 论坛帖子、以便它会通知我们的 ISP 工程师。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    感谢您的解释。

    更换摄像头是否可以解决绿色图像的问题? 我有一个 USB 摄像头、所以可以尝试使用它。

    ROS 节点呢? 当我尝试示例时、我在 RVIZ 中看不到摄像头的任何输出。 您认为问题可能出在摄像头本身吗?

    谢谢、祝大家愉快。

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    是的、USB 摄像头很可能没有绿色图像。

    基本上、任何具有摄像头内 ISP 的摄像头都可以正常工作。 USB 摄像头 通常 具有摄像头内置 ISP、因为它们主要面向消费者用例、 在这些用例中、目标受众 没有专业知识也没有时间进行 ISP 调优(它们比没有 ISP 的摄像头模块价格稍高、但易于使用、值得)。

    对于 ROS 节点,我们的脚本使用 gscam 节点,这是 ROS 将 GStreamer 管道与 ROS 集成的方式。 因此、如果您能够使用 GStreamer 查看摄像头流、则应该可以使用 ROS 查看。 如果仍然没有图像出现:

    • Robotics SDK 安装目录下应该有一个文件 GStreamer/Robotic_SDK/ros1 (或 ros2、具体取决于哪个版本)/drivers/gscam/launch/v4l_imx219.launch 启动 src 流水线。
    • 您可以使用工作中的 GStreamer 流水线修改该文件、它应该具有与直接运行 GStreamer 流水线相似的结果。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    在事后、如果摄像头驱动程序将红色和蓝色增益公开给 V4L2驱动器、则可以手动调整这些增益。

    可表示为:  

    • 列出了可调整的旋钮: v4l2-ctl --list-CtrlS --device /dev/video2
    • 对于设置蓝色增益(红色增益可以采用类似的方式设置、 但 对于我正在使用的摄像头、绿色增益没有公开): v4l2-ctl -d /dev/v4l-subdev4 --set-ctrl blue_balance=256

    注意、我复制并粘贴了笔记、因此需要更改 DEVICE 参数、不能保证您的特定摄像头存在这些旋钮。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    我认为它是 tiovxdlcolorconvert 元素中的"target=1"。 您能否删除此文件?

    我发送给您的第一个 GStreamer 流水线已从 ROS 启动文件中移除、因此我们在 GStreamer 流水线中遇到的任何问题都将通过 ROS 遇到。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    我已经 在/opt/robotics_sdk/ros2/drivers/gscam2/launch/v4l_imx219_launch.py.中删除了 target=1

    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    root@tda4vm-sk:/opt/robotics_sdk/ros2/drivers/gscam2/launch# vi v4l_imx219_launch.py
    root@tda4vm-sk:/opt/robotics_sdk/ros2/drivers/gscam2/launch# cat v4l_imx219_launch.py
    """
    Launch gscam2 node with parameters and remappings.
    """
    import os
    import subprocess
    from ament_index_python.packages import get_package_share_directory
    from launch import LaunchDescription
    from launch.actions import DeclareLaunchArgument
    from launch.substitutions import LaunchConfiguration
    from launch.actions import OpaqueFunction
    from launch_ros.actions import Node
    # run setup_cameras.sh to configure IMX219 camera with 10-bit 1640x1232
    # Alternatively, the following can be run in the command line (preferably on the host Linux):
    # IMX219_CAM_FMT="[fmt:SRGGB10_1X10/1640x1232]" /opt/edgeai-gst-apps/scripts/setup_cameras.sh
    command = "/opt/edgeai-gst-apps/scripts/setup_cameras.sh"
    env = {"IMX219_CAM_FMT": "[fmt:SRGGB10_1X10/1640x1232]"}
    subprocess.run(command, env={**os.environ, **env}, shell=True)
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    但我仍将获得相同的结果。

    好的、

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    我尝试使用 USB 摄像头(Logitech c270)。 我尝试运行以下 ROS 节点来测试摄像机:

    ros2启动 mono_capture mono_capture_launch.py 

    在 PC 端、我可以看到节点和主题:
    root@PC-docker:~/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/launch$ ros2主题列表
    /camera/camera_info
    /camera/image_raw
    /camera/image_raw/compressed
    /camera/image_raw/compressedDepth
    /camera/image_raw/theora
    /参数事件
    /rosout

    root@PC-docker:~/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/launch$ ros2节点列表
    /mono_capture

    但是、我无法显示来自摄像头的图像。 我尝试了几种方法,但徒劳:
    root@PC-docker:~/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/launch$ ros2 run rqt_image_view rqt_image_view
    root@PC-docker:~/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/launch$ ros2运行 rviz2 rviz2 (我通过添加显示图像和图像主题/camera/image_raw 配置了 RVIZ2)

    我还检查了数据是否正在发布: root@PC-docker:~/j7ros_home/ros_ws/install/ti_viz_nodes/share/ti_viz_nodes/launch$ ros2主题 echo /camera/image_raw
    但没有出现任何情况、这意味着摄像头节点本身存在问题。

    在目标端、我将获得:
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    root@j7-docker:~/j7ros_home/ros_ws$ ros2 launch mono_capture mono_capture_launch.py
    [INFO] [launch]: All log files can be found below /root/.ros/log/2024-10-25-13-14-37-697169-tda4vm-sk-2767
    [INFO] [launch]: Default logging verbosity is set to INFO
    [INFO] [mono_capture-1]: process started with pid [2768]
    [mono_capture-1] [INFO] [1729862084.265588015] [mono_capture]: Initialize the Webcam
    [ 779.815741] usb 1-1.1: reset high-speed USB device number 3 using xhci-hcd
    [ 784.859639] usb 1-1.1: reset high-speed USB device number 3 using xhci-hcd
    [mono_capture-1] [ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (2075) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not read from resource.
    [mono_capture-1] [ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (1053) open OpenCV | GStreamer warning: unable to start pipeline
    [mono_capture-1] [ WARN:0] global ./modules/videoio/src/cap_gstreamer.cpp (616) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
    [mono_capture-1] [INFO] [1729862090.021137253] [MonoCamera]: YUV422
    [mono_capture-1] [INFO] [1729862090.021287366] [MonoCamera]: Stereo Camera Mode HD, width 1280, height 720
    [mono_capture-1] [INFO] [1729862090.134871761] [mono_capture]: Loading camera info from yaml files
    [mono_capture-1] [INFO] [1729862090.136074586] [mono_capture]: camera calibration URL: file:///opt/robotics_sdk/ros1/drivers/mono_capture/config/C920_HD_camera_info.yaml
    [mono_capture-1] [INFO] [1729862092.259540871] [mono_capture]: Successfully found the monocam
    [mono_capture-1] [ERROR] [1729862408.658282416] [compressed_depth_image_transport]: Compressed Depth Image Transport - Compression requires single-channel 32bit-floating point or 16bit raw depth images (input format is: yuv422).
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX


    dmesg 日志包括:
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    [ 16.079116] usb 1-1.2: Found UVC 1.00 device HD WebCam C270 (046d:0825)
    [ 16.086855] usb 1-1.2: Failed to query (GET_INFO) UVC control 12 on unit 2: 0 (exp. 1).
    [ 16.095777] usb 1-1.2: Failed to query (GET_INFO) UVC control 13 on unit 2: 0 (exp. 1).
    [ 16.103996] usb 1-1.2: Failed to query (GET_INFO) UVC control 14 on unit 2: 0 (exp. 1).
    [ 16.112336] usb 1-1.2: Failed to query (GET_INFO) UVC control 15 on unit 2: 0 (exp. 1).
    [ 16.120566] usb 1-1.2: Failed to query (GET_INFO) UVC control 1 on unit 1: 0 (exp. 1).
    [ 16.129012] usb 1-1.2: Failed to query (GET_INFO) UVC control 5 on unit 1: 0 (exp. 1).
    [ 16.137282] usb 1-1.2: Failed to query (GET_INFO) UVC control 12 on unit 1: 0 (exp. 1).
    [ 16.145618] usb 1-1.2: Failed to query (GET_INFO) UVC control 14 on unit 1: 0 (exp. 1).
    [ 16.162271] usbcore: registered new interface driver uvcvideo
    [ 16.328509] usb 1-1.2: 3:1: cannot get freq at ep 0x84
    [ 16.368570] usb 1-1.2: set resolution quirk: cval->res = 384
    [ 16.376417] usbcore: registered new interface driver snd-usb-audio
    [ 17.157470] am65-cpsw-nuss 46000000.ethernet eth0: Link is Up - 1Gbps/Full - flow control rx/tx
    [ 19.540738] usb 1-1.2: reset high-speed USB device number 3 using xhci-hcd
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX



    启动时可以识别摄像机:
    检测到 USB 摄像头0
       器件=/dev/video-usb-cam0
       格式= jpeg
    检测到 USB 摄像头1
       器件=/dev/video-usb-cam1
       格式= jpeg
    提前感谢您的帮助!


    好的、
    Mariem
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    您能否针对 IMX219进行类似的实验、在该实验中、您直接使用 GST-LAUNCH-1.0运行 GStreamer 流水线?

     usb/roboted_sdk/ros1 (或 ros2、具体取决于哪个版本)/drivers/gscam/launch 文件夹应具有一个用于启动 src 摄像头流水线的文件、因此您可以采用该流水线并将其通过管道传输到 autovideosink 中、以显示到连接的显示器。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    你好、Takuma、

    感谢您的回答和建议。

    使用 gst-launch-1.0命令可以正常运行 USB 摄像头。

    我使用过: gst-launch-1.0 v4l2src device=/dev/video-usb-cam0 io-mode=2 do-timestamp=true ! image/jpeg! jpegdec! tiovxdlcolorconvert ! autovideosink

    我可以看到相机的输出使用 autovideosink。

    现在如何才能成功运行摄像头 ROS 节点?

    谢谢!

    Mariem

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    USB 摄像头上出现同样的情况有点出乎意料、但看起来 ROS 本身有问题、而不是摄像头侧的问题。 自线程开始已有一段时间、因此我不记得我们是否检查过、但您能否在 Docker 容器内的 PC 端运行以下操作:

    • "ros2主题列表"
      • 或者、对于 ROS1为"rostopic list"

    应在开始启动 viz 节点之前立即运行该命令。 应该会列出一系列主题。 如果没有、则可能是网络问题、或其他一些设置问题。

    然后、您是否可以运行以下命令:

    • 回显$ROS_IP
    • 回显$ROS_MASTER_URI

    ROS_IP 应该是 PC 的 IP 地址、ROS_MASTER_URI 应该是电路板的 IP 地址。

    此致、

    Takuma

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Mariem:

    很高兴再次见到您! 没问题、只要它对您最方便、就进行响应。  

    [报价 userid="595639" url="~/support/processors-group/processors/f/processors-forum/1411493/sk-tda4vm-enable-arducam-ptz-camera-on-sk-tda4vm/5553255 #5553255"]

    当我尝试打印 ROS IP 和 ROS_MASTER_URI 时、不显示任何内容:

    root@PC-docker:~/j7ros_home/ros_ws$ echo $ROS_IP

    root@PC-docker:~/j7ros_home/ros_ws$ echo $ROS_MASTER_URI

    [报价]

    我认为这可能是问题。 在运行演示之前、您是否可以在 PC 的 Docker 容器中设置 ROS_IP 和 ROS_MASTER_URI 环境变量? 命令如下所示:

    例如、假设您的 PC 的 IP 地址为128.3.42.12、而您的 SK-TDA4VM 的 IP 地址为128.3.42.6。

    • 在 PC 上:
      • 导出 ROS_IP=128.3.42.12  
      • 导出 ROS_MASTER_URI=http://128.3.42.6:11311
    • 在 SK-TDA4VM 上(假设未设置这些变量):
      • Export ROS_IP=128.3.42.6
      • 导出 ROS_MASTER_URI=http://128.3.42.6:11311

    此致、

    Takuma