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.

[参考译文] TDA4VM:TDA4VM 上的 ORB SLAM3

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1419250/tda4vm-orb-slam3-on-tda4vm

器件型号:TDA4VM

工具与软件:

尊敬的 TI 官员:

我希望这封邮件能让您满意。

我目前正在使用单眼摄像头输入实施 SLAM、非常感谢您的指导。 通过我的研究、我确定 ORB-SLAM3是一种潜在的解决方案、并且我成功地在 ROS2 Humble 的 x86系统上实施了该解决方案。 我的下一个目标是将该实施引入 TDA4VM 平台。

请您就如何进行这一过渡提供任何建议或计划? 此外、如果可能、请共享任何相关的存储库链接。 如果 ORB-SLAM3不是 TDA4VM 的最佳选择、我希望了解平台上任何支持 SLAM 和单眼摄像头输入实现自主导航的预先构建的解决方案。

此致、
Ramaseshan

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

    尊敬的 Ramaseshan:

    如果您尚未浏览过我们的机器人 SDK: https://software-dl.ti.com/jacinto7/esd/robotics-sdk/10_00_00/TDA4VM/docs/source/README.html

    此 SDK 是一种在 SK-TDA4VM 上运行 ROS2的基于 Docker 的方法、您可以使用它来移植演示。 如果未使用硬件加速器、则可以按原样运行演示。  

    此致、

    Takuma

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

    你好、Takuma、

    感谢您之前的答复和 Robotics SDK 建议。

    为了阐明我的目标、我正在构建两个软件包:

    1. ORB-SLAM3封装 –要处理 SLAM 推理,
    2. 发布者软件包 –发布通过常见主题的 ORB-SLAM3订阅的视频帧。

    我已经使用 ROS2 Humble 在 x86系统上成功实现了此设置、现在我的目标是在 TDA4VM 平台上复制此设置。

    是否可以直接在 TDA4VM 硬件上构建和运行 ORB-SLAM3库? 此外、ORB-SLAM3软件包必须与 TDA4VM 上安装的 ORB-SLAM3库链接。 如果此设置需要任何具体步骤、依赖项或注意事项、我将非常感谢您提供指导。

    再次感谢您的支持。

    此致、
    Ramaseshan

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

    尊敬的 Ramaseshan:

    如果对硬件(如 GPU 或其他加速器)没有特定依赖、则您的库应在 TDA4VM 硬件上构建。

    如果存在软件库相关性、则可以使用 apt 或 rosdep 拉入、类似于在 PC 上使用 Robotics SDK 设置的 TDA4VM 上基于 Docker 的 Ubuntu 映像完成操作。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的澄清。

    确认一下、由于 ORB-SLAM3没有 GPU 加速等特定的硬件依赖项、因此我将按照您的建议在 TDA4VM 硬件上构建库。 我还将使用 apt 或 rosdep 从 Robotics SDK 中提取基于 Docker 的 Ubuntu 映像中的任何软件依赖项。

    还有一个问题:是否需要在 Robotics SDK (10.0版)设置的 Docker 环境内构建 ORB-SLAM3、或者是否可以在 Docker 之外的 TDA4VM 系统上直接完成? 我只想确保遵循的是正确的工作流程。

    如果我在构建过程中遇到任何问题或面临与 TDA4VM 相关的特定挑战、可以联系我们进一步寻求帮助吗?

    再次感谢您的支持。

    此致、
    Ramaseshan

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

    尊敬的 Ramaseshan:

    在 Docker 环境之外构建 ORB-SLAM3很可能很困难、因为 Docker 环境的一个目的是让开发人员访问内置 Ubuntu 的 Apt 包管理器。 使用 Docker Ubuntu 环境、开发人员无需手动搜索、构建和安装依赖程序包、而只需 通过 apt 下载和安装预编译程序包。

    是的、如果您遇到问题、请随时与我们联系。 尽管、如果问题更多是在 ROS 级别、而不是与 TI 或 TI 电路板的 Docker 映像有关、则更适合联系 ROS 社区、因为其专业知识可能更合适。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的澄清。

    我将从 Robotics SDK 在 Docker Ubuntu 环境内构建 ORB-SLAM3、以使用 apt 简化依赖项管理。 如果我在构建过程中遇到任何困难、可以联系您以获取进一步的指导。

    再次感谢您的帮助!

    此致、
    Ramaseshan

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

    你好、Takuma、

    我一直在探索 TDA4VM SDK 版本10.0并注意到各种目录/opt/root/boot/bin,如,,,,和,包括像edgeai-gst apps和文件夹edgeai-gst-plugins etc..

    您能否提供有关如何安装和设置此 SDK 的 Docker 环境的指导? 此外、我在包含两个软件包(ORB-SLAM3和 Publisher)的 PC 上有一个 ROS2工作区。 在 TDA4VM 上的 Docker 环境中运行这些软件包应遵循哪些步骤?

    感谢您的帮助!

    此致、
    Ramaseshan

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

    尊敬的 Ramaseshan:

    请按照 我之前链接的文档 https://software-dl.ti.com/jacinto7/esd/robotics-sdk/10_00_00/TDA4VM/docs/source/docker/README.html 中的"设置机器人软件开发套件"部分进行操作 

    此致、

    Takuma

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

    你好、Takuma、

    感谢您提供指向机器人 SDK 文档的链接。 我将讲解如何设置 Docker 环境。

    我还有一个关于 ORB-SLAM3库的问题。 ORB-SLAM3需要依赖项、例如 Pangolin、Eigen3、DBoW2和 G2O。 您能否确认以下存储库是否可以在 Docker 环境中的 TDA4VM 上安装和运行?

    非常感谢您对此提供的建议!

    此致、
    Ramaseshan

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

    尊敬的 Ramaseshan:

    很遗憾、我没有使用过这些特定的库、因此无法判断它是否可以在 Docker 环境中用于 TDA4VM。 我能给出的最佳建议是尝试它们。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的答复。 如果需要您的支持、请让我来试一下、如果我取得成功、我也很乐意与您分享。

    此致、
    Ramaseshan

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

    你好、Takuma、

    我很高兴与大家分享这方面的进展。 我成功编译了 orb shrans3的先决条件软件包,如 pangolin, G2o, Sophus, OpenCV 在 Docker 内。 当我尝试构建 orb 砰砰3时,硬件被击中,我看不到一个特定数字后的构建过程。 是否有办法克服这一问题? 当建筑过程开始时、2.12 GB RAM 中几乎使用了2GB RAM。 我可以在我的 PC 中进行交叉编译并在此处移植 SLAM 吗? 我期待着你的想法。

    此致、

    Ramaseshan  

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

    尊敬的 Ramaseshan:

    很高兴听到进步! 至于 orb 砰砰3卡住,缺少 RAM 很可能做到这一点。

    至于选项、是的、您可以在 PC 上 针对 ARM 架构进行一些交叉编译并将二进制文件传输。 交叉编译器工具链可在以下位置找到: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-jacinto7/10_00_00_08/exports/docs/linux/Overview/GCC_ToolChain.html。 我认为 ROS2在其网站上会有一些关于如何针对 ARM 目标交叉编译的文档。

    另一种选择是、如果您有一个适用于 ext4格式化的 NVMe SSD 卡、该卡可安装在 SK-TDA4VM 底部的 M.2密钥插槽中。 然后、SSD 可以用于设置交换文件以增加内存(尽管编译速度较慢)。 这将使您能够继续进行目标编译。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您发送编修。

    您能否分享一些资源、用于购买可与 TDA4VM 配合使用的兼容型 NVMe SSD 卡? 如果需要、它将帮助我为交换内存设置内容。

    目前、我已经交叉编译了用于 ARM 架构的 OpenCV、G2O、DBOW2和 Sophus、还没有完成 ORB-SLAM3和 Pangolin。 所有内容都为 ARM 编译和构建后、如何将其移植到 TDA4VM? 我应该将整个目录从我的 PC 传输到 TDA4VM 吗? 我假设只传输二进制文件和头文件是不够的、因为 ORB-SLAM3集成了多个组件、例如接收来自 EuRoC 数据集的输入或从 ROS2节点发布的图像。

    此外、由于我专门为 ARM 架构编译所有内容、我需要直接在硬件上运行它。 在 Docker 容器内运行可能无法正常工作、因为 Docker 映像使用 Ubuntu 22.04 (如果我没有错)。

    期待您的指导!

    此致、
    Ramaseshan

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

    尊敬的 Ramaseshan:

    我使用此 SSD 卡、没有任何问题:

    就像所有内容交叉编译一样、它应该像传输二进制文件和标头一样简单、并在 Docker 中运行。 Docker 映像将 Ubuntu 22.04拉至 arm64v8、因此只要在交叉编译期间使用正确的 sysroot 和工具链、它就应该在 Docker 容器内工作。

    此致、

    Takuma