doosan-robotics / doosan-robot2

ROS 2 for Doosan Robot
BSD 3-Clause "New" or "Revised" License
69 stars 46 forks source link

wsl 상에서 패키지 구동시 오류 #33

Open hanprd opened 1 year ago

hanprd commented 1 year ago

안녕하세요.

현재 windows 11에서 wsl2 (ubuntu 20.04.6 LTS)를 활용하여 doosan-robot2 패키지를 구동하려 시도하고 있습니다. ROS2 foxy에 doosan-robot2 패키지를 설치하였고 그 과정에서 아래와 같은 메시지를 보았지만 무시 가능한 경고 메시지라는 이야기를 들었습니다.

User



/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_external_torque_cb(std::shared_ptr<dsr_msgs2::srv::GetExternalTorque_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetExternalTorque_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:1997:114: warning: unused parameter ‘req’ [-Wunused-parameter]
 1997 | WInterface::get_external_torque_cb(const std::shared_ptr<dsr_msgs2::srv::GetExternalTorque::Request> req, std::shared_ptr<dsr_msgs2::srv::GetExternalTorque::Response> res)
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_tool_force_cb(std::shared_ptr<dsr_msgs2::srv::GetToolForce_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetToolForce_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2010:104: warning: unused parameter ‘req’ [-Wunused-parameter]
 2010 |   bool DRHWInterface::get_tool_force_cb(const std::shared_ptr<dsr_msgs2::srv::GetToolForce::Request> req, std::shared_ptr<dsr_msgs2::srv::GetToolForce::Response> res)
      |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_workpiece_weight_cb(std::shared_ptr<dsr_msgs2::srv::GetWorkpieceWeight_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetWorkpieceWeight_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2059:116: warning: unused parameter ‘req’ [-Wunused-parameter]
 2059 | nterface::get_workpiece_weight_cb(const std::shared_ptr<dsr_msgs2::srv::GetWorkpieceWeight::Request> req, std::shared_ptr<dsr_msgs2::srv::GetWorkpieceWeight::Response> res)
      |                                   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::reset_workpiece_weight_cb(std::shared_ptr<dsr_msgs2::srv::ResetWorkpieceWeight_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::ResetWorkpieceWeight_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2069:120: warning: unused parameter ‘req’ [-Wunused-parameter]
 2069 | face::reset_workpiece_weight_cb(const std::shared_ptr<dsr_msgs2::srv::ResetWorkpieceWeight::Request> req, std::shared_ptr<dsr_msgs2::srv::ResetWorkpieceWeight::Response> res)
      |                                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::release_compliance_ctrl_cb(std::shared_ptr<dsr_msgs2::srv::ReleaseComplianceCtrl_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::ReleaseComplianceCtrl_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2182:122: warning: unused parameter ‘req’ [-Wunused-parameter]
 2182 | ce::release_compliance_ctrl_cb(const std::shared_ptr<dsr_msgs2::srv::ReleaseComplianceCtrl::Request> req, std::shared_ptr<dsr_msgs2::srv::ReleaseComplianceCtrl::Response> res)
      |                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::drl_pause_cb(std::shared_ptr<dsr_msgs2::srv::DrlPause_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::DrlPause_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2746:95: warning: unused parameter ‘req’ [-Wunused-parameter]
 2746 |     bool DRHWInterface::drl_pause_cb(const std::shared_ptr<dsr_msgs2::srv::DrlPause::Request> req, std::shared_ptr<dsr_msgs2::srv::DrlPause::Response> res)
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::drl_resume_cb(std::shared_ptr<dsr_msgs2::srv::DrlResume_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::DrlResume_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2782:97: warning: unused parameter ‘req’ [-Wunused-parameter]
 2782 |     bool DRHWInterface::drl_resume_cb(const std::shared_ptr<dsr_msgs2::srv::DrlResume::Request> req, std::shared_ptr<dsr_msgs2::srv::DrlResume::Response> res)
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_drl_state_cb(std::shared_ptr<dsr_msgs2::srv::GetDrlState_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetDrlState_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2794:102: warning: unused parameter ‘req’ [-Wunused-parameter]
 2794 |     bool DRHWInterface::get_drl_state_cb(const std::shared_ptr<dsr_msgs2::srv::GetDrlState::Request> req, std::shared_ptr<dsr_msgs2::srv::GetDrlState::Response> res)
      |                                          ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_current_tcp_cb(std::shared_ptr<dsr_msgs2::srv::GetCurrentTcp_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetCurrentTcp_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2817:106: warning: unused parameter ‘req’ [-Wunused-parameter]
 2817 | bool DRHWInterface::get_current_tcp_cb(const std::shared_ptr<dsr_msgs2::srv::GetCurrentTcp::Request> req, std::shared_ptr<dsr_msgs2::srv::GetCurrentTcp::Response> res)
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::get_current_tool_cb(std::shared_ptr<dsr_msgs2::srv::GetCurrentTool_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::GetCurrentTool_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2850:108: warning: unused parameter ‘req’ [-Wunused-parameter]
 2850 | ol DRHWInterface::get_current_tool_cb(const std::shared_ptr<dsr_msgs2::srv::GetCurrentTool::Request> req, std::shared_ptr<dsr_msgs2::srv::GetCurrentTool::Response> res)
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::robotiq_2f_open_cb(std::shared_ptr<dsr_msgs2::srv::Robotiq2FOpen_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::Robotiq2FOpen_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2915:106: warning: unused parameter ‘req’ [-Wunused-parameter]
 2915 | bool DRHWInterface::robotiq_2f_open_cb(const std::shared_ptr<dsr_msgs2::srv::Robotiq2FOpen::Request> req, std::shared_ptr<dsr_msgs2::srv::Robotiq2FOpen::Response> res)
      |                                        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: In static member function ‘static bool dsr_control2::DRHWInterface::robotiq_2f_close_cb(std::shared_ptr<dsr_msgs2::srv::Robotiq2FClose_Request_<std::allocator<void> > >, std::shared_ptr<dsr_msgs2::srv::Robotiq2FClose_Response_<std::allocator<void> > >)’:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:2932:108: warning: unused parameter ‘req’ [-Wunused-parameter]
 2932 | ol DRHWInterface::robotiq_2f_close_cb(const std::shared_ptr<dsr_msgs2::srv::Robotiq2FClose::Request> req, std::shared_ptr<dsr_msgs2::srv::Robotiq2FClose::Response> res)
      |                                       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~

/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp: At global scope:
/home/han/ros2_ws/src/doosan-robot2/dsr_control2/src/dsr_hw_interface2.cpp:1187:20: warning: ‘sn_cnt’ defined but not used [-Wunused-variable]
 1187 |         static int sn_cnt = 0;
      |                    ^~~~~~
---

어쨌든 설치 후 다음 명령어를 사용했을 때 실행이 되긴 하나 몇가지 문제가 있습니다.
ros2 launch dsr_launcher2 single_robot_rviz.launch.py
ros2 launch dsr_launcher2 single_robot_gazebo.launch.py

1. 가상 모드로 rviz 실행시 rviz에서 로봇의 형상이 보이지 않습니다. 터미널 상의 출력값은 다음과 같습니다.

[dsr_control_node2-5] [callback OnMonitoringAccessControlCB] eAccCtrl: 2                                                                                                                                           [dsr_control_node2-5] access control granted                                                                                                                                                                       [dsr_control_node2-5] [callback OnMonitoringStateCB] current state: (1) STANDBY                                                                                                                                    [dsr_control_node2-5] [INFO] [1684165055.460799761] [dsr_hw_interface2]: On Monitor State                                                                                                                          [dsr_control_node2-5] [INFO] [1684165055.481721113] [dsr_hw_interface2]: _______________________________________________[dsr_control_node2-5] [INFO] [1684165055.481775406] [dsr_hw_interface2]:     Emulator Mode [dsr_control_node2-5] [INFO] [1684165055.481781047] [dsr_hw_interface2]:     DRCF version = GF120500                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.481784604] [dsr_hw_interface2]:     DRFL version = GL010117                                                                                                               [dsr_control_node2-5] 
![rviz_error](https://github.com/doosan-robotics/doosan-robot2/assets/133609341/33f6d66f-3092-4021-9447-6dd4ddf481c6)
![rviz_error](https://github.com/doosan-robotics/doosan-robot2/assets/133609341/8684841d-d162-4b6e-b26a-1c9f88ba2ad8)
[INFO] [1684165055.481787730] [dsr_hw_interface2]:     m_nVersionDRCF = 120500                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.481791006] [dsr_hw_interface2]: _______________________________________________[dsr_control_node2-5] [INFO] [1684165055.482403635] [dsr_hw_interface2]: [init]::read 0-pos:   0.000                                                                                                                                                                                                          [dsr_control_node2-5] [INFO] [1684165055.482439995] [dsr_hw_interface2]: [init]::read 1-pos:   0.000                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.482445806] [dsr_hw_interface2]: [init]::read 2-pos:   0.000                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.482451156] [dsr_hw_interface2]: [init]::read 3-pos:   0.000                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.482456396] [dsr_hw_interface2]: [init]::read 4-pos:   0.000                                                                                                               [dsr_control_node2-5] [INFO] [1684165055.482461656] [dsr_hw_interface2]: [init]::read 5-pos:   0.000                                                                                                               [dsr_control_node2-5] [WARN] [1684165055.482637321] [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. [dsr_control_node2-5] [INFO] [1684165055.504510027] [dsr_control_node2]: Loading controller 'dsr_joint_publisher'                                                                                                  [dsr_control_node2-5]                                                                                                                                                                                              **[dsr_control_node2-5] [WARN] [1684165055.506378162] [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. [dsr_control_node2-5] [ERROR] [1684165055.526409845] [joint handle]: handle with interface (joint1: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526566313] [joint handle]: handle with interface (joint1: effort) wasn't found!                                                                                          [dsr_control_node2-5] [ERROR] [1684165055.526657367] [joint handle]: handle with interface (joint2: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526663368] [joint handle]: handle with interface (joint2: effort) wasn't found!                                                                                          [dsr_control_node2-5] [ERROR] [1684165055.526703766] [joint handle]: handle with interface (joint3: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526712763] [joint handle]: handle with interface (joint3: effort) wasn't found!                                                                                          [dsr_control_node2-5] [ERROR] [1684165055.526723573] [joint handle]: handle with interface (joint4: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526729074] [joint handle]: handle with interface (joint4: effort) wasn't found!                                                                                          [dsr_control_node2-5] [ERROR] [1684165055.526738602] [joint handle]: handle with interface (joint5: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526744022] [joint handle]: handle with interface (joint5: effort) wasn't found!                                                                                          [dsr_control_node2-5] [ERROR] [1684165055.526754222] [joint handle]: handle with interface (joint6: velocity) wasn't found!                                                                                        [dsr_control_node2-5] [ERROR] [1684165055.526759562] [joint handle]: handle with interface (joint6: effort) wasn't found!                                                                                          [dsr_control_node2-5] [WARN] [1684165055.530828556] [rcl_lifecycle]: No transition matching 1 found for current state inactive                                                                                     [dsr_control_node2-5] [ERROR] [1684165055.530910292] []: Unable to start transition 1 from current state inactive: Transition is not registered., at /tmp/binarydeb/ros-foxy-rcl-lifecycle-1.1.14/src/rcl_lifecycle.c:350                                                                                                                                                                                                             [dsr_control_node2-5] [INFO] [1684165055.530945509] [dsr_control_node2]: controller_manager is updating!                                                                                                           [rviz2-4] [INFO] [1684165057.443517726] [rviz2]: Stereo is NOT SUPPORTED                                                                                                                                           [rviz2-4] [INFO] [1684165057.443818190] [rviz2]: OpenGl version: 3.1 (GLSL 1.4)                                                                                                                                    [rviz2-4] [INFO] [1684165057.502940652] [rviz2]: Stereo is NOT SUPPORTED                                                                                                                                           [rviz2-4] Parsing robot urdf xml string.**           

2. gazebo로 실행시 다음과 같은 메시지가 발생합니다.

[INFO] [launch]: All log files can be found below /home/han/.ros/log/2023-05-15-11-45-14-261617-han-hp-1474                                                                                                        [INFO] [launch]: Default logging verbosity is set to INFO                                                                                                                                                          [INFO] [sh-1]: process started with pid [1477]                                                                                                                                                                     [INFO] [static_transform_publisher-2]: process started with pid [1480]                                                                                                                                             [INFO] [robot_state_publisher-3]: process started with pid [1483]                                                                                                                                                  [INFO] [gzserver-4]: process started with pid [1486]                                                                                                                                                               [INFO] [gzclient   -5]: process started with pid [1489]                                                                                                                                                            [INFO] [spawn_entity.py-6]: process started with pid [1492]                                                                                                                                                        [INFO] [dsr_control_node2-7]: process started with pid [1495]                                                                                                                                                      [sh-1] Run Emulator of the Doosan Robot Controller                                                                                                                                                                 [sh-1] dirname: /home/han/ros2_ws/install/common2/share/common2/bin/DRCF/run_drcf.sh                                                                                                                               [sh-1] server_port: 12345                                                                                                                                                                                          [sh-1] robot model: m1013                                                                                                                                                                                          [sh-1] ARCH: 64-bit                                                                                                                                                                                                [static_transform_publisher-2] [INFO] [1684165514.795469758] [static_transform_publisher]: Spinning until killed publishing transform from 'base' to 'base_0'                                                      [robot_state_publisher-3] Parsing robot urdf xml string.                                                                                                                                                           [robot_state_publisher-3] Link base_0 had 1 children                                                                                                                                                               [robot_state_publisher-3] Link link1 had 1 children                                                                                                                                                                [robot_state_publisher-3] Link link2 had 1 children                                                                                                                                                                [robot_state_publisher-3] Link link3 had 1 children                                                                                                                                                                [robot_state_publisher-3] Link link4 had 1 children                                                                                                                                                                [robot_state_publisher-3] Link link5 had 1 children                                                                                                                                                                [robot_state_publisher-3] Link link6 had 0 children                                                                                                                                                                [robot_state_publisher-3] [INFO] [1684165514.812011927] [robot_state_publisher]: got segment base_0                                                                                                                [robot_state_publisher-3] [INFO] [1684165514.812683199] [robot_state_publisher]: got segment link1                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812937304] [robot_state_publisher]: got segment link2                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812946421] [robot_state_publisher]: got segment link3                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812951281] [robot_state_publisher]: got segment link4                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812955889] [robot_state_publisher]: got segment link5                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812960668] [robot_state_publisher]: got segment link6                                                                                                                 [robot_state_publisher-3] [INFO] [1684165514.812964866] [robot_state_publisher]: got segment world                                                                                                                 [dsr_control_node2-7] [INFO] [1684165514.820813307] [dsr_control_node2]: g_node = 0x0x7ffe146b91b0                                                                                                                 [dsr_control_node2-7] [INFO] [1684165514.821103851] [dsr_control_node2]: rate is 100                                                                                                                               [dsr_control_node2-7] [INFO] [1684165514.821224121] [dsr_control_node2]: controller_manager is updating!                                                                                                           [dsr_control_node2-7] [INFO] [1684165514.821307557] [dsr_hw_interface2]: name = dsr01                                                                                                                              [dsr_control_node2-7] [INFO] [1684165514.821345329] [dsr_hw_interface2]: model = m1013                                                                                                                             [dsr_control_node2-7] [INFO] [1684165514.821350058] [dsr_hw_interface2]: gripper = none                                                                                                                            [dsr_control_node2-7] [INFO] [1684165514.821360568] [dsr_hw_interface2]: name_space is dsr01, m1013                                                                                                                [dsr_control_node2-7] [INFO] [1684165514.821368633] [dsr_hw_interface2]: constructed                                                                                                                               [dsr_control_node2-7] [INFO] [1684165514.928483884] [dsr_hw_interface2]: [dsr_hw_interface2] init() ==> setup callback fucntion                                                                                    [dsr_control_node2-7] [WARN] [1684165514.928606779] [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. [dsr_control_node2-7] [INFO] [1684165514.928547595] [dsr_hw_interface2]: joint_name = joint1                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928909906] [dsr_hw_interface2]: joint_name = joint2                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928948841] [dsr_hw_interface2]: joint_name = joint3                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928954241] [dsr_hw_interface2]: joint_name = joint4                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928964721] [dsr_hw_interface2]: joint_name = joint5                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928970251] [dsr_hw_interface2]: joint_name = joint6                                                                                                                       [dsr_control_node2-7] [INFO] [1684165514.928974389] [dsr_hw_interface2]: INIT@@@@@@@@@@@@@@@@@@@@@@@@@                                                                                                             [dsr_control_node2-7] [INFO] [1684165514.928979780] [dsr_hw_interface2]: init() ==> arm is standby                                                                                                                 [dsr_control_node2-7] [INFO] [1684165514.928994027] [dsr_hw_interface2]: host = 127.0.0.1                                                                                                                          [dsr_control_node2-7] [INFO] [1684165514.928996862] [dsr_hw_interface2]: port = 12345                                                                                                                              [dsr_control_node2-7] [INFO] [1684165514.928999778] [dsr_hw_interface2]: command = 1                                                                                                                               [dsr_control_node2-7] [INFO] [1684165514.929002663] [dsr_hw_interface2]: mode = virtual                                                                                                                            [dsr_control_node2-7] [INFO] [1684165514.929005479] [dsr_hw_interface2]: host 127.0.0.1, port=12345 bCommand: 1, mode: virtual                                                                                     [dsr_control_node2-7] joint_name = joint1joint_name = joint2joint_name = joint3joint_name = joint4joint_name = joint5joint_name = joint636710[callback OnMonitoringAccessControlCB] eAccCtrl: 2                    [dsr_control_node2-7] access control granted                                                                                                                                                                       [dsr_control_node2-7] [callback OnMonitoringStateCB] current state: (15) NOT_READY                                                                                                                                 [dsr_control_node2-7] [callback OnTpInitializingCompletedCB] tp initializing completed                                                                                                                             [dsr_control_node2-7] [callback OnMonitoringStateCB] current state: (1) STANDBY                                                                                                                                    [dsr_control_node2-7] [INFO] [1684165515.030643165] [dsr_hw_interface2]: On Monitor State                                                                                                                          [dsr_control_node2-7] [INFO] [1684165515.030726474] [dsr_hw_interface2]: On Monitor State                                                                                                                          [dsr_control_node2-7] [callback OnMonitoringAccessControlCB] eAccCtrl: 2                                                                                                                                           [dsr_control_node2-7] access control granted                                                                                                                                                                       [dsr_control_node2-7] [callback OnMonitoringStateCB] current state: (1) STANDBY                                                                                                                                    [dsr_control_node2-7] [INFO] [1684165515.031125127] [dsr_hw_interface2]: On Monitor State                                                                                                                          [dsr_control_node2-7] [INFO] [1684165515.031766859] [dsr_hw_interface2]: _______________________________________________                                                                                           [dsr_control_node2-7] [INFO] [1684165515.031803289] [dsr_hw_interface2]:     Emulator Mode                                                                                                                         [dsr_control_node2-7] [INFO] [1684165515.031807156] [dsr_hw_interface2]:     DRCF version = GF120500                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.031811705] [dsr_hw_interface2]:     DRFL version = GL010117                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.031815312] [dsr_hw_interface2]:     m_nVersionDRCF = 120500                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.031819640] [dsr_hw_interface2]: _______________________________________________                                                                                           [dsr_control_node2-7] [INFO] [1684165515.032401214] [dsr_hw_interface2]: [init]::read 0-pos:   0.000                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.032437924] [dsr_hw_interface2]: [init]::read 1-pos:   0.000                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.032441490] [dsr_hw_interface2]: [init]::read 2-pos:   0.000                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.032444767] [dsr_hw_interface2]: [init]::read 3-pos:   0.000                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.032447933] [dsr_hw_interface2]: [init]::read 4-pos:   0.000                                                                                                               [dsr_control_node2-7] [INFO] [1684165515.032451209] [dsr_hw_interface2]: [init]::read 5-pos:   0.000                                                                                                               **[dsr_control_node2-7] [WARN] [1684165515.032627746] [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. [dsr_control_node2-7] [INFO] [1684165515.053377127] [dsr_control_node2]: Loading controller 'dsr_joint_publisher'                                                                                                  [dsr_control_node2-7]                                                                                                                                                                                              [dsr_control_node2-7] [WARN] [1684165515.055293213] [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. [dsr_control_node2-7] [ERROR] [1684165515.073070074] [joint handle]: handle with interface (joint1: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073217936] [joint handle]: handle with interface (joint1: effort) wasn't found!                                                                                          [dsr_control_node2-7] [ERROR] [1684165515.073317506] [joint handle]: handle with interface (joint2: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073325491] [joint handle]: handle with interface (joint2: effort) wasn't found!                                                                                          [dsr_control_node2-7] [ERROR] [1684165515.073417827] [joint handle]: handle with interface (joint3: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073430722] [joint handle]: handle with interface (joint3: effort) wasn't found!                                                                                          [dsr_control_node2-7] [ERROR] [1684165515.073443747] [joint handle]: handle with interface (joint4: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073449909] [joint handle]: handle with interface (joint4: effort) wasn't found!                                                                                          [dsr_control_node2-7] [ERROR] [1684165515.073460769] [joint handle]: handle with interface (joint5: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073467051] [joint handle]: handle with interface (joint5: effort) wasn't found!                                                                                          [dsr_control_node2-7] [ERROR] [1684165515.073478784] [joint handle]: handle with interface (joint6: velocity) wasn't found!                                                                                        [dsr_control_node2-7] [ERROR] [1684165515.073484935] [joint handle]: handle with interface (joint6: effort) wasn't found!                                                                                          [dsr_control_node2-7] [WARN] [1684165515.077304774] [rcl_lifecycle]: No transition matching 1 found for current state inactive                                                                                     [dsr_control_node2-7] [ERROR] [1684165515.077375509] []: Unable to start transition 1 from current state inactive: Transition is not registered., at /tmp/binarydeb/ros-foxy-rcl-lifecycle-1.1.14/src/rcl_lifecycle.c:350                                                                                                                                                                                                             [dsr_control_node2-7] [INFO] [1684165515.077408001] [dsr_control_node2]: controller_manager is updating!                                                                                                           [spawn_entity.py-6] [INFO] [1684165515.209235023] [spawn_entity]: Spawn Entity started                                                                                                                             [spawn_entity.py-6] [INFO] [1684165515.209866578] [spawn_entity]: Loading entity published on topic robot_description                                                                                              [spawn_entity.py-6] [INFO] [1684165515.212567304] [spawn_entity]: Waiting for entity xml on robot_description                                                                                                      [spawn_entity.py-6] [INFO] [1684165515.226000594] [spawn_entity]: Waiting for service /spawn_entity, timeout = 30                                                                                                  [spawn_entity.py-6] [INFO] [1684165515.226334290] [spawn_entity]: Waiting for service /spawn_entity                                                                                                                [spawn_entity.py-6] [INFO] [1684165517.736064231] [spawn_entity]: Calling service /spawn_entity                                                                                                                    [spawn_entity.py-6] [INFO] [1684165517.987147314] [spawn_entity]: Spawn status: SpawnEntity: Successfully spawned entity [m1013]                                                                                   [gzserver-4] [INFO] [1684165518.012993628] [gazebo_ros2_control]: Loading gazebo_ros2_control plugin                                                                                                               [gzserver-4] [INFO] [1684165518.028971575] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in namespace: /                                                                                              [gzserver-4] [INFO] [1684165518.029490093] [gazebo_ros2_control]: Starting gazebo_ros2_control plugin in ros 2 node: gazebo_ros2_control                                                                           [gzserver-4] [ERROR] [1684165518.040482726] [gazebo_ros2_control]: connected to service!! robot_state_publisher                                                                                                    [gzserver-4] [ERROR] [1684165518.040634285] [gazebo_ros2_control]: param_name robot_description                                                                                                                    [gzserver-4] [ERROR] [1684165518.042970702] [gazebo_ros2_control]: Recieved urdf from param server, parsing...                                                                                                     [gzserver-4] Parsing robot urdf xml string.                                                                                                                                                                        [gzserver-4] [INFO] [1684165518.074632483] [gazebo_ros2_control]: Loading joint 'joint1' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [INFO] [1684165518.076865423] [gazebo_ros2_control]: Loading joint 'joint2' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [INFO] [1684165518.077652395] [gazebo_ros2_control]: Loading joint 'joint3' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [INFO] [1684165518.077804575] [gazebo_ros2_control]: Loading joint 'joint4' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [INFO] [1684165518.077842858] [gazebo_ros2_control]: Loading joint 'joint5' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [INFO] [1684165518.077867285] [gazebo_ros2_control]: Loading joint 'joint6' of type 'hardware_interface/PositionJointInterface'                                                                       [gzserver-4] [ERROR] [1684165518.078609220] [gazebo_ros2_control]: No joint limits specification found for joint 'joint1' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint1).     [gzserver-4] [ERROR] [1684165518.078802519] [gazebo_ros2_control]: No joint limits specification found for joint 'joint1' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint1).     [gzserver-4] [ERROR] [1684165518.080919509] [gazebo_ros2_control]: joint1.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.081198811] [gazebo_ros2_control]: No joint limits specification found for joint 'joint2' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint2).     [gzserver-4] [ERROR] [1684165518.081222517] [gazebo_ros2_control]: No joint limits specification found for joint 'joint2' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint2).     [gzserver-4] [ERROR] [1684165518.081897267] [gazebo_ros2_control]: joint2.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.082043035] [gazebo_ros2_control]: No joint limits specification found for joint 'joint3' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint3).     [gzserver-4] [ERROR] [1684165518.082093411] [gazebo_ros2_control]: No joint limits specification found for joint 'joint3' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint3).     [gzserver-4] [ERROR] [1684165518.082203842] [gazebo_ros2_control]: joint3.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.082240933] [gazebo_ros2_control]: No joint limits specification found for joint 'joint4' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint4).     [gzserver-4] [ERROR] [1684165518.082259348] [gazebo_ros2_control]: No joint limits specification found for joint 'joint4' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint4).     [gzserver-4] [ERROR] [1684165518.082312880] [gazebo_ros2_control]: joint4.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.082331465] [gazebo_ros2_control]: No joint limits specification found for joint 'joint5' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint5).     [gzserver-4] [ERROR] [1684165518.082347296] [gazebo_ros2_control]: No joint limits specification found for joint 'joint5' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint5).     [gzserver-4] [ERROR] [1684165518.082397762] [gazebo_ros2_control]: joint5.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.082419103] [gazebo_ros2_control]: No joint limits specification found for joint 'joint6' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint6).     [gzserver-4] [ERROR] [1684165518.082434662] [gazebo_ros2_control]: No joint limits specification found for joint 'joint6' in the parameter server (node: gazebo_ros2_control param name: joint_limits.joint6).     [gzserver-4] [ERROR] [1684165518.082482383] [gazebo_ros2_control]: joint6.p                                                                                                                                        [gzserver-4] [ERROR] [1684165518.085610832] [gazebo_ros2_control]: Loading controller_manager                                                                                                                      [INFO] [spawn_entity.py-6]: process has finished cleanly [pid 1492]                                                                                                                                                [gzserver-4] [INFO] [1684165518.116318615] [gazebo_controller_manager]: Loading controller 'dsr_position_controller'                                                                                               [gzserver-4]                                                                                                                                                                                                       [gzserver-4] [ERROR] [1684165518.141495379] [joint position controller]: 'joints' parameter not set                                                                                                                [gzserver-4] [WARN] [1684165518.141798456] []: Error occurred while doing error handling.                                                                                                                          [gzserver-4] [ERROR] [1684165518.142763237] [gazebo_ros2_control]: nodename: dsr_position_controller                                                                                                               [gzserver-4] [ERROR] [1684165518.145518454] [gazebo_ros2_control]: nodename: dsr_joint_publisher                                                                                                                   [gzserver-4] [INFO] [1684165518.154351968] [joint position controller]: configure successful                                                                                                                       [gzserver-4] [INFO] [1684165518.154509349] [gazebo_controller_manager]: Loading controller 'dsr_joint_publisher'                                                                                                   [gzserver-4]                                                                                                                                                                                                       [gzserver-4] [ERROR] [1684165518.186656297] [gazebo_ros2_control]: nodename: dsr_position_controller                                                                                                               [gzserver-4] [ERROR] [1684165518.186741850] [gazebo_ros2_control]: nodename: dsr_joint_publisher                                                                                                                   [gzserver-4] [WARN] [1684165518.187780077] [rcl_lifecycle]: No transition matching 1 found for current state inactive                                                                                              [gzserver-4] [ERROR] [1684165518.187899836] []: Unable to start transition 1 from current state inactive: Transition is not registered., at /tmp/binarydeb/ros-foxy-rcl-lifecycle-1.1.14/src/rcl_lifecycle.c:350   [gzserver-4] [ERROR] [1684165518.292223890] [gazebo_ros2_control]: Loaded gazebo_ros2_control.**                 

3. Real 모드로 연결시 [1.3004] Client T/P authenticiation failed. 메시지가 T/P 상에 출력됩니다. 두산 로봇 github 에서 비슷한 사례를 보았고 포트 포워딩을 해보았지만 문제가 해결되지 않습니다. Ping 명령어로 통신을 확인했을 때는 이상없이 통신이 됩니다. 아예 방화벽을 꺼보기도 했지만 문제가 해결되지 않네요.

위 이슈에 대한 해결 방안을 좀 자세히 알려주시면 감사하겠습니다.
doosan-robotics commented 8 months ago

안녕하세요 @hanprd 님,

답변이 늦어져서 죄송합니다. 상세한 상황 설명 감사합니다. 적어주신 번호 순대로 답변드리겠습니다.

  1. foxy 패키지에 dependency 업데이트가 되면서 다음과 같은 현상이 발생하는 것을 발견하였습니다. 내부적으로 인지하고 있으며 업데이트 되는 대로 안내 드리겠습니다 해당 현상은 rviz를 단독으로 사용할 경우에만 발생하는 이슈로 gazebo+rviz를 사용하면 가능합니다.
  2. 해당 메세지는 gazebo 런치파일을 실행하면서 발생하는 로그를 /home/han/.ros/log/2023-05-15-11-45-14-261617-han-hp-1474 에 저장한다는 의미입니다.
  3. ROS 패키지를 이용하여 실제로봇 제어 할 경우에 TP사용을 동시 사용 하지 못하도록 제어권 정책이 되어져있습니다. (동시다발 제어로 위험사항을 막기위함)

감사합니다.

creep-ant commented 7 months ago

안녕하세요 @doosan-robotics 님.

1번 과 같은 내용에서 저도 문제를 겪고 있는데요. rviz를 단독으로 사용하지 않고 gazebo + rviz를 사용한다는 내용에 대한 설명을 부탁드립니다.

감사합니다.