ARTICLE DETAIL

资讯详情

深耕商务建站与企业官网运营的一线实战洞察。

全文 - Isaac ROS 06 - Getting Started

全文 - Isaac ROS 06 - Getting Started 页面 27Isaac ROS Freespace Segmentation — 自由空间分割原文https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_freespace_segmentation/index.html概述Isaac ROS Freespace Segmentation 包含一个用于生成导航占用栅格的 ROS 2 包。通过处理自由空间分割掩码以及机器人相对于地面的位姿Bi3D Freespace 生成用于 Nav2 的占用栅格在导航期间用于避障。该包通过 GPU 加速在机器人应用中提供实时、低延迟的结果。Bi3D Freespace 为移动机器人地面提供了一个额外的占用栅格来源。isaac_ros_bi3d用于节点图中从时间同步的输入左右立体图像对提供一个自由空间分割掩码作为输出。isaac_ros_bi3d_freespace使用该自由空间掩码以及相机相对于地面的 TF 位姿将平面自由空间计算为占用栅格输入到 Nav2。有多种方法可以预测作为导航输入的占用栅格。这些方法都不是完美的每种方法在提供测量观测的传感器的估计精度方面都有局限性。每个传感器都有独特的视野、提供其测量世界视图的范围以及相应的未测量区域。Bi3D Freespace 提供了一种多样化的方法从自由空间识别障碍物。用于此功能的立体相机输入相对于激光雷达是多样化的并且具有比大多数激光雷达单元更好的垂直视野能够感知激光雷达可能遗漏的低矮障碍物。Bi3D Freespace 提供了对激光雷达占用扫描的稳健、基于视觉的补充。快速入门Isaac ROS Bi3D FreespaceIsaac ROS NITROS 加速此包由 NVIDIA Isaac Transport for ROS (NITROS) 提供支持NITROS 利用类型适配和协商来优化消息格式并显著加速参与节点之间的通信。包isaac_ros_bi3d_freespaceQuickstart快速入门尝试更多示例API支持的平台此包设计并测试为与在以下平台上运行的 ROS 2 Humble 兼容平台硬件软件备注JetsonJetson OrinJetPack 6.1 和 6.2为获得最佳性能请确保正确配置电源设置。Jetson Orin Nano 4GB 可能没有足够内存运行许多 Isaac ROS 包不推荐使用。x86_64Ampere或更高 NVIDIA GPU 架构8 GB 显存或更高Ubuntu 22.04CUDA 12.6注意不支持 Humble 以外的 ROS 2 版本。此包依赖自 Humble 版本开始引入的特定 ROS 2 实现特性。Docker为简化开发我们强烈建议按照以下步骤利用 Isaac ROS Dev Docker 镜像。这将简化 Jetson 和 x86_64 平台上依赖项正确版本的开发环境设置。注意所有 Isaac ROS 快速入门、教程和示例都设计为以 Isaac ROS Docker 镜像为前提。自定义开发环境要自定义开发环境请参阅本指南。更新日志日期变更2024-12-10兼容 JetPack 6.12024-09-26ZED 兼容性更新2024-05-30兼容 JetPack 6.02023-10-18Isaac ROS 2.0.0 更新2023-05-25性能改进2023-04-05初始版本页面 28Isaac ROS Mission Client — 任务客户端原文https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_mission_client/index.html网络研讨会通过观看我们的点播网络研讨会了解更多关于任务的信息使用 NVIDIA Isaac Dispatch 和 Client 构建互联机器人。概述Isaac ROS Mission Client 提供了 Mission Client 的 ROS 2 包用于与机器人车队管理服务通信。Mission Client 从车队管理服务接收任务和动作并更新其进度、状态和错误。Mission Client 使用 Nav2 执行导航动作并可以与其他 ROS 动作集成。与 Mission Client 的通信基于 VDA5050 协议并使用 MQTT 基础作为行业标准这是一种用于通过互联网连接设备的高效、可扩展协议。Mission Client 随附匹配的 Mission Dispatch可在此处获取或者可以使用 VDA5050 over MQTT 与其他车队管理系统集成。包isaac_ros_mission_client概述快速入门APIisaac_ros_scene_recorder使用说明快速入门Isaac Sim 的快速入门可在此处查看。支持的平台此包设计并测试为与在 Jetson 或 x86_64 系统上运行的 ROS 2 Humble 兼容。Mission Client 不需要 GPU。更新日志日期变更2024-12-10添加动作以支持物体拾取和放置2024-09-26Isaac ROS 3.1 更新2024-05-30兼容 JetPack 6.02023-10-18错误修复、任务取消、初始位姿2023-04-05兼容 JetPack 5.1.12022-10-19初始版本页面 29Stereo Depth — 立体深度概念原文https://nvidia-isaac-ros.github.io/concepts/stereo_depth/index.html概述与人眼类似立体视觉通过测量同一视觉显著特征在两个图像之间的像素位移即视差来工作。通过测量的视差和已知的基线长度两个图像传感器之间的距离可以估计到该视觉显著特征的距离或深度。立体相机有两个刚性连接在一起的单目图像传感器大致朝向同一方向。它们由某个已知的基线距离分隔通常在厘米量级。图像对必须通过使用预先校准的立体校正参数投影到同一极线平面上进行校正。一个图像与另一个图像中相同特征之间的像素视差可以直接使用图像传感器的基线和焦距关联到深度。并非总能确定每个像素的视差因为这取决于匹配过程。例如如果立体相机面对一面无特征的纯色墙则没有视觉显著的特征或角点对比度的急剧变化可以在图像之间匹配。为了解决这个问题一些立体相机将红外光图案投射到场景中两个图像传感器始终可以看到但人眼看不到。通过测量场景中所有匹配特征对在两幅图像之间的视差可以生成视差图像其中每个像素代表视差或者在无法计算视差时为NaN。使用基线和焦距该视差图像随后可用于生成更熟悉的深度图像其中每个像素代表以米为单位的深度或生成点云。立体深度方法FoundationStereo一种预训练的基于 Transformer 的基础模型利用大规模训练和深度特定先验在多样化环境中实现高质量的深度估计。Fast-FoundationStereoFoundationStereo 的速度优化变体通过知识蒸馏、神经架构搜索和结构化剪枝实现实时零样本立体匹配。它使用与 FoundationStereo 相同的 Isaac ROS 管道isaac_ros_foundationstereo可直接替换。ESS高效半监督基于深度学习的预训练模型可以更智能地处理从上下文推断的平滑梯度和边缘。SGM半全局匹配一种用于计算立体视差的普遍分析算法。SGM 难以处理平滑或规则表面并可能遭受过度噪声。页面 30Isaac ROS ESS — 高效半监督立体视差估计原文https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_dnn_stereo_depth/isaac_ros_ess/index.html概述ESS 代表 Efficient Semi-Supervised stereo disparity高效半监督立体视差由 NVIDIA 开发。ESS DNN 用于从立体相机图像对预测每个像素的视差。该网络相比使用极线几何计算视差的经典 CV 方法有所改进因为 DNN 可以学习在极线几何特征匹配失败的情况下预测视差。半监督学习和立体视差匹配使 ESS DNN 在训练数据集未见过环境以及有遮挡物体的情况下具有鲁棒性。该 DNN 针对彩色RGB全局快门立体相机图像进行了优化和评估对于用于分析计算机视觉方法中的立体视差的单色立体图像精度可能会有所不同。它是一个相对轻量的模型以接近实时的速度运行。如图所示ESS 节点用于节点图中从输入的左右立体图像对提供视差预测。校正和调整大小节点将左右帧预处理到适当的分辨率。保持图像的宽高比以避免降低深度输出质量。DNN 编码、DNN 推理和 DNN 解码的图包含在 ESS 节点中。推理使用 TensorRT 执行因为 ESS DNN 模型设计有 TensorRT 支持的优化。预测的视差值代表场景中一个点在立体图像对中从一个图像移动到另一个图像的距离即双目图像对。视差与深度成反比即disparity focalLength × baseline / depth。给定生成立体图像对的相机的焦距和基线isaac_ros_ess包预测的视差图可用于计算深度并生成点云。快速入门下载快速入门资源从 NGC 下载快速入门数据确保安装了所需的库。sudoapt-getinstall-ycurljqtar然后运行以下命令从 NGC 下载资源NGC_ORGnvidiaNGC_TEAMisaacPACKAGE_NAMEisaac_ros_essNGC_RESOURCEisaac_ros_ess_assetsNGC_FILENAMEquickstart.tar.gzMAJOR_VERSION4MINOR_VERSION5VERSION_REQ_URLhttps://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/versionsAVAILABLE_VERSIONS$(curl-s\-HAccept: application/json$VERSION_REQ_URL)LATEST_VERSION_ID$(echo$AVAILABLE_VERSIONS|jq-r .recipeVersions[]|.versionId as\$v|\$v|select(test(\^\\\\d\\\\.\\\\d\\\\.\\\\d$\))|split(\.\)|{major: .[0]|tonumber, minor: .[1]|tonumber, patch: .[2]|tonumber}|select(.major$MAJOR_VERSIONand .minor$MINOR_VERSION)|\$v | sort -V | tail -n 1 ) if [ -z $LATEST_VERSION_ID ]; then echo No corresponding version foundforIsaac ROS$MAJOR_VERSION.$MINOR_VERSION echo Found versions: echo$AVAILABLE_VERSIONS| jq -r .recipeVersions[].versionId else mkdir -p${ISAAC_ROS_WS}/isaac_ros_assets \ FILE_REQ_URLhttps://api.ngc.nvidia.com/v2/resources/$NGC_ORG/$NGC_TEAM/$NGC_RESOURCE/\versions/$LATEST_VERSION_ID/files/$NGC_FILENAME \ curl -LO --request GET ${FILE_REQ_URL}\tar-xf${NGC_FILENAME}-C${ISAAC_ROS_WS}/isaac_ros_assets\rm${NGC_FILENAME}fi构建isaac_ros_ess激活 Isaac ROS 环境isaac-ros activate安装预构建的 Debian 包sudoapt-getupdatesudoapt-getinstall-yros-jazzy-isaac-ros-ess\sudoapt-getinstall-yros-jazzy-isaac-ros-ess-models-install下载并安装预训练的 ESS 模型文件ros2 run isaac_ros_ess_models_install install_ess_models.sh--eula注意x86_64 限制ESS 插件仅在 sm80 及以上的 GPU 上运行。这限制了 x86_64 上的 GPU 设备为 compute_80 及以上的设备。有关 CUDA 计算能力详细信息请参阅 cuda-gpus。运行启动文件在 Isaac ROS 环境内安装以下依赖sudoapt-getupdatesudoapt-getinstall-yros-jazzy-isaac-ros-examples运行以下启动文件以使用快速入门 rosbag 启动演示以 0.0 阈值运行 ESS完全密集输出ros2 launch isaac_ros_examples isaac_ros_examples.launch.py launch_fragments:ess_disparity\engine_file_path:${ISAAC_ROS_WS:?}/isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx_trt10.13/ess.engine\ess_plugin_file_path:${ISAAC_ROS_WS:?}/isaac_ros_assets/models/dnn_stereo_disparity/dnn_stereo_disparity_v4.1.0_onnx_trt10.13/plugins/$(uname-m)/ess_plugins.so\threshold:0.0打开第二个终端并附加到容器isaac-ros activate在第二个终端中播放快速入门资源中下载的 ESS 示例 rosbagros2 bag play-l${ISAAC_ROS_WS}/isaac_ros_assets/isaac_ros_ess/rosbags/ess_rosbag\--remap/left/camera_info:/left/camera_info_rect /right/camera_info:/right/camera_info_rect页面 31Tutorial for NITROS Bridge with Isaac Sim — NITROS Bridge 教程原文https://nvidia-isaac-ros.github.io/concepts/nitros_bridge/tutorial_isaac_sim.html概述本教程将指导您如何使用isaac_ros_nitros_bridge在 GPU 上移动图像同时避免从 Isaac Sim 进行 CPU 内存拷贝。教程步骤在新工作空间下克隆isaac_ros_common仓库mkdir-p~/isaac_sim_workspaces\cd~/isaac_sim_workspaces\gitclone-brelease-4.6 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common按照 Isaac ROS Isaac Sim 设置指南中的步骤在 Isaac Sim 工作空间下安装并启动 Isaac Sim。按Play开始从 Isaac Sim 发布数据。按照isaac_ros_nitros_bridge_ros2快速入门中的「设置开发环境」部分第 3-4 步和「从源码构建」部分完成操作。在容器内更改ptrace范围以能够运行 NITROS Bridgeecho0|sudotee/proc/sys/kernel/yama/ptrace_scope在容器内编辑isaac_ros_nitros_bridge_image_converter.launch.pyROS 2 启动文件将ros2_input_bridge_image重新映射到 Isaac Sim 的 NITROS Bridge 主题名称例如/front_stereo_camera/left/image_rect_color/nitros_bridge。然后运行以下命令启动 NITROS Bridgecd/workspaces/isaac_ros-dev\sourceinstall/setup.bash\ros2 launch isaac_ros_nitros_bridge_ros2 isaac_ros_nitros_bridge_image_converter.launch.py pub_image_name:nitros_pub sub_image_name:nitros_sub转换后的 NITROS 图像将在nitros_pub主题下可用。
返回列表
PREV
查看更多资讯
NEXT
返回资讯列表