Main Content

Troubleshooting

Server does not respond within default timeout

Problem

While creating the universalrobot object, you face the error related to server not responding within default timeout.

Solution

Check the following:

  • Verify that ROS environmental variables ROS_IP and ROS_MASTER_URI are correctly set in Linux® host before launching the intended ROS nodes. You can set the environment variables by executing the following commands in Linux terminal before launching the ROS node:

    >>export ROS_IP=<ip_address> 
    >>export ROS_MASTER_URI= http://$ROS_IP:11311
  • Ensure that the ROS master is accessible from host with MATLAB® installed.

  • To verify the correct configuration, execute the following steps in MATLAB command window after launching ROS nodes from Linux host.

    rosinit(<ip_address>); 
    rostopic list 
    rostopic echo /joint_states

    If the configuration is correct, you should see a stream of joint states data in the MATLAB command window.

Incorrect joint and end-effector velocities

Problem

When using the simulated UR robot in Gazebo, the joint velocities returned by the ROS interface do not reflect the actual / expected joint velocities.

Solution

Use simulated robot in URSim instead, for workflows involving joint velocities.

Cannot obtain fresh data from cobot and connection to reserve interface shows error

Problem

The TCP communication between the ROS drivers and URSim becomes unstable in the presence of heavy network traffic. In particular, if the host, in which virtual machine is configured, is being accessed via remote desktop client, the errors appear frequently, and the simulated robot is no longer controllable from MATLAB.

Solution

It is recommended that you use minimal network traffic while running the simulation and avoid using the remote desktop client.

'No controller' error with URSim for CB3 series

Solution

Open a separate terminal at the URSim installation directory and launch the starturcontrol.sh script with sudo permissions

IK failure with sendCartesianPose and followWaypoints functions of universalrobot object

Solution

  • Ensure that the desired Cartesian pose is valid and reachable by the robot.

  • Ensure that the robot starting position is favorable.

  • Try with different starting position.

  • For more involved workflows with complex motion planning, use followTrajectory function along with various motion planning and trajectory generation features from Robotics System Toolbox™.

Action server timeout issue

Problem

While creating the universalrobot object, you might face the error related to server timeout.

Solution

Try the following steps to troubleshoot this issue.

  • Ensure that ROSDeviceAddress is correct and verify using ping command in terminal.

  • If you are using a VM, you might face this issue even if your ROSDeviceAddress is correct. Follow these steps to resolve this issue.

    • Consider changing the VM Network connection to NAT (Player -> Manage -> Virtual Machine Settings -> Network Adapter -> NAT: Used to share the host’s IP address).

    • Set the ROS_IP environment variable by running below command in MATLAB command window. Note that 172.19.100.214 is the IP address of your MATLAB host machine. Follow this document for more details.

      • setenv('ROS_IP','172.19.100.214')

Low Gazebo real-time factor issue

Problem

While using the Intelligent Bin Picking Gazebo Simulation example using the recommended VM, Gazebo might run with very low real time factor. In this case, robot will not follow the given trajectory command in given end time and you might see the error related to the ROS service timeout.

Solution

There can be various factors which affects the Gazebo real-time factor value. Try performing the following steps to troubleshoot this issue.

  • Increase the VM memory to greater than 4GB. Recommended is to keep it 8GB but it is dependent on your machine hardware specification.

  • Increase the processors number in virtual machine settings.

  • You can also try increasing the real time factor value inside the respective Gazebo world file inside the physics parameters.