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™.