rt-net / crane_plus

CRANE+ V2 ROS 2 Packages
Apache License 2.0
42 stars 8 forks source link

crane_plus_descriptionの依存関係にcrane_plus_controlが含まれていないため、テストに失敗する。 #71

Open ShotaAk opened 1 year ago

ShotaAk commented 1 year ago

不具合の概要

ROS build farmでエラーが発生していました。 description_loaderのテストで、crane_plus_controlが見つからない、というエラーが発生しています。

https://build.ros2.org/job/Hdev__crane_plus__ubuntu_jammy_amd64/

https://build.ros2.org/job/Hdev__crane_plus__ubuntu_jammy_amd64/1/testReport/junit/(root)/projectroot/test_robot_description_loader/

crane_plus_control使用箇所

https://github.com/rt-net/crane_plus/blob/bf67052a836947fb3df2a66fdb1ccd1572fdab12/crane_plus_description/urdf/crane_plus.gazebo.xacro#L35

期待する動作

ローカルでの再現方法は未検証です。 適切にcrane_plus_controlが読み込まれ、テストが実行されることを期待します。

ログ・画像

# コマンド実行ログがあればここに貼り付けてください

その他

YusukeKato commented 1 year ago

CRANE+ V2のHumble版パッケージがROS build farm上でエラーを起こしている問題のメモ

エラー内容

Captured stderr output: error: package not found: "package 'crane_plus_control' not found, searching: ['/tmp/ws/install_isolated/crane_plus_description', '/opt/ros/humble']"

メモ

シミュレータ実行

ros2 launch crane_plus_gazebo crane_plus_with_table.launch.py

ログ

