Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Omniverse ROS

Important

Applicable for Ubuntu 22.04 and ROS2 Humble and Isaac Sim 4.0.0

Documentations

Installation Instruction

  • Nvidia Issac Sim Compatibility

    • Omniverse Downloads
      • sudo chmod +x omniverse-launcher-linux.AppImage
      • sudo apt update && sudo apt install fuse
      • Double click
      • Disable IOMMU
        • sudo bash -c 'echo GRUB_CMDLINE_LINUX="amd_iommu=off" >> /etc/default/grub'
        • sudo update-grub
        • sudo reboot
    • Install
      • Cache
      • Nucleus
      • Issac Sim
  • Launch Issac Sim

  • Add to .bashrc

# Issac Sim ROS Variables
export ROS_DOMAIN_ID=0
export FASTRTPS_DEFAULT_PROFILES_FILE=/home/administrator/issac_sim/fastdds.xml
# export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp # Optional if required
  • Add build
rosdep install -i --from-path src --rosdistro humble -y
colcon build --symlink-install
source install/setup.bash
  • Run directly so that the file is sourced
bash ~/.local/share/ov/pkg/isaac-sim-4.0.0/isaac-sim.sh
  • Go to Windows -> Extension Manager -> Enable ROS2 Bridge & ROS2 Robot Description URDF
  • Go to Create -> Isaac -> Environment -> Grid Room

ROS2 - Importing Robot

  • Go to Issac Utils -> Workflows -> URDF Importer
    • Add the robot
    • Ensure base_link is not checked as it is a mobile robot
    • Check the drive type, usually velocity for wheel based robots
    • Self-collision disable if URDF limits are correct
    • Select output directory
  • Play Animation and then Stop

ROS2 - Robot Controller

  • Click Issac Utils -> Common Omnigraph -> Articulation Position Controller and/or Articulation Velocity Controller
    • Press Add and select the robot
    • Click Ok
    • Right Click on the Graphs in the Stage and select option Open Graphs
  • Click Play and in the graphs, one of them will be a controller graph change values to see if it is reflected on robot
  • Add the following to the graphs
    • On Playback Tick node
    • Isaac Read Simulation Time node
    • ROS2 Publish Joint State node
      • Connect On On Playback Tick from Tick to Exec In
      • Connect On Isaac Read Simulation Time node from Simulation Time to Timestamp
    • ROS2 Subscribe Joint State node
      • Connect On On Playback Tick from Tick to Exec In
    • ROS2 Nodes
      • Connect Effort Command, Joint Names, Position Command, etc.
    • Click play and run ros2 launch h1_isaac_controller system.launch.py for incremental steps to move the robot

About

ROS2 Package for utilization of Issac Sim

Resources

Stars

13 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages