Moveit2 - CANNOT BUILD (ROS2 Humble / Ubuntu 22.04)

Hello

I have followed the instructions on Moveit Tutorial webpage (How To Command Simulated Isaac Robot — MoveIt Documentation: Humble documentation)
but it gives the following error.

I think its the “colcon build” command thats causing the error so I tried to “colcon build” in the following directory and it throws this error

Any suggestion on how to fix this error so i can continue with the Moveit2 tutorial on Isaac Sim?

Hi @jaeyeun - Can you please confirm you have followed all the steps as mentioned in this document?

Also, I would suggest to update to the latest Isaac Sim 2022.2.1 release.

https://docs.omniverse.nvidia.com/app_isaacsim/app_isaacsim/tutorial_ros2_moveit.html

yes. I have followed every step meticulously.

the following error occurs during the 4th step of “computer setup” stage in the following link provided in the tutorial.
(moveit2_tutorials/isaac_panda_tutorial.rst at humble · ros-planning/moveit2_tutorials · GitHub)

whenever I “docker compose build” I get the following error.

Any advice on how to fix this?

 => ERROR [demo_mock_components 14/16] RUN source /opt/ros/humble/setup.bash && colcon build                                                                                                         13.3s 
------                                                                                                                                                                                                     
 > [demo_mock_components 14/16] RUN source /opt/ros/humble/setup.bash && colcon build:                                                                                                                     