[INFO] [launch]: All log files can be found below /home/ubuntu3/.ros/log/2023-09-04-14-45-29-562009-ubuntu-Dell-G15-5525-13839
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [ign gazebo -r-1]: process started with pid [13841]
[INFO] [create-2]: process started with pid [13843]
[INFO] [move_group-3]: process started with pid [13846]
[INFO] [rviz2-4]: process started with pid [13848]
[INFO] [static_transform_publisher-5]: process started with pid [13850]
[INFO] [robot_state_publisher-6]: process started with pid [13852]
[INFO] [ros2 run controller_manager spawner joint_state_broadcaster-7]: process started with pid [13854]
[INFO] [ros2 run controller_manager spawner crane_plus_arm_controller-8]: process started with pid [13856]
[INFO] [ros2 run controller_manager spawner crane_plus_gripper_controller-9]: process started with pid [13859]
[INFO] [parameter_bridge-10]: process started with pid [13863]
[static_transform_publisher-5] [WARN] [1693806329.895454516] []: Old-style arguments are deprecated; see --help for new-style arguments
[static_transform_publisher-5] [INFO] [1693806329.908201075] [static_transform_publisher]: Spinning until stopped - publishing transform
[static_transform_publisher-5] translation: ('0.000000', '0.000000', '0.000000')
[static_transform_publisher-5] rotation: ('0.000000', '0.000000', '0.000000', '1.000000')
[static_transform_publisher-5] from 'world' to 'base_link'
[move_group-3] [WARN] [1693806329.923740193] [move_group.move_group]: Falling back to using the the move_group node namespace (deprecated behavior).
[create-2] [INFO] [1693806329.934037606] [ros_gz_sim]: Requesting list of world names.
[robot_state_publisher-6] [INFO] [1693806329.937947914] [robot_state_publisher]: got segment base_link
[robot_state_publisher-6] [INFO] [1693806329.938099509] [robot_state_publisher]: got segment crane_plus_base
[robot_state_publisher-6] [INFO] [1693806329.938108385] [robot_state_publisher]: got segment crane_plus_link1
[robot_state_publisher-6] [INFO] [1693806329.938113234] [robot_state_publisher]: got segment crane_plus_link2
[robot_state_publisher-6] [INFO] [1693806329.938118023] [robot_state_publisher]: got segment crane_plus_link3
[robot_state_publisher-6] [INFO] [1693806329.938122602] [robot_state_publisher]: got segment crane_plus_link4
[robot_state_publisher-6] [INFO] [1693806329.938127391] [robot_state_publisher]: got segment crane_plus_link_hand
[robot_state_publisher-6] [INFO] [1693806329.938132100] [robot_state_publisher]: got segment world
[parameter_bridge-10] [INFO] [1693806329.940519730] [ros_gz_bridge]: Creating GZ->ROS Bridge: [/clock (ignition.msgs.Clock) -> /clock (rosgraph_msgs/msg/Clock)] (Lazy 0)
[move_group-3] [INFO] [1693806329.944596520] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0 seconds
[move_group-3] [INFO] [1693806329.944623460] [moveit_robot_model.robot_model]: Loading robot model 'crane_plus'...
[ign gazebo -r-1] Library error for [/usr/lib/x86_64-linux-gnu/libignition-gazebo6-ign.so.6.12.0]: /lib/x86_64-linux-gnu/libignition-gazebo6.so.6: undefined symbol: _ZN41protobuf_ignition_2fmsgs_2fheader_2eproto15scc_info_HeaderE
[ERROR] [ign gazebo -r-1]: process has died [pid 13841, exit code 255, cmd 'ign gazebo -r /home/ubuntu3/crane_plus_ws/install/crane_plus_gazebo/share/crane_plus_gazebo/worlds/table.sdf --gui-config /home/ubuntu3/crane_plus_ws/install/crane_plus_gazebo/share/crane_plus_gazebo/gui/gui.config'].
[move_group-3] [INFO] [1693806330.078443191] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Publishing maintained planning scene on 'monitored_planning_scene'
[move_group-3] [INFO] [1693806330.078569378] [moveit.ros_planning_interface.moveit_cpp]: Listening to 'joint_states' for joint states
[move_group-3] [INFO] [1693806330.079011968] [moveit_ros.current_state_monitor]: Listening to joint states on topic 'joint_states'
[move_group-3] [INFO] [1693806330.079261757] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/attached_collision_object' for attached collision objects
[move_group-3] [INFO] [1693806330.079273910] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[move_group-3] [INFO] [1693806330.079466101] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/planning_scene'
[move_group-3] [INFO] [1693806330.079476991] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting world geometry update monitor for collision objects, attached objects, octomap updates.
[move_group-3] [INFO] [1693806330.079649936] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'collision_object'
[move_group-3] [INFO] [1693806330.079808273] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to 'planning_scene_world' for planning scene world geometry
[move_group-3] [WARN] [1693806330.079906617] [moveit.ros.occupancy_map_monitor.middleware_handle]: Resolution not specified for Octomap. Assuming resolution = 0.1 instead
[move_group-3] [ERROR] [1693806330.079914923] [moveit.ros.occupancy_map_monitor.middleware_handle]: No 3D sensor plugin(s) defined for octomap updates
[move_group-3] [INFO] [1693806330.117640795] [moveit.ros_planning_interface.moveit_cpp]: Loading planning pipeline 'move_group'
[move_group-3] [INFO] [1693806330.125417397] [moveit.ros_planning.planning_pipeline]: Using planning interface 'OMPL'
[move_group-3] [INFO] [1693806330.126570271] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.path_tolerance' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1693806330.126579969] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.resample_dt' was not set. Using default value: 0.100000
[move_group-3] [INFO] [1693806330.126582864] [moveit_ros.add_time_optimal_parameterization]: Param 'move_group.min_angle_change' was not set. Using default value: 0.001000
[move_group-3] [INFO] [1693806330.126590328] [moveit_ros.fix_workspace_bounds]: Param 'move_group.default_workspace_bounds' was not set. Using default value: 10.000000
[move_group-3] [INFO] [1693806330.126599335] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_bounds_error' was set to 0.100000
[move_group-3] [INFO] [1693806330.126602541] [moveit_ros.fix_start_state_bounds]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1693806330.126608783] [moveit_ros.fix_start_state_collision]: Param 'move_group.start_state_max_dt' was not set. Using default value: 0.500000
[move_group-3] [INFO] [1693806330.126612300] [moveit_ros.fix_start_state_collision]: Param 'move_group.jiggle_fraction' was not set. Using default value: 0.020000
[move_group-3] [INFO] [1693806330.126614905] [moveit_ros.fix_start_state_collision]: Param 'move_group.max_sampling_attempts' was not set. Using default value: 100
[move_group-3] [INFO] [1693806330.126621447] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Add Time Optimal Parameterization'
[move_group-3] [INFO] [1693806330.126623952] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Workspace Bounds'
[move_group-3] [INFO] [1693806330.126626005] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Bounds'
[move_group-3] [INFO] [1693806330.126627699] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State In Collision'
[move_group-3] [INFO] [1693806330.126629502] [moveit.ros_planning.planning_pipeline]: Using planning request adapter 'Fix Start State Path Constraints'
[move_group-3] [INFO] [1693806330.144206025] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for crane_plus_arm_controller
[move_group-3] [INFO] [1693806330.145442986] [moveit.plugins.moveit_simple_controller_manager]: Added FollowJointTrajectory controller for crane_plus_gripper_controller
[move_group-3] [INFO] [1693806330.145561097] [moveit.plugins.moveit_simple_controller_manager]: Returned 2 controllers in list
[move_group-3] [INFO] [1693806330.145584030] [moveit.plugins.moveit_simple_controller_manager]: Returned 2 controllers in list
[move_group-3] [INFO] [1693806330.145996494] [moveit_ros.trajectory_execution_manager]: Trajectory execution is managing controllers
[move_group-3] [INFO] [1693806330.146010571] [move_group.move_group]: MoveGroup debug mode is ON
[rviz2-4] [INFO] [1693806330.146736032] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] [INFO] [1693806330.146863020] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-4] [INFO] [1693806330.159928247] [rviz2]: Stereo is NOT SUPPORTED
[move_group-3] [INFO] [1693806330.168898520] [move_group.move_group]: 
[move_group-3] 
[move_group-3] ********************************************************
[move_group-3] * MoveGroup using: 
[move_group-3] *     - ApplyPlanningSceneService
[move_group-3] *     - ClearOctomapService
[move_group-3] *     - CartesianPathService
[move_group-3] *     - ExecuteTrajectoryAction
[move_group-3] *     - GetPlanningSceneService
[move_group-3] *     - KinematicsService
[move_group-3] *     - MoveAction
[move_group-3] *     - MotionPlanService
[move_group-3] *     - QueryPlannersService
[move_group-3] *     - StateValidationService
[move_group-3] ********************************************************
[move_group-3] 
[move_group-3] [INFO] [1693806330.168938685] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context using planning plugin ompl_interface/OMPLPlanner
[move_group-3] [INFO] [1693806330.168946700] [moveit_move_group_capabilities_base.move_group_context]: MoveGroup context initialization complete
[move_group-3] Loading 'move_group/ApplyPlanningSceneService'...
[move_group-3] Loading 'move_group/ClearOctomapService'...
[move_group-3] Loading 'move_group/MoveGroupCartesianPathService'...
[move_group-3] Loading 'move_group/MoveGroupExecuteTrajectoryAction'...
[move_group-3] Loading 'move_group/MoveGroupGetPlanningSceneService'...
[move_group-3] Loading 'move_group/MoveGroupKinematicsService'...
[move_group-3] Loading 'move_group/MoveGroupMoveAction'...
[move_group-3] Loading 'move_group/MoveGroupPlanService'...
[move_group-3] Loading 'move_group/MoveGroupQueryPlannersService'...
[move_group-3] Loading 'move_group/MoveGroupStateValidationService'...
[move_group-3] 
[move_group-3] You can start planning now!
[move_group-3] 
[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 253 in /opt/ros/humble/include/class_loader/class_loader/class_loader_core.hpp
[rviz2-4] [INFO] [1693806330.244201244] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0 seconds
[rviz2-4] [INFO] [1693806330.244237973] [moveit_robot_model.robot_model]: Loading robot model 'crane_plus'...
[ros2 run controller_manager spawner joint_state_broadcaster-7] [INFO] [1693806332.208166786] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [INFO] [1693806332.208166466] [spawner_crane_plus_arm_controller]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [INFO] [1693806332.220289295] [spawner_crane_plus_gripper_controller]: Waiting for '/controller_manager' node to exist
[rviz2-4] [ERROR] [1693806333.873780442] [moveit_ros_visualization.motion_planning_frame]: Action server: /recognize_objects not available
[rviz2-4] [INFO] [1693806333.888748640] [moveit_ros_visualization.motion_planning_frame]: MoveGroup namespace changed: / -> . Reloading params.
[rviz2-4] [INFO] [1693806333.930444684] [moveit_rdf_loader.rdf_loader]: Loaded robot model in 0 seconds
[rviz2-4] [INFO] [1693806333.930474039] [moveit_robot_model.robot_model]: Loading robot model 'crane_plus'...
[rviz2-4] [INFO] [1693806334.057860953] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Starting planning scene monitor
[rviz2-4] [INFO] [1693806334.058567639] [moveit_ros.planning_scene_monitor.planning_scene_monitor]: Listening to '/monitored_planning_scene'
[rviz2-4] [INFO] [1693806334.065735229] [interactive_marker_display_94668850160640]: Connected on namespace: /rviz_moveit_motion_planning_display/robot_interaction_interactive_marker_topic
[rviz2-4] [INFO] [1693806334.072293836] [moveit_ros_visualization.motion_planning_frame]: group arm
[rviz2-4] [INFO] [1693806334.072311930] [moveit_ros_visualization.motion_planning_frame]: Constructing new MoveGroup connection for group 'arm' in namespace ''
[rviz2-4] [INFO] [1693806334.077717424] [move_group_interface]: Ready to take commands for planning group arm.
[rviz2-4] [INFO] [1693806334.089112387] [interactive_marker_display_94668850160640]: Sending request for interactive markers
[rviz2-4] [INFO] [1693806334.121822849] [interactive_marker_display_94668850160640]: Service response received for initialization
[ros2 run controller_manager spawner joint_state_broadcaster-7] [INFO] [1693806334.224870360] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [INFO] [1693806334.225043445] [spawner_crane_plus_arm_controller]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [INFO] [1693806334.234929296] [spawner_crane_plus_gripper_controller]: Waiting for '/controller_manager' node to exist
[create-2] [INFO] [1693806334.934397817] [ros_gz_sim]: Requesting list of world names.
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [INFO] [1693806336.237724578] [spawner_crane_plus_arm_controller]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner joint_state_broadcaster-7] [INFO] [1693806336.238487069] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [INFO] [1693806336.247416186] [spawner_crane_plus_gripper_controller]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner joint_state_broadcaster-7] [INFO] [1693806338.251555830] [spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [INFO] [1693806338.251563714] [spawner_crane_plus_arm_controller]: Waiting for '/controller_manager' node to exist
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [INFO] [1693806338.261425551] [spawner_crane_plus_gripper_controller]: Waiting for '/controller_manager' node to exist
[create-2] [INFO] [1693806339.934919216] [ros_gz_sim]: Requesting list of world names.
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [ERROR] [1693806340.265606497] [spawner_crane_plus_arm_controller]: Controller manager not available
[ros2 run controller_manager spawner joint_state_broadcaster-7] [ERROR] [1693806340.265619922] [spawner_joint_state_broadcaster]: Controller manager not available
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [ERROR] [1693806340.274501679] [spawner_crane_plus_gripper_controller]: Controller manager not available
[ros2 run controller_manager spawner joint_state_broadcaster-7] [ros2run]: Process exited with failure 1
[ros2 run controller_manager spawner crane_plus_arm_controller-8] [ros2run]: Process exited with failure 1
[ros2 run controller_manager spawner crane_plus_gripper_controller-9] [ros2run]: Process exited with failure 1
[ERROR] [ros2 run controller_manager spawner crane_plus_arm_controller-8]: process has died [pid 13856, exit code 1, cmd 'ros2 run controller_manager spawner crane_plus_arm_controller'].
[ERROR] [ros2 run controller_manager spawner joint_state_broadcaster-7]: process has died [pid 13854, exit code 1, cmd 'ros2 run controller_manager spawner joint_state_broadcaster'].
[ERROR] [ros2 run controller_manager spawner crane_plus_gripper_controller-9]: process has died [pid 13859, exit code 1, cmd 'ros2 run controller_manager spawner crane_plus_gripper_controller'].
[create-2] [INFO] [1693806344.935344870] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806349.935696201] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806354.936024855] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806359.936422335] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806364.936799030] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806369.937392038] [ros_gz_sim]: Requesting list of world names.
[create-2] [INFO] [1693806374.937750706] [ros_gz_sim]: Requesting list of world names.
YusukeKato commented 1 year ago

