0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用ROS 2 MoveIt和NVIDIA Isaac Sim創(chuàng)建逼真的機器人模擬

NVIDIA英偉達 ? 來源:NVIDIA英偉達 ? 2023-05-12 10:44 ? 次閱讀

MoveIt 是一個機器人控制平臺,包括了運動規(guī)劃、操縱、3D 感知、運動學(xué)、控制和導(dǎo)航方面的最新技術(shù)。PickNik Robotics 是進行 MoveIt 開發(fā)的公司,該公司正在探索在內(nèi)部研發(fā)項目中使用 NVIDIA Isaac Sim。項目的目標(biāo)是提高對操縱的感知,并通過 PickNik 的商業(yè)機器人開發(fā)平臺 MoveIt Studio 讓機器人具有更自主的行為。

本文展示了將 MoveIt 2 與 NVIDIA Isaac Sim 中模擬的機器人進行集成的過程。本教程需要一臺安裝了 Isaac Sim 2022.2.0 的電腦,以及如下所列的系統(tǒng)配置。請參閱 NVIDIA Isaac Sim documentation https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/overview.html)了解具體的安裝細節(jié)和要求。

1、NVIDIA Isaac Sim 2022.2.0 安裝于 Ubuntu 20.04 主機上。默認(rèn)位置為$HOME/.local/share/ov/pkg/isaac_sim-2022.2.0目錄。

2、安裝 Docker。

3、克隆 MoveIt2 教程,以構(gòu)建一個基于 Ubuntu 22.04 Humble 的 Docker 鏡像,該鏡像可以與 Isaac Sim 通信并運行本教程。

ros2 _ control 介紹

要執(zhí)行 MoveIt 計算的軌跡,建議使用 ros2_control 框架進行管理并與您的機器人通信(無論真實的還是模擬)。這種方法為開發(fā)人員提供了一個通用的 API,使軟件能夠通過簡單地更改一些啟動參數(shù),在許多不同的機器人類型和內(nèi)置傳感器之間切換。

例如,Panda 機器人ros2_control.xacro使用標(biāo)志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是一個簡單的系統(tǒng),用于轉(zhuǎn)發(fā)輸入的 command_interface 要跟蹤的節(jié)點值 state_interface該系統(tǒng)模擬了對節(jié)點的完美控制。

為了將機器人的配置擴展到 Isaac Sim ,首先需要引入 topic_based_ros2_control。此硬件接口是一個訂閱和發(fā)布已配置主題的系統(tǒng)。對于本教程,topic /isaac_joint_states 將包含機器人的當(dāng)前狀態(tài),并且 將使用 /isaac_joint_commands 進行驅(qū)動 。

本教程中使用的 moveit_resources_panda_moveit_config 不支持連接到硬件。因此當(dāng)標(biāo)志 ros2_control_hardware_type 設(shè)置為 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 機器人,同時構(gòu)建 OmniGraph 發(fā)布和訂閱用于控制機器人的 ROS topic。要了解有關(guān)配置 Isaac Sim 機器人與 ROS 2 通信的信息,請參閱ROS 2 Joint Control: Extension Python Scripting

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

計算機設(shè)置

按照以下步驟設(shè)置計算機。

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

2、使用以下腳本執(zhí)行 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、構(gòu)建 Docker 鏡像:

docker compose build

使用模擬組件運行

MoveIt Interactive Marker Demo

運行以下腳本以測試 mock_components/GenericSystem 硬件接口:

docker compose up demo_mock_components

RViz 將運行 Panda 機器人,并使mock_components 以模擬機器人并執(zhí)行軌跡。如果這是您第一次同時使用 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、在主機上,導(dǎo)航到教程啟動目錄:

cd moveit2_tutorials/doc/how_to_guides/isaac_panda/launch

2、加載預(yù)配置的 Panda 機器人以使用本教程。請注意,此步驟假定 Isaac Sim 安裝在 $HOME/.local/share/ov/pkg/isaac_sim-2022.2.0" 目錄。

