Produce thread realtime priority error message

Hello, I’m getting the following error messages upon launching the ur_robot_driver ur5_bringup.launch.

“Unsuccessful in setting produce thread realtime priority. Error code: 1”
“Producer thread: Scheduling is NOT SCHED_FIFO!”

I have followed the README on the ur_robot_driver repository for building the packages and installing a real-time kernel (4.14.137-rt65-rc1). I’ve also read the troubleshooting portion regarding running the realtime kernel with an NVIDIA graphics card. I am running: an Intel 4th Gen Core Processor Integrated Graphics Controller & NVIDIA GK106GLM [Quadro K2100M]. But I’m not sure if this is the issue.

I’m attempting to rule out the causes for jitter when sending a trajectory to the UR5 (i realize the jitter may possibly be an entirely separate issue, so i will not focus on that in this thread). I’m wondering if perhaps this is the root cause. Any advice would be appreciated. Thank you.!

error|690x392

Hi,

are you sure, that you

  • bootet the correct kernel (uname -r will tell)
  • have realtime capabilities enabled (see here)
  • have setup your user to allow realtime scheduling (see here)

mauch, thanks for your reply. i’ve confirmed those three items. see below:

  • $ uname -r outputs: 4.14.137-rt65-rc1

  • $ uname -v | cut -d" " -f1-4 outputs: #1 SMP PREEMPT RT

  • $ cat /etc/security/limits.conf output includes:
    @realtime soft rtprio 99
    @realtime soft priority 99
    @realtime soft memlock 102400
    @realtime hard rtprio 99
    @realtime hard priority 99
    @realtime hard memlock 102400

I'm operating on Ubuntu 16.04LTS along with ROS Kinetic. Thank you.

And your user is also in the realtime group? (groups) will tell.

$ groups [myuserid] outputs:
[myuserid]: [myuserid] adm tty dialout cdrom sudo dip plugdev lpadmin sambashare realtime

phew, then that covers most of my knowledge about realtime linux…

:frowning:

i appreciate your help.

do you have any guesses on what the physical manifestations of those errors may be when controlling the UR5?

my issue is that when i send a trajectory through the ur_robot_driver (the trajectory is sent as 300 joint angles, which results in the end effector moving in a straight line), the UR5 stutters. when i run the exact same trajectory through ur_modern_driver, the movement is very smooth. i’m attempting to rule out these error messages as a source of error before moving on with my search.

Hello , I meet the same problem when I use the following command ,but I built the real-time kernel under other tutorials:

roslaunch ur_calibration calibration_correction.launch \robot_ip:=192.168.xxx.xxx \target_filename:="$(rospack find example_organization_ur_launch)/etc/ex-ur10-1_calibration.yaml"

when I setting up PREEMPT_RT kernel under the real_time.md offered by the ur_robot_driver,
I still meet some problems,
1.gpg2 --keyserver hkp://keys.gnupg.net --search-keys zanussi
→ gpg error searching keyserver : No name
gpg : keyserver search failed : No name

2.make -j getconf _NPROCESSORS_ONLN deb-pkg
–>scritpts/package/Makefile:85: recipe for target ‘deb-pkg’ failed
make[1]:[deb-pkg] Error 2
Makefile:1395: recipe for target’deb-pkg’ failed
make:
[deb-pkg] Error 2

Could you please help me build the PREEMPT_RT kernel, thank you very much for your help.

Hello,

When I check to see if I have realtime capabilities enabled, I get this output: #2 SMP PREEMPT_RT Wed

I realize that this is not the same output but does this mean it is wrong and the driver wont work correctly? How would I go about changing this?

This is the kernel I am using: 5.15.96-rt61