Force Copilot URCap

This file describes software changes.

----------------------------
Release 1.23.0 - 2021/12/02
----------------------------
Tested on PolyScope 3.15.3
Tested on PolyScope 5.11.5

[NEW] The UCS-1.23.0 software now supports the PE Series Robotiq Palletizing Solution.

[BUGFIX] Fixed an issue where an incorrect Ethernet-USB adapter driver was installed on the Universal Robots Controller. Robot type detection has been improved to ensure correct driver installation.

[IMPROVEMENTS] Minimal pallet height was reduced from 50 mm to 1 mm to accommodate slip sheets.


----------------------------
Release 1.22.1 - 2021/11/09
----------------------------
Tested on PolyScope 3.15.3
Tested on PolyScope 5.11.1


 When saving the program/installation file, even if the auto-start is checked in the installation, the linear axis will not start.
[BUGFIX] When hitting the free drive twice or activate the active drive, the installation file will remain the same.



----------------------------
Release 1.22.0 - 2021/10/21
----------------------------
Tested on PolyScope 3.15.3
Tested on PolyScope 5.11.1

[NEW] It is now possible to create a partial pallet with the "set_pallet_completed()" script function.
[NEW] Added script functions to enable/disable the linear axis for the Palletizing application.
[NEW] Using a checkbox, the linear axis can now be enabled at the program start if there is a Linear Axis Move or Palletizer node in the program.

[BUGFIX] Removed thread creation for each individual Force Control node.
[BUGFIX] Renamed the Robotiq USB-ethernet adapter network interface used for the Palletizing application. This avoids conflicts with the Profinet connection on e-Series robots.

[IMPROVEMENTS] The trolley on the linear axis for the Palletizing application maintains its position after an Emergency Stop.
[IMPROVEMENTS] Allow the linear axis to be disabled during a robot program when it is not used.
[IMPROVEMENTS] Added a delay to avoid an RTDE error when a user makes multiple attempts to start a program.

----------------------------
Release 1.21.1 - 2021/09/09
----------------------------
Tested on PolyScope 3.15.3 and later.
Tested on PolyScope 5.11.1 and later.

[BUGFIX] When working with two pallets in depalletizing mode, the program will now consider that the second pallet is full instead of empty if the "Validate pallet state at program startup" box is unchecked.
[BUGFIX] Corrected an issue with the Palletizing Solution trajectories for Gripper holding a box : the Gripper holding the box will not come into contact with other boxes standing on the conveyor belt, or with the conveyor itself. 

[IMPROVEMENTS] Improved the general robustness of the palletizing application.

----------------------------
Release 1.21.0 - 2021/07/27
----------------------------
Tested on PolyScope 3.15.1 and later.
Tested on PolyScope 5.11.0 and later.

[NEW] Added support for Depalletizing.
[NEW] Added script function to get the linear axis position.
[NEW] Added script function to get the number of boxes processed.

[BUGFIX] Increased box weight limit to support UR16 payload.
[BUGFIX] Fixed a compatibility issue when Profinet is enabled and the Palletizing application is used.
[BUGFIX] The RTDE force injection now works as expected.
[BUGFIX] Corrected a rounding issue with the "Motion speed" and "Maximum distance travelled" parameters for the Find Surface node.
[BUGFIX] Fixed Spiral search insertion for small linear displacement that generates false success.

[IMPROVEMENTS] Improved the general robustness of the Palletizing application.
[IMPROVEMENTS] Linear axis controller software is now updated by the URCap.
[IMPROVEMENTS] Robot returns to the picking position when the pallet is complete.
[IMPROVEMENTS] A virtual ceiling height can be specified for the Palletizing application.

----------------------------
Release 1.20.1 - 2021/06/07
----------------------------
Tested on PolyScope 3.15.1 and later.
Tested on PolyScope 5.11.0 and later.

[IMPROVEMENT] Improve trajectories to avoid conveyor and boxes on conveyor.

----------------------------
Release 1.20.0 - 2021/05/20
----------------------------
Tested on PolyScope 3.15.1 and later.
Tested on PolyScope 5.10.1 and later.

