0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用 ROS 2 MoveIt 和 NVIDIA Isaac Sim 创建逼真的机器人模拟

NVIDIA英伟达 来源:未知 2023-05-12 10:45 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

e8953784-f06d-11ed-90ce-dac502259ad0.png

MoveIt 是一个机器人控制平台,包括了运动规划、操纵、3D 感知、运动学、控制和导航方面的最新技术。PickNik Robotics 是进行 MoveIt 开发的公司,该公司正在探索在内部研发项目中使用 NVIDIA Isaac Sim。项目的目标是提高对操纵的感知,并通过 PickNik 的商业机器人开发平台 MoveIt Studio 让机器人具有更自主的行为。

本文展示了将 MoveIt 2 与 NVIDIA Isaac Sim 中模拟的机器人进行集成的过程。本教程需要一台安装了 Isaac Sim 2022.2.0 的电脑,以及如下所列的系统配置。请参阅 NVIDIA Isaac Sim documentation https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html)了解具体的安装细节和要求。

1、NVIDIA Isaac Sim 2022.2.0 安装于 Ubuntu 20.04 主机上。默认位置为$HOME/.local/share/ov/pkg/isaac_sim-2022.2.0目录。

2、安装 Docker。

3、克隆 MoveIt2 教程,以构建一个基于 Ubuntu 22.04 Humble 的 Docker 镜像,该镜像可以与 Isaac Sim 通信并运行本教程。

ros2 _ control 介绍

要执行 MoveIt 计算的轨迹,建议使用 ros2_control 框架进行管理并与您的机器人通信(无论真实的还是模拟)。这种方法为开发人员提供了一个通用的 API,使软件能够通过简单地更改一些启动参数,在许多不同的机器人类型和内置传感器之间切换。

例如,Panda 机器人ros2_control.xacro使用标志use_fake_hardware在被模拟或连接到物理机器人之间切换,如下所示:


 if value="${use_fake_hardware}">
  mock_components/GenericSystem
 if>
 "${use_fake_hardware}">
  franka_hardware/FrankaHardwareInterface
  "robot_ip">${robot_ip}
 

硬件元件可以是不同类型的。插件mock_components/GenericSystem是一个简单的系统,用于转发输入的 command_interface 要跟踪的节点值 state_interface该系统模拟了对节点的完美控制。

为了将机器人的配置扩展到 Isaac Sim ,首先需要引入 topic_based_ros2_control。此硬件接口是一个订阅和发布已配置主题的系统。对于本教程,topic /isaac_joint_states 将包含机器人的当前状态,并且 将使用 /isaac_joint_commands 进行驱动 。

本教程中使用的 moveit_resources_panda_moveit_config 不支持连接到硬件。因此当标志 ros2_control_hardware_type 设置为 isaac 时,表示ros2_control.xacro已更新并装载 TopicBasedSystem 插件。

if value="${ros2_control_hardware_type == 'mock_components'}">
  mock_components/GenericSystem
if>
if value="${ros2_control_hardware_type == 'isaac'}">
  topic_based_ros2_control/TopicBasedSystem
  "joint_commands_topic">/isaac_joint_commands
  "joint_states_topic">/isaac_joint_states
if>

包含的 Python 脚本加载 Panda 机器人,同时构建 OmniGraph 发布和订阅用于控制机器人的 ROS topic。要了解有关配置 Isaac Sim 机器人与 ROS 2 通信的信息,请参阅ROS 2 Joint Control: Extension Python Scripting

(https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_ros2_manipulation.html)。

计算机设置

按照以下步骤设置计算机。

1、使用 Workstation Installation documentation 安装 Isaac Sim.

2、使用以下脚本执行 MoveIt2 教程存储库的浅克隆:

git clone https://github.com/ros-planning/moveit2_tutorials.git -b humble --depth 1

3、打开克隆教程的文件夹,然后切换到以下目录:

cd moveit2_tutorials/doc/how_to_guides/isaac_panda

4、构建 Docker 镜像:

docker compose build

使用模拟组件运行

MoveIt Interactive Marker Demo

运行以下脚本以测试 mock_components/GenericSystem 硬件接口:

docker compose up demo_mock_components

RViz 将运行 Panda 机器人,并使mock_components 以模拟机器人并执行轨迹。如果这是您第一次同时使用 MoveIt 与 RViz ,请参阅Quickstart in RViz 教程https://moveit.picknik.ai/humble/doc/tutorials/quickstart_in_rviz/quickstart_in_rviz_tutorial.html)。

完成测试后,在终端中选择 Ctrl+C 停止容器。

使用 Isaac Sim 运行

MoveIt Interactive Marker Demo

1、在主机上,导航到教程启动目录:

cd moveit2_tutorials/doc/how_to_guides/isaac_panda/launch

2、加载预配置的 Panda 机器人以使用本教程。请注意,此步骤假定 Isaac Sim 安装在 $HOME/.local/share/ov/pkg/isaac_sim-2022.2.0" 目录。

此步骤需要几分钟的时间来下载资源并设置 Isaac Sim。耐心等待,不要点击 Force Quit 模拟器启动时弹出的对话框。要加载 Panda 机器人,请运行以下命令:

./python.sh isaac_moveit.py

3、从moveit2_tutorials/doc/how_to_guides/isaac_panda 目录,启动一个连接到 Isaac Sim 的容器,使用 topic_based_ros2_control/TopicBasedSystem 硬件接口:

docker compose up demo_isaac

RViz 将运行 Panda 机器人,然后使用 TopicBasedSystem 用于与模拟机器人通信并执行轨迹的接口。

视频 1:了解如何集成 MoveIt 和 NVIDIA Isaac Sim

结论

