catmulti7 / dual_ur_ros_2

4 stars 0 forks source link

Waiting for '/controller_manager' node to exist #1

Closed msjeon96 closed 4 months ago

msjeon96 commented 4 months ago

[spawner-8] [INFO] [1716693762.677619068] [arm_0.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-18] [INFO] [1716693762.698379158] [arm_1.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1716693762.699592631] [arm_0.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-17] [INFO] [1716693762.723300214] [arm_1.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-9] [INFO] [1716693762.740189989] [arm_0.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-16] [INFO] [1716693762.744046744] [arm_1.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1716693764.685359119] [arm_0.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-18] [INFO] [1716693764.706671503] [arm_1.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1716693764.707406979] [arm_0.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-17] [INFO] [1716693764.730993437] [arm_1.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-9] [INFO] [1716693764.747922905] [arm_0.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-16] [INFO] [1716693764.751538085] [arm_1.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-8] [INFO] [1716693766.693210635] [arm_0.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-18] [INFO] [1716693766.714506411] [arm_1.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-7] [INFO] [1716693766.715006769] [arm_0.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-17] [INFO] [1716693766.739118143] [arm_1.spawner_joint_state_broadcaster]: Waiting for '/controller_manager' node to exist [spawner-9] [INFO] [1716693766.755528696] [arm_0.spawner_forward_position_controller]: Waiting for '/controller_manager' node to exist [spawner-16] [INFO] [1716693766.758903474] [arm_1.spawner_scaled_joint_trajectory_controller]: Waiting for '/controller_manager' node to exist [spawner-8] [ERROR] [1716693768.701343287] [arm_0.spawner_joint_state_broadcaster]: Controller manager not available [spawner-7] [ERROR] [1716693768.722867363] [arm_0.spawner_scaled_joint_trajectory_controller]: Controller manager not available [spawner-18] [ERROR] [1716693768.722975309] [arm_1.spawner_forward_position_controller]: Controller manager not available [spawner-17] [ERROR] [1716693768.746891512] [arm_1.spawner_joint_state_broadcaster]: Controller manager not available [spawner-9] [ERROR] [1716693768.763340184] [arm_0.spawner_forward_position_controller]: Controller manager not available [spawner-16] [ERROR] [1716693768.766828630] [arm_1.spawner_scaled_joint_trajectory_controller]: Controller manager not available [ERROR] [spawner-8]: process has died [pid 83024, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 joint_state_broadcaster io_and_status_controller speed_scaling_state_broadcaster force_torque_sensor_broadcaster --ros-args -r __ns:=/arm_0']. [ERROR] [spawner-18]: process has died [pid 83133, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 --inactive forward_position_controller --ros-args -r __ns:=/arm_1']. [ERROR] [spawner-7]: process has died [pid 83022, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner scaled_joint_trajectory_controller -c /controller_manager --controller-manager-timeout 10 --ros-args -r __ns:=/arm_0']. [ERROR] [spawner-17]: process has died [pid 83127, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 joint_state_broadcaster io_and_status_controller speed_scaling_state_broadcaster force_torque_sensor_broadcaster --ros-args -r __ns:=/arm_1']. [ERROR] [spawner-16]: process has died [pid 83107, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner scaled_joint_trajectory_controller -c /controller_manager --controller-manager-timeout 10 --ros-args -r __ns:=/arm_1']. [ERROR] [spawner-9]: process has died [pid 83026, exit code 1, cmd '/opt/ros/humble/lib/controller_manager/spawner --controller-manager /controller_manager --controller-manager-timeout 10 --inactive forward_position_controller --ros-args -r __ns:=/arm_0']. I have copied your dual_ur_control.launch.py file only and used the rest of codes the same. Is there anywhere else we need to make a change? I will greatly appreciate your help in this. Thank you!

catmulti7 commented 4 months ago

Hi @msjeon96 You said 'used the rest of codes the same', it that means same with Universal_Robots_ROS2_Driver? If so, I guess your problem is caused by missing file ur_robot_driver/config/arm_0_ur_controllers.yaml and ur_robot_driver/config/arm_1_ur_controllers.yaml. Since these two files are missing and (I assume) you haven't modified variable arm_0_controller_file and arm_0_controller_file in dual_ur_control.launch.py, node controller manager can't launch correctly.
dual_ur_control.launch.py only launches robot driver. If you want to plan with MoveIt, launching dual_ur_moveit_planning.launch.py in package dual_ur5_moveit_config is also needed. I will update README soon for more infomation.

msjeon96 commented 4 months ago

Hi @catmulti7 Thank you so much for your feedback! I have decided to just fully pull your code and make small changes instead. Then, I found that ros2 control nodes can be run separately for each of two robots I am using. However, when it comes to activating external control driver that allows sending trajectories from moveit to real robot, I was not able to activate that in the real robot's pendant as it throws a message saying "The connection to the remote pc could not be established." I believe my script port numbers are set correctly for both robots and both do not have conflicting port numbers. If you have worked with real UR robots, do you mind if I ask if there was any addition setup that you needed to enable running the driver in the robot's pendant? Once again, thank you very much for your help in this matter!

Edit: After reading your 'ur_control.launch.py' code more carefully, I found that you are running the robots in headless mode. So did you never have to launch the external control on the pendant's side? Or can we disable headless mode and then run robots?

catmulti7 commented 4 months ago

@msjeon96 I do launch external control on robot side. I setup my robot following instruction of this. As for headless mode, I'm not sure but I don't think it's key to your problem, it works fine with my robot. It seems that your problem is related to net connection. But unfortunately I don't remember I had run into similar issue, so just some random advise. Make sure IP is correct, IP set on your pendant should be your computer's IP. And check your firewall, maybe you need disable it. I hope these will help, if not, maybe you can try to use official driver to launch your robot arm separately, make sure there is no problem with network and then turn back to this repo.

msjeon96 commented 4 months ago

Hi @catmulti7, After spending some time, I was able to use your code to successfully start two robots in the project. I wanted to thank you for your help in this setup!

catmulti7 commented 4 months ago

Hi @msjeon96 Glad to hear that! Since your problem has been solved I'll close this issue. Feel free to open new one if you need.