Closed MannavaVivek closed 1 month ago
my env info:
mamba version : 1.5.8
active environment : ros_env
active env location : /Users/vivek/miniforge3/envs/ros_env
shell level : 1
user config file : /Users/vivek/.condarc
populated config files : /Users/vivek/miniforge3/.condarc
/Users/vivek/.condarc
/Users/vivek/miniforge3/envs/ros_env/.condarc
conda version : 24.5.0
conda-build version : not installed
python version : 3.10.14.final.0
solver : libmamba (default)
virtual packages : __archspec=1=m1
__conda=24.5.0=0
__osx=14.5=0
__unix=0=0
base environment : /Users/vivek/miniforge3 (writable)
conda av data dir : /Users/vivek/miniforge3/etc/conda
conda av metadata url : None
channel URLs : https://conda.anaconda.org/robostack-staging/osx-arm64
https://conda.anaconda.org/robostack-staging/noarch
https://conda.anaconda.org/conda-forge/osx-arm64
https://conda.anaconda.org/conda-forge/noarch
package cache : /Users/vivek/miniforge3/pkgs
/Users/vivek/.conda/pkgs
envs directories : /Users/vivek/miniforge3/envs
/Users/vivek/.conda/envs
platform : osx-arm64
user-agent : conda/24.5.0 requests/2.31.0 CPython/3.10.14 Darwin/23.5.0 OSX/14.5 solver/libmamba conda-libmamba-solver/24.1.0 libmambapy/1.5.8
UID:GID : 501:20
netrc file : None
offline mode : False
Can you report the output of otool -L /Users/vivek/miniforge3/envs/ros_env/lib/libmoveit_motion_planning_rviz_plugin.dylib
? Thanks!
Yeah, here it is
/Users/vivek/miniforge3/envs/ros_env/lib/libmoveit_motion_planning_rviz_plugin.dylib:
@rpath/libmoveit_motion_planning_rviz_plugin.2.5.4.dylib (compatibility version 0.0.0, current version 2.5.4)
@rpath/libmoveit_motion_planning_rviz_plugin_core.2.5.4.dylib (compatibility version 0.0.0, current version 2.5.4)
@rpath/librviz_common.dylib (compatibility version 0.0.0, current version 0.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1311.0.0)
@rpath/libclass_loader.dylib (compatibility version 0.0.0, current version 0.0.0)
@rpath/libconsole_bridge.1.0.dylib (compatibility version 1.0.0, current version 0.0.0)
@rpath/libc++.1.dylib (compatibility version 1.0.0, current version 1.0.0)
The actual problem seems Library not loaded: @rpath/libcrypto.1.1.dylib
. By using https://conda-metadata-app.streamlit.app/Search_by_file_path, it seems that these library is provided only by openssl==1.1.1*
packages. Can you try to install openssl==1.1.1*
instead of the version you are using?
By the way, how are you creating that environemnt? The version of ROS packages used there (ros2-distro-mutex 0.3.0 humble robostack-staging) is quite old.
I followed the same instructions as on the Getting started page, only I had to change the python version to 3.10. Also by extension,
The following packages are incompatible
├─ openssl 1.1.1** is requested and can be installed;
└─ python 3.10.11** is not installable because it requires
└─ openssl >=3.1.0,<4.0a0 , which conflicts with any installable versions previously reported.
I followed the same instructions as on the Getting started page, only I had to change the python version to 3.10. Also by extension,
Do you have any limitations or can you just install python==3.11 . In general anyhow I would suggest to recreate the environment from scratch if you are adding constraints.
Okay so I created a new env from scratch with python==3.11 and rebuilt the packages and tried to run it again and here is the output. The openssl issue seems to be fixed, but it still doesn't load the model. I tried with the panda packages gives as example in the tutorial as well, and it throws the same issue
[INFO] [launch]: All log files can be found below /Users/vivek/.ros/log/2024-05-22-17-10-43-865126-Aurora-14471
[INFO] [launch]: Default logging verbosity is set to INFO
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
Using load_yaml() directly is deprecated. Use xacro.load_yaml() instead.
[INFO] [static_transform_publisher-1]: process started with pid [14472]
[INFO] [robot_state_publisher-2]: process started with pid [14473]
[INFO] [move_group-3]: process started with pid [14474]
[INFO] [rviz2-4]: process started with pid [14475]
[INFO] [ros2_control_node-5]: process started with pid [14476]
[INFO] [spawner-6]: process started with pid [14477]
[INFO] [spawner-7]: process started with pid [14478]
[INFO] [spawner-8]: process started with pid [14479]
[static_transform_publisher-1] [INFO] [1716390644.533168916] [static_transform_publisher0]: Spinning until stopped - publishing transform
[static_transform_publisher-1] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-1] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-1] from 'mobile_base_odom' to 'base_link'
[ros2_control_node-5] [WARN] [1716390644.538230127] [controller_manager]: [Deprecated] Passing the robot description parameter directly to the control_manager node is deprecated. Use '~/robot_description' topic from 'robot_state_publisher' instead.
[ros2_control_node-5] [INFO] [1716390644.538345545] [resource_manager]: Loading hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1716390644.538783715] [resource_manager]: Initialize hardware 'FakeSystem'
[ros2_control_node-5] [WARN] [1716390644.538799507] [mock_generic_system]: Parsing of optional initial interface values failed or uses a deprecated format. Add initial values for every state interface in the ros2_control.xacro. For example:
[ros2_control_node-5] <state_interface name="velocity">
[ros2_control_node-5] <param name="initial_value">0.0</param>
[ros2_control_node-5] </state_interface>
[ros2_control_node-5] [INFO] [1716390644.538806507] [resource_manager]: Successful initialization of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1716390644.538826966] [resource_manager]: 'configure' hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1716390644.538831882] [resource_manager]: Successful 'configure' of hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1716390644.538837299] [resource_manager]: 'activate' hardware 'FakeSystem'
[ros2_control_node-5] [INFO] [1716390644.538841258] [resource_manager]: Successful 'activate' of hardware 'FakeSystem'
[robot_state_publisher-2] [WARN] [1716390644.540197061] [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-2] [INFO] [1716390644.540236353] [robot_state_publisher]: got segment base_link
[robot_state_publisher-2] [INFO] [1716390644.540253645] [robot_state_publisher]: got segment bracelet_link
[robot_state_publisher-2] [INFO] [1716390644.540260187] [robot_state_publisher]: got segment camera_color_frame
[robot_state_publisher-2] [INFO] [1716390644.540265187] [robot_state_publisher]: got segment camera_depth_frame
[robot_state_publisher-2] [INFO] [1716390644.540269895] [robot_state_publisher]: got segment camera_link
[robot_state_publisher-2] [INFO] [1716390644.540274812] [robot_state_publisher]: got segment end_effector_link
[robot_state_publisher-2] [INFO] [1716390644.540279854] [robot_state_publisher]: got segment forearm_link
[robot_state_publisher-2] [INFO] [1716390644.540284812] [robot_state_publisher]: got segment half_arm_1_link
[robot_state_publisher-2] [INFO] [1716390644.540289270] [robot_state_publisher]: got segment half_arm_2_link
[robot_state_publisher-2] [INFO] [1716390644.540293562] [robot_state_publisher]: got segment left_inner_finger
[robot_state_publisher-2] [INFO] [1716390644.540299020] [robot_state_publisher]: got segment left_inner_finger_pad
[robot_state_publisher-2] [INFO] [1716390644.540303395] [robot_state_publisher]: got segment left_inner_knuckle
[robot_state_publisher-2] [INFO] [1716390644.540308062] [robot_state_publisher]: got segment left_outer_finger
[robot_state_publisher-2] [INFO] [1716390644.540312354] [robot_state_publisher]: got segment left_outer_knuckle
[robot_state_publisher-2] [INFO] [1716390644.540316520] [robot_state_publisher]: got segment right_inner_finger
[robot_state_publisher-2] [INFO] [1716390644.540320729] [robot_state_publisher]: got segment right_inner_finger_pad
[robot_state_publisher-2] [INFO] [1716390644.540324937] [robot_state_publisher]: got segment right_inner_knuckle
[robot_state_publisher-2] [INFO] [1716390644.540329146] [robot_state_publisher]: got segment right_outer_finger
[robot_state_publisher-2] [INFO] [1716390644.540333437] [robot_state_publisher]: got segment right_outer_knuckle
[robot_state_publisher-2] [INFO] [1716390644.540337646] [robot_state_publisher]: got segment robotiq_arg2f_base_link
[robot_state_publisher-2] [INFO] [1716390644.540341937] [robot_state_publisher]: got segment shoulder_link
[robot_state_publisher-2] [INFO] [1716390644.540346771] [robot_state_publisher]: got segment spherical_wrist_1_link
[robot_state_publisher-2] [INFO] [1716390644.540351021] [robot_state_publisher]: got segment spherical_wrist_2_link
[robot_state_publisher-2] [INFO] [1716390644.540355188] [robot_state_publisher]: got segment tool_frame
[ros2_control_node-5] [INFO] [1716390644.542665208] [controller_manager]: update rate is 100 Hz
[ros2_control_node-5] [INFO] [1716390644.542736167] [controller_manager]: RT kernel is recommended for better performance
[move_group-3] [INFO] [1716390644.574240320] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0.00259411 seconds
[move_group-3] [INFO] [1716390644.574263111] [moveit_robot_model.robot_model]: Loading robot model 'gen3_robotiq_2f_140'...
[move_group-3] libc++abi: terminating due to uncaught exception of type rclcpp::exceptions::InvalidParameterTypeException: parameter 'robot_description_planning.joint_limits.finger_joint.max_velocity' has invalid type: expected [double] got [integer]
[ERROR] [move_group-3]: process has died [pid 14474, exit code -6, cmd '/Users/vivek/miniforge3/envs/ros_env/lib/moveit_ros_move_group/move_group --ros-args --params-file /var/folders/wz/70xr3ft51wj14nc0tmg7t7vr0000gn/T/launch_params_p90w3602 --params-file /var/folders/wz/70xr3ft51wj14nc0tmg7t7vr0000gn/T/launch_params_jdpzmx_p'].
[ros2_control_node-5] [INFO] [1716390644.655931790] [controller_manager]: Loading controller 'kinova_arm_controller'
[ros2_control_node-5] [WARN] [1716390644.663310772] [kinova_arm_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-5] [INFO] [1716390644.665585500] [controller_manager]: Loading controller 'joint_state_broadcaster'
[ros2_control_node-5] [INFO] [1716390644.674342327] [controller_manager]: Loading controller 'robotiq_gripper_controller'
[spawner-6] [INFO] [1716390644.676446971] [spawner_kinova_arm_controller]: Loaded kinova_arm_controller
[ros2_control_node-5] [WARN] [1716390644.677415187] [robotiq_gripper_controller]: [Deprecated]: "allow_nonzero_velocity_at_trajectory_end" is set to true. The default behavior will change to false.
[ros2_control_node-5] [INFO] [1716390644.685153172] [controller_manager]: Configuring controller 'kinova_arm_controller'
[ros2_control_node-5] [INFO] [1716390644.685236257] [kinova_arm_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-5] [INFO] [1716390644.685250965] [kinova_arm_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ros2_control_node-5] [INFO] [1716390644.685257715] [kinova_arm_controller]: Using 'splines' interpolation method.
[ros2_control_node-5] [INFO] [1716390644.686485267] [kinova_arm_controller]: Controller state will be published at 50.00 Hz.
[spawner-8] [INFO] [1716390644.687658611] [spawner_joint_state_broadcaster]: Loaded joint_state_broadcaster
[ros2_control_node-5] [INFO] [1716390644.688151615] [kinova_arm_controller]: Action status changes will be monitored at 20.00 Hz.
[spawner-7] [INFO] [1716390644.699065753] [spawner_robotiq_gripper_controller]: Loaded robotiq_gripper_controller
[ros2_control_node-5] [INFO] [1716390644.715105812] [controller_manager]: Configuring controller 'joint_state_broadcaster'
[ros2_control_node-5] [INFO] [1716390644.715152645] [joint_state_broadcaster]: 'joints' or 'interfaces' parameter is empty. All available state interfaces will be published
[spawner-6] [INFO] [1716390644.716047236] [spawner_kinova_arm_controller]: Configured and activated kinova_arm_controller
[ros2_control_node-5] [INFO] [1716390644.724423519] [controller_manager]: Configuring controller 'robotiq_gripper_controller'
[ros2_control_node-5] [WARN] [1716390644.724459769] [robotiq_gripper_controller]: 'joints' parameter is empty.
[ros2_control_node-5] [INFO] [1716390644.724476602] [robotiq_gripper_controller]: No specific joint names are used for command interfaces. Using 'joints' parameter.
[ros2_control_node-5] [INFO] [1716390644.724486644] [robotiq_gripper_controller]: Command interfaces are [position] and state interfaces are [position velocity].
[ros2_control_node-5] [INFO] [1716390644.724493353] [robotiq_gripper_controller]: Using 'splines' interpolation method.
[ros2_control_node-5] [INFO] [1716390644.724734605] [robotiq_gripper_controller]: Controller state will be published at 50.00 Hz.
[ros2_control_node-5] [INFO] [1716390644.725703697] [robotiq_gripper_controller]: Action status changes will be monitored at 20.00 Hz.
[ros2_control_node-5] During ros2_control interface configuration, degrees of freedom is not valid; it should be positive. Actual DOF is 0
[ERROR] [ros2_control_node-5]: process has died [pid 14476, exit code -11, cmd '/Users/vivek/miniforge3/envs/ros_env/lib/controller_manager/ros2_control_node --ros-args --params-file /var/folders/wz/70xr3ft51wj14nc0tmg7t7vr0000gn/T/launch_params__ogdnerz --params-file /Users/vivek/ros2_ws/install/mycobot_moveit_config/share/mycobot_moveit_config/config/ros2_controllers.yaml'].
[rviz2-4] [INFO] [1716390644.763675031] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] [INFO] [1716390644.763705032] [rviz2]: OpenGl version: 2.1 (GLSL 1.2)
[rviz2-4] [INFO] [1716390644.785884102] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] 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-4] at line 261 in /Users/vivek/miniforge3/envs/ros_env/include/class_loader/class_loader/class_loader_core.hpp
[INFO] [spawner-6]: process has finished cleanly [pid 14477]
[rviz2-4] [ERROR] [1716390647.917477960] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-4] [INFO] [1716390647.938535563] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-4] [ERROR] [1716390659.039178844] [rviz]: Could not find parameter robot_description_semantic and did not receive robot_description_semantic via std_msgs::msg::String subscription within 10.000000 seconds.
[rviz2-4] Error: Could not parse the SRDF XML File. Error=XML_ERROR_EMPTY_DOCUMENT ErrorID=13 (0xd) Line number=0
[rviz2-4] at line 715 in /Users/runner/mambaforge/conda-bld/ros-humble-srdfdom-0_1707198836255/work/ros-humble-srdfdom/src/work/src/model.cpp
[rviz2-4] [ERROR] [1716390659.050621445] [moveit_rdf_loader.rdf_loader]: Unable to parse SRDF
[rviz2-4] [ERROR] [1716390659.060147529] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Robot model not loaded
Can you provide all the info required by the template, or if it is simpler just open a new issue? The environment in this case completly changed, so it is difficult to be able to reproduce your issue.
[move_group-3] libc++abi: terminating due to uncaught exception of type rclcpp::exceptions::InvalidParameterTypeException: parameter 'robot_description_planning.joint_limits.finger_joint.max_velocity' has invalid type: expected [double] got [integer]
Anyhow, based on this I have another question: what is your locale? moveit has known issues with non-English locale, especially that one that use ,
instead of .
as decimal separator, see https://github.com/moveit/moveit2/issues/1882 for more info.
I am attaching it here, but let me know if you would have it as a separate issue.
and here is the
and my locale is en_us
LANG="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_CTYPE="UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_ALL=
Can you share the comment with which you created the environment and the command you are executing? Thanks!
The environment set up is as per the instructions on the getting started page. Did not change any commands. As for the command I am executing, it is based on this tutorial from moveit
The tutorial contains a lot of commands, can you just provide the one that is failing? Providing a MRE (https://stackoverflow.com/help/minimal-reproducible-example) maximize the chances that someone takes the time to try to solve the issue.
The environment set up is as per the instructions on the getting started page. Did not change any commands.
Are you sure? I just follow those instructions, and I did not get any moveit package installed.
Sorry for the confusion. The previous error was encountered while following the MoveIt tutorial to create configuration files for the Panda arm and performing motion planning. However, I managed to resolve the problem. The root cause was indeed related to the following error:
[move_group-3] libc++abi: terminating due to uncaught exception of type rclcpp::exceptions::InvalidParameterTypeException: parameter 'robot_description_planning.joint_limits.finger_joint.max_velocity' has invalid type: expected [double] got [integer]
It was not the locale but it turns out that the MoveIt Setup Assistant was setting the joint limits as integers instead of doubles. This discrepancy caused the model loading error. Once I changed all the integer values to doubles in the joint_limits.yaml file created by the assistant, moveit was able to load the planner and the error disappeared. You can find the original answer that I found here. That is the end of my issue, so closing it.
Thanks for the update!
Solution to issue cannot be found in the documentation.
Issue
I am trying to follow the moveit2 tutorials and when I try to launch a demo launch file from my robot config, I get the following error.
[rviz2-4] [ERROR] [1716383290.170630859] [rviz2]: PluginlibFactory: The plugin for class 'moveit_rviz_plugin/MotionPlanning' failed to load. Error: Failed to load library /Users/vivek/miniforge3/envs/ros_env/lib/libmoveit_motion_planning_rviz_plugin.dylib. Make sure that you are calling the PLUGINLIB_EXPORT_CLASS macro in the library code, and that names are consistent between this macro and your XML. Error string: Could not load library dlopen error: dlopen(/Users/vivek/miniforge3/envs/ros_env/lib/libmoveit_motion_planning_rviz_plugin.dylib, 0x0001): Library not loaded: @rpath/libcrypto.1.1.dylib
The solutions I keep finding online are to install the ros-humble-moveit-ros-visualization package, which I already did, but it still seems to be not working
Installed packages
Environment info