PickNikRobotics / abb_ros2

Apache License 2.0
82 stars 34 forks source link

Moveit robot does not appear #63

Closed bernardo9921 closed 5 months ago

bernardo9921 commented 6 months ago

Hi, I'm trying to simulate the robot without using RobotStudio yet. I launched this first line in the terminal and it's ok. ros2 launch abb_bringup abb_control.launch.py description_package:=abb_irb1200_support description_file:=irb1200_5_90.xacro launch_rviz:=false moveit_config_package:=abb_irb1200_5_90_moveit_config use_fake_hardware:=true

But for the second one (ros2 launch abb_bringup abb_moveit.launch.py robot_xacro_file:=irb1200_5_90.xacro support_package:=abb_irb1200_support moveit_config_package:=abb_irb1200_5_90_moveit_config moveit_config_file:=abb_irb1200_5_90.srdf.xacro), the rviz starts running but the robot doesn't appear. I tried adding MotionPlanning, PlanningScene and still not work.

I'm using:

All this text appears in the terminal: ros2 launch abb_bringup abb_moveit.launch.py robot_xacro_file:=irb1200_5_90.xacro support_package:=abb_irb1200_support moveit_config_package:=abb_irb1200_5_90_moveit_config moveit_config_file:=abb_irb1200_5_90.srdf.xacro [INFO] [launch]: All log files can be found below /home/bernardo/.ros/log/2024-03-16-19-17-43-537016-bernardo-VirtualBox-18837 [INFO] [launch]: Default logging verbosity is set to INFO [INFO] [move_group-1]: process started with pid [18838] [INFO] [rviz2-2]: process started with pid [18840] [INFO] [static_transform_publisher-3]: process started with pid [18842] [INFO] [robot_state_publisher-4]: process started with pid [18852] [static_transform_publisher-3] [WARN] [1710631064.204394288] []: Old-style arguments are deprecated; see --help for new-style arguments [rviz2-2] Warning: Ignoring XDG_SESSION_TYPE=wayland on Gnome. Use QT_QPA_PLATFORM=wayland to run on Wayland anyway. [static_transform_publisher-3] [INFO] [1710631064.290091235] [static_transform_publisher]: Spinning until stopped - publishing transform [static_transform_publisher-3] translation: ('0.000000', '0.000000', '0.000000') [static_transform_publisher-3] rotation: ('0.000000', '0.000000', '0.000000', '1.000000') [static_transform_publisher-3] from 'world' to 'base_link' [robot_state_publisher-4] [WARN] [1710631064.563601044] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF. [robot_state_publisher-4] [INFO] [1710631064.564886401] [robot_state_publisher]: got segment base [robot_state_publisher-4] [INFO] [1710631064.569183914] [robot_state_publisher]: got segment base_link [robot_state_publisher-4] [INFO] [1710631064.570969528] [robot_state_publisher]: got segment flange [robot_state_publisher-4] [INFO] [1710631064.572624551] [robot_state_publisher]: got segment link_1 [robot_state_publisher-4] [INFO] [1710631064.579210824] [robot_state_publisher]: got segment link_2 [robot_state_publisher-4] [INFO] [1710631064.579244279] [robot_state_publisher]: got segment link_3 [robot_state_publisher-4] [INFO] [1710631064.579250923] [robot_state_publisher]: got segment link_4 [robot_state_publisher-4] [INFO] [1710631064.579256368] [robot_state_publisher]: got segment link_5 [robot_state_publisher-4] [INFO] [1710631064.579261401] [robot_state_publisher]: got segment link_6 [robot_state_publisher-4] [INFO] [1710631064.579266460] [robot_state_publisher]: got segment tool0 [move_group-1] Error: Name of virtual joint is not specified [move_group-1] at line 77 in ./src/model.cpp [move_group-1] [INFO] [1710631064.605961283] [move_group.moveit.RDFLoader]: Loaded robot model in 0.0282812 seconds [move_group-1] [INFO] [1710631064.606042206] [move_group.moveit.robot_model]: Loading robot model 'abb_irb1200_5_90'... [move_group-1] [INFO] [1710631064.606059369] [move_group.moveit.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint [move_group-1] [WARN] [1710631064.693951527] [kdl_parser]: The root link base_link has an inertia specified in the URDF, but KDL does not support a root link with an inertia. As a workaround, you can add an extra dummy link to your URDF. [move_group-1] [INFO] [1710631064.694284921] [move_group.moveit.kdl_kinematics_plugin]: Joint weights for group 'manipulator': 1 1 1 1 1 1 [move_group-1] [INFO] [1710631064.862480852] [move_group.moveit.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene' [move_group-1] [INFO] [1710631064.862783478] [move_group.moveit.moveit_cpp]: Listening to 'joint_states' for joint states [move_group-1] [INFO] [1710631064.874187805] [move_group.moveit.current_state_monitor]: Listening to joint states on topic 'joint_states' [move_group-1] [INFO] [1710631064.875291677] [move_group.moveit.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects [move_group-1] [INFO] [1710631064.875313110] [move_group.moveit.planning_scene_monitor]: Stopping existing planning scene publisher. [move_group-1] [INFO] [1710631064.875452899] [move_group.moveit.planning_scene_monitor]: Stopped publishing maintained planning scene. [move_group-1] [INFO] [1710631064.879158531] [move_group.moveit.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene' [move_group-1] [INFO] [1710631064.879258642] [move_group.moveit.planning_scene_monitor]: Starting planning scene monitor [move_group-1] [INFO] [1710631064.882525090] [move_group.moveit.planning_scene_monitor]: Listening to '/planning_scene' [move_group-1] [INFO] [1710631064.882556259] [move_group.moveit.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates. [move_group-1] [INFO] [1710631064.891540286] [move_group.moveit.planning_scene_monitor]: Listening to 'collision_object' [move_group-1] [INFO] [1710631064.902579072] [move_group.moveit.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry [move_group-1] [WARN] [1710631064.910069701] [move_group.moveit.occupancy_map_monitor]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead [move_group-1] [ERROR] [1710631064.910103961] [move_group.moveit.occupancy_map_monitor]: No 3D sensor plugin(s) defined for octomap updates [move_group-1] terminate called after throwing an instance of 'rclcpp::ParameterTypeException' [move_group-1] what(): expected [string_array] got [string] [move_group-1] Stack trace (most recent call last): [move_group-1] #17 Object "", at 0xffffffffffffffff, in [move_group-1] #16 Object "/home/bernardo/ws_moveit/install/moveit_ros_move_group/lib/moveit_ros_move_group/move_group", at 0x55d263baf094, in _start [move_group-1] #15 Source "../csu/libc-start.c", line 392, in libc_start_main_impl [0x7f07e1629e3f] [move_group-1] #14 Source "../sysdeps/nptl/libc_start_call_main.h", line 58, in libc_start_call_main [0x7f07e1629d8f] [move_group-1] #13 Object "/home/bernardo/ws_moveit/install/moveit_ros_move_group/lib/moveit_ros_move_group/move_group", at 0x55d263bae21e, in main [move_group-1] #12 Object "/home/bernardo/ws_moveit/install/moveit_ros_planning/lib/libmoveit_cpp.so.2.9.0", at 0x7f07e22b7240, in moveit_cpp::MoveItCpp::MoveItCpp(std::shared_ptr const&, moveit_cpp::MoveItCpp::Options const&) [move_group-1] #11 Object "/home/bernardo/ws_moveit/install/moveit_ros_planning/lib/libmoveit_cpp.so.2.9.0", at 0x7f07e22b627b, in moveit_cpp::MoveItCpp::loadPlanningPipelines(moveit_cpp::MoveItCpp::PlanningPipelineOptions const&) [move_group-1] #10 Object "/home/bernardo/ws_moveit/install/moveit_ros_planning/lib/libmoveit_planning_pipeline_interfaces.so.2.9.0", at 0x7f07e18fab06, in moveit::planning_pipeline_interfaces::createPlanningPipelineMap(std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > > const&, std::shared_ptr const&, std::shared_ptr const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) [move_group-1] #9 Object "/home/bernardo/ws_moveit/install/moveit_ros_planning/lib/libmoveit_planning_pipeline.so.2.9.0", at 0x7f07e186cdd6, in planning_pipeline::PlanningPipeline::PlanningPipeline(std::shared_ptr const&, std::shared_ptr const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&) [move_group-1] #8 Object "/home/bernardo/ws_moveit/install/moveit_ros_planning/lib/libmoveit_planning_pipeline.so.2.9.0", at 0x7f07e18b0e0b, in planning_pipeline_parameters::ParamListener::declare_params() [move_group-1] #7 Object "/opt/ros/humble/lib/librclcpp.so", at 0x7f07e1ec4863, in [move_group-1] #6 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f07e1aae4d7, in __cxa_throw [move_group-1] #5 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f07e1aae276, in std::terminate() [move_group-1] #4 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f07e1aae20b, in [move_group-1] #3 Object "/usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.30", at 0x7f07e1aa2b9d, in [move_group-1] #2 Source "./stdlib/abort.c", line 79, in abort [0x7f07e16287f2] [move_group-1] #1 Source "../sysdeps/posix/raise.c", line 26, in raise [0x7f07e1642475] [move_group-1] #0 | Source "./nptl/pthread_kill.c", line 89, in pthread_kill_internal [move_group-1] | Source "./nptl/pthread_kill.c", line 78, in pthread_kill_implementation [move_group-1] Source "./nptl/pthread_kill.c", line 44, in __pthread_kill [0x7f07e16969fc] [move_group-1] Aborted (Signal sent by tkill() 18838 1000) [ERROR] [move_group-1]: process has died [pid 18838, exit code -6, cmd '/home/bernardo/ws_moveit/install/moveit_ros_move_group/lib/moveit_ros_move_group/move_group --ros-args --params-file /tmp/launch_params_11623sfv']. [rviz2-2] [INFO] [1710631065.589322235] [rviz2]: Stereo is NOT SUPPORTED [rviz2-2] [INFO] [1710631065.589687373] [rviz2]: OpenGl version: 4.5 (GLSL 4.5) [rviz2-2] [INFO] [1710631065.808109792] [rviz2]: Stereo is NOT SUPPORTED [rviz2-2] Warning: class_loader.impl: SEVERE WARNING!!! A namespace collision has occurred with plugin factory for class rviz_default_plugins::displays::InteractiveMarkerDisplay. New factory will OVERWRITE existing one. This situation occurs when libraries containing plugins are directly linked against an executable (the one running right now generating this message). Please separate plugins out into their own library or just don't link against the library and use either class_loader::ClassLoader/MultiLibraryClassLoader to open. [rviz2-2] at line 253 in /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp [rviz2-2] [WARN] [1710631068.120492240] [rcl.logging_rosout]: Publisher already registered for provided node name. If this is due to multiple nodes with the same name then all logs for that logger name will go out over the existing publisher. As soon as any node with that name is destructed it will unregister the publisher, preventing any further logs for that name from being published on the rosout topic. [rviz2-2] [ERROR] [1710631071.340279875] [rviz2.motion_planning_frame]: Action server: /recognize_objects not available [rviz2-2] [INFO] [1710631071.553848175] [rviz2.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params. [rviz2-2] Error: Name of virtual joint is not specified [rviz2-2] at line 77 in ./src/model.cpp [rviz2-2] [INFO] [1710631071.771768347] [rviz2.RDFLoader]: Loaded robot model in 0.0373119 seconds [rviz2-2] [INFO] [1710631071.772096890] [rviz2.robot_model]: Loading robot model 'abb_irb1200_5_90'... [rviz2-2] [INFO] [1710631071.772124858] [rviz2.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint [rviz2-2] [ERROR] [1710631071.915970795] [rviz2.BackgroundProcessing]: Exception caught while processing action 'loadRobotModel': parameter 'robot_description_planning.joint_limits.joint_1.max_velocity' has invalid type: Wrong parameter type, parameter {robot_description_planning.joint_limits.joint_1.max_velocity} is of type {double}, setting it to {string} is not allowed. [rviz2-2] [ERROR] [1710631088.274824636] [rviz2.motion_planning_frame]: Action server: /recognize_objects not available [rviz2-2] [INFO] [1710631088.298992860] [rviz2.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params. [rviz2-2] Error: Name of virtual joint is not specified [rviz2-2] at line 77 in ./src/model.cpp [rviz2-2] [INFO] [1710631088.388384599] [rviz2.RDFLoader]: Loaded robot model in 0.0619428 seconds [rviz2-2] [INFO] [1710631088.388412207] [rviz2.robot_model]: Loading robot model 'abb_irb1200_5_90'... [rviz2-2] [INFO] [1710631088.388418599] [rviz2.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint [rviz2-2] [ERROR] [1710631088.464779299] [rviz2.BackgroundProcessing]: Exception caught while processing action 'loadRobotModel': parameter 'robot_description_planning.joint_limits.joint_1.max_velocity' has invalid type: Wrong parameter type, parameter {robot_description_planning.joint_limits.joint_1.max_velocity} is of type {double}, setting it to {string} is not allowed. [rviz2-2] Error: Name of virtual joint is not specified [rviz2-2] at line 77 in ./src/model.cpp [rviz2-2] [INFO] [1710631094.846597608] [rviz2.RDFLoader]: Loaded robot model in 0.0486437 seconds [rviz2-2] [INFO] [1710631094.846625774] [rviz2.robot_model]: Loading robot model 'abb_irb1200_5_90'... [rviz2-2] [INFO] [1710631094.846632519] [rviz2.robot_model]: No root/virtual joint specified in SRDF. Assuming fixed joint [rviz2-2] [ERROR] [1710631094.916683221] [rviz2.BackgroundProcessing]: Exception caught while processing action 'loadRobotModel': parameter 'robot_description_planning.joint_limits.joint_1.max_velocity' has invalid type: Wrong parameter type, parameter {robot_description_planning.joint_limits.joint_1.max_velocity} is of type {double}, setting it to {string} is not allowed. [INFO] [rviz2-2]: process has finished cleanly [pid 18840] ^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)

[INFO] [static_transform_publisher-3]: process has finished cleanly [pid 18842] [INFO] [robot_state_publisher-4]: process has finished cleanly [pid 18852]

Yadunund commented 6 months ago

I'm assuming this was with main branch?

You'll need to rely on the humble branch since there are breaking changes in moveit config between humble and iron/rolling. See #55

bernardo9921 commented 5 months ago

Thanks, I've done what you said and it works, also I used "LC_NUMERIC=en_US.UTF-8 ros2 launch abb_bringup .... ". With both of them the program goes OK.

Yadunund commented 5 months ago

Thanks for confirming. I'll close this ticket since the issue is resolved.