[BUGFIX] Fixed an issue with the Path when used as external tooling.
[BUGFIX] Corrected a problem that causes the carriage to be in a negative position and trigger an invalid JSON error with the Palletizing application.

[IMPROVEMENTS] Improve the general robustness of the Palletizing application.
[IMPROVEMENTS] It is now possible to hide/show specific nodes in the Program tab.
[IMPROVEMENTS] Moved the command to initialize the linear axis in the toolbar for the Palletizing application.
----------------------------
Release 1.19.1 - 2021/04/01
----------------------------
Tested on PolyScope 3.15.1 and later.
Tested on PolyScope 5.10.1 and later.

[BUGFIX] Fixed the detection of the new FT 300-S Force Torque Sensor.

----------------------------
Release 1.19.0 - 2021/03/05
----------------------------
Tested on PolyScope 3.14.3 and later.
Tested on PolyScope 5.9.4 and later.

[NEW] Added support for two Palletizer node, one for the left side and one for the right side.
[NEW] Boxes can be managed according to labels.
[NEW] Added an option to disable a soft transition while resuming from safeguard stop to avoid an RTDE error if Ethernet/IP is activated on the robot.
[NEW] The relative and variable position options are now included in the Linear axis move node.
[NEW] The option to allow a 90° rotation of the gripper at the Grip Position is now part of the Palletizer node. 

[BUGFIX] Solved some collision circumstances, violations and other similar problems when palletizing.
[BUGFIX] Fixed some issues with the linear axis motion with the Palletizer node.
[BUGFIX] Palletizing takes into account the limits of joints in the Installation tab.
[BUGFIX] Fixed an issue where the time limit was exceeded, caused by a sudden change in direction, for the Path, Multipoint Path and Palletizer.
[BUGFIX] Fixed a problem that could occur at the program start, when the Force Copilot and Wrist Camera are both installed. 
[BUGFIX] Corrected an annotation in the Insertion node user interface, of the German version.

[IMPROVEMENTS] Improved the general error management in the URCap.
[IMPROVEMENTS] Enhanced robot control when palletizing.

----------------------------
Release 1.18.0 - 2021/03/02
----------------------------
Tested on PolyScope 3.14.3 and later.
Tested on PolyScope 5.9.4 and later.

[NEW] Support of new hardware revision of the Palletizing Solution with 8mm of offset for the linear axis

----------------------------
Release 1.17.2 - 2021/02/04
----------------------------
Tested on PolyScope 3.14.3 and later.
Tested on PolyScope 5.9.4 and later.

[BUGFIX] The dongle license is now detected on CB after a restart of the robot.
[BUGFIX] Fixed a crash that could occur during execution of a program with a Palletizer node.

----------------------------
Release 1.17.1 - 2021/01/18
----------------------------
Tested on PolyScope 3.14.3 and later.
Tested on PolyScope 5.9.4 and later.

[BUGFIX] Fixed collision issues when the Grip Position is closed to the base.

----------------------------
Release 1.17.0 - 2020/12/08
----------------------------
Tested on PolyScope 3.14.3 and later.
Tested on PolyScope 5.9.4 and later.

[NEW] Added Palletization capabilities throught the Palletizer node.
[NEW] Added the Linear axis move node to control the motion of the trolley.  

[BUGFIX] Fixed a Keyboard issue not showing the user input when the speed of the execution of the Path and Multipoint Path are modified.
[BUGFIX] Solved several cases that triggered a protective stop with error code C271A1: Runtime is too much behind.

----------------------------
Release 1.16.0 - 2020/09/03
----------------------------
Internal release.

----------------------------
Release 1.15.0 - 2020/08/10
----------------------------
Internal release.

----------------------------
Release 1.14.5 - 2020/09/21
----------------------------
Tested on PolyScope 3.14.1 and later.
Tested on PolyScope 5.9.1 and later.

[BUGFIX] Copilot now uses the RTDE output register addresses in the upper range.

----------------------------
Release 1.14.4 - 2020/06/09
----------------------------
Tested on PolyScope 3.13.1 and later.
Tested on PolyScope 5.8.2 and later.

[BUGFIX] Force value initiating the spiral insertion is now taken into account.

