Test Isaac_ROS_Freespace Segmentation Repository

Examples
Tutorial with RealSense, Tutorial with Zed, Tutorial with Isaac Sim

Tutorial with RealSense

Tutorial With Zed

Tutorial With Isaac Sim

(1)Complete steps 1-7 listed in the quickstart post
=> Already Done
(2)Install and launch Isaac Sim following the steps in the Isaac ROS Isaac Sim Setup Guide documentation
(2)-1 Install Isaac Sim, choosing the appropriate working environment
=> Already Done
(2)-2 Follow the Running Native ROS instructions to ensure that ROS 2 and the required packages are installed to successfully enable the ROS 2 Bridge in Omniverse Isaac Sim
Ubuntu 20.04 Humble
->Install humble from source
ROS 2 Humble Ubuntu 20.04
System requirements
Tier 3: Ubuntu Linux - Focal (20.04) 64-bit
System setup
Set locale
Make sure you have a locale which supports UTF-8
FreespaceSegmentation43
FreespaceSegmentation44
FreespaceSegmentation45
FreespaceSegmentation46
Add the ROS 2 apt repository
Need to add the ROS 2 apt repository to your system
Ensure that the Ubuntu Universe repository is enabled
FreespaceSegmentation47
Now add the ROS 2 GPG key with apt
FreespaceSegmentation48
FreespaceSegmentation49
Add the repository to your sources list
FreespaceSegmentation50
Install development tools and ROS tools
Install common packages
FreespaceSegmentation51
Install packages according to your Ubuntu version
FreespaceSegmentation52
Get ROS 2 code
FreespaceSegmentation53
Install dependencies using rosdep
ROS 2 packages are built on frequently updated Ubuntu systems. It is always recommended that you ensure your system is up to date before installing new packages
FreespaceSegmentation54
FreespaceSegmentation55
FreespaceSegmentation56
Build the code in the workspace
If you have already installed ROS 2 another way (either via Debians or the binary distribution)
Make sure that you run the below commands in a fresh environment that does not have those other installations sourced
Also ensure that you do not have source /opt/ros/${ROS_DISTRO}/setup.bash in your .bashrc
=> Confirmed
Make sure that ROS 2 is not sourced with the command printenv | grep -i ROS. The output should be empty
FreespaceSegmentation57
FreespaceSegmentation58
Environment setup
Source the setup script
Set up your environment by sourcing the following file
FreespaceSegmentation59
Save it in bashrc
FreespaceSegmentation60
FreespaceSegmentation61

Try some examples
Source the setup file and then run a C++ talker:
FreespaceSegmentation62
In one terminal, source the setup file and then run a C++ talker
Source the setup file and then run a Python listener:
FreespaceSegmentation63
Talker saying that it’s Publishing messages and the listener saying I heard those messages
. This verifies both the C++ and Python APIs are working properly

Ensure vision_msgs_package is built from the ros2 branch
The ROS 2 Bridge in Isaac Sim depends on this package, make sure the workspace containing this package is sourced before running Isaac Sim from the same terminal

=> Already Done
(2)-3 Launch Isaac Sim App Selector window
FreespaceSegmentation2-1
(2)-4 Follow the steps outlined in another documentation If you have a system level ROS 2 install
Click Open in Terminal button
Open a terminal window and then follow the steps outlined here
ROS2 Setup
Source Ros2
FreespaceSegmentation2-3
FreespaceSegmentation2-4
Ensure your ROS2 install is sourced before proceeding
Enabling the ROS2 Bridge Extension
ROS2
Not using a Isaac Sim ROS2 Workspace -> Follow another documentation
FreespaceSegmentation2-5
Create a file named fastdds.xml under “~/.ros/”
fastddsxml.txt
Paste the above snippet link into the file
FreespaceSegmentation2-7
FreespaceSegmentation2-6
Run export FASTRTPS_DEFAULT_PROFILES_FILE=”~/.ros/fastdds.xml” in the terminals that will use ROS2 functions, as well as setting it under “Extra Args” when launching Isaac Sim from the Nucleus Launcher
=> Save it in .bashrc
FreespaceSegmentation2-9
To enable ROS2 bridge extensions
Go to the extension manager menu Window->Extensions and search for ROS2 bridge
Warning:Only one of the ROS Bridge extensions can be enabled at any given time, so if switching between the two bridges, disable one before enabling the other
(2)-5 Launch Isaac Sim
FreespaceSegmentation2-8
(2)-6 Open Isaac ROS Sample scene as shown below
Isaac Examples > ROS > Isaac ROS > Samples Scene
(2)-7 Result:
Successful
FreespaceSegmentation36
(3)Disable the clock reset when simulation is stopped
FreespaceSegmentation37
Go to the Stage tab and select /World/ROS_Clock/isaac_read_simulation_time, then untick the Reset On Stop checkbox
(4)Press Play to start publishing data from Isaac Sim
FreespaceSegmentation38
(5)Open a second terminal and attach to the container
FreespaceSegmentation39
(6)In the second terminal, start the isaac_ros_bi3d node using the launch files
FreespaceSegmentation40
Problem: Rviz nothing displayed
FreespaceSegmentation41
Solution: (Searching for it…)
https://forums.developer.nvidia.com/t/tutorial-for-freespace-segmentation-with-isaac-sim-rviz-nothing-displayed/279466
(7)Optionally, you can run the visualizer script to visualize the disparity image

286.1 Turn off this advice by setting config variable advice.detachedHead to false 286.1 286.1 HEAD is now at 2df716c Rebase from ‘upstream’ (no changes) —— ubuntu_20_foxy_minimal.dockerfile:82 ——————– 81 |
82 | »> RUN mkdir -p ${ROS_ROOT}/src &&
83 | »> cd ${ROS_ROOT} &&
84 | »> rosinstall_generator –deps –rosdistro ${ROS_DISTRO} rosidl_runtime_c rcutils rcl rmw tf2_msgs geometry_msgs nav_msgs std_msgs rosgraph_msgs sensor_msgs vision_msgs rclpy ros2topic ros2pkg ros2doctor ros2run ros2node ros_environment > ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall &&
85 | »> cat ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall &&
86 | »> vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall 87 |
——————– ERROR: failed to solve: process “/bin/sh -c mkdir -p ${ROS_ROOT}/src && cd ${ROS_ROOT} && rosinstall_generator –deps –rosdistro ${ROS_DISTRO} rosidl_runtime_c rcutils rcl rmw tf2_msgs geometry_msgs nav_msgs std_msgs rosgraph_msgs sensor_msgs vision_msgs rclpy ros2topic ros2pkg ros2doctor ros2run ros2node ros_environment > ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && cat ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall && vcs import src < ros2.${ROS_DISTRO}.${ROS_PKG}.rosinstall” did not complete successfully: exit code: 1

Reference:
https://nvidia-isaac-ros.github.io/concepts/scene_reconstruction/bi3d_freespace_segmentation/tutorial_isaac_sim.html
https://nvidia-isaac-ros.github.io/repositories_and_packages/isaac_ros_freespace_segmentation/isaac_ros_bi3d_freespace/index.html#quickstart
https://nvidia-isaac-ros.github.io/getting_started/isaac_sim/index.html
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html
https://docs.omniverse.nvidia.com/isaacsim/latest/installation/install_ros.html#running-native-ros