#0 0.644 Starting >>> moveit2_tutorials                                                                                                                                                                    
#0 0.650 Starting >>> topic_based_ros2_control                                                                                                                                                             
#0 6.613 Finished <<< topic_based_ros2_control [5.96s]                                                                                                                                                     
#0 13.22 --- stderr: moveit2_tutorials                                                                                                                                                                     
#0 13.22 moveit2_tutorials: You did not request a specific build type: Choosing 'Release' for maximum performance
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/realtime_servo/src/servo_cpp_interface_demo.cpp:45:10: fatal error: moveit_servo/servo_parameters.h: No such file or directory
#0 13.22    45 | #include <moveit_servo/servo_parameters.h>
#0 13.22       |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 13.22 compilation terminated.
#0 13.22 gmake[2]: *** [doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/build.make:76: doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/src/servo_cpp_interface_demo.cpp.o] Error 1
#0 13.22 gmake[1]: *** [CMakeFiles/Makefile2:570: doc/examples/realtime_servo/CMakeFiles/servo_cpp_interface_demo.dir/all] Error 2
#0 13.22 gmake[1]: *** Waiting for unfinished jobs....
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp: In function ‘int main(int, char**)’:
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:192:69: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   192 |       planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
#0 13.22       |                                                                     ^~~~~~~~~~~
#0 13.22       |                                                                     error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:194:11: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   194 |   if (res.error_code_.val != res.error_code_.SUCCESS)
#0 13.22       |           ^~~~~~~~~~~
#0 13.22       |           error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:194:34: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   194 |   if (res.error_code_.val != res.error_code_.SUCCESS)
#0 13.22       |                                  ^~~~~~~~~~~
#0 13.22       |                                  error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:242:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   242 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
#0 13.22       |                                                                           ^~~~~~~~~~~
#0 13.22       |                                                                           error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:246:11: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   246 |   if (res.error_code_.val != res.error_code_.SUCCESS)
#0 13.22       |           ^~~~~~~~~~~
#0 13.22       |           error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:246:34: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   246 |   if (res.error_code_.val != res.error_code_.SUCCESS)
#0 13.22       |                                  ^~~~~~~~~~~
#0 13.22       |                                  error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:276:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   276 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
#0 13.22       |                                                                           ^~~~~~~~~~~
#0 13.22       |                                                                           error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/motion_planning_api/src/motion_planning_api_tutorial.cpp:331:75: error: ‘struct planning_interface::MotionPlanResponse’ has no member named ‘error_code_’; did you mean ‘error_code’?
#0 13.22   331 |   context = planner_instance->getPlanningContext(planning_scene, req, res.error_code_);
#0 13.22       |                                                                           ^~~~~~~~~~~
#0 13.22       |                                                                           error_code
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp: In function ‘int main(int, char**)’:
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:156:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   156 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:205:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   205 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:274:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   274 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:350:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   350 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:402:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   402 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/move_group_interface/src/move_group_interface_tutorial.cpp:457:46: error: ‘struct moveit::planning_interface::MoveGroupInterface::Plan’ has no member named ‘trajectory_’; did you mean ‘trajectory’?
#0 13.22   457 |   visual_tools.publishTrajectoryLine(my_plan.trajectory_, joint_model_group);
#0 13.22       |                                              ^~~~~~~~~~~
#0 13.22       |                                              trajectory
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp: In function ‘int main(int, char**)’:
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:50:73: error: passing ‘std::__shared_ptr_access<const planning_scene_monitor::PlanningSceneMonitor, __gnu_cxx::_S_atomic, false, false>::element_type’ {aka ‘const planning_scene_monitor::PlanningSceneMonitor’} as ‘this’ argument discards qualifiers [-fpermissive]
#0 13.22    50 |   moveit_cpp_ptr->getPlanningSceneMonitor()->providePlanningSceneService();
#0 13.22       |   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
#0 13.22 In file included from /opt/ros/humble/include/moveit_ros_planning/moveit/moveit_cpp/moveit_cpp.h:44,
#0 13.22                  from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:4:
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:373:8: note:   in call to ‘void planning_scene_monitor::PlanningSceneMonitor::providePlanningSceneService(const string&)’
#0 13.22   373 |   void providePlanningSceneService(const std::string& service_name = DEFAULT_PLANNING_SCENE_SERVICE);
#0 13.22       |        ^~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:63:96: error: no matching function for call to ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(rclcpp::Node::SharedPtr&, const char [12], const char [20], planning_scene_monitor::PlanningSceneMonitorConstPtr)’
#0 13.22    63 |                                                       moveit_cpp_ptr->getPlanningSceneMonitor());
#0 13.22       |                                                                                                ^
#0 13.22 In file included from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:9:
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:97:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&, const string&, const string&, moveit::core::RobotModelConstPtr)’
#0 13.22    97 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node, const std::string& base_frame,
#0 13.22       |   ^~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:99:54: note:   no known conversion for argument 4 from ‘shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’ to ‘shared_ptr<const moveit::core::RobotModel>’
#0 13.22    99 |                     moveit::core::RobotModelConstPtr robot_model = moveit::core::RobotModelConstPtr());
#0 13.22       |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:88:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&, const string&, const string&, planning_scene_monitor::PlanningSceneMonitorPtr)’
#0 13.22    88 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node, const std::string& base_frame, const std::string& marker_topic,
#0 13.22       |   ^~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:89:69: note:   no known conversion for argument 4 from ‘shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’ to ‘shared_ptr<planning_scene_monitor::PlanningSceneMonitor>’
#0 13.22    89 |                     planning_scene_monitor::PlanningSceneMonitorPtr psm);
#0 13.22       |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:79:3: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const SharedPtr&)’
#0 13.22    79 |   MoveItVisualTools(const rclcpp::Node::SharedPtr& node);
#0 13.22       |   ^~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:79:3: note:   candidate expects 1 argument, 4 provided
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(const moveit_visual_tools::MoveItVisualTools&)’
#0 13.22    70 | class MoveItVisualTools : public rviz_visual_tools::RvizVisualTools
#0 13.22       |       ^~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note:   candidate expects 1 argument, 4 provided
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note: candidate: ‘moveit_visual_tools::MoveItVisualTools::MoveItVisualTools(moveit_visual_tools::MoveItVisualTools&&)’
#0 13.22 /opt/ros/humble/include/moveit_visual_tools/moveit_visual_tools.h:70:7: note:   candidate expects 1 argument, 4 provided
#0 13.22 /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:282:98: error: no matching function for call to ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(planning_scene_monitor::PlanningSceneMonitorConstPtr)’
#0 13.22   282 |     planning_scene_monitor::LockedPlanningSceneRW scene(moveit_cpp_ptr->getPlanningSceneMonitor());
#0 13.22       |                                                                                                  ^
#0 13.22 In file included from /opt/ros/humble/include/moveit_ros_planning/moveit/moveit_cpp/moveit_cpp.h:44,
#0 13.22                  from /root/isaac_moveit_tutorial_ws/src/moveit2_tutorials/doc/examples/moveit_cpp/src/moveit_cpp_tutorial.cpp:4:
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:751:3: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(const PlanningSceneMonitorPtr&)’
#0 13.22   751 |   LockedPlanningSceneRW(const PlanningSceneMonitorPtr& planning_scene_monitor)
#0 13.22       |   ^~~~~~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:751:56: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘const PlanningSceneMonitorPtr&’ {aka ‘const std::shared_ptr<planning_scene_monitor::PlanningSceneMonitor>&’}
#0 13.22   751 |   LockedPlanningSceneRW(const PlanningSceneMonitorPtr& planning_scene_monitor)
#0 13.22       |                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(const planning_scene_monitor::LockedPlanningSceneRW&)’
#0 13.22   748 | class LockedPlanningSceneRW : public LockedPlanningSceneRO
#0 13.22       |       ^~~~~~~~~~~~~~~~~~~~~
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘const planning_scene_monitor::LockedPlanningSceneRW&’
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note: candidate: ‘planning_scene_monitor::LockedPlanningSceneRW::LockedPlanningSceneRW(planning_scene_monitor::LockedPlanningSceneRW&&)’
#0 13.22 /opt/ros/humble/include/moveit_ros_planning/moveit/planning_scene_monitor/planning_scene_monitor.h:748:7: note:   no known conversion for argument 1 from ‘planning_scene_monitor::PlanningSceneMonitorConstPtr’ {aka ‘std::shared_ptr<const planning_scene_monitor::PlanningSceneMonitor>’} to ‘planning_scene_monitor::LockedPlanningSceneRW&&’
#0 13.22 gmake[2]: *** [doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/build.make:76: doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/src/move_group_interface_tutorial.cpp.o] Error 1
#0 13.22 gmake[1]: *** [CMakeFiles/Makefile2:414: doc/examples/move_group_interface/CMakeFiles/move_group_interface_tutorial.dir/all] Error 2
#0 13.22 gmake[2]: *** [doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/build.make:76: doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/src/moveit_cpp_tutorial.cpp.o] Error 1
#0 13.22 gmake[1]: *** [CMakeFiles/Makefile2:518: doc/examples/moveit_cpp/CMakeFiles/moveit_cpp_tutorial.dir/all] Error 2
#0 13.22 gmake[2]: *** [doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/build.make:76: doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/src/motion_planning_api_tutorial.cpp.o] Error 1
#0 13.22 gmake[1]: *** [CMakeFiles/Makefile2:388: doc/examples/motion_planning_api/CMakeFiles/motion_planning_api_tutorial.dir/all] Error 2
#0 13.22 gmake: *** [Makefile:146: all] Error 2
#0 13.22 ---
#0 13.22 Failed   <<< moveit2_tutorials [12.6s, exited with code 2]
#0 13.24 
#0 13.24 Summary: 1 package finished [12.7s]
#0 13.24   1 package failed: moveit2_tutorials
#0 13.24   1 package had stderr output: moveit2_tutorials
------
failed to solve: executor failed running [/bin/bash -c -o pipefail source /opt/ros/humble/setup.bash && colcon build]: exit code: 2