将 MoveIt 与 NVIDIA Isaac Sim 集成,开发人员能够创建反映真实世界的复杂逼真的机器人系统模拟。通过将这两个框架与 ros2 _ control 配对,您可以在不同的模拟器和真实硬件之间快速切换,以快速迭代新算法和机器人行为。

即刻点击“阅读原文”在 NVIDIA On-Demand 上观看 GTC 精选回放,包括主题演讲相关精选、中国本地精选内容、生成式 AI 专题以及全球各行业及领域最新成果!



原文标题:使用 ROS 2 MoveIt 和 NVIDIA Isaac Sim 创建逼真的机器人模拟

文章出处:【微信公众号:NVIDIA英伟达】欢迎添加关注!文章转载请注明出处。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 英伟达
    +关注

    关注

    23

    文章

    4112

    浏览量

    99595
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    借助NVIDIA Isaac Sim与World Labs Marble加速机器人仿真环境构建

    虚拟世界。将开源机器人参考框架 NVIDIA Isaac Sim 与生成式模型,比如 World Labs 推出的 Marble 等相结合,即可通过文本或图像提示,为
    的头像 发表于 12-24 10:28 1681次阅读

    基于NVIDIA Isaac库开发的机器人调酒师ADAM亮相国际赛场

    基于 NVIDIA Isaac 库开发的机器人调酒师 ADAM,为维加斯黄金骑士队的冰球粉丝带来了身临其境的未来式服务体验。
    的头像 发表于 12-24 10:05 589次阅读

    仅使用智能手机在NVIDIA Isaac Sim中重建场景

    机器人仿真构建逼真的 3D 环境可能是一项耗时且劳动密集型的任务。现在,借助 NVIDIA Omniverse NuRec,您只需使用智能手机即可完成整个流程。本文将逐步介绍操作方法:从
    的头像 发表于 11-10 14:03 1126次阅读

    NVIDIA Isaac Lab推动机器人技术突破

    Isaac Lab 是 Isaac Gym 的替代版本,该框架已将 GPU 原生机器人仿真扩展至大规模多模态学习的全新领域。Isaac Lab 整合了 GPU 并行的物理真实的仿真、
    的头像 发表于 10-21 11:20 1324次阅读

    NVIDIA Jetson + Isaac SDK 人形机器人方案全面解析

    SDK + Isaac Sim :专为机器人打造的软件开发平台,支持 ROS、实时感知、动作规划和 AI 强化学习 二、Jetson 芯片系列对比 型号 GPU (CUDA) CPU
    的头像 发表于 07-30 16:12 2427次阅读

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的方案详解

    NVIDIA Jetson + Isaac SDK 在人形机器人领域的 方案详解 ,涵盖芯片型号、软件平台、开发工具链、应用场景与典型客户等。 一、方案概述:Jetson + Isaac
    的头像 发表于 07-30 16:05 3887次阅读

    NVIDIA Isaac Lab可用环境与强化学习脚本使用指南

    NVIDIA Isaac Sim 是一款基于 NVIDIA Omniverse 构建的参考应用,使开发者能够在基于物理的虚拟环境中模拟和测试
    的头像 发表于 07-14 15:29 2599次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> Lab可用环境与强化学习脚本使用指南

    NVIDIA Isaac SimIsaac Lab现已推出早期开发者预览版

    NVIDIA 发布了机器人仿真参考应用 Isaac Sim机器人学习框架 Isaac Lab
    的头像 发表于 07-04 14:23 2015次阅读

    NVIDIA Isaac SimNVIDIA Isaac Lab的更新

    在 COMPUTEX 2025 上,NVIDIA 宣布了机器人仿真参考应用 NVIDIA Isaac Sim
    的头像 发表于 05-28 10:06 2357次阅读

    NVIDIA 通过云端至机器人计算平台驱动人形机器人技术,赋能物理 AI

    机器人推理与技能基础模型的首次更新;用于合成运动生成的 NVIDIA Isaac GR00T-Dreams Blueprint;以及用于加速人形机器人开发的
    发表于 05-19 17:53 1832次阅读
    <b class='flag-5'>NVIDIA</b> 通过云端至<b class='flag-5'>机器人</b>计算平台驱动人形<b class='flag-5'>机器人</b>技术,赋能物理 AI

    盘点#机器人开发平台

    图,电子技术资料网站具身智能机器人****开发平台——Fibot广和通发布机器人开发平台-电子发烧友网NVIDIA Isaac 英伟达综合性机器人
    发表于 05-13 15:02

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    阅读心得体会:ROS2机器人视觉与地图构建技术 通过对本书第7章(ROS2视觉应用)和第8章(ROS2地图构建)的学习,我对机器人视觉感知和
    发表于 05-03 19:41

    【「# ROS 2智能机器人开发实践」阅读体验】机器人入门的引路书

    的非常好的,特别是一些流程图,很清晰的阐释了概念 很适合作为初学者入门的引路书 还能了解很多技术和框架,破除初学者的自负困境,让初学者知道功能是由很多开发者维护的,前人已经为各种产品搭建了完善的框架。避免陷入得一个单打独斗的错觉 一直蠢蠢欲动ros2
    发表于 04-30 01:05

    【「# ROS 2智能机器人开发实践」阅读体验】+ROS2应用案例

    的知识,还需要对ROS 2的节点通信和数据处理有一定的了解。通过实践这一部分内容,我掌握了如何在ROS 2中实现二维码识别,这对于提高机器人
    发表于 04-27 11:42

    【「# ROS 2智能机器人开发实践」阅读体验】+内容初识

    规划:导航是机器人自主运行的关键功能。书中详细介绍了基于 ROS 2 的导航系统,包括地图创建、路径规划和导航控制等环节。首先,通过激光雷达等传感器获取环境信息,使用 SLAM(Sim
    发表于 04-27 11:24