<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <id>https://kb.robco.example/robflow/release-notes</id>
    <title>RobCo Knowledge Base Blog</title>
    <updated>2026-08-01T00:00:00.000Z</updated>
    <generator>https://github.com/jpmonette/feed</generator>
    <link rel="alternate" href="https://kb.robco.example/robflow/release-notes"/>
    <subtitle>RobCo Knowledge Base Blog</subtitle>
    <icon>https://kb.robco.example/img/favicon.svg</icon>
    <entry>
        <title type="html"><![CDATA[RobFlow 8.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-8-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-8-0"/>
        <updated>2026-08-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[RobFlow V8 now runs on ROS 2, the industry-standard robotics middleware — a new foundation that lets us ship features faster and integrate more easily.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-8-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<p>RobFlow V8 now runs on <strong>ROS 2</strong>, the industry-standard robotics middleware — a new foundation that lets us ship features faster and integrate more easily. On top of it, V8 adds two features for more precision and easier factory integration:</p>
<ul>
<li class=""><strong>Built on ROS 2:</strong> New features faster, more reliable performance, and easier integration with the wider robotics ecosystem.</li>
<li class=""><strong>RobCalib — Vision-Based Calibration (Beta):</strong> In combination with Workspace referencing, this improves absolute accuracy to ~1 mm on a 300×300 mm grid, with a guided calibration you can run yourself.</li>
<li class=""><strong>OPC UA Server (Beta):</strong> Connect Robot cells to MES and factory IT over the industry-standard OPC UA protocol — no custom integration, secure by default.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features--changes">Features &amp; changes<a href="https://kb.robco.example/robflow/release-notes/robflow-8-0#features--changes" class="hash-link" aria-label="Direct link to Features &amp; changes" title="Direct link to Features &amp; changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="built-on-ros-2">Built on ROS 2<a href="https://kb.robco.example/robflow/release-notes/robflow-8-0#built-on-ros-2" class="hash-link" aria-label="Direct link to Built on ROS 2" title="Direct link to Built on ROS 2" translate="no">​</a></h3>
<p>RobFlow's core now runs on <strong>ROS 2</strong>, the industry standard for robotics. Your Flows and workflows work exactly as before, but the platform beneath them is now aligned with the wider industry — meaning new features faster, a more reliable and future-proof base, and easier integration with the growing world of ROS 2 tools and partners.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robcalib--vision-based-robot-calibration-beta">RobCalib — Vision-Based Robot Calibration (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-8-0#robcalib--vision-based-robot-calibration-beta" class="hash-link" aria-label="Direct link to RobCalib — Vision-Based Robot Calibration (Beta)" title="Direct link to RobCalib — Vision-Based Robot Calibration (Beta)" translate="no">​</a></h3>
<p>RobCalib improves your Robot's <strong>accuracy</strong> so its movements precisely match their intended positions — essential wherever positions are calculated rather than taught by hand, such as palletizing, vision picking, and precision insertion. Combined with Workspace referencing, a calibrated Robot reaches ~1 mm mean error on a 300×300 mm grid.</p>
<ul>
<li class=""><strong>Run it yourself:</strong> A guided four-step wizard walks you through the whole process — no technician needed.</li>
<li class=""><strong>Live feedback:</strong> Joint-coverage and accuracy metrics update in real time, so you know the result is good before you apply it.</li>
<li class=""><strong>One-click recurring calibration:</strong> Trigger it from a single button in the HMI for cells that recalibrate regularly.</li>
<li class=""><strong>Import, export &amp; restore:</strong> Move calibrations between control units, back them up, or roll back at any time.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="opc-ua-server-beta">OPC UA Server (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-8-0#opc-ua-server-beta" class="hash-link" aria-label="Direct link to OPC UA Server (Beta)" title="Direct link to OPC UA Server (Beta)" translate="no">​</a></h3>
<p>The new <strong>OPC UA Server</strong> connects your Robot cells to MES and factory IT systems over OPC UA, the industry-standard protocol. Built on the official OPC Foundation specifications, any compliant MES or SCADA system can read Robot data <strong>without custom integration</strong>.</p>
<ul>
<li class=""><strong>Standards-based:</strong> Compliant with OPC 40001-1 (Machinery) and OPC 40010-1 (Robotics), so your MES sees machine states and a standardized Robot model it already understands.</li>
<li class=""><strong>Live Robot data:</strong> Real-time state, safety status, axis positions, and speed override from the controller.</li>
<li class=""><strong>Automatic axis detection:</strong> The axis count is detected automatically at startup, keeping up with our modular Robots.</li>
<li class=""><strong>Secure by default:</strong> All connections are encrypted, signed, and certificate-authenticated — no anonymous access.</li>
</ul>
<p><strong>Setting it up</strong></p>
<p>Connecting your MES or SCADA system takes two steps:</p>
<ol>
<li class=""><strong>Point your client at the server.</strong> Connect over <code>opc.tcp</code> on port <strong>4840</strong>, using security policy <strong>Basic256Sha256</strong> and security mode <strong>SignAndEncrypt</strong>. The server generates its own certificate automatically on first start.</li>
<li class=""><strong>Add your client's certificate to the trust list.</strong> Upload your client's certificate (<code>.der</code>) in RobFlow. The server picks it up within ~200 ms — no restart and no interruption to systems already connected — and your client can then discover and read the Robot data. To revoke access later, simply remove the certificate in RobFlow.</li>
</ol>
<p>Only clients whose certificate is in the trust list can connect, so access stays fully under your control.</p>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 7.1.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-7-1-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0"/>
        <updated>2026-05-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Variable based subflow selection: allow variable-based subflow selection within RobFlow, enabling users to dynamically call different subflows based on a variable's value.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<ul>
<li class=""><strong>Variable based Subflow selection:</strong> allow variable-based Subflow selection within RobFlow, enabling users to dynamically call different Subflows based on a Variable's value. This is critical for high-variance applications, such as palletizing over 100 different layouts with a single master Flow.</li>
<li class=""><strong>Improved handling of Variables connected to industrial equipment:</strong> Variables connected to protocols (like Modbus or Profinet) can be set up and edited even when the devices are offline. Additionally, you can force-run Flows in debug mode even if some devices aren't reachable.</li>
<li class=""><strong>Better UX for handling Variables in Expression fields:</strong> Expression fields are now available in more places (HTML Nodes, Generic Button Widget HTML action, and SQL Node). Variables appear as visually highlighted in the editor, making complex Expressions easier to read.</li>
<li class=""><strong>Advanced palletizing Node improvements:</strong> Pallet positions can now be controlled dynamically by using cartesian Variables and UX behavior, if pose dimensions don't match the pallet length, has been improved. Additionally, the Node now allows for 1-layer setup.</li>
<li class=""><strong>Efficient Variable updates:</strong> Variable changes during a Flow run are now sent instantly instead of on a regular timer getting rid of any latency.</li>
<li class=""><strong>Performance improvements</strong>: With dedicated efforts the performance has been improved significantly, especially while working with Modbus devices.</li>
<li class=""><strong>Reworked UX &amp; UI for Robot configuration:</strong> The configuration UI and UX have been comprehensively updated, now supporting auto-save and Variable preview tables for CSV.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features--changes">Features &amp; changes<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#features--changes" class="hash-link" aria-label="Direct link to Features &amp; changes" title="Direct link to Features &amp; changes" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="variable-based-subflow-selection--dashboard-integration">Variable based Subflow selection + Dashboard integration<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#variable-based-subflow-selection--dashboard-integration" class="hash-link" aria-label="Direct link to Variable based Subflow selection + Dashboard integration" title="Direct link to Variable based Subflow selection + Dashboard integration" translate="no">​</a></h3>
<p>We have built a feature to allow variable-based Subflow selection within RobFlow, enabling users to dynamically call different Subflows based on a Variable's value. This is critical for high-variance applications, such as palletizing over 100 different layouts with a single master Flow.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Dynamic Subflow property:</strong> The Subflow Node allows a string Variable to be assigned to the "Subflow Selection" field, which contains the sub Flow uid.</li>
<li class=""><strong>Dashboard list selection:</strong> A Dashboard function/Widget allows a user to pick a Subflow name from a predefined list and store it in a Variable.</li>
<li class=""><strong>Generic button extension:</strong> Generic button Widget was extended by an option to manually select the current button state instead of relying on activation conditions</li>
</ul>
<p><strong>When to use:</strong></p>
<ul>
<li class="">Projects with many different palletizing patterns (e.g. 100) and selecting on from the Dashboard</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-01-3a220c3a36100348f49c5ed124d69cdb.png" width="1418" height="850" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-02-ac41b80c6819942520bf7cc899827937.png" width="1474" height="886" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-03-442606d2ad26e282dc4f4688b473ca60.png" width="1828" height="900" class="img_ev3q"></p>
<p><strong>How to use it:</strong></p>
<ul>
<li class="">Palletizing application with different100 layouts
<ol>
<li class="">Cleaner main Flow setup</li>
</ol>
</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-04-b15b791a64f9fcf42e691a7d9c249400.png" width="1508" height="703" class="img_ev3q"></p>
<ol>
<li class="">Use a generic button with manual selection enabled</li>
</ol>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-05-b49d137d7623825bd3c790e22a5d02a7.png" width="1082" height="407" class="img_ev3q"></p>
<ol>
<li class="">Include in the HMI</li>
</ol>
<p><img decoding="async" loading="lazy" alt="Variable based subflow selection + dashboard integration" src="https://kb.robco.example/assets/images/robflow-7-1-0-06-2cf20552ede7903feffd8bfe70b13957.png" width="1624" height="811" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="flow-export-improvements">Flow export improvements<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#flow-export-improvements" class="hash-link" aria-label="Direct link to Flow export improvements" title="Direct link to Flow export improvements" translate="no">​</a></h3>
<p>When exporting a process that uses dynamic Subflows, you can now manually select and include all necessary Subflows. This prevents missing required files during backup or transfer.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class="">You can manually select and include additional Subflows when exporting a main Flow that uses dynamic Subflow Nodes.</li>
<li class="">This increases reliability for Flow backups and transfers by ensuring all dependencies are included.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Flow export improvements" src="https://kb.robco.example/assets/images/robflow-7-1-0-07-458da9908d3a8c4bc56312ae27b0938a.png" width="1460" height="902" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="variables">Variables<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#variables" class="hash-link" aria-label="Direct link to Variables" title="Direct link to Variables" translate="no">​</a></h3>
<p>Variables connected to industrial equipment are now more robust, allowing you to work even when devices are offline. The editor has also been upgraded with much better filtering and sorting.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Working with offline devices:</strong> You can now create and change protocol-bound Variables (Modbus, Profinet) even if the physical device is currently offline or unreachable.</li>
<li class=""><strong>Debug mode flexibility:</strong> You can 'force-run' a Flow in Debug mode even if it includes Variables connected to a problematic device (=offline), after receiving a clear error message.</li>
<li class=""><strong>Better error visibility:</strong> Variables are now correctly flagged as problematic when their connected Modbus device is not working.</li>
<li class=""><strong>Advanced filtering &amp; sorting:</strong> New filters are available for Variables bound to protocols (Modbus, Profinet) and for Variables that are currently experiencing issues.</li>
<li class=""><strong>Improved editor:</strong> You can now sort the name, type, and tags columns in the extended Variable Editor.</li>
<li class=""><strong>Protocol search:</strong> The Variable selection window now explicitly shows used protocols (profinet/Modbus) and allows you to search by protocol.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Variables" src="https://kb.robco.example/assets/images/robflow-7-1-0-08-4b8212069b94052963cb1d24ce423292.png" width="1576" height="1122" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Variables" src="https://kb.robco.example/assets/images/robflow-7-1-0-09-95e6b74e7c19dd04a213b58f3f210b5f.png" width="1430" height="816" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Variables" src="https://kb.robco.example/assets/images/robflow-7-1-0-10-f561d044c8673bd8387cb8a8a92f939b.png" width="1556" height="932" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ux-improvement-smarter-and-more-widespread-expression-fields">UX Improvement: Smarter and More Widespread Expression Fields<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#ux-improvement-smarter-and-more-widespread-expression-fields" class="hash-link" aria-label="Direct link to UX Improvement: Smarter and More Widespread Expression Fields" title="Direct link to UX Improvement: Smarter and More Widespread Expression Fields" translate="no">​</a></h3>
<p>The editor for Expression Fields has been updated with a user-friendly experience (UX), and these fields are now available in more places within RobFlow.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Visually highlighted Variables:</strong> Variables are now shown as easy-to-read visual blocks ("visually highlighted") within Expressions, simplifying reading of complex logic.</li>
<li class=""><strong>HTML Payload Creation:</strong> HTML Nodes and the Generic Button Widget's HTML action now support Expression Fields, allowing you to use Variables to dynamically build HTML content.</li>
<li class=""><strong>Variable-Driven Queries:</strong> The SQL Node now accepts an Expression field for the SQL Query itself, enabling you to use Variables to change what data you retrieve.</li>
<li class=""><strong>String Support:</strong> The activation requirements for the Generic Button Widget can now use text (String) Variables.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="UX Improvement: Smarter and More Widespread Expression Fields" src="https://kb.robco.example/assets/images/robflow-7-1-0-11-bc9036cc8eb58d582fcada45fc23245c.png" width="1542" height="940" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="advanced-palletizing">Advanced Palletizing<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#advanced-palletizing" class="hash-link" aria-label="Direct link to Advanced Palletizing" title="Direct link to Advanced Palletizing" translate="no">​</a></h3>
<p>This update includes quality-of-life improvements to make creating pallet layouts faster and more flexible. Pallet positions can now update automatically, and your box grouping work is saved even if you change the layout.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Dynamic positions:</strong> Pallet positions can be linked to dynamic Variables, meaning they automatically update whenever the Variable's value changes.</li>
<li class=""><strong>Allowing for 1-layer</strong>**:** The requirement for a minimum of 2 layers has been removed, allowing you to technically use this for a grid with advanced layout options</li>
<li class=""><strong>Improved UX with p****ersistent grouping:</strong> Box groups are now persistent: this means if you create a group but not assign boxes to it, navigate from in the sidebar to a different page and go back, the unused groups are persistent</li>
<li class=""><strong>Improved UX with smart tooltip suggestions</strong>**:** Tooltip has been updated to suggest the expected length for a position.</li>
<li class=""><strong>Streamlined Authoring:</strong> Unnecessary prompts to review sections after changing the Pallet Position have been removed, and adding a Palletizing Node no longer incorrectly refreshes the page.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Advanced Palletizing" src="https://kb.robco.example/assets/images/robflow-7-1-0-12-19be0eb4209b18abeea398baad13913d.png" width="1294" height="888" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Advanced Palletizing" src="https://kb.robco.example/assets/images/robflow-7-1-0-13-ec98e95196eae448373b8bcd14d7e3ea.png" width="1512" height="950" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="reference-groups-and-coordinate-system-updates">Reference Groups and Coordinate System Updates<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#reference-groups-and-coordinate-system-updates" class="hash-link" aria-label="Direct link to Reference Groups and Coordinate System Updates" title="Direct link to Reference Groups and Coordinate System Updates" translate="no">​</a></h3>
<p>The system for managing reference frames has been updated, ensuring linear (Cartesian) movements are calculated correctly when used inside Reference groups, and aligning the Workspace fields with the latest Reference Node.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Intuitive behavior while removing points</strong>**:** We've improved how reference-group edits work to match physical intuition: removing a point from a reference Workspace will no longer unexpectedly move the Robot's target position. When a point is removed, the system automatically adjusts the stored values in the Node so the point's physical location remains exactly where it is.</li>
<li class=""><strong>UI &amp; UX improvements</strong>**:** Workspace reference editing has been updated to more intuitive UI as well as warning users of unintended</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Reference Groups and Coordinate System Updates" src="https://kb.robco.example/assets/images/robflow-7-1-0-14-41b6435a3ef9bb7bf5aa27b17061e6a3.png" width="1775" height="474" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="Reference Groups and Coordinate System Updates" src="https://kb.robco.example/assets/images/robflow-7-1-0-15-207c564256e823bcc74b2860becb89b7.png" width="1089" height="448" class="img_ev3q"></p>
<p><strong>How to use it:</strong></p>
<ul>
<li class="">In scenarios like machine tending, where a machine may shift over time, users recalibrate the Workspace. If a programmer later removes a point from that Workspace, they usually want to preserve the point's current real-world location, not recover an older pre-calibration state. This change ensures reference-group edits match physical intuition: changing a point's membership status will not unexpectedly move the Robot target in space.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="industrial-protocols-tiaudt-enhancements--robsafety-exportsimports">Industrial protocols (TIA/UDT) enhancements + RobSafety exports/imports<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#industrial-protocols-tiaudt-enhancements--robsafety-exportsimports" class="hash-link" aria-label="Direct link to Industrial protocols (TIA/UDT) enhancements + RobSafety exports/imports" title="Direct link to Industrial protocols (TIA/UDT) enhancements + RobSafety exports/imports" translate="no">​</a></h3>
<p>Integration with external systems like TIA (Totally Integrated Automation) and RobSafety is now more reliable and standardized.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Clearer Variables:</strong> Variable descriptions are now included in the generated User Defined Data Type (UDT) file, appearing as helpful comments in TIA.</li>
<li class=""><strong>Standardized Formatting:</strong> UDT files for Profinet Variables now use the correct standard encoding (UTF-8 with BOM and CRLF line endings).</li>
<li class=""><strong>Stable Addressing:</strong> When removing a Profinet Variable with the lowest address (offset), placeholder bytes (<code>padbytes</code>) are automatically inserted. This prevents all other Variables from shifting their address positions.</li>
<li class=""><strong>Safety Management:</strong> You can now import and export the safety configuration within RobSafety.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="performance-connectivity-and-backup">Performance, Connectivity, and Backup<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#performance-connectivity-and-backup" class="hash-link" aria-label="Direct link to Performance, Connectivity, and Backup" title="Direct link to Performance, Connectivity, and Backup" translate="no">​</a></h3>
<p>This release significantly improves performance, especially for Modbus, connection stability, and ensures that a full backup captures all your critical data.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Network Efficiency:</strong> Variable changes during a Flow run are now sent instantly, only when needed (<code>on-demand</code>), instead of on a regular timer.</li>
<li class=""><strong>Performance in general and for Modbus</strong>: Through dedicated backend changes in the backend event loop, we don’t expect any controller loss of connection anymore as well as improved closing &amp; re-opening of connections via Modbus.</li>
<li class=""><strong>Improved UX for lost Robot</strong> <strong>connection:</strong> If no messages are received over the Websocket for 2 seconds, the back-end connection is immediately flagged as broken, ensuring quick detection of connectivity loss.</li>
<li class=""><strong>Complete Backup:</strong> A full backup now includes a complete copy of the SQL database, ensuring no data is missed and for easier full restore.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="Performance, Connectivity, and Backup" src="https://kb.robco.example/assets/images/robflow-7-1-0-16-4ef8f09703418515715aa13db261011c.png" width="923" height="685" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ux--ui-improvements-for-robot-configuration">UX &amp; UI Improvements for Robot Configuration<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#ux--ui-improvements-for-robot-configuration" class="hash-link" aria-label="Direct link to UX &amp; UI Improvements for Robot Configuration" title="Direct link to UX &amp; UI Improvements for Robot Configuration" translate="no">​</a></h3>
<p>The Robot Configuration UI and UX have been comprehensively updated.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Reworked UX:</strong> Edits now auto-save (replacing the explicit button), and the per-section UI state is persistent when switching between sections. Import/Export is now in a kebab menu.</li>
<li class=""><strong>Uniform UI</strong> across all tools (Modbus/TCP, SQL, CSV, etc.</li>
<li class=""><strong>CSV Enhancements:</strong> Added a highly-requested bulk 'Add Variables' dialog and a Variable preview table with snapshot selection and download options.</li>
<li class=""><strong>Protocol Improvements:</strong> Modbus/TCP now includes a live address-range probe, and SQL features a "connect-and-introspect" button.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="UX &amp;amp; UI Improvements for Robot Configuration" src="https://kb.robco.example/assets/images/robflow-7-1-0-17-e9e7f85f0c219276342908368ff5f409.png" width="2029" height="1182" class="img_ev3q"></p>
<p><img decoding="async" loading="lazy" alt="UX &amp;amp; UI Improvements for Robot Configuration" src="https://kb.robco.example/assets/images/robflow-7-1-0-18-2c3e34f05825892cb4067efa3981add3.png" width="1412" height="750" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="quality-of-life-fixes">Quality-of-Life Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#quality-of-life-fixes" class="hash-link" aria-label="Direct link to Quality-of-Life Fixes" title="Direct link to Quality-of-Life Fixes" translate="no">​</a></h3>
<p>Minor improvements have been made to the Flow editor experience.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Editor Stability:</strong> Issues related to managing connections (edges) when adding or removing condition Nodes and split Nodes have been fixed.</li>
<li class=""><strong>Resume Capability:</strong> Flows can now correctly resume execution after being paused because Robot movement was blocked by engaged brakes.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="bug-fixes">Bug Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-7-1-0#bug-fixes" class="hash-link" aria-label="Direct link to Bug Fixes" title="Direct link to Bug Fixes" translate="no">​</a></h3>
<p>This release addresses several key issues for reliability and a smoother authoring experience.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Variable protection:</strong> You can no longer accidentally change read-only Variables during a Flow run, such as through a Generic Button or Set Variable Widget.</li>
<li class=""><strong>Flow start:</strong> A bug that prevented Variables from resetting to their initial value when a Flow started has been fixed.</li>
<li class=""><strong>Protocol stability:</strong> Corrected Profinet UDT file encoding (UTF-8 with BOM and CRLF line endings) and fixed an issue where removing a Variable could shift the memory addresses of subsequent Variables.</li>
<li class=""><strong>Tool stability:</strong> The "used in" filter in the extended Variable editor now correctly shows Variables used in associated Subflows, and HTTP response content is no longer lost on re-mount.</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 7.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-7-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-7-0"/>
        <updated>2026-02-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[RobFlow V7 is the most significant update yet — featuring a completely redesigned interface, native database and data connectivity, new Nodes for industrial integration, and up…]]></summary>
        <content type="html"><![CDATA[<p>RobFlow V7 is the most significant update yet — featuring a completely redesigned interface, native database and data connectivity, new Nodes for industrial integration, and up to 6x faster Flow loading. Key highlights include:</p>
<ul>
<li class=""><strong>Redesigned UI:</strong> Ground-up overhaul with a centralized bottom action panel, moveable 3D visualizer, fully responsive layouts down to 512px, and modernized menus across the entire application.</li>
<li class=""><strong>6x Faster Load Times:</strong> Optimized rendering and intelligent Node caching deliver 6x faster initial Flow loads and 4x lower RAM consumption.</li>
<li class=""><strong>SQL Query Node:</strong> Execute queries against PostgreSQL, MySQL/MariaDB, and Microsoft SQL Server directly from a Flow.</li>
<li class=""><strong>HTTP Node:</strong> Perform HTTP requests natively within Flows to connect to REST APIs, webhooks, or ERP systems.</li>
<li class=""><strong>CSV Node &amp; Download Widget:</strong> Collect, transform, and export tabular data during Flow execution with a Dashboard download Widget for operators.</li>
<li class=""><strong>Advanced Palletizing Update:</strong> Improved palletizing Node with bug fixes, Variable bindings to box groups, and faster configuration.</li>
<li class=""><strong>Profinet &amp; Modbus Variable Bindings:</strong> Bind Variables directly to Profinet I/O fields and Modbus registers with unified native bindings.</li>
<li class=""><strong>Beta Features:</strong> Early access to Auto-Layout.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="redesigned-user-interface">Redesigned User Interface<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#redesigned-user-interface" class="hash-link" aria-label="Direct link to Redesigned User Interface" title="Direct link to Redesigned User Interface" translate="no">​</a></h3>
<p><img decoding="async" loading="lazy" alt="Redesigned User Interface" src="https://kb.robco.example/assets/images/robflow-7-0-01-ab1b11e0259e2a165d76dbe500fb99c0.gif" width="800" height="450" class="img_ev3q"></p>
<p>RobFlow v7 delivers a ground-up UI overhaul focused on operator efficiency, spatial clarity, and responsive design. Every major interface element has been rethought to reduce clicks, improve orientation in complex Flows, and adapt to any screen size.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Centralized bottom action panel:</strong> Play, Pause, Debug, Flow Config, Jogging, Run Single Node, Run &amp; Skip Movement Until Node, Move Back to Trajectory, Resume from Current Location, Subflow Outputs, and Dashboard Config — all consolidated into one intuitive bottom panel.</li>
<li class=""><strong>Moveable &amp; expandable 3D visualizer:</strong> The Robot visualizer has been relocated to the left side of the screen and is now freely moveable and resizable, giving operators full control over their Workspace layout.</li>
<li class=""><strong>Fully responsive layout (512px+):</strong> Every menu, button, and panel is now fully responsive. The previous “display too small” dialog has been removed; RobFlow now supports screens as narrow as 512px.</li>
<li class=""><strong>Unified Robot state drawer:</strong> All Robot state indicators are combined into a single dynamic navigation drawer. Variables have been moved to a dedicated panel on the right side of the screen.</li>
<li class=""><strong>Context menu node/Widget creation:</strong> Right-click (or long-press on mobile) anywhere on the canvas to add Nodes and Widgets directly from a context menu. Copy/paste now places content at the cursor location.</li>
<li class=""><strong>Redesigned jogging panel:</strong> Split into dedicated Joint Movement and Cartesian Movement tabs with an enhanced speed indicator on the Move-to-Target and Run buttons.</li>
<li class=""><strong>Smart Node interaction model:</strong> Collapsed Nodes stay collapsed when dragged. Expanded Nodes are dragged via a dedicated icon. Hold-to-action buttons (e.g., Debug) feature new animation indicators.</li>
<li class=""><strong>Visual polish:</strong> Rounded menus throughout, marquee effect for long text, redesigned dot-grid view selector, HTML-capable Documentation Group descriptions, and refined expansion panel styling.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="sql-query-node">SQL Query Node<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#sql-query-node" class="hash-link" aria-label="Direct link to SQL Query Node" title="Direct link to SQL Query Node" translate="no">​</a></h3>
<p>You can now execute database queries directly from a Flow, enabling your Robot workflows to read from and write to production databases in real time. This is ideal for logging production data, querying BOM tables, or driving Flow logic from external systems.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Multi-driver support:</strong> Connect to PostgreSQL, MySQL/MariaDB, and Microsoft SQL Server.</li>
<li class=""><strong>Flow-integrated queries:</strong> Run SELECT, INSERT, UPDATE, and other SQL statements as part of your Flow logic.</li>
<li class=""><strong>Production data logging:</strong> Automatically log cycle counts, quality results, or timestamps to an external database during Flow execution.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Add a SQL Query Node to your Flow.</li>
<li class="">Configure the database connection (host, port, credentials, database name).</li>
<li class="">Write your SQL query, optionally referencing RobFlow Variables in the query parameters.</li>
<li class="">Run the Flow — the query executes at the configured point in the workflow.</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="http-node">HTTP Node<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#http-node" class="hash-link" aria-label="Direct link to HTTP Node" title="Direct link to HTTP Node" translate="no">​</a></h3>
<p>The new HTTP Node lets you perform HTTP requests natively within Flows, connecting your Robot workflows to REST APIs, webhooks, or MES/ERP systems without any external scripting.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Native HTTP requests:</strong> Send GET, POST, PUT, and DELETE requests from within any Flow.</li>
<li class=""><strong>API &amp; webhook integration:</strong> Trigger webhooks, call REST endpoints, or communicate with MES/ERP systems as part of the robot’s workflow.</li>
<li class=""><strong>Secure backend routing:</strong> Generic Button Widget HTTP requests are now routed securely through the backend.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Add an HTTP Node to your Flow.</li>
<li class="">Configure the request method, URL, headers, and body.</li>
<li class="">Optionally map response data to RobFlow Variables for use in downstream logic.</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="csv-node--csv-download-widget">CSV Node &amp; CSV Download Widget<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#csv-node--csv-download-widget" class="hash-link" aria-label="Direct link to CSV Node &amp; CSV Download Widget" title="Direct link to CSV Node &amp; CSV Download Widget" translate="no">​</a></h3>
<p>Collect, transform, and export tabular data during Flow execution. The companion CSV Download Widget enables operators to retrieve CSV files directly from Dashboard kiosks, making data access easy without leaving the operator interface.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>In-flow data collection:</strong> Build CSV datasets row by row during Flow execution.</li>
<li class=""><strong>Dashboard download:</strong> Operators can download CSV files directly from the Dashboard using the new Download Widget.</li>
<li class=""><strong>Data export:</strong> Export production logs, quality reports, or cycle data as CSV files.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Add a CSV Node to your Flow to define columns and append rows during execution.</li>
<li class="">Add the CSV Download Widget to your Dashboard.</li>
<li class="">Operators press the download button on the Dashboard to retrieve the latest CSV file.</li>
</ol>
<p>Advanced Palletizing Node Update</p>
<p><img decoding="async" loading="lazy" alt="CSV Node &amp;amp; CSV Download Widget" src="https://kb.robco.example/assets/images/robflow-7-0-02-5f084a734259132b3efb26db6feb9e44.png" width="2048" height="1466" class="img_ev3q"></p>
<p>The Advanced Palletizing Node has been significantly improved with new capabilities, a redesigned interface ported to the new v7 UI, and critical bug fixes for more reliable pallet building.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Automated Grid Pattern Generation:</strong> Automatically generate grid-based pallet layer patterns instead of manually defining each box position, speeding up configuration for standard layouts.</li>
<li class=""><strong>Box-to-Box Snapping:</strong> Snap boxes to adjacent positions when defining layouts for faster, more precise pattern creation.</li>
<li class=""><strong>Robot position in pallet visualization:</strong> See the robot’s current position relative to the pallet directly in the 3D visualization, improving spatial awareness during teaching and testing.</li>
<li class=""><strong>Box Group Global Variable Binding:</strong> Bind box group parameters (e.g., dimensions, count) to global Variables, allowing operators to switch between box configurations from the Dashboard or via external devices without modifying the Flow.</li>
<li class=""><strong>“Next Group” Variable exposure:</strong> Access the next box group index as a Variable in your Flow logic, enabling dynamic decisions based on which box group is being processed next.</li>
<li class=""><strong>Improved item selection &amp; order UX:</strong> A more intuitive interface for selecting start/end items and defining the palletizing order within each layer.</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="set-brakes-node">Set Brakes Node<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#set-brakes-node" class="hash-link" aria-label="Direct link to Set Brakes Node" title="Direct link to Set Brakes Node" translate="no">​</a></h3>
<p>Programmatically engage or release Robot brakes during Flow execution. Visual feedback with colored lock icons provides clear brake-state confirmation to operators.</p>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Add a Set Brakes Node to your Flow.</li>
<li class="">Configure whether to engage or release brakes.</li>
<li class="">The Node executes at the configured point in your Flow, with visual status icons confirming the brake state.</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="flow-mini-map">Flow Mini Map<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#flow-mini-map" class="hash-link" aria-label="Direct link to Flow Mini Map" title="Direct link to Flow Mini Map" translate="no">​</a></h3>
<p>A persistent overview mini map in the bottom-right corner provides spatial orientation in large Flows. This makes navigating complex workflows faster and more intuitive, especially for Flows with many branches or Nodes.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="profinet-variable-bindings">Profinet Variable Bindings<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#profinet-variable-bindings" class="hash-link" aria-label="Direct link to Profinet Variable Bindings" title="Direct link to Profinet Variable Bindings" translate="no">​</a></h3>
<p>You can now bind Integer, Float, Boolean, Input, and Output Variables directly to Profinet I/O fields. This replaces the legacy standalone Profinet Variable system with unified native bindings, making PLC integration more seamless and consistent.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Unified bindings:</strong> Bind any supported Variable type directly to Profinet I/O fields from the Variable Editor.</li>
<li class=""><strong>Native integration:</strong> No separate Profinet Variable configuration needed — Variables are managed alongside all other RobFlow Variables.</li>
<li class=""><strong>Multi-type support:</strong> Integer, Float, Boolean, Input, and Output Variables are all supported.</li>
</ul>
<p><strong>Note:</strong> This replaces the previous standalone Profinet Variable system from v6. Existing Profinet Variables will need to be reconfigured as native bindings.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="modbus-variable-bindings">Modbus Variable Bindings<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#modbus-variable-bindings" class="hash-link" aria-label="Direct link to Modbus Variable Bindings" title="Direct link to Modbus Variable Bindings" translate="no">​</a></h3>
<p>Bind Integer and Boolean Variables directly to Modbus registers and coils. Flows automatically pause if a Modbus device connection is lost, preventing unsafe operation.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Direct register binding:</strong> Map RobFlow Variables to Modbus holding registers and coils.</li>
<li class=""><strong>Automatic safety pause:</strong> If the connection to a Modbus device is lost during Flow execution, the Flow automatically pauses to prevent unsafe operation.</li>
<li class=""><strong>Unified Variable management:</strong> Modbus-bound Variables appear alongside all other Variables in the Variable Inspector.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="beta-features">Beta Features<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#beta-features" class="hash-link" aria-label="Direct link to Beta Features" title="Direct link to Beta Features" translate="no">​</a></h2>
<p>With this release, three Beta Features are available. In the Robot Configuration (under Update-Channel), you can switch between Stable and Beta mode to access these experimental features.</p>
<p><strong>Important:</strong> There is no support for Beta features, and there might be breaking changes in features between Beta and Stable state.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="auto-layout-beta">Auto-Layout (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#auto-layout-beta" class="hash-link" aria-label="Direct link to Auto-Layout (Beta)" title="Direct link to Auto-Layout (Beta)" translate="no">​</a></h3>
<p>Automatically reorganize Nodes in a Flow for visual clarity. Accessible via a dedicated button on the canvas toolbar. This is especially useful after importing complex Flows or when a Flow has grown organically over time.</p>
<p><strong>Note:</strong> Disabled while a Flow is running. The layout algorithm may produce suboptimal results on very large or highly nested Flows.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class=""><strong>Log download:</strong> Download complete system logs from the three-dot menu for faster remote debugging and support workflows.</li>
<li class=""><strong>Prevent kiosk breakout:</strong> A new Dashboard Config toggle locks operators into kiosk mode, preventing unauthorized navigation away from the configured Dashboard.</li>
<li class=""><strong>Node counter &amp; performance hints:</strong> A live Node counter warns users when Flow complexity may impact performance, guiding them toward optimization or Subflow extraction.</li>
<li class=""><strong>Advanced camera settings (RobVision):</strong> Configure exposure, auto-exposure, distance filters, and camera calibration parameters directly in the RobFlow UI with full Orbbec camera support.</li>
<li class=""><strong>Network configuration:</strong> Complete peripheral port network configuration including default gateway and DNS server, with a connectivity indicator in the app bar.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Resolved an issue where the Edit Variable Dialog could silently lose values under certain race conditions.</li>
<li class="">Variables from Subflows now correctly appear in the extended Variable Editor.</li>
<li class="">Fixed a recursive deadlock triggered when moving multiple Group Nodes simultaneously.</li>
<li class="">Exported Flows now include all necessary Robot configuration: Tools, Workspaces, Modbus devices, and RobVision devices.</li>
<li class="">Eliminated a backend race condition when setting a Tool and executing a Relative Movement in rapid succession.</li>
<li class="">Database upsert timestamps are now correctly updated.</li>
<li class="">Node execution state indicators no longer persist beyond their intended timeout.</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://kb.robco.example/robflow/release-notes/robflow-7-0#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<ul>
<li class=""><strong>“Constant” renamed to “Readonly”:</strong> The “constant” field on Variables has been renamed to “readonly.” Editing of readonly Variables is now permitted when a Flow is not running.</li>
<li class=""><strong>Event Node → OEE Event Node:</strong> The Event Node has been renamed to OEE Event Node to better reflect its purpose. Existing Flows will be migrated automatically.</li>
<li class=""><strong>Robot Config in exports:</strong> Flow and Subflow exports now include Robot Config data. On import, users are prompted to keep existing or overwrite per entity type.</li>
<li class=""><strong>UI layout changes:</strong> The Flow action bar, Jogging panel, and Robot State indicators have been relocated. Operators accustomed to v6 layouts should review the new centralized bottom panel and right-side state drawer.</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 6.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-6-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-6-0"/>
        <updated>2025-09-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[RobFlow V6 introduces new capabilities for connectivity, cell insights, vision, and multi-robot control.]]></summary>
        <content type="html"><![CDATA[<p>RobFlow V6 introduces new capabilities for connectivity, cell insights, vision, and multi-robot control. Key highlights include:</p>
<ul>
<li class=""><strong>RobMetrics OEE:</strong> Track Availability, Performance, and Quality metrics in RobCo Studio.</li>
<li class=""><strong>Variable Inspector:</strong> Redesigned interface with search, tagging, and multi-select actions.</li>
<li class=""><strong>Profinet Integration:</strong> Control Robots via Siemens PLCs with native Profinet support.</li>
<li class=""><strong>Workspace Reference Manager:</strong> Automatically update poses after Workspace changes.</li>
<li class=""><strong>Multi-Robot Dashboards:</strong> Monitor and control multiple Robots from one interface.</li>
<li class=""><strong>RobVision Enhancements:</strong> Variable assignment, detection-only mode, and visual grasping pose definition.</li>
<li class=""><strong>Beta Features:</strong> Early access to RobCalibration, RobSafety, Streaming Interface, ROS2 Interface and RobVision Label Picking &amp; Depalletizing.</li>
</ul>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robmetrics-oee-overall-equipment-effectiveness">RobMetrics OEE (Overall Equipment Effectiveness)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#robmetrics-oee-overall-equipment-effectiveness" class="hash-link" aria-label="Direct link to RobMetrics OEE (Overall Equipment Effectiveness)" title="Direct link to RobMetrics OEE (Overall Equipment Effectiveness)" translate="no">​</a></h3>
<p>Introducing <strong>RobMetrics OEE</strong>, our new system for tracking Robot cell performance and effectiveness directly in RobCo Studio. By capturing and visualizing <strong>Availability, Performance, and Quality</strong>, it provides actionable insights into operational efficiency.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Automatic metrics tracking:</strong> Most events (e.g., production, errors) are logged automatically; you only need to configure a few with the new <strong>Event Node</strong> in RobFlow.</li>
<li class=""><strong>Event-driven design:</strong> Define events like Blocked, Starved, Good/Bad Counts, or Planned Downtime right in your Flows.</li>
<li class=""><strong>Comprehensive visualization:</strong> See your OEE KPIs in RobCo Studio Dashboards, filter by time range, and export them as CSV.</li>
</ul>
<p><strong>How to use it:</strong>
Configure your OEE events in RobFlow with the new <strong>Event Node</strong> and view your metrics in RobCo Studio under <strong>RobMetrics OEE</strong>.</p>
<p><img decoding="async" loading="lazy" alt="RobMetrics OEE (Overall Equipment Effectiveness)" src="https://kb.robco.example/assets/images/robflow-6-0-01-b0442ed46a1da9041e2fa9e5afe97042.gif" width="400" height="190" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="variable-inspector">Variable Inspector<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#variable-inspector" class="hash-link" aria-label="Direct link to Variable Inspector" title="Direct link to Variable Inspector" translate="no">​</a></h3>
<p>We’ve completely redesigned how Variables are managed in RobFlow to improve usability, reduce errors, and speed up Flow creation. The new <strong>Variable Inspector</strong> replaces the old table in the “Change Robot State” drawer with a powerful, dedicated interface.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class="">Tagging and grouping: New tags let you organize Variables and filter them easily (e.g., by use case, Flow, or type). You can also group Variables into folders.</li>
<li class="">Expandable overlay: Manage Variables in a full-screen interface instead of the cramped drawer.</li>
<li class="">Search and filter: Quickly find Variables by name, type, tags, unused status, or current Flow.</li>
<li class="">Node association: View and edit Variables directly linked to specific Nodes.</li>
<li class="">Simplified model: Flow Variables are removed—tags now serve as the unified way to organize and reference Variables.</li>
</ul>
<p>This makes managing Variables across Flows faster, cleaner, and less error-prone.</p>
<p><img decoding="async" loading="lazy" alt="Variable Inspector" src="https://kb.robco.example/assets/images/robflow-6-0-02-ee09c4f22a656b35be6789d771d01379.gif" width="400" height="369" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="profinet-integration">Profinet Integration<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#profinet-integration" class="hash-link" aria-label="Direct link to Profinet Integration" title="Direct link to Profinet Integration" translate="no">​</a></h3>
<p>You can now control your RobCo Robot directly from a Siemens PLC via <strong>Profinet</strong>, with RobCo acting as a Profinet IO-Device (slave). This enables seamless PLC integration for industrial automation use cases.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Robot control via PLC:</strong> Start, stop, and move the Robot directly from Siemens PLCs.</li>
<li class=""><strong>Profinet Variables in RobFlow:</strong> Define and sync Boolean, Integer, and Float Variables in RobFlow for use in your PLC logic</li>
<li class=""><strong>TIA Portal integration:</strong> Import the RobCo GSDML, datatypes, and function block for a fast setup.</li>
<li class=""><strong>Tested environments:</strong> Siemens TIA Portal V18/V20 with PLC 1200/1500 series.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Import the RobCo GSDML into TIA Portal and add the Robot as a Profinet IO-Device.</li>
<li class="">Connect your PLC to the RobCo Control Unit and assign the correct Profinet device name.</li>
<li class="">Define Profinet Variables in RobFlow and export the .udt file for mapping in TIA Portal.</li>
<li class="">Use the included RobCo function block for reliable communication and state sync.</li>
</ol>
<p><strong>Note:</strong> Our Profinet implementation is tested only on Siemens PLCs. For details, refer to the <strong>RobCo Profinet User Manual (</strong><a href="https://robco.studio/resources" target="_blank" rel="noopener noreferrer" class=""><strong>https://robco.studio/resources</strong></a><strong>, Technical Data)</strong>.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="workspace-reference-manager">Workspace Reference Manager<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#workspace-reference-manager" class="hash-link" aria-label="Direct link to Workspace Reference Manager" title="Direct link to Workspace Reference Manager" translate="no">​</a></h3>
<p>We’ve added a new <strong>Workspace Reference Manager</strong> to simplify adapting Flows after Workspace changes. By linking poses to a reference Workspace, you can automatically update all related poses without manually reteaching them.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class="">Define a Workspace by teaching <strong>3 poses</strong>, creating a reference plane.</li>
<li class="">Update the Workspace by teaching 3 new poses in the calibrated setup—linked poses update automatically.</li>
<li class="">Assign movement Nodes to a Workspace using the Reference Node by dragging it over the Nodes to reference.</li>
<li class="">Consistent referencing across multiple Flows for faster adjustments.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Create a Workspace in Robot Configuration or in the Reference Node.</li>
<li class="">Teach 3 poses to define the initial Workspace</li>
<li class="">If the Workspace changes, reteach 3 new poses.</li>
<li class="">Use the Reference Node to link movement Nodes to this Workspace.</li>
</ol>
<p><strong>Note:</strong> Available for <strong>Cartesian poses only</strong> (not joint poses).</p>
<p>This removes the need for manual reteaching after shifts or relocations, speeding up deployments and recovery.</p>
<p><img decoding="async" loading="lazy" alt="Workspace Reference Manager" src="https://kb.robco.example/assets/images/robflow-6-0-03-ff9a55108801716794012e62e965da50.gif" width="400" height="189" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="multi-robot-dashboard-support-via-iframe-widget">Multi-Robot Dashboard Support via iFrame Widget<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#multi-robot-dashboard-support-via-iframe-widget" class="hash-link" aria-label="Direct link to Multi-Robot Dashboard Support via iFrame Widget" title="Direct link to Multi-Robot Dashboard Support via iFrame Widget" translate="no">​</a></h3>
<p>You can now monitor and control multiple Robots from a single RobFlow Dashboard, improving visibility and reducing operator effort in multi-robot deployments.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Embed multiple Dashboards:</strong> Use the new <strong>iframe Widget</strong> to embed additional RobFlow Dashboards or external URLs directly into a single view.</li>
<li class=""><strong>Interactive control:</strong> Embedded Dashboards are fully interactive, allowing you to perform actions (e.g., Start/Stop) without switching tabs.</li>
<li class=""><strong>New HTTP call action:</strong> Extend the generic button Widget with an on-click HTTP action, letting you trigger commands across multiple Robots with a single click.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Add the <strong>iframe Widget</strong> to your Dashboard and provide the URL of another robot’s Dashboard or relevant external page.
Tip: Append <code>?kiosk</code> to the end of a RobFlow Dashboard URL to display it without the app bar (plain Dashboard view).</li>
<li class="">Optionally configure the generic button to send http calls across multiple Robots.</li>
<li class="">Monitor and control all Robots from a single, unified interface.</li>
</ol>
<p>This streamlines multi-robot operations, especially for larger cells or customers managing several Robots simultaneously.</p>
<p><img decoding="async" loading="lazy" alt="Multi-Robot Dashboard Support via iFrame Widget" src="https://kb.robco.example/assets/images/robflow-6-0-04-88b0c58c2caf4e2cd2e1678f816c2661.gif" width="400" height="189" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robvision-enhancements">RobVision Enhancements<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#robvision-enhancements" class="hash-link" aria-label="Direct link to RobVision Enhancements" title="Direct link to RobVision Enhancements" translate="no">​</a></h3>
<p>RobVision now gives you more control and flexibility when working with vision solutions:</p>
<p><strong>Key improvements:</strong></p>
<ul>
<li class=""><strong>Variable assignment:</strong> Assign vision data (e.g., object length, width, number of detections, next picking pose) to Variables for use in your Flow logic.</li>
<li class=""><strong>Detection-only mode:</strong> Run vision detection without triggering Robot movement, letting you process detection results or handle Variables independently.</li>
<li class=""><strong>UI for grasping pose definition:</strong> Define and adjust grasping poses directly on a visualized part for faster, more intuitive setup.</li>
</ul>
<p>These updates make configuring and using RobVision solutions faster, clearer, and better integrated into your Flows.</p>
<p><img decoding="async" loading="lazy" alt="RobVision Enhancements" src="https://kb.robco.example/assets/images/robflow-6-0-05-6702666fc1f082675fd64e6864e39ec1.gif" width="400" height="189" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="beta-features">Beta Features<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#beta-features" class="hash-link" aria-label="Direct link to Beta Features" title="Direct link to Beta Features" translate="no">​</a></h2>
<p>With this release, we’re making <strong>Beta Features</strong> available for the first time. In the <strong>Robot Configuration</strong> (under <em>Update-Channel</em>), you can now switch between:</p>
<ul>
<li class=""><strong>Stable</strong> – Default mode with fully supported features.</li>
<li class=""><strong>Beta</strong> – Access to experimental features marked as <strong>Beta</strong> in the UI.</li>
</ul>
<p><strong>Important:</strong> There is <strong>no support</strong> for Beta features, and there might be breaking changes in features between Beta and Stable state.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robcalib-vision-based-calibration-beta">RobCalib: Vision based Calibration (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#robcalib-vision-based-calibration-beta" class="hash-link" aria-label="Direct link to RobCalib: Vision based Calibration (Beta)" title="Direct link to RobCalib: Vision based Calibration (Beta)" translate="no">​</a></h3>
<p>Use <strong>Vision-Based Robot Calibration</strong> to improve your robot’s absolute accuracy, especially for vision-driven use cases. This ensures your robot’s movements precisely match their intended positions, which is essential for reliable vision picking and precision tasks.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Vision-based accuracy improvements:</strong> Use RobVision hardware to calibrate your Robot based on camera data, correcting for mechanical tolerances.</li>
<li class=""><strong>Automated calibration workflow:</strong> Collect calibration samples in RobFlow, optimize Robot parameters, and validate results directly.</li>
<li class=""><strong>Improved precision for vision tasks:</strong> Eliminate positional drift and improve accuracy for vision picking.</li>
<li class=""><strong>Flexible recalibration:</strong> Recalibrate after collisions, hardware changes, or relocations.</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Set up RobVision hardware and open <strong>Robot Calibration</strong> in RobFlow.</li>
<li class="">Collect ~80–100 samples with the guided calibration Flow.</li>
<li class="">Apply calibration, then verify it by running the detection test in the <strong>Validate</strong> tab.</li>
</ol>
<p>For details, see the <strong>Robot Calibration Documentation</strong> (<a href="https://staging.robco.studio/resources" target="_blank" rel="noopener noreferrer" class="">https://staging.robco.studio/resources</a>, Technical Data).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robsafety-beta">RobSafety (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#robsafety-beta" class="hash-link" aria-label="Direct link to RobSafety (Beta)" title="Direct link to RobSafety (Beta)" translate="no">​</a></h3>
<p>RobSafety lets you configure new <strong>safety functions</strong> directly in RobFlow, giving you more control over safe Robot operation.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Safe Home:</strong> Configure a home position with an allowed tolerance; a safe output is triggered when the Robot is in this position.</li>
<li class=""><strong>Protective Stop:</strong> Assign each of the 4 safe inputs to:
<ul>
<li class="">Safe Stop 1</li>
<li class="">Safe Stop 2 (manual reset)</li>
<li class="">Safe Stop 2 (automatic reset)</li>
</ul>
</li>
<li class=""><strong>Safe Joint Limits:</strong>
<ul>
<li class="">Define safe joint position ranges per axis.</li>
<li class="">Set maximum joint speeds individually.</li>
</ul>
</li>
<li class=""><strong>Safety Space:</strong> Create a configurable keep-in box tied to the TCP.</li>
<li class=""><strong>Relay Output:</strong> Use the dual-channel relay to:
<ul>
<li class="">Mirror the E-stop state.</li>
<li class="">Output whether the Robot is allowed to move (System Stop).</li>
</ul>
</li>
</ul>
<p><strong>How to use it:</strong></p>
<p>Access <strong>RobSafety</strong> in the Robot configuration to define limits, assign safe inputs/outputs, and activate safety spaces.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="streaming-interface-joint--cartesian-beta">Streaming Interface (Joint &amp; Cartesian) (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#streaming-interface-joint--cartesian-beta" class="hash-link" aria-label="Direct link to Streaming Interface (Joint &amp; Cartesian) (Beta)" title="Direct link to Streaming Interface (Joint &amp; Cartesian) (Beta)" translate="no">​</a></h3>
<p>The new <strong>Streaming Interface</strong> allows you to control your Robot in real time by streaming trajectories directly via <strong>UDP</strong>, enabling applications like external trajectory planners or dynamic motion control.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Real-time control:</strong> Stream joint or Cartesian poses directly to the Robot at high frequency.</li>
<li class=""><strong>HTTP API integration:</strong> Enable or stop streaming mode programmatically via new HTTP endpoints.</li>
<li class=""><strong>UDP streaming:</strong> Send trajectories from a host PC to the Robot controller with low latency and receive real-time feedback.</li>
<li class=""><strong>Flexible streaming modes:</strong>
<ul>
<li class="">Joint position or joint position &amp; velocity</li>
<li class="">Cartesian poses in the global frame</li>
<li class="">Cartesian offsets relative to the tool frame</li>
</ul>
</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Connect your host PC to the Control Unit via Ethernet.</li>
<li class="">Enable streaming mode using the <strong>HTTP API</strong>.</li>
<li class="">Stream target poses via UDP using the provided Python utilities (cartesian or joint space).</li>
<li class="">Stop streaming via HTTP or directly from RobFlow.</li>
</ol>
<p>For setup details and examples, see the <a href="https://docs.rob.co/streaming.html" target="_blank" rel="noopener noreferrer" class=""><strong>Streaming Interface Documentation</strong></a> (including Python demos for streaming trajectories).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robvision-label-picking--depalletizing-beta">RobVision Label Picking &amp; Depalletizing (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#robvision-label-picking--depalletizing-beta" class="hash-link" aria-label="Direct link to RobVision Label Picking &amp; Depalletizing (Beta)" title="Direct link to RobVision Label Picking &amp; Depalletizing (Beta)" translate="no">​</a></h3>
<p>RobVision now supports <strong>image-based training</strong> for vision models, allowing you to create picking and depalletizing solutions even when no CAD file is available.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class=""><strong>Image-based model training:</strong> Upload object or box images to RobCo Studio and label them</li>
<li class=""><strong>Segmentation:</strong> Use AI-assisted segmentation to outline objects, verify or refine masks, and define orientations for accurate picking.</li>
<li class=""><strong>Label Picking:</strong> Train detection models for flat or texture-based objects</li>
</ul>
<p><strong>How to use it:</strong></p>
<ol>
<li class="">Open <strong>RobVision</strong> in RobCo Studio and start the solution wizard.</li>
<li class="">Choose <strong>Label Picking</strong> (image-based object detection) or <strong>Depalletizing</strong></li>
<li class="">Upload images, assign labels, and run the segmentation tool to create accurate masks.</li>
<li class="">Train and deploy your model, then configure the Solution in RobVision in RobFlow</li>
</ol>
<p>This enhancement eliminates CAD dependency and accelerates setup for vision-based picking and depalletizing tasks.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="ros2-interface-beta">ROS2 Interface (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#ros2-interface-beta" class="hash-link" aria-label="Direct link to ROS2 Interface (Beta)" title="Direct link to ROS2 Interface (Beta)" translate="no">​</a></h3>
<p>RobCo Robots now provide a <strong>ROS 2 interface</strong>, enabling integration with the Robot Operating System (currently supporting <strong>ROS 2 Jazzy Jalisco</strong>). This interface exposes low-level control of the Robot through ROS topics and controllers.</p>
<p><strong>Key capabilities:</strong></p>
<ul>
<li class="">Publish and subscribe to Robot state and command topics via <code>robco\_ros2</code>.</li>
<li class="">Build custom control pipelines using <code>ros2\_control</code>.</li>
<li class="">Generate URDFs for modular Robot configurations with provided macros.</li>
<li class="">Stream joint commands to the Robot once streaming mode is enabled.</li>
</ul>
<p><strong>Important notes:</strong></p>
<ul>
<li class="">Not installed by default, contact <a href="mailto:support@robco.de" target="_blank" rel="noopener noreferrer" class="">support@robco.de</a> for access.</li>
<li class="">Provides low-level control; some safety features may not be available. Always ensure the Workspace is clear of personnel before operating.</li>
</ul>
<p>For setup instructions, see the <a href="https://docs.rob.co/robco_ros2.html?utm_source=chatgpt.com" target="_blank" rel="noopener noreferrer" class="">ROS 2 Interface Documentation</a>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Allow Cartesian Pose Variables for all relative Poses in all Pattern Nodes (Stack, Grid, Pallet)</li>
<li class="">Improved search function in Test mode (search for In- and Output and general text search)</li>
<li class="">Removed Flow Variables</li>
<li class="">Default names for Inputs and Outputs (banks and actual IO)</li>
<li class="">Improved undo/redo functionality for more stable editing</li>
<li class="">Auto-resume Flow when SAFE_STOP_2 is released, if a Flow was running before (can be enabled via feature-flag)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-6-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Improved overall system performance and connection stability</li>
<li class="">The Advanced Palletizing Node can now handle cases where the Robot and the pallet are not in the same plane</li>
<li class="">improved state handling in SAFE_STOP states</li>
<li class="">Generic Resume Event Nodes: also resume if paused not on trajectory</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 5.5]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-5-5</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-5-5"/>
        <updated>2025-03-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Introducing the Advanced Palletizing Node, a newly developed intuitive interface for quickly deploying complex palletizing applications.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="advanced-palletizing-node-v2">Advanced Palletizing Node V2<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#advanced-palletizing-node-v2" class="hash-link" aria-label="Direct link to Advanced Palletizing Node V2" title="Direct link to Advanced Palletizing Node V2" translate="no">​</a></h3>
<p><img decoding="async" loading="lazy" alt="Advanced Palletizing Node V2" src="https://kb.robco.example/assets/images/robflow-5-5-01-c85fa5aba7c3d76098ee57a77ec5295e.gif" width="800" height="408" class="img_ev3q"></p>
<p>Introducing the Advanced Palletizing Node, a newly developed intuitive interface for quickly deploying complex palletizing applications. Following a step-by-step guide, users can configure:</p>
<!-- -->
<ul>
<li class="">Box dimensions</li>
<li class="">Pallet dimensions</li>
<li class="">Grasping poses</li>
<li class="">Multiple layouts</li>
<li class="">Various approach trajectories</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robvision-v1">RobVision V1<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#robvision-v1" class="hash-link" aria-label="Direct link to RobVision V1" title="Direct link to RobVision V1" translate="no">​</a></h3>
<p><img decoding="async" loading="lazy" alt="RobVision V1" src="https://kb.robco.example/assets/images/robflow-5-5-02-2cf540c31925f48efeee10d501fd9ccb.gif" width="800" height="420" class="img_ev3q"></p>
<p>RobVision is our AI-based computer vision solution that enables the Robot to recognize, understand, and act within its working environment, making the Robot more flexible and letting him act in non-structured environments. This allows the Robot to pick objects without the need to manually train individual movement sequences. The AI system recognizes the object and autonomously calculates the gripping position.
The user's interaction with RobVision can be divided into three steps:</p>
<ol>
<li class=""><strong>Providing the CAD file</strong>
Through RobCo's cloud platform, RobCo.Studio, users can easily upload the CAD files and automatically initiate the training process.</li>
<li class=""><strong>Model &amp; Camera Configuration in RobFlow</strong>
On our no-code platform, RobFlow, there is a new RobVision page where the user can calibrate the camera, select different models for objects, and test the model's performance.</li>
<li class=""><strong>Integrating the RobVision solution in the Flow Editor in RobFlow</strong>
In the Flow Editor, where the Robot's workflow is configured through various Nodes, the user has access to two new Nodes (Vision Trigger &amp; Vision Execution Node). In the Trigger Node, a photo is taken, processed, and the object's position is calculated. In the Execution Node, the gripping operation is performed.</li>
</ol>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="run-flow-but-move-robot-only-from-a-specific-node-on">Run Flow but move Robot only from a specific Node on<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#run-flow-but-move-robot-only-from-a-specific-node-on" class="hash-link" aria-label="Direct link to Run Flow but move Robot only from a specific Node on" title="Direct link to Run Flow but move Robot only from a specific Node on" translate="no">​</a></h3>
<p><img decoding="async" loading="lazy" alt="Run Flow but move Robot only from a specific Node on" src="https://kb.robco.example/assets/images/robflow-5-5-03-9b531e9f5abb0d4ae073c95be5a56bba.gif" width="800" height="420" class="img_ev3q"></p>
<p>Start Robot movement from any specific Node by activating Testing Mode, selecting the desired Node, and clicking "Run Flow and skip movement until this Node is executed."</p>
<p><strong>Note</strong>: Logic settings remain active; only movement Nodes, setOutput, and setModBusTCP Nodes are skipped to avoid unintended actions.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robot-configuration-check">Robot Configuration check<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#robot-configuration-check" class="hash-link" aria-label="Direct link to Robot Configuration check" title="Direct link to Robot Configuration check" translate="no">​</a></h3>
<p>Enable "Robot Configuration Check" in the Change Robot State menu to be notified if Robot configurations change from a saved state.</p>
<p><img decoding="async" loading="lazy" alt="Robot Configuration check" src="https://kb.robco.example/assets/images/robflow-5-5-04-d37062f4322ec08cb908357cce790585.gif" width="800" height="426" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="restore-flows--subflows-backup">Restore Flows &amp; Subflows backup<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#restore-flows--subflows-backup" class="hash-link" aria-label="Direct link to Restore Flows &amp; Subflows backup" title="Direct link to Restore Flows &amp; Subflows backup" translate="no">​</a></h3>
<p>Quickly revert unintentional changes by selecting "Restore Flow Backup" in the Flow selection menu.</p>
<p><img decoding="async" loading="lazy" alt="Restore Flows &amp;amp; Subflows backup" src="https://kb.robco.example/assets/images/robflow-5-5-05-beabb5aff5962b437c2db5f660ee8da6.gif" width="800" height="427" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="syncing-variables-to-robco-studio">Syncing Variables to RobCo Studio<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#syncing-variables-to-robco-studio" class="hash-link" aria-label="Direct link to Syncing Variables to RobCo Studio" title="Direct link to Syncing Variables to RobCo Studio" translate="no">​</a></h3>
<p><img decoding="async" loading="lazy" alt="Syncing Variables to RobCo Studio" src="https://kb.robco.example/assets/images/robflow-5-5-06-2946bc5eb1051a6c838c16c150178852.gif" width="800" height="427" class="img_ev3q">
Display real-time RobFlow Variable values, such as processed part counts or pallet status, directly in RobCo Studio. Enable "Sync to RobCo Studio" in the Variable Editor to view updates every 10 minutes in the RobFlow Variables Table within Fleet Management.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class=""><strong>Move to target for Relative Movements</strong>: Test the Relative Movement with the Move to Target Button. The Robot will execute the relative movement from its current position</li>
<li class=""><strong>Select Pose Variable in relative movement Nodes:</strong>  You are now able to select a Pose Variable in the relative movement Node</li>
<li class=""><strong>Testing Mode Improvements</strong>: when cycling through active Nodes and a Node is in a Subflow, center the Node within the Subflow panel</li>
<li class=""><strong>Selecting current Robot Position as Variables:</strong> Magic Variables for current Cartesian Pose and current Joint Pose to use in setVariable Node and Expression Fields</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixed">Fixed<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed" translate="no">​</a></h2>
<ul>
<li class=""><strong>Propagate Variable name changes:</strong> When renaming a Variable within a Flow, all instances of that Variable in Expression fields must update automatically</li>
<li class=""><strong>Editing input fields in Subflow Editor:</strong> Allow editing input fields in the change Robot state drawer while the Subflow Editor Popup is open</li>
<li class="">Text in Generic Button Widget is now always centered</li>
<li class="">Robot pauses if frontend loses connection in debug or "move back to trajectory" mode</li>
<li class="">Evaluate Expression fields with newline characters correctly</li>
<li class="">Change global speed in paused state</li>
<li class="">Fixed pause/resume bugs</li>
<li class="">Modbus fixes</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="changed">Changed<a href="https://kb.robco.example/robflow/release-notes/robflow-5-5#changed" class="hash-link" aria-label="Direct link to Changed" title="Direct link to Changed" translate="no">​</a></h2>
<ul>
<li class="">Illuminate Tool Switch if its active on the jogging pop-up window</li>
<li class="">The Cartesian Pose Variable Expression now has three separate fields for the three rotational dimensions</li>
<li class="">Render generic button label as HTML to enable custom formatting</li>
<li class="">Enhanced state conflict message</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 5.4]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-5-4</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-5-4"/>
        <updated>2025-01-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[This release adds several improvements to help you build and adapt flows in RobFlow more effectively.]]></summary>
        <content type="html"><![CDATA[<p>This release adds several improvements to help you build and adapt Flows in RobFlow more effectively. Testing Mode highlights executed Nodes, provides an advanced search function, and lets you run single Nodes in isolation—making debugging more straightforward. The new Path Movement Node supports curved trajectories, useful for tasks like deburring or polishing. Pose Variable Expressions let you apply offsets or overwrite poses, helping you adapt to changes in part size or orientation. The new pausing behavior lets you pause, move the Robot, and decide whether to continue from the new pose or revert to the original path. Finally, the RobCo SDK provides documented interfaces to integrate external devices like cameras, allowing you to update poses through HTTP or WebSocket calls.</p>
<!-- -->
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robflow-testing-mode">RobFlow Testing Mode<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#robflow-testing-mode" class="hash-link" aria-label="Direct link to RobFlow Testing Mode" title="Direct link to RobFlow Testing Mode" translate="no">​</a></h3>
<p>With the new Testing Mode, we introduce new features that make debugging and adjusting workflows faster and more intuitive. You can highlight already executed Nodes, keeping track of exactly which parts of the Flow have already run and which not. You can also run a single Node in isolation to validate specific logic steps without triggering the rest of the Flow. A new search feature allows you to locate Nodes by Variable names, Node types, or movement types, helping you navigate large and complex Flows more easily. By reducing on-site teaching and troubleshooting, Testing Mode streamlines your workflow development process. Overall, this update offers greater visibility, quicker iteration cycles, and a smoother path to reliable Robot programming.</p>
<p><img decoding="async" loading="lazy" alt="RobFlow Testing Mode" src="https://kb.robco.example/assets/images/robflow-5-4-01-2763bf9569bcb1b704baef7c57a8b6b6.gif" width="1910" height="930" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="path-movement-node-for-curve-movements-splines">Path Movement Node for Curve Movements (Splines)<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#path-movement-node-for-curve-movements-splines" class="hash-link" aria-label="Direct link to Path Movement Node for Curve Movements (Splines)" title="Direct link to Path Movement Node for Curve Movements (Splines)" translate="no">​</a></h3>
<p>With the new Path Movement Node, you can now define curved, non-linear movements by specifying arcs. This enhancement provides finer control over the robot’s trajectory, enabling tasks like deburring and polishing. By giving users the ability to teach precise path shapes, the Path Movement Node helps achieve smoother and more accurate results in complex motion applications.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pose-variable-expression-for-parametrization">Pose Variable Expression for Parametrization<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#pose-variable-expression-for-parametrization" class="hash-link" aria-label="Direct link to Pose Variable Expression for Parametrization" title="Direct link to Pose Variable Expression for Parametrization" translate="no">​</a></h3>
<p>With Pose Variable Expressions, users can parametrize Robot poses by adding offsets or referencing other pose Variables. This includes changes like adjusting the y-coordinate by -100 mm or increasing Joint 2 by +10°, making it easier to adapt workflows to different part sizes or process requirements. You can also overwrite entire poses or just the orientation, and switch between Robot or tool coordinate systems for more precise control. These expression-based adjustments can be applied directly in the Flow Editor and updated via the Dashboard. As a result, operators adapt Robot motions in complex workflows without re-teaching every pose.</p>
<p><img decoding="async" loading="lazy" alt="Pose Variable Expression for Parametrization" src="https://kb.robco.example/assets/images/robflow-5-4-03-1efae0d7a45b80a93fd9270606ad2a16.gif" width="640" height="480" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="new-pausing-behaviour">New Pausing Behaviour<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#new-pausing-behaviour" class="hash-link" aria-label="Direct link to New Pausing Behaviour" title="Direct link to New Pausing Behaviour" translate="no">​</a></h3>
<p>If you pause the Flow and move the Robot (for example, by jogging it to a different pose), you can now choose whether to continue from that new pose or return to the original trajectory before resuming.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robco-sdk-for-using-robcos-api">RobCo SDK for using RobCo’s API<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#robco-sdk-for-using-robcos-api" class="hash-link" aria-label="Direct link to RobCo SDK for using RobCo’s API" title="Direct link to RobCo SDK for using RobCo’s API" translate="no">​</a></h3>
<p>We are introducing the new RobCo SDK, which provides well-documented interfaces and implementation templates for controlling the Robot using RobCo’s APIs. By setting Pose Variables via an HTTP API or streaming data through WebSockets, partners can instruct the Robot to wait for updated pose information and continue workflows automatically. A Python-based integration template demonstrates how to stream e.g. camera data and send commands to the API, enabling seamless pose adjustments without disrupting the no-code workflow. Detailed documentation is available to ensure partners can quickly set up and use these interfaces in their own projects.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Updated Relative Movement Node to be used in TCP Frame</li>
<li class="">Ability to reset previously suppressed messages via Robot Config</li>
<li class="">Show confirmation dialog when toggling an Output while in Free Motion</li>
<li class="">Auto reverse trajectory option for Palletizing, Grid and Stack Nodes</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixed">Fixed<a href="https://kb.robco.example/robflow/release-notes/robflow-5-4#fixed" class="hash-link" aria-label="Direct link to Fixed" title="Direct link to Fixed" translate="no">​</a></h2>
<ul>
<li class=""><strong>Breaking Change:</strong> Updated behaviour of stack/grid/palletizing Nodes with trigger externally and after completion</li>
<li class="">In Robot Config, show current peripheral port config and add ability to set it to DHCP</li>
<li class="">Prevent removing Subflow Node if removing Node/Edge in Subflow Editor Popup</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 5.3]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-5-3</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-5-3"/>
        <updated>2024-10-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You can now save and load Pose Variables across different flows, enabling consistent pose references at multiple nodes.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-5-3#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="pose-database-for-pose-variables-cartesian--joint">Pose Database for Pose Variables (Cartesian &amp; Joint)<a href="https://kb.robco.example/robflow/release-notes/robflow-5-3#pose-database-for-pose-variables-cartesian--joint" class="hash-link" aria-label="Direct link to Pose Database for Pose Variables (Cartesian &amp; Joint)" title="Direct link to Pose Database for Pose Variables (Cartesian &amp; Joint)" translate="no">​</a></h3>
<p>You can now save and load Pose Variables across different Flows, enabling consistent pose references at multiple Nodes. Additionally, the Expression fields allow you to overwrite a pose with another Pose Variable during runtime, creating dynamic pose adaptations as the Flow progresses. Setting and overwriting Pose Variables via our HTTP API is also possible, allowing you to set and edit Poses via an external device.</p>
<p>In any Node that includes movements, simply click the "Save Pose" button to store the current pose or select a previously saved pose. All saved poses are accessible in the Global Variable Table, where you can view and edit them.</p>
<!-- -->
<p><img decoding="async" loading="lazy" alt="Pose Database for Pose Variables (Cartesian &amp;amp; Joint)" src="https://kb.robco.example/assets/images/robflow-5-3-01-907817492e078d9f5d1f6d5f40e96f1d.gif" width="1912" height="962" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="palletizing-configuration-widget-beta">Palletizing Configuration Widget (Beta)<a href="https://kb.robco.example/robflow/release-notes/robflow-5-3#palletizing-configuration-widget-beta" class="hash-link" aria-label="Direct link to Palletizing Configuration Widget (Beta)" title="Direct link to Palletizing Configuration Widget (Beta)" translate="no">​</a></h3>
<p>The new Palletizing Dashboard Widget enables you to adjust palletizing configurations based on box dimensions, without needing to modify the Flow in the Flow Editor. After initially teaching a pallet Node in the Flow Editor, you can select that Node in the Palletizing Widget, where the current box dimensions (height, width, length) will be displayed. You can then update the box dimensions and change the number of layers, with the pallet poses recalculated automatically—without the need for manual pose reteaching.</p>
<p><strong>Tip:</strong> Combine the Palletizing Widget with Pose Variables and the Set Variable Widget (e.g., for adjusting pick-up positions based on new box dimensions) to increase parameterization options directly in the Dashboard.</p>
<p><strong>Note</strong>: This is a Beta Version.</p>
<p><img decoding="async" loading="lazy" alt="Palletizing Configuration Widget (Beta)" src="https://kb.robco.example/assets/images/robflow-5-3-02-2e55c6411880cf29d8ec19a069020bb3.gif" width="1912" height="962" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robcostudio">RobCo.Studio<a href="https://kb.robco.example/robflow/release-notes/robflow-5-3#robcostudio" class="hash-link" aria-label="Direct link to RobCo.Studio" title="Direct link to RobCo.Studio" translate="no">​</a></h3>
<p>RobCo.Studio is our new cloud-based platform for Robot fleet management, monitor health metrics, and offline programming.</p>
<p>Visit RobCo.Studio to sign up using your company email. Once registered, you’ll have access to a range of powerful features.</p>
<ul>
<li class="">Fleet Management: Get a comprehensive overview of all registered Robots and easily monitor their health status. For better organisation, you can create groups and assign Robots and accounts as needed.</li>
<li class="">Cloud RobFlow: Adapt and expand Robot workflows without needing to connect to the Control Unit. The integrated Visualizer allows you to view Robot movements directly within RobCo.Studio.</li>
<li class="">RobFlow Tutorials: Explore our tutorial page, which features a series of videos that guide you through the various features and functionalities of RobFlow.</li>
<li class="">Robot Calculator: Instantly receive price estimates for different Robot configurations.</li>
</ul>
<p><img decoding="async" loading="lazy" alt="RobCo.Studio" src="https://kb.robco.example/assets/images/robflow-5-3-03-247749e145e11d1016a10e5c50a0a925.gif" width="1912" height="962" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-5-3#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Search for Nodes/Widgets in current language as well as in English</li>
<li class="">Drag-and-Drop for sortable expansion fields</li>
<li class="">Download full backup including incident report if the Control Unit is not connected to the internet or cannot submit</li>
<li class="">Add cancel button to the login overlay, redirecting to the landing page</li>
<li class="">Extend jogging speed config in Robot Config</li>
<li class="">Enhanced Split and Join Node docs</li>
<li class="">Improved overall Performance</li>
<li class="">Improved Mobile Usage of RobFlow</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 5.2]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-5-2</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-5-2"/>
        <updated>2024-07-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You can now restore variables from a backup file.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="features">Features<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#features" class="hash-link" aria-label="Direct link to Features" title="Direct link to Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="restore-variables-from-backup-file">Restore Variables from backup file<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#restore-variables-from-backup-file" class="hash-link" aria-label="Direct link to Restore Variables from backup file" title="Direct link to Restore Variables from backup file" translate="no">​</a></h3>
<p>You can now restore Variables from a backup file.</p>
<p>As you may know, pressing the “Full Backup” button in the RobFlow menu will download a backup folder which contains all Flows, Subflows, Dashboards, Plugins and Variables present on the Control Unit at that moment.</p>
<!-- -->
<p>If you accidentally deleted Variables after this backup, you can easily restore them now. Just press the “Restore Variables from backup” button in the Variable menu, select the <strong>variable_storage.json</strong> file from your backup and restore.</p>
<p><img decoding="async" loading="lazy" alt="Restore variables from backup file" src="https://kb.robco.example/assets/images/robflow-5-2-01-634f0bb82207decd431692cc45feba2f.gif" width="2048" height="1014" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="scale-and-shift-flow-environment-file-for-robot-visualizer">Scale and shift Flow environment file for Robot Visualizer<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#scale-and-shift-flow-environment-file-for-robot-visualizer" class="hash-link" aria-label="Direct link to Scale and shift Flow environment file for Robot Visualizer" title="Direct link to Scale and shift Flow environment file for Robot Visualizer" translate="no">​</a></h3>
<p>In addition to our last release 5.1, you can now upload and save environment files for each Flow. This gives you the opportunity to adjust the Robot Visualizer to different settings.</p>
<p>Also, you can adjust the scale and shift of the environment in case it does not exactly match reality.</p>
<p><img decoding="async" loading="lazy" alt="Scale and shift Flow environment file for Robot Visualizer" src="https://kb.robco.example/assets/images/robflow-5-2-02-23cd6fad66989d4c6bfe6b565bf28bbc.gif" width="2048" height="1014" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="customizable-import-conflict-handling-for-flowssubflowsdashboards">Customizable import conflict handling for Flows/Subflows/Dashboards<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#customizable-import-conflict-handling-for-flowssubflowsdashboards" class="hash-link" aria-label="Direct link to Customizable import conflict handling for Flows/Subflows/Dashboards" title="Direct link to Customizable import conflict handling for Flows/Subflows/Dashboards" translate="no">​</a></h3>
<p>If you downloaded a Flow, Subflow or Dashboard and try to re-import it to the same Control Unit, RobFlow will ask if you want to overwrite the existing one or if you want to keep both - the original and the imported version.</p>
<p>That way it is easier for you to keep track of changes.</p>
<p><img decoding="async" loading="lazy" alt="Customizable import conflict handling for Flows/Subflows/Dashboards" src="https://kb.robco.example/assets/images/robflow-5-2-03-6016a88b89e712e0f7749dc04db13e59.png" width="913" height="429" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Allow editing output Variables while brakes engaged or safety stop active</li>
<li class="">Delete Variable Confirmation Popup</li>
<li class="">Read-only option for Modbus/TCP Coil and Holding Register Variables</li>
<li class="">Allow jogging while Flow is in pause state</li>
<li class="">Make orientation in Stack, Grid, Palletizing Nodes configurable for all Poses</li>
<li class="">Add "Move to Home" functionality to Generic Button Widget</li>
<li class="">Buttons for Flow/Subflow/Dashboard duplication</li>
<li class="">Set Jogging speed via Robot Config</li>
<li class="">Add ability to name joints</li>
<li class="">Use Expression as label in Generic Button Widget (e.g. to show current value)</li>
<li class="">Allow all Variables on the CU in Subflows</li>
<li class="">Variables Display Widget: add option to always show the Flow Variables of the currently running Flow</li>
<li class="">Set Variable Widget: hide predefined fields, make Widget smaller if fields are hidden</li>
<li class="">When importing/exporting Flows, also automatically import/export the used Subflows</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-5-2#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Do not clear Expression field in Set Variable Node when changing the Variable</li>
<li class="">Properly center all Flows and Subflows in the editors on load</li>
<li class="">Subflow Editor popup moves if you open the side panels, to make sure they don't overlap</li>
<li class="">Increase zoom window for Flows and Subflows</li>
<li class="">Misc. layout fixes</li>
<li class="">UI performance improvements</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 5.1.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-5-1-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0"/>
        <updated>2024-03-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[You can now create, edit, delete and observe variables in RobFlow.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="user-defined-variables">User-defined Variables<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#user-defined-variables" class="hash-link" aria-label="Direct link to User-defined Variables" title="Direct link to User-defined Variables" translate="no">​</a></h3>
<p>You can now create, edit, delete and observe Variables in RobFlow.</p>
<p>Variables can be used for custom parameters (e.g. to count the production output or build custom conditions) or you can read/write periphery signals (e.g. to control a digital output or change a Modbus register of a PLC to interact with sensors, actors and other devices).</p>
<!-- -->
<p>This gives you powerful options to build more professional and dynamic Flows which serve your needs.</p>
<p>Currently, the following Variable types are supported:</p>
<ul>
<li class="">Boolean</li>
<li class="">Integer</li>
<li class="">Float</li>
<li class="">Input (Digital Input)</li>
<li class="">Output (Digital Output)</li>
<li class="">Modbus Holding Register</li>
<li class="">Modbus Input Register</li>
<li class="">Modbus Coil</li>
<li class="">Modbus Discrete Input</li>
</ul>
<p>Some types are read-only by design (Digital Input, Modbus Input Register, Modbus Discrete Input). That means their value cannot be changed by the user and they just hold the current value coming from a sensor, a PLC or any other device.</p>
<p>All other types are changeable by the user and contain an initial and a current value.</p>
<p>By default, these changeable types will be reset to their initial value on Flow start. You can further specify Variable settings to your needs though, such as making it a constant (= Variable cannot be changed after creation) or making it persistent (current value will not be reset on Flow start).</p>
<p>Variables can be either created <strong>globally</strong> (usable in all Flows and Subflows) or <strong>locally</strong> (for a specific Flow). You can create Variables in the respective <strong>Flow Variables</strong> and <strong>Global Variables Dropdown</strong> in the <strong>Change Robot State Menu</strong>.</p>
<p><img decoding="async" loading="lazy" alt="User-defined Variables" src="https://kb.robco.example/assets/images/robflow-5-1-0-01-1baf1a3886d3e221a2934e038e18bbdb.gif" width="2048" height="1006" class="img_ev3q"></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="variable-node">Variable Node<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#variable-node" class="hash-link" aria-label="Direct link to Variable Node" title="Direct link to Variable Node" translate="no">​</a></h4>
<p>The Variable Node allows you to change Variables within a running Flow. You simply select the Variable to be changed and define the desired value that should be assigned to it.</p>
<p>The new value is defined by an <strong>Expression</strong>. That Expression could just be a hard-coded value or include more complex logic (e.g. calculation or comparison with other Variables). It allows you to write any kind of valid Python Expressions.</p>
<p>When writing an Expression, you can press <strong>#</strong> to open the Variable selector and select a Variable you want to use in your Expression. Press the <strong>info-icon</strong> to get further information on how to work with Expressions.</p>
<p>For Boolean values, you can also just use a switch to define the desired value.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="condition-and-do-until-condition-nodes">Condition and Do Until Condition Nodes<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#condition-and-do-until-condition-nodes" class="hash-link" aria-label="Direct link to Condition and Do Until Condition Nodes" title="Direct link to Condition and Do Until Condition Nodes" translate="no">​</a></h4>
<p>The generic Condition Node allows you to build complex, nested conditions based on user-defined Expressions.</p>
<p>Once an Expression evaluates to TRUE, it will continue the Flow in the respective output handle.</p>
<p>In contrast to the I/O Condition Node, you are not bound to one condition and a single input or output. With the Expression field you have full flexibility about how complex your condition should be.</p>
<p>The same applies for the new, generic Do Until Condition Node. It works exactly like the already existing Do until I/O Condition Node. The only difference is that the condition can now be defined by an Expression.</p>
<p><img decoding="async" loading="lazy" alt="Condition and Do Until Condition Nodes" src="https://kb.robco.example/assets/images/robflow-5-1-0-03-60dbe1f3d0c2b0d22f707a5692a38322.png" width="392" height="529" class="img_ev3q"><img decoding="async" loading="lazy" alt="Condition and Do Until Condition Nodes" src="https://kb.robco.example/assets/images/robflow-5-1-0-04-6efe299508b27a6b1a4b7eda5dfe4383.png" width="397" height="294" class="img_ev3q"></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="expression-support-for-other-nodes">Expression support for other Nodes<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#expression-support-for-other-nodes" class="hash-link" aria-label="Direct link to Expression support for other Nodes" title="Direct link to Expression support for other Nodes" translate="no">​</a></h4>
<p>Apart from the Variable and Condition Nodes, Expressions can now be used in many other Nodes, see the full list:</p>
<p>This allows for much more flexibility and interaction as values are not hardcoded anymore but dynamically adjustable.</p>
<p><img decoding="async" loading="lazy" alt="Expression support for other Nodes" src="https://kb.robco.example/assets/images/robflow-5-1-0-05-fdb41984e93e8cde13c4130bf0a1e4c3.png" width="458" height="454" class="img_ev3q"><img decoding="async" loading="lazy" alt="Expression support for other Nodes" src="https://kb.robco.example/assets/images/robflow-5-1-0-06-3df2f195b49851ca6710f321b5457bd6.png" width="436" height="519" class="img_ev3q"></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="define-next-item-for-stack-grid-and-palletizing-node">Define next item for Stack, Grid and Palletizing Node<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#define-next-item-for-stack-grid-and-palletizing-node" class="hash-link" aria-label="Direct link to Define next item for Stack, Grid and Palletizing Node" title="Direct link to Define next item for Stack, Grid and Palletizing Node" translate="no">​</a></h4>
<p>Stack, Grid and Palletizing Nodes now allow you to define which item should be approached next. All you need to do is to create a Variable for the item to be picked and to select it in the <strong>next item</strong> selector. This Variable could also be changed by an external device (e.g. a PC) via http-request or be directly bound to a Modbus/TCP register of a PLC to get the next-item value from there.</p>
<p>This gives you a lot of flexibility for your Flow logic, e.g. to pick items in a random order or to dynamically change the start item from the Dashboard. Note: to finish the Node, just set the Variable to a value outside the defined offset bounds.</p>
<p><img decoding="async" loading="lazy" alt="Define next item for Stack, Grid and Palletizing Node" src="https://kb.robco.example/assets/images/robflow-5-1-0-07-1c11ff4e7a4167efe92bb6024214b3c2.gif" width="2046" height="1006" class="img_ev3q"></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="dashboard-widgets-to-show-and-edit-variables">Dashboard Widgets to show and edit Variables<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#dashboard-widgets-to-show-and-edit-variables" class="hash-link" aria-label="Direct link to Dashboard Widgets to show and edit Variables" title="Direct link to Dashboard Widgets to show and edit Variables" translate="no">​</a></h4>
<p>Variables can not only be used in the Flow Editor. They are also available on the Dashboard.</p>
<p>There is now one Widget to show the existing Global or Flow Variables and another Widget to let the user select and change a Variable.</p>
<p><img decoding="async" loading="lazy" alt="Dashboard Widgets to show and edit variables" src="https://kb.robco.example/assets/images/robflow-5-1-0-08-f0f6314a15c6845e6e8c0654f667aae5.png" width="2048" height="724" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="customizable-dashboard-widgets">Customizable Dashboard Widgets<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#customizable-dashboard-widgets" class="hash-link" aria-label="Direct link to Customizable Dashboard Widgets" title="Direct link to Customizable Dashboard Widgets" translate="no">​</a></h3>
<p>Dashboard Widgets can now be customized much more to tailor Dashboards to your needs.</p>
<p>In general, the color and size of all Widgets are now adjustable.</p>
<p>Furthermore, there are 2 new Button Widgets:</p>
<ul>
<li class="">Generic Button</li>
<li class="">Custom Jogging Button</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="generic-button-widget">Generic Button Widget<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#generic-button-widget" class="hash-link" aria-label="Direct link to Generic Button Widget" title="Direct link to Generic Button Widget" translate="no">​</a></h4>
<p>The Generic Button Widget allows the user to design a button and assign custom functionality to it, e.g. on-click actions or activation conditions.</p>
<p>On-click actions could be to start/stop/pause/resume a Flow or to set a Variable to a defined value. If desired, the user can define activation conditions when this functionality and layout should be applied (e.g. when a Flow is running and the Robot is moving).</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="custom-jogging-button-widget">Custom Jogging Button Widget<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#custom-jogging-button-widget" class="hash-link" aria-label="Direct link to Custom Jogging Button Widget" title="Direct link to Custom Jogging Button Widget" translate="no">​</a></h4>
<p>The Custom Jogging Button allows the user to define its size, color and label and assign certain jogging functionality to it (e.g. to jog fast in z-direction).</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="robot-visualizer">Robot Visualizer<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#robot-visualizer" class="hash-link" aria-label="Direct link to Robot Visualizer" title="Direct link to Robot Visualizer" translate="no">​</a></h3>
<p>RobFlow shows a visual representation of the connected Robot &amp; module configuration. You can upload environment files to visualize the surroundings as well (e.g. conveyor belts, CNC machines etc.) When you move the Robot in real life, this visualization will move as well.</p>
<p><img decoding="async" loading="lazy" alt="Robot Visualizer" src="https://kb.robco.example/assets/images/robflow-5-1-0-10-6a0de0e9c17b835dfd6d93981f1263ed.gif" width="2048" height="1006" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="authentication">Authentication<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#authentication" class="hash-link" aria-label="Direct link to Authentication" title="Direct link to Authentication" translate="no">​</a></h3>
<p>RobFlow now has an authentication mechanism. First time you open RobFlow after the update, it will ask you to set a password. Afterwards, you will have to log in with this password in order to be able to do the following:</p>
<ul>
<li class="">Open the Flow Editor</li>
<li class="">Open the Subflow Editor</li>
<li class="">Open the Dashboard Editor</li>
<li class="">Open Robot Configuration</li>
<li class="">Open protected Dashboards in Dashboard Viewer (see below)</li>
</ul>
<p>Other parts of RobFlow are unprotected, e.g. the Robot Visualizer page.</p>
<p>Dashboards now have a Dashboard Config button in the top right corner. There you can define if the Dashboard should be protected or not. If it is protected, you will have to authenticate in order to display and use it.</p>
<p>You can change your password via the Robot Configuration panel. If you forget your password, please reach out to us and we can reset it for you.</p>
<p>The <strong>username</strong> is always “editor” and <strong>cannot be changed</strong>.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-features">Minor Features<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#minor-features" class="hash-link" aria-label="Direct link to Minor Features" title="Direct link to Minor Features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="landing-page">Landing Page<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#landing-page" class="hash-link" aria-label="Direct link to Landing Page" title="Direct link to Landing Page" translate="no">​</a></h3>
<p>This release introduces a specific landing page. It shows button links to all different parts of RobFlow.</p>
<p><img decoding="async" loading="lazy" alt="Landing Page" src="https://kb.robco.example/assets/images/robflow-5-1-0-11-f6d8a14eb9551f59b3fd9f59f4611961.png" width="1614" height="871" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="api-changes">API Changes<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#api-changes" class="hash-link" aria-label="Direct link to API Changes" title="Direct link to API Changes" translate="no">​</a></h3>
<p>Before this release, the backend supported 4 different API versions: v2.0, v2.1, v2.2 and v2.3.</p>
<p>With this new release, all those API versions were removed, there is only one valid API version now: v3.0.</p>
<p>This means, if you are using the API directly, you will have to adjust your URL calls to the new version, e.g. http://&lt;ip&gt;/api/v3.0/&lt;endpoint&gt; . Please consult the API Documentation page which you can access via the top-right misc menu in RobFlow. Otherwise, refer to the API documentation file attached to the release announcement email.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Allow free motion when Robot is pausing</li>
<li class="">Increase RoundRobin output count from 5 to 15</li>
<li class="">Optionally teachable Point C for Grid and Palletizing Nodes (will improve accuracy)</li>
<li class="">Reload Button for Modbus/TCP connections in Robot config</li>
<li class="">Add kiosk mode button in Dashboard Viewer</li>
<li class="">Modify peripheral IP via Robot Configuration</li>
<li class="">Robot state updates (current joint angles, current pose), is now much faster (every 20ms instead of every 500ms)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-5-1-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Fixed blurry text on textareas</li>
<li class="">Decimal numbers can be inserted with comma and dot as delimiter</li>
<li class="">Show Move to Home Button in Dashboard Widget</li>
<li class="">Dashboard move to home: on tablet, fixed the keep pressed function</li>
<li class="">Dashboard jogging Widget: on tablet, fixed the keep pressed function</li>
<li class="">Tool Edit Menu should not be usable on Flow run</li>
<li class="">Prevent pasting Nodes when in input fields</li>
<li class="">Optimized reconnection mechanism for Modbus/TCP</li>
<li class="">Pause running Flow on controller disconnection instead of stopping it</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 4.3.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-4-3-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0"/>
        <updated>2023-09-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[In the newly created Flow Config, you have the option to set a Home Position for that specific Flow.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="home-position-for-flow">Home Position for Flow<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#home-position-for-flow" class="hash-link" aria-label="Direct link to Home Position for Flow" title="Direct link to Home Position for Flow" translate="no">​</a></h3>
<p>In the newly created Flow Config, you have the option to set a Home Position for that specific Flow. If it is set and the Robot is not exactly at that Home Position, you cannot start the Flow. Instead, you will see a “Move to Home” button which you have to keep pressed to slowly move the Robot to the desired Home Position.</p>
<p>If you see that the Robot would crash while moving to the Home Position, you just release the button and then move around the obstacle with either Free Motion or jogging.</p>
<!-- -->
<p><img decoding="async" loading="lazy" alt="Home Position for Flow" src="https://kb.robco.example/assets/images/robflow-4-3-0-01-d18937c9b002bd5bbed358c651a63bfc.gif" width="2048" height="1028" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="debug-flow-run">Debug Flow Run<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#debug-flow-run" class="hash-link" aria-label="Direct link to Debug Flow Run" title="Direct link to Debug Flow Run" translate="no">​</a></h3>
<p>The Debug Flow Run replaces the former Run Stepped mode. As long as you keep the Debug button pressed, the Flow will run as usual (incl. motion blending, parallel execution, etc.). Once you release the button or the mouse leaves the button-area, the Flow will pause.</p>
<p>This Debug button gives you an easy, fast and reliable way to test your program and immediately stop when necessary.</p>
<p><img decoding="async" loading="lazy" alt="Debug Flow Run" src="https://kb.robco.example/assets/images/robflow-4-3-0-02-f48a756535a16c324bf5fdf22974e844.gif" width="2048" height="1022" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="report-incident-tool">Report Incident Tool<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#report-incident-tool" class="hash-link" aria-label="Direct link to Report Incident Tool" title="Direct link to Report Incident Tool" translate="no">​</a></h3>
<p>You can now report an incident directly via RobFlow to our technical support team. You can either press the “Report Incident” button in the side menu or the one next to an error in the message log. Filling out the form, you can give some background information or attach one or several files.
When pressing submit, RobFlow will additionally attach the current Flow and an extract of the RobFlow and Robot Controller logs to give our support team further information to debug your problem.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="resume-node">Resume Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#resume-node" class="hash-link" aria-label="Direct link to Resume Node" title="Direct link to Resume Node" translate="no">​</a></h3>
<p>The Resume Node is able to resume a paused Flow when a defined I/O condition is met.</p>
<p><img decoding="async" loading="lazy" alt="Resume Node" src="https://kb.robco.example/assets/images/robflow-4-3-0-04-6c94673d0e2da410d0af248a22c65631.gif" width="2048" height="1028" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="interactive-robflow-tutorial">Interactive RobFlow Tutorial<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#interactive-robflow-tutorial" class="hash-link" aria-label="Direct link to Interactive RobFlow Tutorial" title="Direct link to Interactive RobFlow Tutorial" translate="no">​</a></h3>
<p>When first using RobFlow in your browser, you see an Interactive Tutorial explaining the most important elements of the RobFlow UI. By pressing <strong>Interactive Tutorial</strong> in the side menu, you can start the Tutorial as well.</p>
<p><img decoding="async" loading="lazy" alt="Interactive Robflow Tutorial" src="https://kb.robco.example/assets/images/robflow-4-3-0-05-d1f248752d5948d5bac9f4a53e9be356.gif" width="2048" height="1024" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="documentation-group">Documentation Group<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#documentation-group" class="hash-link" aria-label="Direct link to Documentation Group" title="Direct link to Documentation Group" translate="no">​</a></h3>
<p>With the Documentation Group, you can mark and describe a defined part of your Flow. That way, you can make big, complex Flows more understandable and give some background information.
When a Node is at the edge of the Documentation Group, it will automatically resize to fully cover that Node.</p>
<p><img decoding="async" loading="lazy" alt="Documentation Group" src="https://kb.robco.example/assets/images/robflow-4-3-0-06-ba68055236e1655fc52fd7c037fca2f5.gif" width="2048" height="1028" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-features">Minor features<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#minor-features" class="hash-link" aria-label="Direct link to Minor features" title="Direct link to Minor features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="download-full-backup-of-robflow-data">Download full backup of RobFlow data<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#download-full-backup-of-robflow-data" class="hash-link" aria-label="Direct link to Download full backup of RobFlow data" title="Direct link to Download full backup of RobFlow data" translate="no">​</a></h3>
<p>Download a full backup of all Robflow-related data (Flows, Subflows, Tools, Modbus/TCP connections, …) from your Control Unit by pressing “Create Full Backup” in the side menu.</p>
<p><img decoding="async" loading="lazy" alt="Download full backup of Robflow data" src="https://kb.robco.example/assets/images/robflow-4-3-0-07-35d353fd81dd95d384f9bbd963bfc879.png" width="948" height="652" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="transform-a-batch-of-selected-nodes-into-a-new-subflow">Transform a batch of selected Nodes into a new Subflow<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#transform-a-batch-of-selected-nodes-into-a-new-subflow" class="hash-link" aria-label="Direct link to Transform a batch of selected Nodes into a new Subflow" title="Direct link to Transform a batch of selected Nodes into a new Subflow" translate="no">​</a></h3>
<p>When selecting a couple of Nodes, you see a button to transform the selected Nodes into a Subflow. It will only transfer Nodes which are allowed in a Subflow. Nodes that are not allowed will stay in the main Flow. By adding a Subflow Start Node, you make the Subflow valid and can save it. Once saved and the popup closed, a Subflow Node containing your newly created Subflow is added to your current Flow.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="cutcopypaste-functionality">Cut/copy/paste functionality<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#cutcopypaste-functionality" class="hash-link" aria-label="Direct link to Cut/copy/paste functionality" title="Direct link to Cut/copy/paste functionality" translate="no">​</a></h3>
<p>In addition to the Duplicate Node shortcut, you can use the following shortcuts to cut, copy and paste Nodes within or across one or several Flows/Subflows:</p>
<ul>
<li class="">CTRL/CMD+x: Cuts selected Nodes</li>
<li class="">CTRL/CMD+c: Copies selected Nodes</li>
<li class="">CTRL/CMD+v: Pastes selected Nodes</li>
<li class="">CTRL/CMD+SHIFT+z: Redoes action (additional shortcut to CTRL/CMD+y)</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="flow-configuration">Flow Configuration<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#flow-configuration" class="hash-link" aria-label="Direct link to Flow Configuration" title="Direct link to Flow Configuration" translate="no">​</a></h3>
<p>For each Flow, you can save Flow Configuration to define the Flow Name, give a short description and create a Home Position, if desired. (See <strong>Home Position for Flow</strong>)</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">Extended documentation for Stack, Grid and Palletizing Nodes</li>
<li class="">http API docs are now also accessible offline via URL “{ip-address of CU}<strong>/apidocs”</strong></li>
<li class="">Automatic Migration of Flows/Subflows after RobFlow update or Flow/Subflow import</li>
<li class="">New movements and joint angles + poses in Stack, Grid and Palletizing Nodes initialised with current Robot pose / angles</li>
<li class="">Redirect to currently executing Flow by default and highlight it in the Flow Selector</li>
<li class="">Unified global acceleration and global velocity to global speed</li>
<li class="">Added center of mass to payload</li>
<li class="">Added mass and center of mass to tool configuration</li>
<li class="">Updated APIs for Cartesian and joint movements: movements can now be sent as a batch which enables blending</li>
<li class="">Ensure commands from RobFlow are received properly by Robot Controller (Protocol shift from UDP to TCP)</li>
<li class="">Load and display current Node state if a Flow is currently running and a Frontend (re-)connects</li>
<li class="">MoveToTarget Button behaves now as a dead man's switch, including showing the global speed status</li>
<li class="">Stack/Grid/Palletizing:
<ul>
<li class="">Velocity, acceleration and blending radius can be defined for approach pose</li>
<li class="">motion blending is enabled for certain movements within the Node</li>
<li class="">Acceleration and velocity of movements within Item approach trajectory are no longer scaled by acceleration and velocity of the Node</li>
</ul>
</li>
<li class="">Generic message popup with "do not show again" functionality</li>
<li class="">Modbus-connections are not opened/closed any more in each Modbus-Node, but only on Flow start/finish (v.4.3.3 Backend)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-4-3-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Fixed computation of orientation for Relative Movements (Approach trajectory and Relative Movement Node)</li>
<li class="">Join Node: wait until every input handle has been triggered at least once before proceeding</li>
<li class="">Fixed display of current movement in Movement Nodes</li>
<li class="">Automatically assign the name of the selected Subflow to the Subflow Node</li>
<li class="">Securely disable Node dragging if Flow is running</li>
<li class="">Wider pause/resume buttons to make them easily reachable after Flow-start</li>
<li class="">Disable Sliders in Widgets on Dashboard Editor</li>
<li class="">Fixed issues with movements created via gamepad</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 4.2.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-4-2-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0"/>
        <updated>2023-06-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[A Flow can now run several branches in parallel.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="parallel-execution">Parallel execution<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#parallel-execution" class="hash-link" aria-label="Direct link to Parallel execution" title="Direct link to Parallel execution" translate="no">​</a></h3>
<p>A Flow can now run several branches in parallel. It enables the user for example to send commands to peripheral devices while the Robot is executing some other tasks.</p>
<p>This can reduce the cycle time as you do not have to wait for the Robot to stop before you can control the periphery (e.g. a conveyor belt or an external axis).</p>
<!-- -->
<p>To let branches run in parallel, you have several options:</p>
<ul>
<li class="">Event Nodes</li>
<li class="">Split &amp; Join Nodes</li>
</ul>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="event-nodes">Event Nodes<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#event-nodes" class="hash-link" aria-label="Direct link to Event Nodes" title="Direct link to Event Nodes" translate="no">​</a></h4>
<p>Event Nodes trigger the execution of a branch. All of those Event Nodes can run in parallel.</p>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="start-node">Start Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#start-node" class="hash-link" aria-label="Direct link to Start Node" title="Direct link to Start Node" translate="no">​</a></h5>
<p>Will trigger a branch the moment you run a Flow. If you have several Start Nodes, all of them will start at the same time.</p>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="io-event-node">I/O Event Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#io-event-node" class="hash-link" aria-label="Direct link to I/O Event Node" title="Direct link to I/O Event Node" translate="no">​</a></h5>
<p>Will start a new branch every time a given I/O event is triggered.</p>
<p><img decoding="async" loading="lazy" alt="I/O Event Node" src="https://kb.robco.example/assets/images/robflow-4-2-0-01-3686ba51bc83f5ff8366a362e2e49f8a.gif" width="1192" height="284" class="img_ev3q"></p>
<h5 class="anchor anchorTargetStickyNavbar_Vzrq" id="periodic-event-node">Periodic Event Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#periodic-event-node" class="hash-link" aria-label="Direct link to Periodic Event Node" title="Direct link to Periodic Event Node" translate="no">​</a></h5>
<p>Will trigger a branch in the defined interval.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="split--join-nodes">Split &amp; Join Nodes<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#split--join-nodes" class="hash-link" aria-label="Direct link to Split &amp; Join Nodes" title="Direct link to Split &amp; Join Nodes" translate="no">​</a></h4>
<p><strong>Split Node</strong> can split one branch into multiple separate branches which will be executed in parallel while a <strong>Join Node</strong> will wait until all incoming parallel processes have finished</p>
<p><img decoding="async" loading="lazy" alt="Split &amp;amp; Join Nodes" src="https://kb.robco.example/assets/images/robflow-4-2-0-02-b92073a34558edf7f95df6a17a198b3b.gif" width="1218" height="260" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="configurable-tools--tcp">Configurable Tools &amp; TCP<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#configurable-tools--tcp" class="hash-link" aria-label="Direct link to Configurable Tools &amp; TCP" title="Direct link to Configurable Tools &amp; TCP" translate="no">​</a></h3>
<p>In the Robot Configuration Menu, the user can now define Tools the Robot is using and thereby shift the TCP (Tool Center Point).</p>
<p><img decoding="async" loading="lazy" alt="Configurable Tools &amp;amp; TCP" src="https://kb.robco.example/assets/images/robflow-4-2-0-03-ab09481454eabce4639fd385c9d96a9d.png" width="1800" height="1134" class="img_ev3q"></p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="tool-node">Tool Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#tool-node" class="hash-link" aria-label="Direct link to Tool Node" title="Direct link to Tool Node" translate="no">​</a></h4>
<p>With the <strong>Tool Node</strong>, the user can change the Tool which is currently used during Flow execution.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="tool-selector--tool-display">Tool Selector &amp; Tool Display<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#tool-selector--tool-display" class="hash-link" aria-label="Direct link to Tool Selector &amp; Tool Display" title="Direct link to Tool Selector &amp; Tool Display" translate="no">​</a></h4>
<p>With the <strong>Tool Selector</strong> in the Change Robot State Drawer, the user can change the active Tool manually.</p>
<p>The <strong>Tool Display</strong> in the Current Robot State Drawer shows which Tool is currently active.</p>
<h4 class="anchor anchorTargetStickyNavbar_Vzrq" id="cartesian-jogging-with-respect-to-the-tcp">Cartesian Jogging with respect to the TCP<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#cartesian-jogging-with-respect-to-the-tcp" class="hash-link" aria-label="Direct link to Cartesian Jogging with respect to the TCP" title="Direct link to Cartesian Jogging with respect to the TCP" translate="no">​</a></h4>
<p>In addition to jogging with respect to the base coordinate system, the user can now also switch to jogging within the TCP coordinate system.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="subflows">Subflows<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#subflows" class="hash-link" aria-label="Direct link to Subflows" title="Direct link to Subflows" translate="no">​</a></h3>
<p>With a Subflow you can bundle program logic into reusable snippets that can be used across all Flows. This will aid you in reducing redundancy and having a better overview.</p>
<p><img decoding="async" loading="lazy" alt="Subflows" src="https://kb.robco.example/assets/images/robflow-4-2-0-04-ff49fb9ae28d87168d0e9a35300879c7.gif" width="800" height="405" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-features">Minor features<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#minor-features" class="hash-link" aria-label="Direct link to Minor features" title="Direct link to Minor features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="partial-pallets-with-start--end-selection">Partial pallets with start / end selection<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#partial-pallets-with-start--end-selection" class="hash-link" aria-label="Direct link to Partial pallets with start / end selection" title="Direct link to Partial pallets with start / end selection" translate="no">​</a></h3>
<p>In the Palletizing Node, it is now possible to build partial pallets and select start and end items completely based on the item grid. With the Layer Slider on the left, you can browse through the layers and select your desired start and end items.</p>
<p><img decoding="async" loading="lazy" alt="Partial pallets with start / end selection" src="https://kb.robco.example/assets/images/robflow-4-2-0-05-1a5c02fd413144c63974b9706b378dc2.png" width="912" height="900" class="img_ev3q"><img decoding="async" loading="lazy" alt="Partial pallets with start / end selection" src="https://kb.robco.example/assets/images/robflow-4-2-0-06-7236902ba8b47128f8cb3892b081ed06.png" width="950" height="922" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="undo--redo">Undo / Redo<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#undo--redo" class="hash-link" aria-label="Direct link to Undo / Redo" title="Direct link to Undo / Redo" translate="no">​</a></h3>
<p>You can now <strong>undo</strong> (CTRL/CMD + z) / <strong>redo</strong> (CTRL/CMD + y) your changes in the Flow and Subflow Editor.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="comment-node">Comment Node<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#comment-node" class="hash-link" aria-label="Direct link to Comment Node" title="Direct link to Comment Node" translate="no">​</a></h3>
<p>With a Comment Node, you can add comments to your Flow.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="velocity-scaling">Velocity Scaling<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#velocity-scaling" class="hash-link" aria-label="Direct link to Velocity Scaling" title="Direct link to Velocity Scaling" translate="no">​</a></h3>
<p>The robot’s velocity can now be adjusted while a Flow is running.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="global-velocity--acceleration-stored-within-flows">Global Velocity / Acceleration stored within Flows<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#global-velocity--acceleration-stored-within-flows" class="hash-link" aria-label="Direct link to Global Velocity / Acceleration stored within Flows" title="Direct link to Global Velocity / Acceleration stored within Flows" translate="no">​</a></h3>
<p>When saving a Flow, RobFlow will also save the global velocity and acceleration set at that time. This is especially helpful when having Flows which require different velocity and acceleration settings.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">The mini map in the Flow Editor was removed due to limited user benefit</li>
<li class="">I/O banks and I/Os now now be assigned custom names</li>
<li class="">An indicator showing the currently set payload was added to the top bar</li>
<li class="">Increased text contrast for better readability</li>
<li class="">The Control Unit can now access the internet when connecting a smartphone with USB tethering to it</li>
<li class="">The UI performance &amp; responsiveness especially with bigger Flows was improved</li>
<li class="">Unexpected movements when turning on Free Motion while having set an invalid payload are now prevented and an error shown instead</li>
<li class="">Robot Configuration can now be imported and exported</li>
<li class="">Links to the Release Notes and API Documentation where added in the top bar menu</li>
<li class="">Backups of Flows and Subflows are now stored on the Control Unit for disaster recovery</li>
<li class="">Improved stand-still precision/performance of the Robot</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-4-2-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Fixed conflicts when reimporting the same Flow multiple times</li>
<li class="">Disable move-to-target button if Free Motion is turned on</li>
<li class="">Wait for Robot to be idle before execution of condition-matched branch in Do-Until-Condition Node</li>
<li class="">Added several countermeasures for rare cases in which Flows got lost</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
    <entry>
        <title type="html"><![CDATA[RobFlow 4.1.0]]></title>
        <id>https://kb.robco.example/robflow/release-notes/robflow-4-1-0</id>
        <link href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0"/>
        <updated>2023-04-01T00:00:00.000Z</updated>
        <summary type="html"><![CDATA[Nodes can now be part of a reference group.]]></summary>
        <content type="html"><![CDATA[<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="highlights">Highlights<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#highlights" class="hash-link" aria-label="Direct link to Highlights" title="Direct link to Highlights" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="landmark-alignment">Landmark alignment<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#landmark-alignment" class="hash-link" aria-label="Direct link to Landmark alignment" title="Direct link to Landmark alignment" translate="no">​</a></h3>
<p>Nodes can now be part of a reference group.</p>
<p>During initial teaching the reference group is initialised by teaching a reference pose.</p>
<!-- -->
<p>An additional reference pose can be set in the reference group and all cartesian movements within the group get shifted by the offset of the two reference poses.</p>
<p>This for example can be used to avoid having to re-teach all movements within a machine after the Robot has been moved.</p>
<p><img decoding="async" loading="lazy" alt="Landmark alignment" src="https://kb.robco.example/assets/images/robflow-4-1-0-01-6ee9cef02964dc1c81751979bbc1a898.png" width="2048" height="434" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="motion-blending">Motion blending<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#motion-blending" class="hash-link" aria-label="Direct link to Motion blending" title="Direct link to Motion blending" translate="no">​</a></h3>
<p>Movements can now be given a blending radius allowing the Robot to cut corners.</p>
<p>This can greatly improve cycle times and also reduces strain on motor components.</p>
<p><img decoding="async" loading="lazy" alt="Motion blending" src="https://kb.robco.example/assets/images/robflow-4-1-0-02-9c27fa87b73259cdb044c2779f2946c8.png" width="1112" height="384" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="movement-performance">Movement performance<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#movement-performance" class="hash-link" aria-label="Direct link to Movement performance" title="Direct link to Movement performance" translate="no">​</a></h3>
<p>Movement performance, accuracy and path consistency of the Robot was greatly improved.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="experimental-gamepad-support">Experimental(!) Gamepad support<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#experimental-gamepad-support" class="hash-link" aria-label="Direct link to Experimental(!) Gamepad support" title="Direct link to Experimental(!) Gamepad support" translate="no">​</a></h3>
<p>The Robot can now be jogged using any consumer gamepad (xbox, playstation etc.).</p>
<p>Simply connect the gamepad to your PC (not the CU!) and press “A” to enable it.</p>
<p>If the gamepad is connected successfully you will see an indicator in the navigation bar.</p>
<p>The gamepad can also be used to add waypoints to a currently selected movement Node by pressing “A”.</p>
<p><img decoding="async" loading="lazy" alt="Experimental(!) Gamepad support" src="data:image/png;base64,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" width="334" height="68" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="controller-errorswarnings-are-shown-in-message-log">Controller Errors/Warnings are shown in Message Log<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#controller-errorswarnings-are-shown-in-message-log" class="hash-link" aria-label="Direct link to Controller Errors/Warnings are shown in Message Log" title="Direct link to Controller Errors/Warnings are shown in Message Log" translate="no">​</a></h3>
<p>Errors and warnings from the Robot are now shown in much greater detail in the message log in the navigation bar.</p>
<p>This makes troubleshooting much easier.</p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="minor-features">Minor features<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#minor-features" class="hash-link" aria-label="Direct link to Minor features" title="Direct link to Minor features" translate="no">​</a></h2>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="joining-of-flow-branches">Joining of Flow branches<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#joining-of-flow-branches" class="hash-link" aria-label="Direct link to Joining of Flow branches" title="Direct link to Joining of Flow branches" translate="no">​</a></h3>
<p>Flow branches can now be joined into a single Node reducing code duplication and improving overview.</p>
<p><img decoding="async" loading="lazy" alt="Joining of flow branches" src="https://kb.robco.example/assets/images/robflow-4-1-0-04-3e99c47957b89804e12983c790236f19.png" width="1509" height="388" class="img_ev3q"></p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="shortcuts">Shortcuts<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#shortcuts" class="hash-link" aria-label="Direct link to Shortcuts" title="Direct link to Shortcuts" translate="no">​</a></h3>
<p>The following keyboard shortcuts were added for more efficient user experience:</p>
<ul>
<li class="">CTRL/CMD+d: Duplicates selected Nodes</li>
<li class="">CTRL/CMD+s: Saves the Flow</li>
<li class="">CTRL/CMD+i: Opens the Node library and focuses the filter input so you can immediately start typing</li>
</ul>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="embedded-feedback-form">Embedded feedback form<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#embedded-feedback-form" class="hash-link" aria-label="Direct link to Embedded feedback form" title="Direct link to Embedded feedback form" translate="no">​</a></h3>
<p>You can now directly provide feedback via a form available in the context menu in the navigation bar.</p>
<h3 class="anchor anchorTargetStickyNavbar_Vzrq" id="move-to-target-button">Move-To-Target Button<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#move-to-target-button" class="hash-link" aria-label="Direct link to Move-To-Target Button" title="Direct link to Move-To-Target Button" translate="no">​</a></h3>
<p>Move-To-Target Buttons now  automatically change to STOP Buttons during movement when clicked</p>
<p><img decoding="async" loading="lazy" alt="Move-To-Target Button" src="data:image/png;base64,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" width="429" height="51" class="img_ev3q">-&gt;<img decoding="async" loading="lazy" alt="Move-To-Target Button" src="data:image/png;base64,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" width="429" height="51" class="img_ev3q"></p>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="miscellaneous">Miscellaneous<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#miscellaneous" class="hash-link" aria-label="Direct link to Miscellaneous" title="Direct link to Miscellaneous" translate="no">​</a></h2>
<ul>
<li class="">The behaviour of Stack/Grid/Palletizing Nodes with “trigger externally” enabled was changed so that the Node now resets after the last item and the “After completion” output is only triggered once. This makes them more easy to use in endless loops</li>
<li class="">Stack/Grid/Palletizing move towards Approach Point now with Point to Point strategy</li>
<li class="">The interaction with the navigation Widget for controlling the brakes was simplified to reduce the number of clicks</li>
<li class="">The delay Node now works for fractions smaller than 1 second</li>
<li class="">Flows now pause (and can be resumed) instead of stopping if an error occurs</li>
<li class="">Flow/Dashboard names are now added to the filename during export for better overview</li>
<li class="">Message log is now persisted across reboots if not deleted manually</li>
<li class="">Joint LEDs now reflect the current Robot state (Blue: braked, Red: error, White: operational)</li>
</ul>
<h2 class="anchor anchorTargetStickyNavbar_Vzrq" id="fixes">Fixes<a href="https://kb.robco.example/robflow/release-notes/robflow-4-1-0#fixes" class="hash-link" aria-label="Direct link to Fixes" title="Direct link to Fixes" translate="no">​</a></h2>
<ul>
<li class="">Fixed input validation in some Nodes that was not working correctly and did not highlight mistakes</li>
<li class="">Fixed overlapping order some for overlays that caused content to be not visible</li>
<li class="">Standardised naming of Pose/Position/Point</li>
<li class="">Fixed loading of Flows and Dashboards that sometimes got stuck</li>
<li class="">Fixed loading of multiple Flows/Dashboards with the same UUID which caused conflicts</li>
</ul>]]></content>
        <author>
            <name>RobCo Team</name>
        </author>
        <category label="release" term="release"/>
    </entry>
</feed>