Closed MartinCicmanec closed 3 years ago
The doosan robot2 ros package has been updated. After updating the package, please follow the process in Readme.md and try again.
Thank you. I will test this as soon as I can and report the result here.
Hi, I've just cloned this repository for some tests, and I seem to be having the same problem when running the examples, I also tried to run DRCF manually.
I have inserted the DRCF auto-run script in each launch.py file that currently exists in the dsr launcher2 package. To check if DRCF works properly, run the DRCF64 binary file in the common2/bin/DRCF directory with sudo privileges.
This is output after running ros2 launch dsr_launcher2 single_robot_rviz.launch.py
ros2 launch dsr_launcher2 single_robot_rviz.launch.py
[INFO] [launch]: All log files can be found below /home/username/.ros/log/2021-04-15-09-06-28-466525-FTKRL5771-4892
[INFO] [launch]: Default logging verbosity is set to INFO
[INFO] [sh-1]: process started with pid [4895]
[INFO] [static_transform_publisher-2]: process started with pid [4898]
[INFO] [robot_state_publisher-3]: process started with pid [4901]
[INFO] [rviz2-4]: process started with pid [4903]
[INFO] [dsr_control_node2-5]: process started with pid [4906]
[sh-1] Run Emulator of the Doosan Robot Controller
[sh-1] dirname: /home/username/coding/doosan_ws/install/common2/share/common2/bin/DRCF/run_drcf.sh
[sh-1] server_port:
[sh-1] robot model:
[sh-1] ARCH: 64-bit
[static_transform_publisher-2] [INFO] [1618470388.657164554] [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] [1618470388.660773502] [robot_state_publisher]: got segment base_0
[robot_state_publisher-3] [INFO] [1618470388.660880373] [robot_state_publisher]: got segment link1
[robot_state_publisher-3] [INFO] [1618470388.660896999] [robot_state_publisher]: got segment link2
[robot_state_publisher-3] [INFO] [1618470388.660905650] [robot_state_publisher]: got segment link3
[robot_state_publisher-3] [INFO] [1618470388.660912574] [robot_state_publisher]: got segment link4
[robot_state_publisher-3] [INFO] [1618470388.660919891] [robot_state_publisher]: got segment link5
[robot_state_publisher-3] [INFO] [1618470388.660927077] [robot_state_publisher]: got segment link6
[robot_state_publisher-3] [INFO] [1618470388.660934582] [robot_state_publisher]: got segment world
[dsr_control_node2-5] [INFO] [1618470388.668333796] [dsr_control_node2]: g_node = 0x0x7ffc76a32db0
[dsr_control_node2-5] [INFO] [1618470388.668443428] [dsr_control_node2]: rate is 100
[dsr_control_node2-5] [INFO] [1618470388.668499940] [dsr_control_node2]: controller_manager is updating!
[dsr_control_node2-5] [INFO] [1618470388.668542965] [dsr_hw_interface2]: name = dsr01
[dsr_control_node2-5] [INFO] [1618470388.668557845] [dsr_hw_interface2]: model = m1013
[dsr_control_node2-5] [INFO] [1618470388.668561583] [dsr_hw_interface2]: gripper = none
[dsr_control_node2-5] [INFO] [1618470388.668564815] [dsr_hw_interface2]: name_space is dsr01, m1013
[dsr_control_node2-5] [INFO] [1618470388.668568631] [dsr_hw_interface2]: constructed
[dsr_control_node2-5] [INFO] [1618470388.707567665] [dsr_hw_interface2]: [dsr_hw_interface2] init() ==> setup callback fucntion
[dsr_control_node2-5] [WARN] [1618470388.707620189] [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] [1618470388.707595587] [dsr_hw_interface2]: joint_name = joint1
[dsr_control_node2-5] [INFO] [1618470388.707787067] [dsr_hw_interface2]: joint_name = joint2
[dsr_control_node2-5] [INFO] [1618470388.707828264] [dsr_hw_interface2]: joint_name = joint3
[dsr_control_node2-5] [INFO] [1618470388.707843358] [dsr_hw_interface2]: joint_name = joint4
[dsr_control_node2-5] [INFO] [1618470388.707859511] [dsr_hw_interface2]: joint_name = joint5
[dsr_control_node2-5] [INFO] [1618470388.707871397] [dsr_hw_interface2]: joint_name = joint6
[dsr_control_node2-5] [INFO] [1618470388.707881425] [dsr_hw_interface2]: INIT@@@@@@@@@@@@@@@@@@@@@@@@@
[dsr_control_node2-5] [INFO] [1618470388.707888165] [dsr_hw_interface2]: init() ==> arm is standby
[dsr_control_node2-5] [INFO] [1618470388.707904313] [dsr_hw_interface2]: host = 127.0.0.1
[dsr_control_node2-5] [INFO] [1618470388.707910746] [dsr_hw_interface2]: port = 12345
[dsr_control_node2-5] [INFO] [1618470388.707916184] [dsr_hw_interface2]: command = 1
[dsr_control_node2-5] [INFO] [1618470388.707921506] [dsr_hw_interface2]: mode = virtual
[dsr_control_node2-5] [INFO] [1618470388.707926615] [dsr_hw_interface2]: host 127.0.0.1, port=12345 bCommand: 1, mode: virtual
[ERROR] [dsr_control_node2-5]: process has died [pid 4906, exit code -11, cmd '/home/username/coding/doosan_ws/install/dsr_control2/lib/dsr_control2/dsr_control_node2 --ros-args -r __node:=dsr_control_node2 --params-file /tmp/launch_params_0t7dsgfi --params-file /tmp/launch_params_1vfz9yke --params-file /tmp/launch_params_e7csxitm --params-file /tmp/launch_params_e4_nhmzy --params-file /tmp/launch_params_0vzcymko --params-file /tmp/launch_params_h2qtx0uo --params-file /tmp/launch_params_tgx2tbef --params-file /tmp/launch_params_37ajk6dn --params-file /tmp/launch_params_gxzx7vrl --params-file /tmp/launch_params_9mujqjxr'].
[rviz2-4] [INFO] [1618470389.355639018] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] [INFO] [1618470389.355794823] [rviz2]: OpenGl version: 4.6 (GLSL 4.6)
[rviz2-4] [INFO] [1618470389.378964954] [rviz2]: Stereo is NOT SUPPORTED
[rviz2-4] Parsing robot urdf xml string.
[rviz2-4] Warning: Invalid frame ID "link1" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link2" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
Then command line is spammed with those frame warnings. After I shut it down with ctrl+c
[rviz2-4] Warning: Invalid frame ID "link6" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
^C[WARNING] [launch]: user interrupted with ctrl-c (SIGINT)
[rviz2-4] [INFO] [1618470392.184032144] [rclcpp]: signal_handler(signal_value=2)
[static_transform_publisher-2] [INFO] [1618470392.184034844] [rclcpp]: signal_handler(signal_value=2)
[robot_state_publisher-3] [INFO] [1618470392.184036007] [rclcpp]: signal_handler(signal_value=2)
[INFO] [static_transform_publisher-2]: process has finished cleanly [pid 4898]
[INFO] [robot_state_publisher-3]: process has finished cleanly [pid 4901]
[rviz2-4] Warning: Invalid frame ID "link1" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link2" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link3" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link4" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link5" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link6" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link1" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link2" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link3" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link4" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link5" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[rviz2-4] Warning: Invalid frame ID "link6" passed to canTransform argument source_frame - frame does not exist
[rviz2-4] at line 133 in /tmp/binarydeb/ros-foxy-tf2-0.13.9/src/buffer_core.cpp
[sh-1] _______________________________________________________________
[sh-1] Emulator of Doosan Robot Controller [ver M2.52]
[sh-1] [service port = 12345]
[sh-1] [robot model = m1013(config/config.xml)]
[sh-1] _______________________________________________________________
[sh-1] Cycle : 0.001000
[sh-1] #START SYNC: 1618470388.066Mastering Process(Absolute Mismatch) 0
[sh-1] Xml File Path: config/MF/m1013.xmlXml File Path: config/MF/Group/m1013/DV3101300.xmlXml File Path: config/BV/MF_M1013.xmlConfig Servo#TP RECV: SEQ(1)-COM(1799)
[sh-1] SERIAL SEQ-NO: 1#SB RECV: SEQ(1)-COM(1799)
[sh-1] #TP RECV: SEQ(10001)-COM(1791)
[sh-1] SERIAL SEQ-NO: 10001#SB RECV: SEQ(10001)-COM(1791)
[sh-1] #TP RECV: SEQ(10002)-COM(1798)
[sh-1] SERIAL SEQ-NO: 10002#SB RECV: SEQ(10002)-COM(1798)
[sh-1] #TP RECV: SEQ(10003)-COM(1797)
[sh-1] SERIAL SEQ-NO: 10003#SB RECV: SEQ(10003)-COM(1797)
[sh-1] Safety Mode: 5, Event: 1
[sh-1] #SAFETY MODE: SAFETY_MODE_MANUAL -> SAFETY_MODE_INITIALIZE
[sh-1] #DRCF STATE: CCtrlStateUndefine -> CCtrlStateInitialized
[sh-1] Friction Coeff to DRCLp(1) = 0.000, 0.100, 0.200, 0.300p(2) = 0.100, 0.110, 0.120, 0.130p(3) = 0.200, 0.210, 0.220, 0.230p(4) = 0.300, 0.310, 0.320, 0.330p(5) = 0.400, 0.410, 0.420, 0.430p(6) = 0.500, 0.510, 0.520, 0.530n(1) = 0.000, -0.100, -0.200, -0.300n(2) = -0.100, -0.110, -0.120, -0.130n(3) = -0.200, -0.210, -0.220, -0.230n(4) = -0.300, -0.310, -0.320, -0.330n(5) = -0.400, -0.410, -0.420, -0.430n(6) = -0.500, -0.510, -0.520, -0.530FTS install(0) to DRCLFTS offset(0.000000, 1.000000, 2.000000, 3.000000, 4.000000, 5.000000) to DRCLConfig Robot Shape
[sh-1] Config Robot Shape
[sh-1] Safety Mode: 5, Event: 2
[sh-1] #DRCF STATE: CCtrlStateInitialized -> CCtrlStateStandby
[sh-1] #SAFETY MODE: SAFETY_MODE_INITIALIZE -> SAFETY_MODE_MANUAL
[sh-1] EtherCAT Operation mode start
[sh-1] RUN CONTROL : 1
[sh-1] Key Command : 9
[sh-1] Key Command : 27
[sh-1]
[sh-1] STOP ROS service...
[sh-1] The Emulator is finished!
[sh-1] Final OnTask Closed...
[ERROR] [sh-1]: process has died [pid 4895, exit code -2, cmd 'sh /home/username/coding/doosan_ws/install/common2/share/common2/bin/DRCF/run_drcf.sh'].
[INFO] [rviz2-4]: process has finished cleanly [pid 4903]
If I run DRCF manually, the problem persists
I have same problem when I try to run ros2 launch dsr_launcher2 single_robot_rviz.launch.py
[ERROR] [dsr_control_node2-5]: process has died [pid 57772, exit code -11, cmd '/home/hmdo/ros2_ws/install/dsr_control2/lib/dsr_control2/dsr_control_node2 --ros-args -r __node:=dsr_control_node2 --params-file /tmp/launch_params_whumkhe1 --params-file /tmp/launch_params_fhyzmk30 --params-file /tmp/launch_params_ow3urbmi --params-file /tmp/launch_params_k80q2li1 --params-file /tmp/launch_params_6ncfob1b --params-file /tmp/launch_params_yilajx76 --params-file /tmp/launch_params_qi_az6_v --params-file /tmp/launch_params_2r_i37fe --params-file /tmp/launch_paramsv0b7v8j --params-file /tmp/launch_params_6r_xl35y'].
Any ideas to fix this problem?
@Serafadam @bleut Manually run DRCF in one terminal, and run the launch file using the command ros2 launch dsr_launcher single_robot_rviz.launch in the other terminal. Do you have the same problem? Or delete all files in the workspace's build and install directory and try to build again.
I have managed to successfully build the packages in docker and it works. I had to install "libpoco-dev" and I see it has been added to README.md today so I would consider this issue fixed. Thank you.
Hello, I have problems running both the virtual mode robot and the real robot. I installed ROS2 using the official guide and then followed the install guide exactly as it is in the README.md in this repository. Colcon built all packages successfully, but I got some warnings during the compilation of dsr_control2 :
I run can run the demos, rviz does start up and shows the robot, but dsr_control always fails at startup a the rest runs without it. In the log, it just returns this line:
[ERROR] [dsr_control_node2-4]: process has died [pid 5614, exit code -11, cmd '/home/robot/ros2_ws/install/dsr_control2/lib/dsr_control2/dsr_control_node2 --ros-args -r __node:=dsr_control_node2 --params-file /tmp/launch_params_g68eg9yw --params-file etc... '].
I tried running it as another additional node, but after starting
ros2 run dsr_control2 dsr_control_node2
the node starts up, prints its config (I am using m1013 in virtual mode in joint_state_poblisher, DRCF64 and the virtual demo) and it then ends with this output:I check with
ros2 node list
and I do not see it running. I tried to look into the log files, but I was unable to find any mention of an error.Also, when I run
rosdep install --from-paths src --ignore-src --rosdistro foxy -r -y
I get an error sayingdsr_gazebo2: Cannot locate rosdep definition for [sdf]
. I tried googling it but could not find how to fix this dependency. However, I think this error is unrelated to the dsr_control2 issue. I also had to install poco from source, as rosdep could not resolve it too.I am not very skilled in C++, but I had an application running in ROS1 and I would like to transfer it to ROS2. It should not be caused by faulty config, because I am using all the example. Any help would be greatly appreciated.