This release contains bugfixes, improvements and new features. For a complete overview of issues that are part of this release, please see the milestone v0.5 issue list.
The highlights for this release are:
Enhancements
- Motion Plots for Robot Moves: Added visualization of speed, acceleration, jerk, and setpoint locations in addition to axis locations, providing better insight into robot movements over time. (Issue #74)
- ALAP/Just-in-Time/Deadlines Support: Extended LSAT with support for modeling and analyzing actions and activities that should execute as-late-as-possible or meet specific deadlines. (Issue #81)
- Stochastic Distributions in Expression Language: Added support for assigning stochastic distributions to variables in settings files, providing consistency with direct timing value assignments. (Issue #94)
- Additional Statistical Distributions: Added Gamma, LogNormal, and Poisson distributions to the available options in settings. (Issue #97)
- Motion Calculator Post-Processing: Implemented a system for applying post-processing operations to deterministic motion calculator results, allowing for stochastic behavior in calculated timings through the new
MoveAdjustmentssection. (Issue #121) - Fixed Duration Profile: Added support for fixed duration moves in the P2P Motion Calculator, simplifying the specification of moves with predetermined durations. (Issue #124)
- Math functions: Extended the expressions in the settings DSL with the modulo operator and math functions like sin, cos, tan, asin, acos, atan, atan2, abs, exp, log, min, max and sqrt for more flexible calculations. (Issue 115 and Issue 126)
- Enhanced Stochastic Impact Analysis: Added comprehensive statistics to stochastic impact analysis, including mean, standard deviation, skewness, min, and max values for action start times. (Issue #132)
- HTTP/REST Server: Added a REST API server to retrieve data and execute functions on LSAT, supporting project listing, file management, and timing analysis operations. (Issue #133)
- Parameterized Activities: Introduced parameter support for activities, similar to arguments in functional programming languages, allowing for more reusable activity definitions and clearer specifications. (Issue #139)
- Chart View CSV Export: Added functionality to export Chart View data (including distance, velocity, acceleration, and jerk over time) as CSV files for better analysis. (Issue #140)
- Product Modeling System: Implemented a comprehensive system to track product ownership transfers and property changes via the generated schedule. Products can be owned and transferred between peripherals, with all transfers and modifications recorded in JSON activity files after timing analysis.
- Socket/REST/IP based SPG: Added support for socket-based JSON communication for custom Setpoint Generators, making it easier to integrate with other languages like MATLAB and Python without the complexity of shared C-libraries. (Issue #110)
- Machine Diagram Behavior: Improved user experience by making machine diagrams open only on user request rather than automatically. (Issue #137)
- Performance Improvements: Enhanced performance for large models, particularly in stochastic analysis, event removal, and activity validation. (Issue #138)
Bug Fixes
- Documentation Fix: Corrected the description in CONTRIBUTING.asciidoc which incorrectly contained TRACE description instead of LSAT description. (Issue #72)
- QVTO Distribution Recognition: Fixed an issue where QVTO distributions were not being recognized in Eclipse editors and Project explorer, despite working correctly in Eclipse and Maven builds. (Issue #103)
- Chart View Limits Display: Resolved incorrect plotting of limits in the chart view when displaying concatenated moves with different movement profiles. (Issue #117)
- Stochastic Impact Analysis: Fixed calculation errors in stochastic impact analysis that were causing incorrect critical path identification due to rounding discrepancies. (Issue #131)
- Duplicate Peripheral Types: Addressed an issue where machine files allowed multiple peripheral types with the same name, causing only the first defined peripheral type’s actions to be recognized. (Issue #136)
- Scientific Notation Support: Fixed parsing of numbers in scientific notation, particularly for values like 1.0e2 which were not being recognized correctly in settings and time-constraint limits. (Issue #150)