此步驟需要幾分鐘的時間來下載資源并設(shè)置 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 用于與模擬機器人通信并執(zhí)行軌跡的接口。

結(jié)論

將 MoveIt 與 NVIDIA Isaac Sim 集成,開發(fā)人員能夠創(chuàng)建反映真實世界的復(fù)雜逼真的機器人系統(tǒng)模擬。通過將這兩個框架與 ros2 _ control 配對,您可以在不同的模擬器和真實硬件之間快速切換,以快速迭代新算法和機器人行為。


審核編輯 :李倩


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 機器人
    +關(guān)注

    關(guān)注

    210

    文章

    28022

    瀏覽量

    205636
  • NVIDIA
    +關(guān)注

    關(guān)注

    14

    文章

    4823

    瀏覽量

    102662
  • ROS
    ROS
    +關(guān)注

    關(guān)注

    1

    文章

    276

    瀏覽量

    16928

原文標(biāo)題:使用 ROS 2 MoveIt 和 NVIDIA Isaac Sim 創(chuàng)建逼真的機器人模擬

文章出處:【微信號:NVIDIA_China,微信公眾號:NVIDIA英偉達】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    基于Omniverse的NVIDIA Isaac Sim現(xiàn)已發(fā)布公測版

    Omniverse是NVIDIA模擬器的根本基礎(chǔ),包括加入了多項新功能的Isaac平臺。NVIDIA Isaac
    的頭像 發(fā)表于 06-22 14:56 ?3305次閱讀
    基于Omniverse的<b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> <b class='flag-5'>Sim</b>現(xiàn)已發(fā)布公測版

    如何通過NVIDIA ISAAC ROS GEMs

    在這篇文章中,我討論了如何使用 NVIDIA ISAAC ROS GEMs 加速機器人部署。解決方案的重點是使用nanosaur檢測 AprilTags ,這是一種基于
    的頭像 發(fā)表于 04-15 16:42 ?2130次閱讀
    如何通過<b class='flag-5'>NVIDIA</b> <b class='flag-5'>ISAAC</b> <b class='flag-5'>ROS</b> GEMs

    NVIDIA Omniverse ISAAC Sim加速機器人仿真

      新的 Omniverse ISAAC Sim 體驗的最新版本展示了現(xiàn)代機器人仿真工具包如何使研究人員和開發(fā)人員受益。在 NVIDIA Omniverse 平臺上構(gòu)建該工具包,為
    的頭像 發(fā)表于 04-27 16:06 ?2837次閱讀
    用<b class='flag-5'>NVIDIA</b> Omniverse <b class='flag-5'>ISAAC</b> <b class='flag-5'>Sim</b>加速<b class='flag-5'>機器人</b>仿真

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

    NVIDIA 宣布推出2022.1 版 NVIDIA Isaac Sim。作為一種機器人仿真和合成數(shù)據(jù)生成(SDG)工具,這個
    的頭像 發(fā)表于 07-01 11:19 ?1668次閱讀

    NVIDIA AI機器人開發(fā)— NVIDIA Isaac Sim入門

    Omniverse 提供支持,是一款可擴展的機器人模擬應(yīng)用和合成數(shù)據(jù)生成工具,可提供逼真、物理屬性準(zhǔn)確的虛擬環(huán)境,以便開發(fā)、測試和管理基于 AI 的機器人。?
    的頭像 發(fā)表于 10-19 15:58 ?1716次閱讀

    開發(fā)者使用NVIDIA Omniverse和Isaac Sim構(gòu)建機器人

    應(yīng)用機器人學(xué)博士生 Antonio Serrano-Mu?oz 創(chuàng)建了一個 Omniverse 擴展程序,以在 NVIDIA Isaac Sim
    發(fā)表于 10-21 09:41 ?590次閱讀

    NVIDIA 公開課 | AI 機器人開發(fā)第二講 — Isaac Sim 高階開發(fā)

    提供逼真的模擬效果,其模組化設(shè)計旨在解決多數(shù)常見的機器人用例,包括操作、導(dǎo)航和生成用于訓(xùn)練數(shù)據(jù)的合成數(shù)據(jù),并可以進行自定義并擴展到許多新用例中。通過 Isaac SDK 和
    的頭像 發(fā)表于 11-10 11:00 ?859次閱讀

    CES | NVIDIA 發(fā)布智能機器人高級模擬引擎 Isaac Sim 的重大更新

    Sim 的重大更新。 該機器人模擬工具可以在各種不同的逼真環(huán)境中構(gòu)建和測試虛擬機器人。Isaac
    的頭像 發(fā)表于 01-06 02:55 ?575次閱讀

    CES | 用 NVIDIA Isaac Sim 2022.2 模擬未來智能機器人

    智能機器人的開發(fā)、測試、培訓(xùn)和部署。 使用 NVIDIA Isaac Sim ,您可以輕松導(dǎo)入您選擇的機器人模型。使用它來構(gòu)建真實的環(huán)境以驗
    的頭像 發(fā)表于 01-06 22:30 ?818次閱讀

    使用 ROS 2 MoveItNVIDIA Isaac Sim 創(chuàng)建逼真的機器人模擬

    MoveIt 2NVIDIA Isaac Sim模擬
    的頭像 發(fā)表于 05-12 10:45 ?1409次閱讀
    使用 <b class='flag-5'>ROS</b> <b class='flag-5'>2</b> <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'>創(chuàng)建</b><b class='flag-5'>逼真的</b><b class='flag-5'>機器人</b><b class='flag-5'>模擬</b>

    使用 NVIDIA Isaac Sim、ROS 和 Nimbus 開發(fā)多機器人環(huán)境

    隨著現(xiàn)實場景中部署的自主機器人越來越多,對高保真多機器人仿真環(huán)境的需求也在迅速增長。本文將回顧筆者過去在 Cogniteam 使用的仿真多機器人的方法、目前使用? NVIDIA
    的頭像 發(fā)表于 06-07 08:45 ?769次閱讀
    使用 <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 開發(fā)多<b class='flag-5'>機器人</b>環(huán)境

    基于 NVIDIA Jetson 使用硬件在環(huán)設(shè)計機器人

    Isaac 平臺 應(yīng)用于這些領(lǐng)域的。 NVIDIA Isaac 平臺由 NVIDIA Isaac Si
    的頭像 發(fā)表于 06-14 18:35 ?703次閱讀
    基于 <b class='flag-5'>NVIDIA</b> Jetson 使用硬件在環(huán)設(shè)計<b class='flag-5'>機器人</b>

    從 0 到 1 搭建機器人 | 使用 NVIDIA Isaac Sim Replicator 和 TAO 套件進行數(shù)據(jù)合成和訓(xùn)練

    文章 將從第一步開始,拆解并串聯(lián)起關(guān)于機器人創(chuàng)建的必要知識和所涉工具,希望能以 NVIDIA 提供的前沿解決方案為您鋪平開發(fā)實踐的道路。 今天我們將先從數(shù)據(jù)標(biāo)記、模型訓(xùn)練開始,出場的是? Is
    的頭像 發(fā)表于 07-17 19:45 ?609次閱讀

    NVIDIA Isaac 平臺先進的仿真和感知工具助力 AI 機器人技術(shù)加速發(fā)展

    ? NVIDIA Isaac ROS 2.0 ?和? NVIDIA Isaac Sim 2023
    的頭像 發(fā)表于 10-20 02:00 ?900次閱讀
    <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 平臺先進的仿真和感知工具助力 AI <b class='flag-5'>機器人</b>技術(shù)加速發(fā)展

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

    如何使用 ROS 2 Husky 官方軟件包將該機器人導(dǎo)入 NVIDIA Isaac Sim
    的頭像 發(fā)表于 12-26 18:05 ?1119次閱讀
    使用 <b class='flag-5'>NVIDIA</b> <b class='flag-5'>Isaac</b> 仿真并定位 Husky <b class='flag-5'>機器人</b>