----------------------------
Release 1.14.3 - 2020/05/26
----------------------------
Tested on PolyScope 3.13 and later.
Tested on PolyScope 5.8 and later.

[BUGFIX] Workaround to avoid the Concurrent Modification Exception.
[BUGFIX] Workaround to make program navigation and execution faster.

----------------------------
Release 1.14.2 - 2020/04/16
----------------------------
Tested on PolyScope 3.13 and later.
Tested on PolyScope 5.8 and later.

[BUGFIX] Improved XML RPC requests.
[BUGFIX] Minor aesthetic UI fixes in the Path Generator.

----------------------------
Release 1.14.1 - 2020/02/27
----------------------------
Tested on PolyScope 3.12 and later.
Tested on PolyScope 5.7 and later.

[NEW] Added 4-point options to the Path Generator to realize finishing tasks.

[BUGFIX] Force control node not editable after being suppressed.

----------------------------
Release 1.13.2 - 2020/02/04
----------------------------
Tested on PolyScope 3.12 and later.
Tested on PolyScope 5.6 and later.

[IMPROVEMENT] Navigation in the tree view when there are many Path Generator nodes.

----------------------------
Release 1.13.0 - 2020/01/28
----------------------------
Tested on PolyScope 3.12 and later.
Tested on PolyScope 5.6 and later.

[BUGFIX] Memory leak issue when multiple nodes of various types was inserted.
[BUGFIX] A few issues related to Find Contact Offset/Apply Contact Offset.
[BUGFIX] Toggle between line to curve in Multipoint Path.
[BUGFIX] Spiral insertion now works properly in Y-axis.
[BUGFIX] Test button does not show force in Motion frame anymore.
[BUGFIX] Limit RTDE error when clicking Test button in various node.
[BUGFIX] Tool is turned on when Hold to test button is used in Finishing Tool/Stop Tool.
[BUGFIX] Deceleration is too slow after Hold to test button is released in the Path Generator node.
[BUGFIX] Rotational insertion caused a protective stop at 45 degrees/s.
[BUGFIX] Rotational insertion enters in oscillation when the maximum torque is reached.
[BUGFIX] setpathgeneratorwaypointsxmlrpc request is working again.
[BUGFIX] Path Generator and Force Control nodes works properly under a UR Conveyor node.
[BUGFIX] Path Generator ends on the user specified end point.
[BUGFIX] Path Generator migration data from 1.12.1 to 1.13.0 works as expected.
[BUGFIX] The Dashboard is now connected with auto reconnection when an application starts to limit RTDE error.
 
----------------------------
Release 1.12.1 - 2019/11/22
----------------------------
Tested on PolyScope 3.11 and later.
Tested on PolyScope 5.5 and later.

[BUGFIX] Performance issue when a line or a curve was added to a Multipoint Path node.
[BUGFIX] Teach sequence could not be achieved in a Find Contact Offset node if the language used was set to French, German or Spanish.

----------------------------
Release 1.12.0 - 2019/10/11
----------------------------
Tested on PolyScope 3.11 and later.
Tested on PolyScope 5.5 and later.

[NEW] Added Contact Offset nodes: use Touch sequences to Find or Apply an offset to your whole process.
[NEW] Added 9-point option for the Path Generator.
[NEW] Added checkbox "Path relative to a feature" for nodes Path, Multipoint Path and Path Generator.
[NEW] Supporting the Machine Tending Copilot.
[NEW] Added a Test button in Finishing Tool Control node to test the tool configured output.
[NEW] Supporting the new Universal Robots UR16 model.


[IMPROVEMENTS] Improved performance of large programs containing Copilot nodes.
[IMPROVEMENTS] Improved performance when loading multiple programs sequentially.
[IMPROVEMENTS] Improved performance when using multiple Robotiq products.
[IMPROVEMENTS] Improved stability of the Path Generator node for uncommon path shapes.
[IMPROVEMENTS] Improved backwards compatibility with Path nodes from earlier Copilot versions.
[IMPROVEMENTS] Increased the force drop limit to 100N and torque drop limit to 50Nm in the Force Event node.

[REMOVED] "Zero sensor" checkbox, found in Force Control node.
[REMOVED] Checkbox "Relative" found in Path node.

