Release Notes

Motion Plus 1.4.0

The 1.4.0 release requires Polyscope XXX and the urcap file MotionPlus-xx.xx.xx.urcap.

Major Changes

Minor Changes

  • Added a new function (get_pose_from_axis_group_positions()) that returns the pose of a world model frame given positions of an axis group its attached to. See here for documentation and examples.

  • Added a new function (is_axis()) that indicates if the provided string argument is an axis or not. See here for documentation and examples.

  • Added a new function (is_axis_group()) that indicates if the provided string argument is an axis group or not. See here for documentation and examples.

Bugs Fixed

Motion Plus 1.3.0

The 1.3.0 release requires Polyscope 5.22 and the urcap file MotionPlus-1.3.34.urcap.

Major Changes

  • The Beta Editions of MotionPlus now require a license.

  • EtherCAT message logging is now available via the URScript command

    ethercat_set_parameter("ecat_record_enable", True)
    
    • As a prerequisite, the tshark utility must be installed on the UR Control Box.

    • Message logs are saved in “/programs/_ecat_records” by default but this location can be changed with the URScript command ethercat_set_parameter("ecat_record_dir", <folder-path>) .

  • The movel_with_axis_group() and movej_with_axis group() commands now support jerk-limited robot motion. Jerk-limited move can be selected using the motion_version_set() URScript function.

  • The ethercat read SDO function now returns a structure, indicating if the read succeeded. If the read fails, then an error code is returned. If the error code is zero, then value contains the expected read value (a float or a string). Refer to the updated docs. This is a breaking change.

Minor Changes

  • The URScript function

    ethercat_begin_status_monitor()
    

    has been deprecated and is no longer automatically called at the start of each program.

    • This function is no longer needed because a Protective Stop will now be automatically generated if the EtherCAT Master dies while an axis is in use and because EtherCAT Master error details are now displayed on the MotionPlus URCap Installation/Application Page.

  • servoj_with_axis_group no longer needs to be provided a duration that is a multiple of the controller timestep.

  • Support of skipped blends in movel_with_axis_group and movej_with_axis_group with and without frame tracking (e.g., blending between movel and movej when time parameter is provided) has been improved.

  • Calling reset_world_model() now will also disable any enabled axes, stop the EtherCAt Master, and remove them from the URCap’s memory, before deleting them from the world model.

  • EtherCAT Master will now emit a runtime error if the Distributed Clock drifts from the controller’s System Clock by more than eight controller timesteps (0.016s). This can occur if the URControl runtime is falling behind.

  • EtherCAT Master now waits for a short time after startup before attempting communication with the EtherCAT slave(s); this is to accommodate drives that do not respond if messages are sent too soon after the EtherCAT network has been created.

Bugs Fixed

  • Corrected an issue where an axis could abruptly come to a stop that violates an axis’s acceleration limit if a built-in command (e.g., servoj_with_axis_group, axis_group_speedj) ends with the axis still in motion at the end of a program.

  • Fixed an issue where servoj_with_axis_group would cause the external axis to vibrate when the Polyscope speed slider was set to anything less than 100% or noisily stop when the Polyscope stop or pause buttons are pressed.

  • Fixed an issue where movej or movej_with_axis_group could report a path sanity error under some circumstances.

  • Fixed a bug where movel and movel_with_axis_group would report a pose out-of-reach error if the desired target pose is outside the reach of the robot even if it will be moved into reach of the robot while frame tracking.

  • Fixed a regression where frame tracking an axis group while running (movep, movec, movel, and movej) would lag behind the tracked frame when the timescale is not set at 100%. This doesn’t apply to any of the xxx_with_axis_group() commands.

  • Fixed a bug where the Polyscope teach pendant could freeze or the axis could move rapidly after a user presses the emergency stop button and then resuming while frame tracking