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.Refer to Connect to a ROS Network (ROS Toolbox) 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 does 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 affect 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.