[BUGFIX] Minor ActiveDrive issues.
[BUGFIX] Path, Multipoint Path and Path Generator nodes: minor fixes and UI improvements.
[BUGFIX] Minor Insertion nodes issues.
[BUGFIX] Incompatibility issue between Copilot and Ethernet/IP on CB-series 3.1.
[BUGFIX] A protective stop would occur when targeted position was used with a wait-for-force node.
[BUGFIX] Forces and moments would show in the Installation node even in the absence of a Copilot license.
[BUGFIX] Robot could move unexpectedly if TCP offset was modified inside a Force Control node.
[BUGFIX] Users could insert any program nodes under a Path Generator node.
[BUGFIX] Transition between a Path and Multipoint path in target position was not smooth.
[BUGFIX] The Force control node Test button would display forces not referenced to the selected reference.

----------------------------
Release 1.11.0 - 2019/06/06
----------------------------
Tested on UR 3.9+/5.3+

[NEW] Path Generator node: specify a few key positions, and a path is automatically plotted for the robot, for either a flat or curved surface.  Can be used with the Finishing Tool Control.
[NEW] Insertion node: the Test button helps ensure insertion operations (Spiral, Rotational, Linear) have been run according to settings.
[NEW] Finishing Tool Control node: tools can now be turned on and off using this node.
[NEW] Two Copilot license types: Finishing Copilot and Force Copilot.  The Finishing Copilot licence gives access to advanced Force Copilot nodes, such as the Finishing Tool Control and the Path Generator.
[NEW] Force Control node: Added an icon which pops up a reference screen about using Targeted position and Current position.
[NEW] Force Control node: force and moment are now displayed when holding the Test button.

[IMPROVEMENT] Tweaked performance when using multiple Robotiq URCaps.
[IMPROVEMENT] ActiveDrive: can now activate by pushing Freedrive twice.

[BUG FIX] Multipoint Path node: Add line and Add curve instructions no longer crash ActiveDrive.
[BUG FIX] Copilot is now fully Tested on the Real-Time Data Exchange (RTDE) client for e-Series robots.
[BUG FIX] Path node: BeforeStart is executed just before the robot starts moving along its path.
[BUG FIX] Trying to access ActiveDrive while a program is running displays a warning message.
[BUG FIX] When a Reorient operation is run in ActiveDrive, if an existing force is applied to the robot, a message is displayed to prompt you to zero forces.
[BUG FIX] Path node: repeatedly tapping the Play and Stop buttons for a program displays a message.
[BUG FIX] Current URCap version is now backward Tested on previous versions for Insertion Spiral and Rotational operations, and can run programs designed in earlier URCap versions that include these operations.
[BUG FIX] ActiveDrive: if you enabled ActiveDrive, zeroed forces, and then switched from Free mode to Translation mode (for instance), the robot used to move based on Free mode.
[BUG FIX] Path and Multipoint Path nodes: multithreading now synchronizes properly and no longer crashes programs.
[BUG FIX] When the Tool Center Point (TCP) was changed after recording a path, the Start and End buttons used the original TCP, while the Play button used the modified TCP.
[BUG FIX] When modifying a TCP orientation, the ActiveDrive Reorient feature made the robot move and turn randomly. 

----------------------------
Release 1.10.0 - 2019/04/23
----------------------------
Tested on UR 3.9+/5.3+

ActiveDrive
- Enable Reorient button when ActiveDrive is not running.
- Reorient button aligns the tool frame with the base frame.
- Prevent robot errors near joint position limits.
- Improve transitions between free mode and contact mode.
- ActiveDrive is always set to 100% speed.

Force Control
- Can now apply force based on Targeted position or Current position (two radio buttons).
- New Motion frame feature.

Bug Fixes
- Matched the Max distance with value set by user in Find Surface.
- Running an entire Path or Multipoint Path with the Play button from the Command tab crashed the XML-RPC server daemon.
- Play button was greyed out when recording a null length path.
- ActiveDrive did not start on the first try after a Protective Stop.
- Find Surface did not work with dual grippers due to incorrect sensor zeroing.
- Instability occurred when force control deviation reached 180 degrees in Rz.
- The Copy/Paste Insertion Node would lose its target position.
- Robot deviated from desired frame while moving with rotation axes blocked in ActiveDrive.