Gazeboの起動時のエラー

実行コマンド

ign gazebo

エラー内容

Library error for [/usr/lib/x86_64-linux-gnu/libignition-gazebo6-ign.so.6.12.0]: /lib/x86_64-linux-gnu/libignition-gazebo6.so.6: undefined symbol: _ZN41protobuf_ignition_2fmsgs_2fheader_2eproto15scc_info_HeaderE
YusukeKato commented 1 year ago

Gazeboが起動しない問題

ShotaAk commented 1 year ago

ローカルでcolcon testを実行する際、ワークスペースのsetupファイルを読み込んでいないとエラーが再現しました。

buildfarmでテストを実行する前にsetupファイルを読み込めないか調べましたが難しそうです。

https://github.com/ros-infrastructure/ros_buildfarm/blob/master/doc/jobs/devel_jobs.rst

解決策として、crane_plus_controlに依存しないようにdescription_loaderを変更したいです。 crane_x7_descriptionのようにパラメータファイルを引数で受け取るようにすれば、 テスト実行時にダミーファイル(例:crane_plus_description/test/hoge.yaml)を渡すことでエラーを回避できます。

https://github.com/rt-net/crane_x7_description/blob/44a129297fccd0e81a04bc05ce49bc2ad036b510/urdf/crane_x7.gazebo.xacro#L58