I am currently having issues trying to control my UR10e robot via ROS2 in a WSL2 environment.
Current Setup:
-
ROS2 Humble installed on Ubunutu 22.04 via WSL2 on a Windows 10 machine
-
Universal_Robots_ROS2_Driver ver 2.2.4 installed per instructions located at: GitHub - UniversalRobots/Universal_Robots_ROS2_Driver: Universal Robots ROS2 driver supporting CB3 and e-Series
-
Powershell is running with following commands setup under netsh interface portproxy:
add v4tov4 listenport=50001 connectaddress=172.22.222.208 connectport=50001
add v4tov4 listenport=50002 connectaddress=172.22.222.208 connectport=50002
add v4tov4 listenport=50003 connectaddress=172.22.222.208 connectport=50003
Where 172.22.222.208 is my current WSL2 IP
- UR10e is connected directly to my PC with a straight cable
- NIC on the PC is manually set to 192.168.1.101
- UR10e Network Settings are set to 192.168.1.102
- No modifications or settings updated in moveit
If I run the externalcontrol software on the pendent without running any ROS2 programs, I get a timeout on the pendent.
- Normal.
When I run:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=192.168.1.102
and then run the externalcontrol program on the UR10e, no timeout occurs
- Normal.
After running the externalcontrol program, there is no feedback in my WSL2 ROS2 terminal. Is this
- Normal?
After running that command, Rviz2 will open up and it shows the robot in the position that the actual robot is in.
- Normal.
If I stop the externalcontrol software and manually move the robot arm, Rviz2 is updated with the new position in real time even though externalcontrol software is stopped.
Normal?
If I kill the terminal such that no nodes are running while the externalcontrol program is still running, I do not get a timeout.
- Normal?
As for MoveIt, (assume this is a fresh start), I run:
ros2 launch ur_robot_driver ur_control.launch.py ur_type:=ur10e robot_ip:=192.168.1.102 launch_rviz:=false
Then in a second terminal, I run:
launch ur_moveit_config ur_moveit.launch.py ur_type:=ur10e robot_ip:=192.168.1.102
Rviz2 opens up with the moveit tools and I drag the robot to a slightly new position. I then click plan and execute which shows the planned path but then says “Failed” underneath “Plan & Execute”. The moveit terminal.
In my ur_robot_driver terminal, I get a message and an error:
[ur_ros2_control_node-1] [INFO] [1667570357.285096200] [scaled_joint_trajectory_controller]: Received new action goal
[ur_ros2_control_node-1] [ERROR] [1667570357.285246000] [scaled_joint_trajectory_controller]: Can't accept new action goals. Controller is not running.
However a ros2 node list reports:
/controller_manager
/dashboard_client
/force_torque_sensor_broadcaster
/forward_position_controller
/interactive_marker_display_94736246638448
/io_and_status_controller
/joint_state_broadcaster
/move_group
/move_group_private_94458103812400
/moveit_simple_controller_manager
/robot_state_publisher
/rviz2_moveit
/rviz2_moveit
/rviz2_moveit_private_139908291465840
/scaled_joint_trajectory_controller
/servo_node
/servo_node_private_94036311342704
/speed_scaling_state_broadcaster
/transform_listener_impl_5586890a72c0
/transform_listener_impl_55e8bdd87f20
/transform_listener_impl_56297fe87f90
/transform_listener_impl_56297ffb91a0
/transform_listener_impl_562983530c00
From here, I’m not sure what I’m doing wrong. Let me know if there is any important information that I have neglected to include.