UR3e does not move to ROS commands
I am working on ROS2 Foxy, my network setup is UR3e (192.168.0.4) > router > PC (Ubuntu with IP 192.168.0.2 and another network for docker with IP 172.17.0.1) > ROS2 (through docker with IP 172.17.0.2)
I set up host IP on the robot 192.168.0.2, and robot’s IP 192.168.0.4
I installed the external control urcap
I tried with both enable/disable remote control, and with both local/remote control on teach pendant
Firewall is disabled (sudo ufw status: inactive)
I run
ros2 launch ur_bringup ur_control.launch.py ur_type:=ur3e robot_ip:=192.168.0.4 launch_rviz:=false reverse_ip:=192.168.0.2 limited:=true
on one terminal andros2 launch ur_bringup ur_moveit.launch.py ur_type:=ur3e robot_ip:=192.168.0.4 launch_rviz:=true reverse_ip:=192.168.0.2
on another terminal.
After that, I run the program on the teach pendant of the robot with the external control (with the correct IP), but the robot's state appears red which means "state in collision" no matter where I move the robot. This causes it to fail plan and execute a trajectory.
Alternatively, instead of the moveit launch file, I run this:
ros2 launch ur_bringup test_joint_trajectory_controller.launch.py
And the robot does not move, without any error indication.
Any idea what's the culprit and how to fix it?
Attached is a moveit screenshot
Thank you for your time,
Asked by AlexandrosNic on 2022-06-09 09:24:25 UTC
Answers
I can't say for sure, but here are some things to check:
Can you ping everything from everything else?
Are ros2_controllers running? (ros2 control list_controllers
)
I see the robot is red, but does its position look correct?
Do you see anything when you do ros2 topic echo /joint_states
?
It seems like everything is working fine except maybe two meshes are overlapping that shouldn't be. Did you modify any meshes?
Posting the terminal output for us to read might help.
If all of these questions seem fine, I'd open an issue on the UR driver Github site. They have some professionals monitoring those issues to help people.
Asked by AndyZe on 2022-06-09 10:43:46 UTC
Comments
I will test these again in one week, but for as far as I remember:
- yes I can ping everything
- I didn't run it but the controllers started successfully
- Its simulated position look the same as its real (hardware) one
- I was able to echo the joint_states (with values that seemed correct)
- I didn't modify any of the meshes, and indeed this seem to be the problem
The terminal output I had was
Found a contact between 'shoulder_link' (type 'robot link') and 'upper_arm_link' (type 'robot link'), which constitutes a collision. contact information is not stored.
prompting me that there is invalid state.
I can post the full terminal once I try it on the robot again
Asked by AlexandrosNic on 2022-06-10 04:37:49 UTC
OK. You could look into disabling that collision in the SRDF. Prob worth opening an issue on the repo, though.
Asked by AndyZe on 2022-06-10 08:21:44 UTC
Comments
Note, this is probably a double post of https://forum.universal-robots.com/t/ur3e-does-not-respond-to-ros/21887
Asked by fexner on 2022-06-27 08:04:44 UTC