当前位置: 首页 > article >正文

【Isaac sim】传感器设置


Isaac ROS 正式支持 Hawk 和 RealSense 相机。

- Isaac ROS Hawk 设置

Jetson 平台

摄像机配置

Hawk 相机必须通过 GMSL 扩展板连接到您的 Jetson。例如,如果使用 AGX Orin,请参阅 Leopard 板。请联系您的硬件供应商寻求帮助。

如果使用 Leopard Imaging 的 P3762_A03 板,您可以通过安装 Nova Init 来设置 Hawk。

对于其他 GMSL 板,请联系您的供应商以获取有关如何配置它们的信息。

验证 Hawk 设置

Hawk 可以通过构建和运行以下 Argus 进行验证:argus_syncstereo

cd /usr/src/jetson_multimedia_api/argus/cmake/
sudo cmake ..
sudo make install
argus_syncstereo

这应该可以正常运行。

ROS 驱动程序设置
cd ${ISAAC_ROS_WS}/src && \
git clone -b release-3.1 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_argus_camera.git isaac_ros_argus_came

- Isaac ROS RealSense 设置

相机兼容性

RealSense 模型支持?
D455
D435i
D415

Note
需要使用 RealSense 固件版本 5.13.0.50、librealsense 版本 2.55.1 和实感摄像头 ROS 驱动程序版本 4.51.1。与这些版本的任何偏差都会导致 ISAAC ROS 示例的运行失败。

Note
为了获得最佳结果,我们建议将最大 Linux 内核接收缓冲区大小增加(详情参考此处)。

设置说明

注意

本教程假定您已完成 Developer Environment Setup 中的说明。

  1. 克隆存储库:realsense-ros

    注意

    ${ISAAC_ROS_WS} 定义为指向 /ssd/workspaces/isaac_ros-dev/~/workspaces/isaac_ros-dev/

    cd ${ISAAC_ROS_WS}/src
    git clone -b release-3.1 https://github.com/NVIDIA-ISAAC-ROS/isaac_ros_common.git isaac_ros_common
    git clone https://github.com/IntelRealSense/realsense-ros.git -b 4.51.1
    

    注意
    在下一步启动 Docker 容器之前插入实感摄像头。

  2. 将由脚本isaac_ros_common/scripts/run_dev.sh创建的容器 配置到 include librealsenserealsense2-camera。在目录isaac_ros_common/scripts中创建文件:.isaac_ros_common-config

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common/scripts && \
    touch .isaac_ros_common-config && \
    echo CONFIG_IMAGE_KEY=ros2_humble.realsense > .isaac_ros_common-config
    
  3. 启动 Docker 容器:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.sh -d ${ISAAC_ROS_WS}
    

    这将使用容器镜像的分层阶段之一 Dockerfile.realsense 重新构建容器镜像。重建可能需要几分钟时间。

  4. 构建 realsense_splitterrealsense2*

    cd ${ISAAC_ROS_WS} && \
    colcon build --symlink-install --packages-up-to-regex realsense*
    
  5. 重建容器映像后,您已经位于容器内,您可以运行realsense-viewer以验证实感摄像头是否已连接。

    realsense-viewer
    

    如果您在 GUI 中打开 “Stereo Module”,您应该会看到如下内容:
    在这里插入图片描述

- ISAAC ROS ZED 设置

在这里插入图片描述
ZED 相机需要满足以下条件才能将数据发布到 ROS 2 话题(topics):

  1. ZED SDK(安装者Dockerfile.zed)
  2. zed-ros2-wrapper(在设置说明的步骤 1 中克隆)
  3. ZED X 驱动程序(由用户在设置说明的步骤 3 中安装在主机上)

相机兼容性

zed ros2 包装器支持的所有相机都可以与 Isaac ROS 一起使用。

ZED ModelSQA Testing?
ZED 2i
ZED X
ZED 2
ZED
ZED Mini
ZED X Mini

