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

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

3天内不再提示

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

NVIDIA英伟达 来源:NVIDIA英伟达 2023-05-12 10:44 次阅读

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 用于与模拟机器人通信并执行轨迹的接口。

结论

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


审核编辑 :李倩


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

    关注

    206

    文章

    27043

    浏览量

    201419
  • NVIDIA
    +关注

    关注

    14

    文章

    4595

    浏览量

    101724
  • ROS
    ROS
    +关注

    关注

    1

    文章

    271

    浏览量

    16682

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

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

收藏 人收藏

    评论

    相关推荐

    如何搭建实体机器人ros底盘

    目录介绍一、底盘主控板二、嵌入式开发板1. 与上位机pc的关系2. 与STM32主控板的关系介绍自下而上的分析实体机器人(差分轮速机器人)搭建中的关键过程。一、底盘主控板本部分搭建实体机器人
    发表于 01-20 07:36

    基于Omniverse的NVIDIA Isaac Sim现已发布公测版

    Omniverse是NVIDIA模拟器的根本基础,包括加入了多项新功能的Isaac平台。NVIDIA Isaac
    的头像 发表于 06-22 14:56 3167次阅读
    基于Omniverse的<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b>现已发布公测版

    如何通过NVIDIA ISAAC ROS GEMs

    在这篇文章中,我讨论了如何使用 NVIDIA ISAAC ROS GEMs 加速机器人部署。解决方案的重点是使用nanosaur检测 AprilTags ,这是一种基于
    的头像 发表于 04-15 16:42 1871次阅读
    如何通过<b class='flag-5'>NVIDIA</b> <b class='flag-5'>ISAAC</b> <b class='flag-5'>ROS</b> GEMs

    NVIDIA Isaac Sim 2022.1版本的亮点及功能

    NVIDIA 宣布推出2022.1 版 NVIDIA Isaac Sim。作为一种机器人仿真和合成数据生成(SDG)工具,这个
    的头像 发表于 07-01 11:19 1370次阅读

    NVIDIA Isaac ROS GEM的功能特性

    NVIDIA Isaac ROS GEM 是一款基于硬件加速的软件包,可以让 ROS 开发者更轻松地基于 NVIDIA 硬件构建高性能解决方
    的头像 发表于 08-14 11:12 761次阅读

    NVIDIA Isaac Sim机器人仿真平台上云

    新 Omniverse Cloud 平台上的 Isaac Sim 使虚拟机器人的测试和训练更容易实现,并可兼顾灵活性与可扩展性。
    发表于 09-23 11:37 645次阅读

    NVIDIA AI机器人开发— NVIDIA Isaac Sim入门

    由 Omniverse 提供支持,是一款可扩展的机器人模拟应用和合成数据生成工具,可提供逼真、物理属性准确的虚拟环境,以便开发、测试和管理基于 AI 的机器人。 
    的头像 发表于 10-19 15:58 1397次阅读

    开发者使用NVIDIA Omniverse和Isaac Sim构建机器人

    应用机器人学博士生 Antonio Serrano-Muñoz 创建了一个 Omniverse 扩展程序,以在 NVIDIA Isaac Sim
    发表于 10-21 09:41 455次阅读

    NVIDIA 公开课 | AI 机器人开发第二讲 — Isaac Sim 高阶开发

    提供逼真的模拟效果,其模组化设计旨在解决多数常见的机器人用例,包括操作、导航和生成用于训练数据的合成数据,并可以进行自定义并扩展到许多新用例中。通过 Isaac SDK 和
    的头像 发表于 11-10 11:00 609次阅读

    CES | NVIDIA 发布智能机器人高级模拟引擎 Isaac Sim 的重大更新

    Sim 的重大更新。 该机器人模拟工具可以在各种不同的逼真环境中构建和测试虚拟机器人Isaac
    的头像 发表于 01-06 02:55 445次阅读

    CES | 用 NVIDIA Isaac Sim 2022.2 模拟未来智能机器人

    了智能机器人的开发、测试、培训和部署。 使用 NVIDIA Isaac Sim ,您可以轻松导入您选择的机器人模型。使用它来构建真实的环境以
    的头像 发表于 01-06 22:30 602次阅读

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

    了将 MoveIt 2 与 NVIDIA Isaac Sim模拟机器人进行集成的过程。本教
    的头像 发表于 05-12 10:45 586次阅读
    使用 <b class='flag-5'>ROS</b> 2 <b class='flag-5'>MoveIt</b> 和 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b> <b class='flag-5'>创建</b><b class='flag-5'>逼真的</b><b class='flag-5'>机器人</b><b class='flag-5'>模拟</b>

    使用 NVIDIA Isaac SimROS 和 Nimbus 开发多机器人环境

    随着现实场景中部署的自主机器人越来越多,对高保真多机器人仿真环境的需求也在迅速增长。本文将回顾笔者过去在 Cogniteam 使用的仿真多机器人的方法、目前使用  NVIDIA
    的头像 发表于 06-07 08:45 421次阅读
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b>、<b class='flag-5'>ROS</b> 和 Nimbus 开发多<b class='flag-5'>机器人</b>环境

    NVIDIA Isaac 平台先进的仿真和感知工具助力 AI 机器人技术加速发展

      NVIDIA Isaac ROS 2.0  和  NVIDIA Isaac Sim 2023
    的头像 发表于 10-20 02:00 452次阅读
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 平台先进的仿真和感知工具助力 AI <b class='flag-5'>机器人</b>技术加速发展

    使用 NVIDIA Isaac 仿真并定位 Husky 机器人

    如何使用 ROS 2 Husky 官方软件包将该机器人导入 NVIDIA Isaac Sim创建
    的头像 发表于 12-26 18:05 383次阅读
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky <b class='flag-5'>机器人</b>