----------------------------
Release 1.9.2 - 2019/03/13
----------------------------
Tested on UR 3.8+/5.2+

bug fix:
- Insertion nodes(spiral and rotational) loses positions when loading program older than 1.9.0 
- Insertion nodes(spiral and rotational) loses positions when copy/pasted with program older than 1.9.0 

----------------------------
Release 1.9.1 - 2019/03/07
----------------------------
Tested on UR 3.8+/5.2+

bug fix:
- Invalid script argument in FindSurface when robot set in a language where decimal number use a comma instead of a dot.

----------------------------
Release 1.9.0 - 2019/02/26
----------------------------
Tested on UR 3.8+/5.2+

Find Surface:
- Can be used in a continious check if
- Add feature base option

Insertion:
- linear search added feature base option

Collision Detection
- Option in installation to automatically start collision detection monitoring when robot program starts
- Option in installation is used as a BeforeStart node.
- Collision detection node to start and stop monitoring

Force Event
- Force reached node wait until force control setting is reached
- Click detection node 

bug fixes:
- A Multipoint Path consisting in pure rotation about Wrist3 causes unwanted oscillations when a TCP offset contains non-zero X and Y elements
- Supressing Multipoint path waypoints breaks waypoint increment
- A non-set waypoint is added to a multipoint path when this path is placed in a suppressed folder after being unsuppressed.
- The multipoint path node would stay stuck at the Adding waypoint... step after trying to press the Add line button.
- Editing a waypoint by using the Edit waypoint button in a multipoint path node actually affected some other waypoints in another multipoint path found in the same program.
- Rotational peck mode option rotate always in the same orientation.
- OnError condition not executed on Rotational node.
- Path node can have zero speed factor
- Find Surface minimum speed isn't take as valid parameter.
- After having a bug where a waypoint would get reedited from the changes made to another waypoint in another multipoint path, it becomes impossible to redit the waypoint to a new pose. The same pose is kept. Only solution is to delete it and restart.
- Wrong feature save in a program with a Force Control Node and other node with drop down list.
- In Force Control node, stiffness of position controlled axis can not be modified if option adaptive stiffness is not choosed. 

----------------------------
Release 1.8.1 - 2019/01/08
----------------------------

Bug fix for Zero Sensor popup displaying twice when starting ActiveDrive while sensor is not still.

----------------------------
Release 1.8.0 - 2018/12/12
----------------------------

ActiveDrive 2.0:
- ActiveDrive toolbar is embedded for e-Series
- separation of contact and non contact modes
- All improvements are applied to CB-Series and e-Series robots
- No singularity restrictions
- Contact mode is sufficiently stable for insertions
- Non-contact mode is more responsive

Rotation Search:
- Add possibility to chose rotational direction

Multipoint Path:
- Add possibility to rename waypoint

bug fixes:
- Abrupt motion or Node Executor Error no longer occurs on program loop for a robot program with a combination of UR nodes and Force Copilot nodes, both of which move the robot
- Multipoint Path up and down arrows button doesn't break the treenode when adding or deleting after using those buttons.
- Multipoint Path tool speed textfield insert default value if user clicks away and keypad disappear.
- All joint limits, including infinite limits for UR3 Wrist3, are correctly imposed
- Suppressing a ForceControl node with an RQMoves node does not break the Polyscope tree
- ActiveDrive stops after 30 seconds of inactivity
- Excessive force is detectected correctly when starting ActiveDrive

----------------------------
Release 1.7.1 - 2018/11/01
----------------------------

bug fixes:
-Multipoint Path waypoints node numbers are managed with UndoRedo UR function and Delete UR functions.
-Adding Multipoint Path waypoint is 10 times faster than before.
-Multipoint Path waypoint type radio buttons are updated when waypoint is deleted.
-Possibility of adding a waypoint even when the adding button is disabled is corrected.
-Reduce invalid instances of Node executor error and protective stops, particularly when pausing and playing a path with large orientation changes.
-Unexpected orientation changes in Multipoint Path should no longer occur.
-Unexpected behavior for Multipoint Path with repeated points should no longer occur.
-ActiveDrive stops automatically due after several seconds when displaying camera tab.
-Fix Sensor and Skills "double defined" errors and warn user to use the new URCap instead of Skills
-Japanese translation reviewed.