@jaeyeun sorry you have been running into issues! We have been preparing for World MoveIt Day by upgrading this Tutorial/Docker image. It now includes MoveIt’s new Python bindings and a valid installation of Pytorch for those that want to integrate ML with motion planning.

Could you please try to build the image again but follow this tutorial? The difference being that you need to be on the main branch of the tutorials before building the Docker image. I will make an update to the humble branch to point to the new tutorial.

thanks for the prompt response!
I will try the new instructions and follow up on this thread if I encounter new problems.
Thanks!

Ive tried the revised command that you shared in your reply and was able to successfully build the source code.

however when I execute the command to run the “./python.sh isaac_moveit.py” command (high-lighted in orange in the image below)

I get the following error message.

to be more specific the the error message that appears in the terminal in red text in the image file above is:

2023-06-01 08:56:14 [5,172ms] [Warning] [carb] [Plugin: libomni.isaac.ros2_bridge.plugin.so] Could not locate the function: carbGetFrameworkVersion
2023-06-01 08:56:14 [5,172ms] [Warning] [carb] Potential plugin preload failed: /home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/exts/omni.isaac.ros2_bridge/bin/libomni.isaac.ros2_bridge.plugin.so
2023-06-01 08:56:14 [5,174ms] [Warning] [carb] [Plugin: libomni.structuredlog.plugin.so] Module /home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/libomni.structuredlog.plugin.so remained loaded after unload request
2023-06-01 08:56:14 [5,174ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] Failed to acquire interface: omni::isaac::ros2_bridge::Ros2Bridge (pluginName: nullptr)
2023-06-01 08:56:14 [5,174ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] Cannot load ROS2 bridge after loading ROS2 humble bridge, please restart Isaac Sim and only enable/use one of the ROS2 bridges
[5.225s] [ext: omni.isaac.ros2_bridge-1.12.2] shutdown
2023-06-01 08:56:14 [5,470ms] [Warning] [omni.client.plugin]  Tick: authentication: Discovery(wss://localhost/omni/discovery): Error creating Api/Connection search: Not connected
2023-06-01 08:56:15 [5,755ms] [Warning] [omni.hydra.scene_delegate.plugin] Calling getBypassRenderSkelMeshProcessing for prim /background/PaintTool/rock_small_15_accaa/pointInstancer.proto0_rock_id0 that has not been populated
'ROS_DOMAIN_ID'
Accessed invalid null prim 
Accessed invalid null prim 

it seems like when Isaac Sim is launched via the “./python.sh isaac_moveit.py” command, it tries starts the “ROS2 Bridge” extension instead of the “ROS2 Humble Bridge” extension.

The updated instructions for Moveit2 still doesnt work for ROS2 Humble on Isaac Sim.

That’s weird, have you modified any the the files in the isaac_sim-2022.2.1/apps directory? I just tested and my setup works with the ROS 2 and ROS 2 Humble bridge.

Can you try and modify this line to extensions.enable_extension("omni.isaac.ros2_bridge-humble") to see if the humble bridge works for you?

hello!
thanks for the prompt reply.

  1. loading directly from Isaac Sim’s menu (SUCCESS)
    I am able to load the environment by going to the menu “Isaac Examples → ROS → MoveIt” and then also launch RViz with the “docker compose up demo_isaac” command.
    (RViz screen was initially blacked out so I had to add the following couple of lines to the Dockerfile as suggested in the revised instructions and it worked well!)
# update mesa driver
RUN apt update && apt install -y software-properties-common && add-apt-repository ppa:kisak/kisak-mesa && apt install -y mesa-utils
RUN apt -y upgrade
  1. loading via standalone python script (ERROR)

However, when I try to load the environment via the provided python script, I still get an Error even after modifying the “isaac_moveit.py” per your suggestion.

I haven’t modified any files in the “isaac_sim-2022.2.1/apps” directory.
I have modified the following line in “isaac_moveit.py” as you suggested

# enable ROS2 bridge extension
# extensions.enable_extension("omni.isaac.ros2_bridge") <- original code
extensions.enable_extension("omni.isaac.ros2_bridge-humble") # <- modified line to enable ros2 bridge humble

and now I get a different error message.

(the video below is what happens when I run the command “./python.sh isaac_moveit.py”

Error message:

[5.261s] Simulation App Startup Complete
[5.269s] [ext: omni.isaac.ros2_bridge-humble-1.12.2] startup
2023-06-07 09:29:55 [5,346ms] [Warning] [carb] [Plugin: libomni.isaac.ros2_humble_bridge.plugin.so] Could not locate the function: carbGetFrameworkVersion
2023-06-07 09:29:55 [5,346ms] [Warning] [carb] Potential plugin preload failed: /home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/exts/omni.isaac.ros2_bridge-humble/bin/libomni.isaac.ros2_humble_bridge.plugin.so
2023-06-07 09:29:55 [5,347ms] [Warning] [carb] [Plugin: libomni.structuredlog.plugin.so] Module /home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/libomni.structuredlog.plugin.so remained loaded after unload request
2023-06-07 09:29:55 [5,347ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] Failed to acquire interface: omni::isaac::ros2_bridge::Ros2BridgeHumble (pluginName: nullptr)
2023-06-07 09:29:55 [5,347ms] [Error] [omni.isaac.ros2_bridge.scripts.extension] Cannot load ROS2 humble bridge after loading ROS2 bridge, please restart Isaac Sim and only enable/use one of the ROS2 bridges
[5.398s] [ext: omni.isaac.ros2_bridge-humble-1.12.2] shutdown
2023-06-07 09:29:56 [5,994ms] [Warning] [omni.hydra.scene_delegate.plugin] Calling getBypassRenderSkelMeshProcessing for prim /background/PaintTool/rock_small_06_93e2d/pointInstancer.proto0_rock_id0 that has not been populated
'ROS_DOMAIN_ID'
Accessed invalid null prim 
Accessed invalid null prim 
Traceback (most recent call last):
  File "/home/user/moveit2_tutorials/doc/how_to_guides/isaac_panda/launch/isaac_moveit.py", line 261, in <module>
    rs_viewport.dock_in(viewport, omni.ui.DockPosition.RIGHT)
AttributeError: 'NoneType' object has no attribute 'dock_in'
Exception ignored in: <function _make_registry.<locals>._Registry.__del__ at 0x7f8ba66aadd0>
Traceback (most recent call last):
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py", line 103, in __del__
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py", line 98, in destroy
TypeError: 'NoneType' object is not callable
Exception ignored in: <function _make_registry.<locals>._Registry.__del__ at 0x7f8ba66aadd0>
Traceback (most recent call last):
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py", line 103, in __del__
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/extscore/omni.kit.viewport.registry/omni/kit/viewport/registry/registry.py", line 98, in destroy
TypeError: 'NoneType' object is not callable
Exception ignored in: <function SettingChangeSubscription.__del__ at 0x7f8d846784d0>
Traceback (most recent call last):
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/kit/kernel/py/omni/kit/app/_impl/__init__.py", line 114, in __del__
AttributeError: 'NoneType' object has no attribute 'get_settings'
Exception ignored in: <function RegisteredActions.__del__ at 0x7f8b74b1f200>
Traceback (most recent call last):
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/extscache/omni.kit.viewport.menubar.lighting-104.0.9/omni/kit/viewport/menubar/lighting/actions.py", line 347, in __del__
  File "/home/user/.local/share/ov/pkg/isaac_sim-2022.2.1/extscache/omni.kit.viewport.menubar.lighting-104.0.9/omni/kit/viewport/menubar/lighting/actions.py", line 352, in destroy
TypeError: 'NoneType' object is not callable
2023-06-07 09:29:57 [6,881ms] [Warning] [carb.audio.context] 1 contexts were leaked
./python.sh: line 41: 1253879 Segmentation fault      (core dumped) $python_exe "$@" $args
There was an error running python
~/moveit2_tutorials/doc/how_to_guides/isaac_panda/launch

I think there are some errors in the python script

Thanks!

If you are running 2022.2.1 then starting the world from the Isaac Examples menu works (I just tried it and it looks like Nvidia updated the example to have the correct topic names). You just need to make sure that your ROS_DOMAIN_ID is set to 0 (export ROS_DOMAIN_ID=0) on the host before starting the Docker container because the Isaac Examples it is not setup to use environment variables.

2023-06-07 09:29:55 [5,346ms] [Warning] [carb] [Plugin: libomni.isaac.ros2_humble_bridge.plugin.so] Could not locate the function: carbGetFrameworkVersion

This is the reason I think the script fails (looks like you are missing libraries). It sounds like there could be something wrong with your installation of Isaac. Can you run any other examples included with Isaac?

cd ~/.local/share/ov/pkg/isaac_sim-2022.2.1
./python.sh standalone_examples/api/omni.isaac.ros2_bridge/moveit.py

FYI this example did not work with the MoveIt2 Tutorial on my machine, it has the wrong topic names.

Are you running Isaac on 22.04 or 20.04?

This is the reason I think the script fails (looks like you are missing libraries). It sounds like there could be something wrong with your installation of Isaac. Can you run any other examples included with Isaac?

cd ~/.local/share/ov/pkg/isaac_sim-2022.2.1
./python.sh standalone_examples/api/omni.isaac.ros2_bridge/moveit.py

I don’t think there is a problem with my installation.
I have uninstalled and re-installed Isaac Sim and ROS2 multiple times thinking that it could have been the installation that I messed up but I don’t think thats the case here. (since I am able to run other examples without any problem)
And yes I am able to run the standalone example for “moveit.py”.

FYI this example did not work with the MoveIt2 Tutorial on my machine, it has the wrong topic names.
Are you running Isaac on 22.04 or 20.04?

I am running Isaac Sim with ROS2 Humble on Ubuntu 22.04.

Thanks!

I am running Isaac Sim with ROS2 Humble on Ubuntu 22.04.

The tutorial is currently only supporting Isaac installed on 20.04 (sounds like Nvida may have changed some stuff between Ubuntu distros). If I have time to get a setup on the same environment I will work on debugging it.

1 Like

Sorry it took me so long to get back to this! Here is a PR that should fix the issue.