Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
ShotaAk opened this issue Sep 1, 2023 · 4 comments
Labels
Type: Bug Bug or Bug fixes

Comments

@ShotaAk
Copy link

ShotaAk commented Sep 1, 2023

不具合の概要

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使用箇所

<parameters>$(find crane_plus_control)/config/crane_plus_controllers.yaml</parameters>

期待する動作

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

ログ・画像

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

その他

@ShotaAk ShotaAk added the Type: Bug Bug or Bug fixes label Sep 1, 2023
@YusukeKato
Copy link
Collaborator

YusukeKato commented Sep 4, 2023

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']"

メモ

  • ローカル環境にソースコードをクローンしてビルド→問題なくビルドできる
  • 実機の動作確認→問題なく動く
  • Gazeboの動作確認→Gazeboが起動しない
  • ローカル環境でpython3 -m pytest実行→すべてのテストが通る

シミュレータ実行

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
Copy link
Collaborator

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
Copy link
Collaborator

Gazeboが起動しない問題

@ShotaAk
Copy link
Author

ShotaAk commented Sep 7, 2023

ローカルで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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: Bug Bug or Bug fixes
Projects
None yet
Development

No branches or pull requests

2 participants