Release note Software version 3.1.xxxxx
Release notes for Universal Robots Software 3.1
The first release note is placed at botton of this article and describes the most important improvements from 3.0.xxxxx to 3.1.xxxxx
The latest software version is in the top of this article.
Safety A: 461
Safety B: 205
- Increased force sensitivity by 25N for the safety system. These 25N are automatically subtracted from the safety settings. This may cause protective stops due to joint position deviation (code C153)
- Force mode is now only able to push with 25N less than the safety limit
- Changed the behaviour of the robot when it is being forced away from the current target position so it does not try to swing back to that position, but in stead stays in the new position.
- Added sanity check that verifies consistencies between position and velocity
- Added sanity check that verifies that too big changes in speed are not allowed, this may cause protective stops (code C204A3)
- Updated the functionality of the speedj and speedl script command to:
- Accelerate lineary in joint space and continue with constant joint speed.
- The time t is optional; if provided the function will return after time t, regardless of the target speed has been reached.
- If the time t is not provided, the function will return when the target speed is reached.
- Fixed the stopj and stopl script command to stop with the specified acceleration.
- Fixed the speedl and stopl script command so the acceleration of the orientation and position speed are synchronized.
- Fixed an issue where in some cases the variables of a program were not showing correct values in PolyScope
- Fixed an issue that could case the Controller to hang when making a socket connection to the Controller
- Fixed an issue that might cause the robot to not reach a target position in conveyor tracking mode when using the speed slider.
- Waypoints now move along with a variable feature even if the Variable check box on the feature is unset and set after the waypoints were defined.
- Fixed problem with loading SW3.0 programs that contain Euromap67 program nodes.
- Cancelling the renaming of a point feature to the name of another feature no longer causes the original name to change
- Touch screen keyboard missing on entering IP address in Dual Robot Calibration
- Issue on UR3 where dialog appears stating safety configuration corrupted on startup
- Joint: Added sanity check verifying that target speed matches changes in target positions. If not, the target speed is set to 0, and a warning C205A0 is reported
- Joint: Reduced occurrences of Faults due to error code C4: Broken communication with joints.
Safety A: 453
Safety B: 189
- Added "load installation" command to the Dashboard server, so you can load installations from network
- UR3 added to the calibration manual
- Fixed syntax error using waitForItem node with Euromap67
- Fixed the syntax error using I/O action starting a program. This occurred when the first move was defined as a variable or relative waypoint
- Fixed user interface problem on the run program tab when loading a program with a long name
- Fixed problem that prevented correct saving of subprograms even though the "keep subprogram updated with this file"-setting was checked
- Fixed issue with the "English programming" setting.
- Changed the dashboard servers "savelog" behavior so it replies "Log saved to disk" when it has saved the log.
- Fixed an issue where the safeguard stop reset also resumed a paused program
- Corrected the description for set_standard_digital_out()
NOTE: The UR3 is supported from this software version upwards. Please do not attempt to downgrade a UR3 beyond this version.
Safety A: 453
Safety B: 189
- I/O actions can now resume a paused program by activate the assigned play I/O
- Fixed an issue with the speedl script function that would cause the robot to make wrong accelerations when chaining multiple speedl commands
- Fixed an issue with socket_ascii_float regarding spaces after the digit
- Reduced number of communication errors in Teach Pendant
- Reduces the appearance of motor encoder index drift errors. The Problem can still be a mechanical issue and therefore not removed by this fix.
- Non-variable features can again be selected in the Move node.
- An edited installation variable value is now correctly initialized when the program is next run.
- Copying a freshly create pallet node/a pallet node without waypoints will no longer cause an exception.
- The selections in the "I/O tab control" drop-down menus in the I/O Setup screen are now correctly saved inside the installation.
- Dashboard server:
- A new user role "restricted" (for the 'setUserRole' Dashboard server command) has been introduced. The role is similar to "operator", but the new role also prevents access to the Move tab.
- The user interface now goes back to the Welcome screen whenever the user role has been changed.
- Removed translated strings from the original declaration of incorporation in translated user manuals
- Script Manual:
- Fixed some typos
- Added description of the 'reset_revolution_counter' function
Release notes 9/3/2015: 17141
Safety A: 453
Safety B: 189
- Robot retracts approx. 10 mm at protective stop, to avoid clamping
- Added usbserial.ko and ftdi_sio.ko kernel modules.
- Fixed Protective Stops occurring when returning from force mode
- Fixed Protective Stops occurring when stopl() was used at higher speeds
- Fixed jerks occurring when using speedl() script commands
- Fixed bug with robot jerking when stopping a program while conveyor tracking
- Fixed Safety Fault C203A0 when returning from Expert mode/LowLevelControl
- Fixed issue where robot would move slower than allowed by the joint speed, TCP speed and momentum limits defined for Normal mode after disabling a Trigger Reduced mode plane.
- Fixed issue where the robot could stop with a "safety system violation" after exiting the AutoMove screen when in Reduced mode.
- SCB (uB): Fixed occasional 'Joint Limit Violation' bug, preventing the robot from always entering recovery mode at start-up if one or more joint position limits are violated.
- Demoted warning 50A83 to info level. For instance, on applying new safety settings this message would wrongfully show up as a warning in the PolyScope log.
- Fixed bug that undefined Waypoints were overwritten in French language, new name is "PointPassage"
- English only: In log messages removed the words "error" and "broken" from warning messages (in cases where the system will remain operational anyway). In the PolyScopelog the info/warning/fault icons indicate the true severity of the reported issue.
- English only: In log messages renamed "Masterboard" to "Safety Control Board" and "PC" to "Controller" for a few error codes.
- The Waypoint named "Waypoint" inside Seek-nodes is now named "Exit"
- Variables in the Assignment node are no longer renamed when a program is loaded while another program is open.
- Move tab and Pose Editor now show correct TCP position values, TCP visualization and visualization of boundaries when a Waypoint is being set or changed.
- The running program now gets stopped if the user attempts to edit a Waypoint.
- Programs with Euromap67 signals selected in the "Set Digital Output" drop-down menu on a Set node now get loaded correctly.
- Fixed issue in the AutoMove tab where the animation showing the path to the target position could be slow, if the safety configuration contained low values for TCP speed, momentum
or joint speed.
- Euromap67 signal names are now saved in a language-independent manner. (If there is a problem with loading a program with Euromap67 signals after the language has been changed, the program first needs to be loaded and saved in the original language, then it can be loaded in any language.)
- Conveyor tracking: Fixed performance issue that caused "broken communication with PC" when having a protective stop while conveyor tracking
- Resolved path deviation problem which were introduced in release 16828.
- socket_read_byte_list: Fixed backwards compatibility with version 3.0.
- Fixed comparison between strings.
- Program tab: Variable no longer disappears from the program when a node that uses a variable is removed or suppressed.
- Program tab: Prevented an exception occurring after pasting a node with a variable that is not used elsewhere in the tree.
- Boundaries tab: Fixed bug where validation of input for the "Deviation" text field in the configuration of the Tool Boundary was missing.
This is the first release note:
Safety A: 453
Safety B: 179
- Added undo/redo for programming the robots
- Support for Multiple TCP's in an installation
- Added option for defining TCP by teaching four positions
- Switch between TCP's during program execution (no script code)
- Improved force control, so it now tracks the target trajectory better (Note: This may affect old programs using force control)
- Option for assign special functions to digital I/O's
- Inputs: External START, STOP, PAUSE, FREEDRIVE_MODE
- Outputs: Program running
- Conveyor tracking user interface with the following features:
- Defining linear and circular conveyors
- Conveyor tracking sections, where all movements inbetween will follow the conveyor
- Counter input from either conveyor encoders as quadrature using digital I/0's or from MODBUS register
- Automatic firmware update, so all joints run with firmware that fits the controller version
- Note, that the improvement of force control in this version will affect programs using force control created in previous versions
- Note, that for existing SW 3.0 installation files, where the safety configuration contains a minimum or maximum allowed joint position configured to exactly 360 degrees (default is 363), the safety checksum will change after updating to this software version
- Note, If you downgrade from version 3.1 to 3.0, you must downgrade the joint firmware manually
- Added undo/redo functionality so changes to programs are now reversible
- Added visual indicators for the program execution in the program.
- Added U.S. patent information to the about dialog
- Renamed the "Teach" button on the "Move screen" to "Freedrive"
- Added support for multiple TCP offsets
- Orientation of a TCP can now be specified
- Easy support for configuring Conveyor tracking
- Made it possible to select a TCP offset to be used for a particular motion of the robot
- Added support for teaching a TCP offset by saving several positions of the robot
- Joint firmware is now updated automatically after each software update. The update is triggered when the robot arm is first powered on after the software update
- Added support configuration of the tool's center of gravity
- Added support for execution of selected actions using a digital input (External START, STOP, PAUSE, FREEDRIVE_MODE)
- Added support for using a digital output to monitor whether a program is running on the robot
- Expression Editor:
- Removed the script functions "set_tcp()", "floor()" and "random()"
- Added the script functions "get_actual_tcp_pose()", "get_actual_joint_positions()", "integer_to_binary_list()", "binary_list_to_integer()", "d2r()", "r2d()", "read_port_bit()" and "read_port_register()"
- Made Force mode settings default to max force limit from safety setup instead of always 150N
- Added button "Edit pose" under "Advanced options" in the Waypoint screen. This button makes it possible to edit poses without moving the robotarm to the position specified
- In force mode setup: disabled possibility to use X-axis as Compliant under use of Motion type
- In force mode setup: disable possibility to use TeachTest under use of Motion type
- Disabled "simulate robot" on Move screen
- Added file filter for .urscipt, when loading script files
- General clean up of file filters for .urp, backup files, installation and script files
- Automatic Move to a waypoint inside a MoveL node is now performed with MoveL, if possible
- There is now a proper explanation error message when updating with an invalid urup file
- It is now checked whether a file format can be loaded either as a program or as an installation
- The load/save dialog now supports file deletion, file rename and directory creation both on the flash card and on usb-sticks
- Removed Trigger Reduced mode boundary for tool orientation from the safety confirmation dialog and from the safety settings dialog since such a boundary cannot be configured
- In the Move Tab the robot visualisation graphics is no longer flickering when the Tool Feature is selected
- Expressions that contains waypoints that has become non-existing will no longer crash the GUI. Creating a program with 1) a Waypoint say W and 2) a Wait node with the expression W ? W and 3) then deleting (or supressing W) and 4) then editing the expression will now warn the user that parts of the expression are undefined
- In wait nodes Euromap67 input signals are now listed in the "wait for digital input"
- Extended Dashboard Server to support closing of safety popups through the "close safety popup" command
- Extended Dashboard Server to support closing of Protective Stop messages through the "unlock protective stop"
- Added pop-up when robot has moved while powered off (requests user to verify encoder readings)
- Added pop-up when restarting after robot encoders have failed (requests user to verify encoder readings)
- Cleaned up generated script code for force mode (functionality remains)
- Added serial number to the first message in the log and the about dialog
- Improved force control, the robot now stays on trajectory when using force control (this may affect old programs using force control)
- Currently applied TCP offset was added to the robot state message for both primary and secondary clients
- The version message is now sent to secondary clients each time a new client connects
- Previous version of the ModbusPortMap gave only the joint angles [0-360] degrees on port 270-275. Now added port 320-325 which holds the joint revolution count (number of ful turns, typically 0 or 1)
- Remote function calls (RPC) on external running software for integration purposes
- For example to integrate an image processing library which is responsible for locating objects in the robot workspace
- Function calls with an arbitrary number of arguments and a (void) return value are supported
- Uses xmlrpc standard, over binary socket or http
- Example usage: proxy= rpc_factory(url); proxy.my_function(argument1, argument2);
- Added the script functions "freedrive_mode()" and "end_freedrive_mode()"
- Added "length" function for determining the length of a string or list
- Extended "socket_read_string" and "socket_read_ascii_float()" parsing functionality for extracting the right data using prefix and suffix markers
- socket send commands now use TCP_NODELAY to prevent write-write-read problems (wiki: Nagle's algorithm)
- Improved robustness of socket communication in scripts in general
- "Not equals" operator now work on lists. Before "not equals" would always return false on two given lists (that is  = [1,2] would evaluate to false and [1,2] = [1,2] would evaluate to false). Now, not equals works as expected on lists (that is  = [1,2] evaluates to true and [1,2] = [1,2] evaluate to false). Caution: Programs that rely on the "not-equals"-operator on lists should be reviewed before taken into use
- Added parameter "absolute_encoder_resolution" to script function "set_conveyor_tick_count()", so wrapping of 8,16,24,32 bit encoders is handled
- Fixed memory leak regarding strings in scripts
- Pressing the freedrive button while robot is powered off caused protective stop
- The robot in URSim would move with a higher speed than defined
- Improved responsiveness of the MODBUS server under high load
- Fixed issues where conveyor tracking could cause sudden unexpected movement
- When a new TCP was set during the execution of a program, the script functions get_actual_tcp_pose(), get_actual_tcp_speed(), get_target_tcp_pose(), get_target_tcp_speed(), get_tcp_force() did not take the new TCP into account in the first time step. Now they are immediately updated when a new TCP is set.
- Improved the inverse kinematics default accuracy from 10e-4 to 10e-10, same computational cost
- Forcemode: Remove spikes when having move commands inside force mode
- Forcemode: Add a "stopl" command at the end of force mode to avoid protective stops
- Reduced processor usage of MODBUS clent by 30-50%, potentially solves problems related to "C10 Broken PC communication error"
- Fixed bug where robot moved unexpectedly when stopping or pausing a program in force mode
- Now, the first safety plane in the 'Safety Boundaries' panel is selected by default the first time the Boundaries tab is entered
- Fixed bug, where saving the SubProgram nodes did not always work and gave impression that it did
- Fixed bug, where waypoints could not share the same name
- Fixed bug, a feature can now be renamed to the name of another feature (features become linked)
- Fixed bug, where modifications to the program did not always enable the Save Program icon
- Fixed bug, where delete file/folder and rename file/folder did not work in the file dialog
- Fixed bug, where a Java exception occurred when copying a SubProgram node containing an If and an Else node
- Fixed bug, where Modbus Client I/O screen didn't always show correct components (Polyscope mode) in Dashboard
- Fixed bugs in Wait node:
- The unit of analog inputs was always shown as volts
- For analog inputs, it was only allowed to type in values between 0 and 5 instead of the complete range of 1 - 10 volts or 4 - 20 mA
- Fixed bug where configurable outputs were not always properly disabled in the IO screen
- Fixed bug that allowed the user to input illegal installation variable names that could break programs
- Fixed bug where dialog appeared about unable to save Installation Variables, when no installation variables existed
- Fixed bug where a dialog asking to overwrite an existing file would be shown when saving an installation with the same name as an existing program file. On confirm, the installation 'InstallationName' would be saved under the name InstallationName.urp
- Fixed bug, where a variable feature did not contain the same values (value was p[0,0,0,0,0,0]) after reboot
- Fixed bug, where a popup was displayed when loading a program containing a BeforeStart node
- Fixed bug where a safety configuration created in the metric system could be invalid after switching to the imperial system
- Fixed bug, where it was possible to specify the interval of the position range limit for a joint to be less than 7 degrees, which would cause the controller to shut down without an error message
- Fixed bug for the Script node, where a Java exception occurred when switching away from the "Command" screen after creating a new file without saving
- Fixed bug where installation variables were not saved when renaming or performing save as to installation
- Keyboard now supports 'plus' key
- Fixed bug: Tooltips are hidden by keypad in Safety Configuration
- Fixed bug: Analog I/O current range (4-20mA) is now working correct
- Fixed bug: Analog I/O can now not be used outside the range
- Fixed bug: Modbus servers registers for the analog I/O now working with the correct range (0-65535)
- Fixed bugs in the Pose Editor screen:
- Fixed bug where the target shadow robot was shown in the wrong position and the TCP coordinate text boxes where not updated after changing the view
- Fixed bug where the view of the 3D visualization changed while editing a pose
- Fixed bug where the TCP positions are a bit off and the TCP rotation can jump to high numbers when the "Tool" feature is selected
- Fixed small flickering when switching between different features
- Fixed bug: Saving an installation file with the same name as an existing urp file does not make the GUI complain
- Fixed bug: Now there is validation on the tcp payload on the initialization screen
- Fixed bug causing incorrect visualization of blending trajectories
- Fixed bug: Installations associated to programs in subdirectories or on USB's was not always loaded
- Fixed bug: Default program file path is now saved/loaded correctly
- Fixed bug: When loading an installation from a USB stick, the Installation Variables are now loaded along
- Fixed bug: Variable now keeps value from previous run in RUN view
- Fixed bug: PalletSequence now retains anchored waypoint when cut/copy and paste is used
- Fixed bug: French word for momentum has been corrected and "Add circle move" button has been repositioned so that it does not disappear when the program tree is expanded
- Fixed bug where a "Not a number" error message was displayed when clearing the "Payload" text field in the TCP configuration panel in the Installation tab
- Fixed translation of "Current" and "Shift" in Czech and Slovak
- Fixed bug, where the entered value was lost when changing the sign of a value in a text field.
- The joint will stay in booting mode until the controller acknowledges that it has received the selftest data
- Removed wrong reach of the robot arm from the first page of the software manual (was 800 mm regardless of robot type).
- Section on installation and un-installation of Euromap67 is updated in accordance with the behaviour of CB3. (only english manual)
- Corrected some tolerances in the calibration manual
Note, the new joint firmware will be automatically applied with the software upgrade