I’m trying to run the ursim_cb3 docker image on my windows 11 laptop with docker desktop but I’m unable to get it working.
When I start the container with the following parameters the java application fails to get a connection to the controller.
docker run --rm -p 5900:5900 -p 6080:6080 --name ursim_cb3 universalrobots/ursim_cb3
In Initialization screen it first says disconnected from controller. I can press restart. Afterwards it just shows “NO CONTROLLER” and the button changes to “Start”.
I was able to run the script below to get the simulator running showing “Normal” state, but I was not able to move the robot. Seems in the urcontrol log that there is some problem with a TCP connection.
Thanks for chiming in. Actually I just got the no controller issue myself of e-series on Windows 11.
Manually trying to start URControl gives the following issue:
root@d37c7618e14a:~# HOME=/ursim/ $HOME/URControl -r
URControl 41.6.4 [] G5 (13-10-2022, 09:22:44)
2023-03-31_10:06:08:03681 00:00:00:000 INFO - parseOpts(): The following ports will be used: Primary - 30001, Secondary - 30002, Interpreter - 30020, Matlab - 30003, RTDE - 30004, Primary_read_only - 30011, Secondary_read_only - 30012, Matlab_read_only - 30013.
2023-03-31_10:06:08:03691 00:00:00:000 INFO - Loading calibration from '/ursim//.urcontrol/calibration.conf'
2023-03-31_10:06:08:03694 00:00:00:000 WARNING - loadCalibration: Error: Cannot open configuration file '/ursim//.urcontrol/calibration.conf'. The file is corrupt or missing.
2023-03-31_10:06:08:03696 00:00:00:000 INFO - ConfigurationManager::loadConfiguration: Loading urcontrol.conf from: /ursim//.urcontrol/urcontrol.conf.
2023-03-31_10:06:08:03697 00:00:00:000 WARNING - readLastSeenJointPositions: Error: Cannot open configuration file '/ursim//.urcontrol/.last_seen_joint_positions.conf'. The file is corrupt or missing..
2023-03-31_10:06:08:03700 00:00:00:000 WARNING - PThread::_start: SCHED_FIFO - Failed to set scheduling parameters for PThreadPool
Exception was caught in creating ModbusServer: ServerSocket: Socket::create() failed.
You need root privileges to open a Modbus server at port 502
Perhaps use: "sudo setcap cap_net_bind_service+ep ./URControl"
2023-03-31_10:06:08:09366 00:00:00:000 INFO - Safety Version 5:6
2023-03-31_10:06:08:09369 00:00:00:002 INFO - Safety Version 5:6
2023-03-31_10:06:08:09370 00:00:00:004 ERROR - Socket::create: socket() failed. Error_code = 38, Error_message = Function not implemented
2023-03-31_10:06:08:09370 00:00:00:004 ERROR - TCPServer::init: TCP Connection failed. Exception caught: ServerSocket: Socket::create() failed..
2023-03-31_10:06:08:09371 00:00:00:004 ERROR - TCPServer::init: Check if another instance of URControl is running. The process will be terminated.
2023-03-31_10:06:08:09371 00:00:00:004 ERROR - Socket::create: socket() failed. Error_code = 38, Error_message = Function not implemented
2023-03-31_10:06:08:09371 00:00:00:004 INFO - RTM: Target RobotMode changed from ROBOT_MODE_DISCONNECTED to ROBOT_MODE_POWER_OFF
2023-03-31_10:06:08:09372 00:00:00:004 INFO - New safety mode: SAFETY_MODE_NORMAL
2023-03-31_10:06:08:09372 00:00:00:004 INFO - Runtime state change: from PROGRAM_STATE_STOPPING to PROGRAM_STATE_STOPPED
2023-03-31_10:06:08:10185 00:00:00:006 WARNING - Failed to write joint angles: [0.000000, 0.000000, 0.000000, 0.000000, 0.000000, 0.000000]
URControl::shutdown
Afraid I can’t be too much help here. I also observe the no controller issue when starting the cb3 container. I also observe a similar output when launching URControl.
root@5204f24bbedb:~# ./URControl
WARNING: Allocation of pages to be locked failed.
URControl 32.6.3 [] G3 (14-06-2022, 08:49:38)
2023-03-31_21:06:10:54287 00:00:00:000 INFO - parseOpts(): The following ports will be used: Primary - 30001, Secondary - 30002, Matlab - 30003, RTDE - 30004, Primary_read_only - 30011, Secondary_read_only - 30012, Matlab_read_only - 30013.
2023-03-31_21:06:10:54308 00:00:00:000 INFO - Locking memory pages
2023-03-31_21:06:10:54308 00:00:00:000 WARNING - loadCalibration: Error: Cannot open configuration file '/ursim/.urcontrol/calibration.conf'. The file is corrupt or missing.
2023-03-31_21:06:10:54309 00:00:00:000 INFO - ConfigurationManager::loadConfiguration: Loading urcontrol.conf from: /ursim/.urcontrol/urcontrol.conf.
2023-03-31_21:06:10:54309 00:00:00:000 WARNING - readLastSeenJointPositions: Error: Cannot open configuration file '/ursim/.urcontrol/.last_seen_joint_positions.conf'. The file is corrupt or missing..
2023-03-31_21:06:10:58401 00:00:00:000 WARNING - PThread::_start: SCHED_FIFO - Failed to set scheduling parameters for PThreadPool
Exception was caught in creating ModbusServer: ServerSocket: Socket::bind() failed.
You need root privileges to open a Modbus server at port 502
Perhaps use: "sudo setcap cap_net_bind_service+ep ./URControl"
2023-03-31_21:06:11:01690 00:00:00:000 ERROR - Socket::bind failed. Error_code = 98, Error_message = Address already in use
2023-03-31_21:06:11:01699 00:00:00:000 ERROR - TCPServer::init: TCP Connection failed. Exception caught: ServerSocket: Socket::bind() failed..
2023-03-31_21:06:11:01701 00:00:00:000 ERROR - TCPServer::init: Check if another instance of URControl is running. The process will be terminated.
2023-03-31_21:06:11:01701 00:00:00:000 ERROR - Socket::bind failed. Error_code = 98, Error_message = Address already in use
2023-03-31_21:06:11:01701 00:00:00:000 WARNING - Cannot open /dev/urobot driver interface! FORCED simulation mode!
2023-03-31_21:06:11:01709 00:00:00:000 INFO - ================================================
2023-03-31_21:06:11:01713 00:00:00:000 INFO - Simulation mode!
2023-03-31_21:06:11:01714 00:00:00:000 INFO - ================================================
2023-03-31_21:06:11:01714 00:00:00:000 WARNING - Cannot open /dev/urobot driver interface! FORCED simulation mode!
2023-03-31_21:06:11:01714 00:00:00:000 INFO - ================================================
2023-03-31_21:06:11:01715 00:00:00:000 INFO - Simulation mode!
2023-03-31_21:06:11:01715 00:00:00:000 INFO - ================================================
2023-03-31_21:06:11:01715 00:00:00:000 INFO - Send user CRC: 2295235740
2023-03-31_21:06:11:01716 00:00:00:000 INFO - Send robot CRC: 3326437779
2023-03-31_21:06:11:02529 00:00:00:008 INFO - scb_mode: DISCONNECTED -> RUNNING
2023-03-31_21:06:11:02537 00:00:00:008 INFO - robot_mode: BOOTING -> POWER OFF
2023-03-31_21:06:11:02539 00:00:00:008 INFO - RTM: Target RobotMode changed from ROBOT_MODE_DISCONNECTED to ROBOT_MODE_RUNNING
2023-03-31_21:06:11:02540 00:00:00:008 INFO - New safety mode: SAFETY_MODE_NORMAL
2023-03-31_21:06:11:02540 00:00:00:008 INFO - Runtime state change: from PROGRAM_STATE_STOPPING to PROGRAM_STATE_STOPPED
2023-03-31_21:06:12:07209 00:00:01:008 INFO - EnergyEaterMonitor::zeroCalibration - Zerocalibration done, zero current was 0.000000, supply voltage was 0.000000
2023-03-31_21:06:12:08873 00:00:01:024 INFO - robot_mode: POWER OFF -> POWER ON
2023-03-31_21:06:12:09732 00:00:01:032 INFO - robot_mode: POWER ON -> IDLE
2023-03-31_21:06:13:15335 00:00:02:032 INFO - EnergyEaterMonitor::idleMonitoring - idle monitoring done, idle current was 0.000000
2023-03-31_21:06:13:16158 00:00:02:040 INFO - robot_mode: IDLE -> RUNNING
I don’t see file calibration.conf in the file system.