设置说明

  1. 克隆 zed-ros2-wrapper 库:

    cd ${ISAAC_ROS_WS}/src && \
    git clone --recurse-submodules https://github.com/stereolabs/zed-ros2-wrapper
    

    注意
    需要 checkout zed-ros2-wrapper 库的X86分支 humble-v4.0.8

  2. 如果你正在使用 ZED X 或者 ZED X Mini,请视情况参考 Stereolabs
    设置指南

    注意

    你无须安装 ZED SDK, Dockerfile.zed 已经完成了。

    注意

    ZED 驱动必须安装

  3. 在下一步中启动Docker容器之前,请插入ZED相机的USB电缆。

  4. isaac_ros_common/scripts/run_dev.sh脚本创建的容器中配置Dockerfile.zed。在isaac_ros_common/scripts目录中创建.isaac_ros_common-config文件:

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common/scripts && \
    touch .isaac_ros_common-config && \
    echo CONFIG_IMAGE_KEY=ros2_humble.user.zed >> .isaac_ros_common-config
    
  5. 运行 Docker 容器.

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.sh
    

    这将使用其中一个分层阶段中的Dockerfile.zed重新构建容器镜像。重新构建需要一些时间。

  6. 安装zed_wrapper软件包的依赖项并构建它:

    cd ${ISAAC_ROS_WS} && \
    sudo apt update && \
    rosdep install --from-paths src/zed-ros2-wrapper --ignore-src -r -y && \
    colcon build --symlink-install --packages-up-to zed_wrapper
    
  7. 在容器镜像重新构建完成后,进入容器内部,可以运行/usr/local/zed/tools/ZED_Explorer来检查ZED相机是否已连接。

    /usr/local/zed/tools/ZED_Explorer
    

    如果一切正常,您应该可以看到类似以下内容的输出: 在这里插入图片描述

- 单目相机校准 (Monocular Camera Calibration)

注意
以下说明专门用于单目相机。 要校准立体摄像机,请参阅 camera_calibration 说明。

  1. 按照 Developer Environment Setup 设置您的开发环境。

  2. 打印一个具有已知尺寸的大棋盘格。
    本教程使用具有 200 毫米正方形的 6x8 棋盘格。 校准使用棋盘格的内部顶点,因此 “7x9” 板使用内部顶点参数 “6x8”,示例如下。具有特定尺寸的棋盘格可以是在此处下载。

  3. 克隆 ROS 2 usb_cam 包:

    cd ${ISAAC_ROS_WS}/src && \
    git clone -b ros2 https://github.com/ros-drivers/usb_cam
    

    注意
    你的相机供应商可能提供了一个特定的ROS 2兼容相机驱动程序包,可以替代usb_cam包使用。

  4. 使用脚本 run_dev.sh 运行 Docker 容器:

     cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
     ./scripts/run_dev.sh
    
  5. 在容器内,构建并 source 工作空间

     cd /workspaces/isaac_ros-dev && \
     colcon build --symlink-install && \
     source install/setup.bash
    
  6. 运行usb_cam图像发布者:

    ros2 run usb_cam usb_cam_node_exe --remap __ns:=/my_camera --ros-args -p framerate:=30.0 -p image_height:=720 -p image_width:=1280
    
  7. 另外启动终端,进入 Docker 容器 使用脚本run_dev.sh

    cd ${ISAAC_ROS_WS}/src/isaac_ros_common && \
    ./scripts/run_dev.sh
    
  8. 运行相机校准器:

    ros2 run camera_calibration cameracalibrator --size 6x8 --square 0.20 image:=/my_camera/image_raw camera:=/my_camera
    
  9. 完成这个 相机校准教程的步骤 6-8.

  10. 确保您已经按下“校准”按钮,然后再按下“保存”按钮

    您应该在第二个终端中看到以下行的输出:

    ('Wrote calibration data to', '/tmp/calibrationdata.tar.gz')
    

    校准文件保存在 /tmp/calibrationdata.tar.gz.

  11. 文件保存后, 按 Ctrl+C 停止各个终端中的节点。

  12. 将校准文件移动到所需位置:

    cd /workspaces/isaac_ros-dev/src/<isaac_ros_metapackage>/<isaac_ros_package>/config/ && \
    tar -xvf /tmp/calibrationdata.tar.gz -C ./ ost.yaml && \
    mv ost.yaml camera_info.yaml
    

http://www.kler.cn/news/360487.html

相关文章:

  • 免费申请 DV ssl证书并自动续约,非国内云厂商版本
  • C语言 | Leetcode C语言题解之第493题翻转对
  • KdTree与八叉树的比较:如何在多维空间中有效管理数据
  • C++ 标准模板库(STL)教程
  • 电影评论网站开发:Spring Boot技术详解
  • ThinkPad T480拆机屏幕改装:便携式显示器DIY指南
  • 小白向的源码开发详解:直播带货系统与电商平台搭建指南
  • 每日一题|3185. 构成整天的下标对数目 II|数组取代hash
  • MacOS13虚拟机VMware Workstation Pro 16安装
  • 【LeetCode HOT 100】详细题解之二分查找篇
  • 后端:唯一ID有哪些生成方式
  • mybatis二级缓存知识
  • 012_django基于大数据的高校新生数据可视化分析系统2024_4x13gn6t (1)
  • 通过PHP与API的结合,开启电商数据集成的新篇章
  • Richtek | 用于智能门铃的电源管理解决方案
  • 老机MicroServer Gen8再玩 OCP万兆光口+IT直通
  • Windows下配置Nginx和PHP
  • 有趣的css - 跷跷板加载动画
  • 【Vercel】Vercel静态部署踩坑
  • 从零开始学PHP之变量作用域数据类型