----------------------------
Release 1.7.0 - 2018/10/12
----------------------------

URCap is now Tested on e-Series Universal Robots (activation via USB license dongle)
Zero Sensor node has a checkbox option to wait for the sensor to be steady
Zero Sensor node uses a filtered zero value (CB-Series robots)
Insertion node adds a removable Zero Sensor node as first child
Find Surface node has a checkbox to optionnaly add a Zero Sensor instruction
Multipoint Path node increments its waypoint numbers
Path node does not display the path time value anymore, and is more reactive

bug fixes: 
-ActiveDrive square malfunction is resolved
-Correction of Multipoint Path node display errors
-Incompatibility with languages using comma as decimal delimiter

know bug:
-Zero sensor popup appear twice when starting ActiveDrive and sensor is not still.

----------------------------
Release 1.6.1 - 2018/09/02
----------------------------

bug fixes: 
-ActiveDrive toolbar visible for all languages.

----------------------------
Release 1.6.0 - 2018/08/31
----------------------------
Robotiq Move node added, along with Waypoint node
Translations added in german, french, spanish, japanese, chinese and korean.
Check box into Installation tab to hide and show ActiveDrive toolbar.

bug fixes: 
-Path speed slider fo each node(not the same anymore).
-Path speed indicator is visible

----------------------------
Release 1.5.0 - 2018/08/07
----------------------------
Added Insertion node.
Added Find Surface node.

TBD:
bug fixes:
- movejId not registered
- recorded path with no robot motion will not cause server to crash

----------------------------
Release 1.4.0 - 2018/07/11
----------------------------
Tested on Polyscope 3.6 (not Tested on Polyscope 3.5 and previous versions).

----------------------------
Release 1.3.0 - 2018/06/15
----------------------------
Added the FT Mode node
Added functions to the expression builder: get_applied_tcp_force(<index>), get_applied_base_force(<index>), express_force_in_frame(<T_from_to>, <wrench>)
Bugfix: Improvement in the Active Drive reorienting
Bugfix: Sealed off the resource leakage causing PolyScope to slow down
Bugfix: Sensor firmware upgrader now upgrades to version 1.6.3

----------------------------
Release 1.2.1 - 2017/12/11
----------------------------
Added the Zero FT Sensor node
Bugfix for orientation interpolation during path
Path termination modified to prevent protective stop
Improvement of the path accuracy at high speed
Bugfix in the restart of the XMLRPC server after reboot
Bugfix for the ActiveDrive toolbar occasionally not displaying upon restart of PolyScope

----------------------------
Release 1.2.0 - 2017/11/12
----------------------------
Deletion of the program template allowing to read the force values (now hidden)
Sensor's force values fed to the robot
New path constantification algorithm
Calibration tool now in the Installation tab (deletion of the robot program)
Access to Sensor's status, force and moment values via the Dashboard tab
Firmware upgrade option in the Dashboard tab, if applicable
Reliable display of the ActiveDrive toolbar (displays upon robot initialization if failed to display at the startup)

----------------------------
Release 1.1.1 - 2017/03/16
----------------------------
Return of Polyscope Speed slider warnings if under 50%

----------------------------
Release 1.1.0 - 2017/03/13
----------------------------
This release has been tested on those controllers: CB3.1 (polyscope version 3.3.4.310 and 3.4.0.39)
Polyscope Speed slider controls the ActiveDrive maximal speed
Maximal tcp speed increase from 0.4 to 0.5 m/s and from 2.0rad/s to 2.5rad/s
Small adjustement of speed gain to increase reactiveness
Compatibility with SW3.4

----------------------------
Release 1.0.1 - 2016/09/16
----------------------------
The template_sensor.urp program uses the read data method which prevent a lag to build in the sensor data when a program is paused.

----------------------------
Release 1.0.0 - 2016/06/22
----------------------------
First release . This release has been tested on those controllers: CB3.1 (polyscope version 3.3.0.145).
