6. Top-down process

To create an FPP model from CAD model you need to follow a top-down procedure. This top-down process is mostly incorporated in the model explorer of Artist Studio. The whole procedure is divided into two parts of Artist Studio which are Patch Artist and Motion Artist. We will start with Patch Artist, which provides various modules for fiber placement.

6.1. CAD Model

6.1.1. Import part

Import the model as explained previously in “Getting started” section. Alternatively, the user can also import CAD model by clicking right on CAD model and then select Import part.

../_images/cad_imprt.png

Artist Studio supports these formats of 3D model:

  • Brep Files

  • Iges Files

  • Step Files

  • Stl Files

After importing the CAD model you can use various tools of Ribbon bar such as changing orientation, viewing in different viewports, changing render mode and render style.

6.1.2. Export CAD model

Once the CAD model is imported in Artist Studio, the user can export the CAD model at any stage of FPP process to reconstruct or remodel using any other external software. To export the CAD model you can click right on CAD model and then select Export CAD model.

../_images/export.png

6.1.3. Define mount point

The mount point is a position on the CAD model that defines the center of the robot to tool mount. It is defined as the position on the tool that corresponds to the center point of the tool mounting, i.e. the center of the mounting plate on the tool’s surface.

../_images/mount_robot.png

Hint

For easier selection, it is generally recommended to use the mount point as zero coordinate value in your CAD model.

It can be selected after selecting the CAD Model root item in the tree:

../_images/mount.png

Choose a coordinate system that has been defined in your CAD model in the drop-down list:

../_images/mount_select.png

Depending on the imported CAD file, the list might be empty. In this case, please define a coordinate system as explained in detail in Create system.

The created Mount point can be displayed in Patch Artist as well as Motion Artist by setting it to visible:

../_images/mount_check.png

6.1.4. Rename

  • Click right on the imported CAD model and select the Rename option.

../_images/rename.png
  • Type new name for the CAD model and then click outside the text bar or press Enter.

  • CAD model will be saved with the new name.

6.1.5. Set system position

Note

This functionality is only applicable to SAMBA Step systems.

With the Set system position functionality, it is possible to automatically align systems in the CAD model with pre-defined positions of a machine. Based on the selected position (Base) and the CAD model system (System), the appropriate mount point system is calculated and set.

  • Click right on the imported CAD model and select the Set system position option.

    ../_images/set_system.png
  • A pop-up dialog will open:

    ../_images/set_base.png
  • Select the Base from the dropdown. On SAMBA Step machines the Mount frame has to be set to the values of a measured base of the machine. This can then be selected in the drop-down.

  • Select the corresponding CAD model system as System

  • Click OK button to confirm.

Once OK has been clicked, Artist Studio will calculate the correct mount system and set it as the active mount point.

6.1.6. Delete

  • Click right on the imported CAD model.

../_images/delete.png
  • Click on the Delete button.

  • CAD model will be deleted.

6.1.7. View model layout

A complete model layout from the model to assemblies, assembly to solids, solid to shells, shell to faces, face to wires and so on can be viewed in Artist Studio.

To view parts or subparts of the 3D model just click on the drop-down button as shown below:

../_images/model_layout.png

It is also possible to import coordinate systems together with the CAD data which will be shown by Systems in the layout.

6.1.8. Create system

The CAD models can be specified with their own coordinate systems (local) which will be translated according to the global coordinate system of Artist Studio. A user system can also be used as the tool’s Mount point or to define the fiber orientation. To create a system, expand the layout of the CAD model by clicking on the drop-down button.

../_images/img61.png

Right click on the Systems button and click on Create system.

../_images/img62.png

This will create a system where the user can define the coordinate system for the CAD model in its Property editor window.

../_images/img63.png

Enter here the values for xyz coordinate system and choose the color depending on the requirements.

../_images/img64.png

Following user defined coordinate system will be created.

../_images/img65.png

6.1.9. Show or hide parts

The eye button provides the functionality to show or hide parts of the model. To hide any part just click on the green eye and click on the colorless eye to view parts.

../_images/green_eye.png

6.1.10. Viewing and reversing normals

Every CAD model has normals. Normals influence the direction from where Picker places the layup. The orientation of the normals should be pointing outside the geometry for ideal placement of the Laminate.

Viewing normals

The easiest way to check normals is to select on Show orientation from the ribbon bar under Render mode group.

../_images/normal1.png

And then select a face or shell from the CAD model.

../_images/normal2.png

Reversing normals

Sometimes, there is a need to reverse the normals for generating layup of the FPP model. As shown in the image below, the orientation of the marked face is pointing inside.

../_images/normal3.png

For flipping the normal, select the face from the CAD model for which you want to reverse the orientation of the normal. You can also select a shell to reverse the orientation of all the faces consisted in the shell. Now, click on the Reverse button from the property window.

../_images/normal4.png

The normal of the selected face will be reversed as shown below:

../_images/normal5.png

6.2. Shape extractions

After checking the normals, the next step to create FPP model is to extract shapes such as Surface, Boundaries, Master Curves and Points. Click on the drop-down button to define them. Shape extraction is incorporated with Selection tools for easy and multiple selections of faces or curves. Click here to know more about them in details.

6.2.1. Extract surfaces

The surface is a CAD-based entity that describes the part surface on which a layup would be generated. Right click on Shape extractions and click on Extract surface to extract surfaces.

../_images/surface.png

This will create an empty surface where you can extract surface from the CAD model. Surfaces can be selected in two ways:

  1. From entity window: Right click on the empty surface and click on the Select option.
    ../_images/select1.png
  2. From property window: Select the created surface and click on the Select button from Property window.
    ../_images/select2.png

On clicking either of the Select button, selection toolbox will appear. Use the toolbox to extract the surfaces. Before extracting the surface, select Picking type from the Ribbon bar.

../_images/picking_type_surface.png

This can be done in 3 ways:

  • Manual Selection - Select the face by normal clicking on the face. For multi-selection, select the faces with the Shift key pressed.

  • toolGrowNextFace - Select one face and click on this icon. With every click, adjacent faces will be selected.
  • toolGrowAllFaces - Select one face of the assembly and then click on this icon. It will select the whole assembly corresponding to the selected face.

Next step after selecting a surface is to click on the green tick as shown below.

../_images/surface_ok.png

6.2.2. Extract boundary

The CAD model must at least contain a boundary line enclosing the area which is supposed to be filled with layup. This is the so-called patch boundary. The patch boundary defines the area where the patch would be placed by the manufacturing cell. However, it is not necessary to explicitly define a boundary. Patch Artist automatically extracts the boundary of a surface as a Boundary. To explicitly extract a boundary follow these steps:

Click right on Boundaries under Shape extraction and then click on Extract boundary.

../_images/boundary.png

With the creation of boundaries, you can define areal constraints for your layup. For creating a boundary just click on the selected surface which will create a node on a surface. Whenever you make a new point by clicking on the surface, Artist Studio will join the previous point with the new one. You should make sure that the created boundary is enclosing the surface.

../_images/create_boundaries.png

Using the button Select from the Property window allows easy extraction of boundaries:

../_images/boundary_select1.png

Here, you can create a boundary by simply selecting the edges of the surface depending upon the requirements.

At first, select the Picking type from the Ribbon bar either edges or wires.

../_images/picking_type_boundary.png

This can be done in 3 ways:

  • Manual Selection - Select the edge by clicking on the edge. For multi-selection select the edges with the Shift key pressed.

  • toolGrowNext - Select one edge and click on this icon. With every click, the adjacent edges will be selected.
  • toolGrowAll - Select one edge of the assembly and click on this icon. It will select the whole assembly corresponding to the selected surface.

Next step after selecting a boundary is to click on the green tick as shown below.

../_images/boundary_ok.png

tip - Keep the Control key pressed for selecting more than one edge.

6.2.3. Extract curve

The orientation of the patches inside a layer is in most cases defined by a so called Master curve. One way of creating such a Master curve is by extracting a Curve from a CAD part. Follow these steps to create a Curve:

Click right on Curves under Shape extractions and then click on Extract curve.

../_images/guide_c.png

To extract a Curve the option Select is used: Simply click on the edges or wires for extraction of a Curve in the same fashion as explained above for the boundary extraction.

../_images/guide_select1.png

Selection toolbox in viewport

Selection toolbox contains tools for selecting different shapes such as surfaces, boundaries and curves. Various selection tools are shown below:

../_images/extraction.png
  1. For saving the selection.

  2. To close the selection toolbox.

  3. Undo

  4. Redo

  5. Select adjacent surfaces - First select a face. Then with every click on this tool, adjacent faces will be selected from the model.

  6. Select all connecting surfaces - This gives user more power. With one click, all faces corresponding to the selected face in one assembly will be selected.

  7. Select adjacent edges - Here, first select an edge. Adjacent edges (making the angle less than or equal to 15°) will be selected with every click on this tool.

  8. Select all connecting edges - Select an edge from the assembly. With one click on this button, all edges (making the angle less than or equal to 15°) will be selected.

6.2.4. Extract point

Some methods for defining a Master curve depend on a point extraction. Follow these steps to create a Point:

Click right on Points under Shape extractions and then click on Extract point.

../_images/extract_point.png

To extract an existing node the option Select is used: any CAD node can be picked.

../_images/point_property.png

To create a new point the option Create and select is used.

../_images/create_and_select_point.png

This can be done in 3 ways:

  • by coordinates - Creates a point with given x, y and z coordinates.

  • from curve - Select a curve extraction, a system, a system axis and an extremum type. Artist Studio will find the first point on the curve that is either closest to or furthest away from the plane defined by the system and the selected axis.

  • from surface - Select a surface extraction, a system, a system axis and an extremum type. Artist Studio will find the first point on the surface that is either closest to or furthest away from the plane defined by the system and the selected axis.

6.3. Tape types

6.3.1. Create tape

Within this option, the user can define Width, Thickness and Areal weight of the tape. These are important for fiber layup placement on the model and these parameters will define the quality of the output. Moreover, Areal weight is required to calculate the weight of the fiber material in the Laminate.

Click right on Tape types then click on Create tape.

../_images/tape1.png

After clicking on Create tape, enter the values for Width, Thickness and Areal weight of the specific tape.

../_images/tape21.png

Note

All the other values will be automatically imported when loading a CATIA file.

6.3.2. Quality Parameters

The user can make changes to the quality criterion of a tape which is used for layup overlap optimization. This option provides three types of quality functions: QP, Linear and Quadratic. All functions will favor higher overlaps between patches during optimization. However, their convergence behavior is vastly different. When in doubt use the Quadratic approach.

../_images/qp.png
  • QP - A complex physical strength based quality criterion derived from Cevotec’s research on optimal FPP layups. Only valid for Cevotec dry fiber material.

  • Linear - Linear interpolation between a lower and an upper limit. Overlap lengths below the defined lower limit will have the quality value of 0.0, while those above the upper limit will get the the maximum quality 1.0 assigned. Please refer to Fig. 6.1 for details. The factor b specifies the drop-off of the influence of a gap in the direction of Thickness and usually doesn’t need to be modified by the user. The Linear option is only recommended in combination with layers with two sublayers. For more sublayers please use Quadratic.

../_images/qp1.png
  • Quadratic - Similar settings as Linear but with a quadratic interpolation between lower and upper limit. Best suited for layers with more than two sublayers. See Fig. 6.1 for a comparison with the Linear quality function.

../_images/quality_parameters.png

Fig. 6.1 Linear and Quadratic quality criterion as a function of patch overlap length

Note

The maximum overlap length between two patches is always half the patch length. This doesn’t mean, though, that the upper limit can’t be higher (but you will never be able to achieve an overall laminate quality of ~ 1.0). See also Fig. 6.1.

6.4. Patch types

Note

This part is only for Patch Artist users.

../_images/patch1.png

Right click on Patch types and select Create Patch. A patch will be created and the following parameters can be set via the property window:

../_images/patch_type_property_editor.png
  • Name

    The name of the patch type. Left click the default name (here it is Patch Type 1) and type a new one to change the name.

  • Tape

    It shows the type of tape used. Select a Tape type via the drop-down menu.

  • Length definition

    Use of either constant or variable patch length. Patch lengths may be chosen to be constant across the entire laminate or varying from patch to patch. For more information on variable patch length and its use see Variable patch length. Choose from the following options in the drop-down menu:

    • constant

      Constant patch length. All patches of this type will have the same length defined by the Length property.

    • continuous

      Variable patch length within a given range defined by Length. Patches may have any length between the defined minimum and maximum length.

    • discrete

      Note

      Discrete length not yet supported.

      Variable patch length with a given set of discrete patch lengths. Patches may have any length within the set specified by Length (e.g. 40mm, 60mm, 80mm or 92mm). No other lengths than the ones specified are allowed.

  • Length

    The length or range of possible lengths of the patches. Options here depend on the chosen Length definition. They are the following:

    • constant

      A single value Length. This sets the length of all patches to the value specified here.

    • continuous

      Two seperate values Min. length and Max. length. They specify the allowed minimum and maximum patch length. Patches may have any length between these two values.

    • discrete

      Note

      Discrete length not yet supported.

      A list of allowed patch Lengths. Enter all allowed patch lengths in [mm] as a comma-separated list.

  • Shape type

    Geometry of the cutting edges of the patch. Permissible cutting geometries depend on the capabilities of your manufacturing system. You can select between the following options:

    • Rectangle

      A simple rectangular patch with no additional settings.

    • Trapezoid

      A trapezoidal patch with additional parameters for the angles at the front and back of the patch. The angles are relative to the patch x-axis and the direction of rotation is given by the patch normal and the right-hand rule. A 0° angle will therefore define a rectangular cutting edge. The nominal length of the patch is measured along its centerline.

      ../_images/trapezoid_parameters.png

      The trapezoid will degenerate to a triangle if a short patch length and large angles of reversed signs are chosen.

    • Isosceles trapezoid

      Similar to Trapezoid but front and back angle are coupled. The only parameter is the (front) angle and the back angle will automatically have the same absolute angle with reversed sign.

After creating patches, press Enter or click outside the entry.

6.5. Machine configurations

6.5.1. Overview

Machine configurations in Artist Studio contain essential data about your production system, and are stored within the “Machine Configs” part of FPP files. This data includes Motion Artist defaults specific to each system.

While machine configurations are primarily used in Motion Artist to ensure precise robot movement generation, some configuration details also impact laminate design in Patch Artist. For example, estimating the cutting scrap rate depends on the length of a fixed gap between patches, which is needed whenever the trapezoidal angle changes.

If your main focus is laminate design in Patch Artist, creating machine configurations can initially be optional. They only need to be completed before generating machine data in Motion Artist.

6.5.2. Taught vs. generated positions

The picker follows a series of positions during operation, usually pick, camera, heating, placement start, approach, correction, target, rolling, leaving, placement end, and a final camera check. Which of these movements are actually used depends on the SAMBA system type.

../_images/motion_artist-taught_and_generated_movements.png

Movements responsible for deposition of a patch (i.e., from approach to leaving) are generated by Motion Artist and exported in the final robot program. For more details, see Patching section. Users can add additional avoidance, approach or leaving movements, which also become a part of the robot program. In contrast, initial and final positions - like pick, camera, heating, and placement start/end (gray in the screenshot above) - are manually taught during system setup and only simulated in Motion Artist, but typically not exported.

To ensure that Motion Artist simulations align with real-world operations, and thus to enable effective collision detection and avoidance, these exact taught positions should be provided to Artist Studio as JSON files (in the ‘rob’ subfolder of the Artist Studio installation, or if needed in a custom folder, see Custom cells).

Note

For SAMBA Pro and SAMBA Step M, the heating position is not taught, and it is exported in robot programs. Its initial default value is still loaded from a JSON file.

These files are usually initially provided by Cevotec after Factory Acceptance Testing (FAT). If any positions are retaught or modified, users should update these JSON files and share them among engineers using Artist Studio. Once loaded in the Machine Configs section in Artist Studio, these default values can be adjusted as needed.

For systems with two robots, the machine configuration includes a default deposition frame, which can either be determined within the production system or manually set in Motion Artist. Note that deposit optimization may adjust this default position per patch.

6.5.3. Fields in machine-config JSON files

The following taught positions are primarily used for simulation and collision detection and are generally not included in the robot program:

  • pickPatchPosition: Pickup position on the conveyor belt.

  • cameraPosition: Position above the camera, used before and, if needed, after deposition.

  • heatingPosition: Position above the heating unit.

  • placementStartPosition: Last taught position the picker reaches before deposition (for systems made in 2024 or later).

  • placementEndPosition: First taught position the picker reaches after deposition (for systems made in 2024 or later).

Special positions for systems with two robots:

  • depositFrame: Default point of contact between the picker gripper and the positioner tool during patch placement.

  • worldZeroPosition: Reference position for exporting picker movements, usually matching the picker robot’s coordinate system. Taught positions are also represented relative to this position.

Special positions for systems with a rotational axis positioner:

  • depositAngle: Default angle of the point of contact between the picker gripper and the positioner tool during patch placement. The deposition point’s distance from the axis depends on the tool’s shape after rotation. Push-in direction is defined relative to the tool surface’s normal at this deposition point, with optional manual adjustments.

Special positions for systems with one robot:

  • coordinateRootPosition: Fixed offset of the picker’s root position.

  • worldZeroPosition: Reference point (relative to the coordinate root) for export of picker movements, often a designated table corner in 2D placement. Taught positions are also represented relative to this position.

  • depositFrame: Used as “Mount Frame” for calculating mount points via the “Set System Position” dialog, see Set system position. For SAMBA Step L, additionally contains the default value of the external axis to use during deposition.

Once loaded to a machine config, above positions are accessible in the Property editor window.

../_images/machine_config-patching_positions.png

6.5.4. Other values in machine configs

Machine configs contain also the following parameters, which are not initially loaded from JSON files:

  • Trapezoid cutting gap: The length of scrap material that the cutting unit leaves each time the trapezoid angle of the patch shape changes.

  • Approach height: See Patching section.

  • Correction height: See Patching section.

  • Target speed: A value between 0 and 100% to adjust the speed of the gripper as it moves to the Target position. Lower speeds may improve the uniform draping of the patch on the surface.

  • Target acceleration: A value between 0 and 100% to adjust the deceleration of the gripper in the final part of the movement to the Target position.

  • Touch time: The wait time of the gripper at the Target (pushed-in) position.

  • Push-in depth: See Patching section.

  • Retraction speed: A value between 0 and 100% to adjust the speed of the gripper as it moves away from the Target position. Lower speeds may help prevent patches from being peeled away from highly curved surfaces.

  • Retraction acceleration: A value between 0 and 100% to adjust the acceleration of the gripper as it moves away from the Target position.

  • Leaving height: See Patching section.

6.5.5. Creating, modifying and resetting machine configurations

Machine configurations are saved in the FPP file.

To create a new machine configuration from a JSON file, right-click on the “Machine Configs” item in the Artist Studio tree.

../_images/machine_config-create.png

Once created, you can edit the positions and values as needed. If necessary, reset the configuration to values from any JSON file for the same machine type.

../_images/machine_config-reload.png

6.6. Laminate: Patch

Patch Artist uses a discontinuous patch based approach to build a so-called Patch Laminate. It is the root element in this hierarchical structure. It exists only once in every project and contains all other entities.

../_images/Strucutral_Layer.png

As shown in the above figure, Layups are organized hierarchically in containers to reduce complexity. The user can view Number of stacks, layers, sub-layers, chains, patches in the Property editor window.

6.6.1. Create patch stack

The next (hierarchically) lower level is called Stack. Stack is the first branch of Laminate. The user can create any number of stacks depending on the model under Laminate. Click right on Laminate and then click on Create patch stack.

../_images/stack.png

Stack is a collection of several (partially) overlapping layers.

6.6.2. Create patch layer

Advancing further down the hierarchy, the next lower level after Stack is layers. There can be any number of layers under one Stack. A layer describes a layup of multiple patches that can be defined by common properties. To create a layer, right click on the created stack Patch stack 1 and select Create patch layer from the context menu.

../_images/layer.png

6.6.2.1. General settings

Let us understand the Property window of Patch Layer in detail:

../_images/layer_entity1.png
  • Type

    Shows the type of entity selected above by the user. It would be Patch layer in this case.

  • Name

    Shows name of the layer. The user can rename or delete by right-clicking on the layer.

  • Surface

    Select previously extracted surface from the drop-down menu. Note that only one type of surface could be selected under one type of layer.

  • Patch type

    Within this option, the user can select previously created patch types. Only one type of patch can be selected per layer.

  • System

    You can select a previously imported or manually created coordinate system for this layer. If you choose to keep the Default system, a system similar to the global coordinate system shown in the viewer is used. Be aware that not all methods of master or slave curve creation require a coordinate system.

  • Master curve definition

    The Master curve is the reference curve for the creation of Slave curves. There are multiple ways to create a Master curve. See Master curve definition for details.

  • Slave curve definition

    Slave curves define the orientation of the patches to be created. For this purpose, the start and end point of each patch lies (at least initially) on a Slave curve. See Slave curve definition for details.

6.6.2.2. Master curve definition

The master curve either acts by itself as a reference for the desired fiber orientation or it is used to create seed points for a subsequent slave curve generation. We will dive deeper into this topic in the following section on slave curve creation.

6.6.2.2.1. Master curve specific settings

Settings relevant to master curve creation are depicted below. Depending on the selected curve definition not all settings will be available.

../_images/masterCurveDefinitionSettings.png
  • Master curve definition

    Algorithm for the creation of the master curve. See next section for details.

  • Curve extraction

    Selection of an existing curve extraction using a drop-down list. Please refer to Extract curve for guidance on how to create a curve extraction.

  • System

    Some curve creation methods require a reference orientation in form of a vector. The x-axis of a coordinate system provides such a vector. Please refer to Create system for guidance on how to create a system.

  • Starting point

    The starting point for curve creation. Selection of an existing point extraction using a drop-down list. Please refer to Extract point for guidance on how to create a point extraction.

  • Angle

    An angle relative to the projection of the system x-axis onto the local surface plane at the location of the starting point. Defines the curve orientation.

  • Max. master curve length

    The maximum length of the curve, applied in both curve creation directions (i.e. maximum combined length will be 2x this length).

The following figure shows how the curve fiber orientation is calculated by using above settings.

../_images/curve_orientation_definition.svg

Fig. 6.2 The process of deriving the curve orientation from starting point, system and angle.

6.6.2.2.2. Methods of curve creation

There are multiple ways to define your master curve. Select the one that is most suitable for the laminate design task at hand.

../_images/masterCurveDefinitions.png

Fig. 6.3 Curve creation examples. When supported by the method, an angle of -30° was chosen for the curve.

  1. by extraction

    Select an existing Curve extraction from the drop-down menu. There are no additional settings available. Use this method if you want your curve to follow existing edges of your model or if your design requires a complex shaped curve that can only be realized using an external CAD tool.

  2. by plane

    The curve will follow the intersection of the surface with the plane normal orthogonal to the local surface plane at the starting point. Only the by plane and by external plane curve types can form closed curves.

  3. by geodesic

    The curve will follow the shortest path along the surface. It can also be interpreted as a curve that is free from lateral forces when tension is applied on the curve. It is therefore commonly used in winding applications.

  4. by direction

    The curve will follow this reference orientation by locally projecting the

  5. by external plane

    Similar to by plane but not affected by the surface normal at the starting point. Intersects the surface with a plane that is normal to the system x-axis and runs through the starting point. Just like by plane, this method is able to form closed curves.

The following table shows an overview of required settings for each algorithm.

../_images/table_master_curve_settings.svg

Fig. 6.4 Available layer settings based on selected master curve definition

6.6.2.3. Slave curve definition

There are multiple methods to create Slave curves that can generally be divided into two groups, based on their usage of the Master curve:

6.6.2.3.1. Master curve as reference for fiber orientation

When selecting by parallel offset, parallel offset curves are created from the Master curve. The distance between all curves will be equal, resulting in a minimal amount of gaps and overlaps in the laminate. However, in areas of high curvature (curve and/or surface) only patch start and end point are guaranteed to be exactly on the curve (this is the case for all slave curve definitions). The master only slave curve definition is a convenience function that covers the special case of the parallel offset, where only a single curve (the master curve) is used.

Note

You will also see the option [BETA] by parallel offset. This denotes an experimental version of a new parallel offset algorithm that can handle certain cases better than the default one. Note that the new algorithm’s speed and accuracy heavily depend on the mesh density of the surface.

Table 6.1 Examples for curve definitions based on master curve as reference for fiber orientation

Curve definition

Example

../_images/slaveCurveExamples_byParallelOffset_settings.png
../_images/slaveCurveExamples_byParallelOffset.png
../_images/slaveCurveExamples_masterOnly_settings.png
../_images/slaveCurveExamples_masterOnly.png
6.6.2.3.2. Master curve as base for seed points

Seed points are created along the Master curve. For each point, a curve is created with the same algorithm as described for the creation of the Master curve (by direction, by plane, …). In contrast to the parallel offset, the curves are usually only equidistant along the Master curve. In addition, there is a second group of curve creation algorithms that behaves similarly but uses the local curve tangent of each seed point as reference orientation. Consequently, they are named following a by relative ... scheme.

Warning

As of Artist Studio version 1.3.34, the angle definition of the by relative plane slave curve method slightly changed. An angle of 0° used to create a curve that is orthogonal to the master curve. To be in sync with other “relative” methods, this value is now defined to be 90°.

The table below shows examples of all curve creation methods.

Table 6.2 Examples for curve definitions based on seed-points generated from master curve

Curve definition

Example

../_images/slaveCurveExamples_byDirection_settings.png
../_images/slaveCurveExamples_byDirection.png
../_images/slaveCurveExamples_byPlane_settings.png
../_images/slaveCurveExamples_byPlane.png
../_images/slaveCurveExamples_byGeodesic_settings.png
../_images/slaveCurveExamples_byGeodesic.png
../_images/slaveCurveExamples_byExternalPlane_settings.png
../_images/slaveCurveExamples_byExternalPlane.png
../_images/slaveCurveExamples_byRelativeDirection_settings.png
../_images/slaveCurveExamples_byRelativeDirection.png
../_images/slaveCurveExamples_byRelativePlane_settings.png
../_images/slaveCurveExamples_byRelativePlane.png
../_images/slaveCurveExamples_byRelativeGeodesic_settings.png
../_images/slaveCurveExamples_byRelativeGeodesic.png

6.6.2.4. Create slave curves

Slave curves are the curves which are created by offsetting the Master curve with a constant offset value in order to cover the Patch zone. Click on the drop-down menu to make changes in the default settings. The user can also create Slave curves from the context menu of the created Patch layer.

../_images/img16.png
  • Number of sublayers

    Enter the Number of sublayers for creating FPP model.

  • Sublayer offset positions

    Each sublayer in a Layer should be also transversally shifted against each other to increase the mechanical performance. The offset position has to be between zero and the patch width. If the number of sublayers is higher than the number of sublayer positions then curve pattern will be repeated after the number of sublayers. The default value of Sublayer offset positions changes with respect to Number of sublayers. To make changes in the default value, uncheck the default button and enter the value for Number of offset positions here.

    Table 6.3 Sublayer offset positions

    Sublayer offset positions

    Slave curves

    2 (default for this geometry)

    ../_images/img20.png

    3

    ../_images/img21.png

    4

    ../_images/img22.png
  • Offset width

    It is a transversal offset width of Slave curves. Select an appropriate offset width depending upon the requirements.

    Table 6.4 Offset width

    Offset width [mm]

    Slave curves

    15 (default for this geometry)

    ../_images/img4.png

    30

    ../_images/img5.png

    50

    ../_images/img6.png
  • Trim edges at turning point

    Within this option, the user can switch ON or OFF trimming of edges at the turning point of Master curve. Let’s assume that Master curve is not completely covering the surface. By switching ON or OFF this option, you can observe the following changes in your geometry:

    Table 6.5 Trim edges at turning point

    ON or OFF

    Slave curves

    ON

    ../_images/img24.png

    OFF

    ../_images/img25.png

    The user can also create Trim curves from the context menu of the created Patch layer.

  • Curves

    Click on the Create button to generate Slave curves on the model.

    ../_images/slave_curve.png

6.6.2.5. Modify curves

Within this option, the user can modify Slave curves depending on the requirements. Click on the drop-down menu to make changes.

../_images/img17.png
  • Patch boundary

    Select the extracted boundary for defining a patch boundary. By default, Patch Artist takes surface’s boundary to define Patch boundary.

  • Trimming method

    Adjust patches creates intersections and removes all patches that are outside the boundary. Adjust curves trims the curves between the first and the last intersection with the boundary.

  • Maximum layer width

    By changing Maximum layer width, the user can increase or decrease the area covered by the patches. Its value should be greater than the width of the tape otherwise Patch Artist would not create Slave curves.

    Table 6.6 Maximum layer width

    Maximum layer width [mm]

    Slave curves

    560 (default for this geometry)

    ../_images/img1.png

    300

    ../_images/img2.png

    50

    ../_images/img3.png
  • Minimum curve length

    Minimum curve length is the value which defines the minimum length of Slave curve. Patch Artist will not create Slave curves whose length is below this value.

    Table 6.7 Minimum curve length

    Minimum curve length [mm]

    Slave curves

    0 (default for this geometry)

    ../_images/img26.png

    560

    ../_images/img27.png

    1000

    ../_images/img28.png
  • Intersection tolerance

    It is defined as a tolerance between the intersection of the extracted boundary and Slave curves.

  • Boundary intersection

    This button is only active if the user has selected a patch boundary. However, it is not required to calculate intersections if the boundary is at the edge of the surface. Click on the Trim button to modify Slave curves.

    ../_images/img29.png

6.6.2.6. Create patches

This step will generate patches on the surface based on the Slave curves created above. Click on the drop-down menu to make changes in the default settings. The user can also create Patches from the context menu of the created Patch layer.

../_images/img18.png
  • Chain start position

    Within this option, you can define the number of starting positions for chains. It is recommended to use 10 (default value) as Chain start position for a good quality of layup but for fast optimization and where quality doesn’t matter you can decrease this value.

  • Maximum boundary overlap

    It defines the allowable overlap between the patch and patch boundary. The user should enter a small value of Maximum boundary overlap to reduce scrap but small values may result into large gaps close to patch boundaries. An appropriate value for Maximum boundary overlap should be entered depending on the requirements. To generate patches outside the boundary, the user should define Curve extrapolation length for creating Slave curves outside the extracted boundary. Let’s take 60 mm as Curve extrapolation length for the example shown below. For better understanding, the bottom assembly of Gear box is hidden.

    Table 6.8 Maximum overlap factor

    Maximum overlap factor [%]

    Patches

    0

    ../_images/img12.png

    50

    ../_images/img13.png

    100

    ../_images/img14.png
  • Longitudinal overlap

    With this feature, the user can define the value with which patches overlap each other.

    Table 6.9 Longitudinal overlap

    Longitudinal overlap [%]

    Patches

    0

    ../_images/img10.png

    25

    ../_images/img9.png

    75

    ../_images/img11.png
  • Overlap rule

    By default the Longitudinal overlap specified above is used as a fixed value, which will generally result in a gap between the end of the chain’s last patch, and the end of the curve. In order to fully cover a curve exactly from the start to the end, the restrictions on gaps and overlaps can be loosened by having the chosen overlap value act as a lower or upper limit instead. Note that for open curves with even overlaps, changing the chain start position will not shift the chain.

    ../_images/overlap_rule_options.png
  • Curve extensions

    As described in FPP basics, sometimes there is a need to extrapolate Slave curves. Here, you can decide to extend some or all of the curves.

    ../_images/curve_extension_options.png
  • Max. curve deviation

    Note

    For variable length only

    Set the maximum allowed angular deviation of the patch center line from the corresponding segment of the guide curve. Patches will be made shorter in order to fulfill this requirement. This will result in short patches where curvature of the guide curve is high and longer ones along straight segments of the curve. Setting the maximum value of 90° eliminates all effects of this criterion.

  • Max. push-in depth

    Note

    For variable length only

    Set the maximum allowed push-in depth required to create patches. To fulfill this requirement, patches will be made shorter in order to decrease the required push-in of the gripper. This will result in short patches where the underlying surface is not flat. Set this according to gripper constraints. A value larger than the maximum patch length eliminates all effects of this criterion.

  • Patches

    Click on Create button to generate Patches on the model.

    ../_images/img30.png

6.6.2.7. Optimize layup

This part of Model tree consists of various options to optimize the layup by making changes in the default settings.

../_images/img19.png
  • Algorithm

    Ant algorithm is an heuristic population based algorithm that uses a number of individuals (each representing a solution) that interact with each other over the specified number of iterations to find an optimum solution. However, the user can choose a high value for Nb. of iterations and Population size for a better solution but it will consume more time.

  • Quality function

    Select the type of quality required for the CAD model such as minimum or average.

  • Population size

    Enter here the number of values you want per iteration for Ant Algorithm.

  • Nb. of iterations

    Within this option, enter the maximum number of iterations required for optimization of layups.

  • Max constant iterations

    Here, enter the number of iterations you want to be performed by the selected algorithm. It is a stop criterion for optimization which means if the result of the optimization is coming out constant for the entered number of Max constant iterations then optimization algorithm will stop. Recommended number of Max constant iterations is between 10 to 50.

  • Layup optimization

    Click on the Run button for Layup optimization.

    ../_images/img31.png

6.6.2.8. Draping

Note

New in 1.3

By default, patch creation uses a projection algorithm to approximate the shape of the patches. This approach is usually sufficient for laminates with slight out-of-plane curvature, as well as for all laminates with low requirements on the accuracy of the patch preview. As an additional step, users may drape patches, which results in a more accurate prediction, especially when working with challenging geometries.

For so called kinematic draping, the center point of each patch and its respective orientation is used to create two lines on the surface: one in patch direction and the second perpendicular to the first (the blue lines in the image below). Starting from these two orthogonal lines a mesh with equidistant segment length is propagated to the corners of the patch. Each node of the patch lies exactly on the surface.

../_images/drape_patch_process.png

As a consequence, draped patches will look different than their projected counterparts but their center point will always stay the same. The accuracy of the draping process is determined by the mesh discretization.

Warning

You should be aware that, although draping is more accurate than projection, it doesn’t take into account any non-geometric effects like material stiffness, slippage of the patch on the tool surface or the deformation of the gripper. All of which can cause a significant deviation from the draped geometry.

There are three reasons to perform draping on curved geometries:

  1. It improves the prediction of the patch boundary, making it possible to judge very small gaps and overlaps between patches.

  2. It creates a smoother representation of the patch, providing higher preview quality for product visualization.

  3. It is a prerequisite to allow generation of rolling motion steps (see Rolling motion).

To drape a complete layer, click on the Draping Run button

../_images/drape_patch_layer.png

You can change the mesh size (length of one segment of the “net”). Smaller values lead to more precise draping.

For an individual patch the Is draped field indicates whether a patch is draped.

../_images/drape_patch.png

If it is not, you can click on the button next to the Is draped field to drape just this one patch.

6.6.3. Manual adjustments

You can manually move patches (see Manually adjusting positions of patches), change gripper push-in orientation for every patch, or add gripper rolling motion for patches on curved edges (see Gripper handling).

6.6.4. Patch layer duplication

To streamline laminate creation, patch layers can be duplicated. There are two duplication options:

  • Full patch layer

    This will copy the entire patch layer, including all sublayers, chains, and patches.

  • Only settings

    This option duplicates only the settings used for the creation of the slave curves and patches.

../_images/duplicate_patch_layer.png

Note

If Thick laminates are enabled, excessive use of fully duplicated patch layers might result in inaccuracies in the resultant laminate. This is because thickness offsets are not considered for the duplicated layers.

6.7. Machine data

From here, we need to begin the manufacturing cell simulation. The layup generated by Patch Artist will be available directly in the Motion Artist module so that we can perform the automatic offline programming of the robots. Click on the Motion Artist tab from the green ribbon bar to begin with the robot simulation.

../_images/img38.png

To simulate the manufacturing, the first step after creating the laminate is to create Machine data that can be fed into the manufacturing cell. Machine data basically contains data of robot movements. Artist Studio converts the layup selected by the user into Machine data which the manufacturing cell understands.

6.7.1. Select manufacturing cell

The first step to start with the simulation is to load the manufacturing cell. The manufacturing cell can be selected in the property window after selecting the Machine Data item in the Model Tree. Click on the drop-down menu under Robot entry and select the cell you wish to load. right click on Machine data and then click on Load cell. Then select the manufacturing cell as shown below:

Note

The available manufacturing cells depend on the used module

../_images/img39.png

The appropriate cell geometry will be loaded and shown in the viewport.

../_images/img41.png

6.7.2. Calculate mount point

This is an automatic way of calculating the mount point at which the CAD model should be mounted.

Note

Calculate mount point is only recommended to be used with SAMBA Pro machines with a Stäubli TX200 positioner and Stäubli TP80 or TX2-90L picker.

6.7.2.1. Preparations & Requirements

Prepare a notepad or form to note down both positioner joints and picker position for multiple points on the tool. The position data will be entered into the Calculate mount point dialog after the gathering all the necessary data with the machine.

Before starting to work with the machine, the following should be prepared:

  • Picker calibration gripper (calibration spike):

    ../_images/calibration_spike.png
  • Definition of at least 3 different points on the tool that are

    • Accessible with the picker calibration gripper

    • Pickable with Nodes Picking type in Artist Studio

      ../_images/calculate_mount_nodes_picking.png ../_images/calculate_mount_node.png

Afterwards, the machine itself can be prepared for gathering the data by following these steps:

  1. Mount the preforming tool to the positioner.

  2. Remove the patch gripper and replace it with the picker calibration gripper.

  3. Connect the teach pendant to the positioner (Stäubli TX200)

    ../_images/calculate_mount_sp1_pendant.png

6.7.2.2. Gathering data

Move positioner

After the preparations, start by first moving the positioner:

  1. Move positioner with tool into a position that allows accessing the point on the tool with the calibration spike

  2. Let go of dead man’s switch on teach pendant

    → TX200 will apply its breaks and hold its position

  3. Note down which point on the tool is to be probed

  4. Press Menu button button on the teach pendant

  5. Navigate to Control Panel (Systemsteuerung) and select by pressing return button:

    ../_images/calculate_mount_menu_view.png
  6. Expand Controller status (Systemstatus) and then the sub-item Axis position (°) (Achsposition (°)):

    ../_images/calculate_mount_control_panel.png

    Example view of Achsposition (°)

  7. Note down the joint values J1 - J6 for the TX200

Move picker

Then, continue with the picker:

Warning

For machines with the Stäubli TP80 picker robot, the dead man’s switch has to kept on until after noting down the position values. This is to prevent the robot from moving slightly after turning of the drives. This will reduce the accuracy of the picked point. Other picker robot types, e.g. Stäubli TX2-90L or KUKA 6-axis robots, are unaffected by this potential issue and will apply their breaks.

  1. Connect the teach pendant to the TP80 or switch to the teach pendant of the TP80 / TX2-90L

  2. With the teach pendant and the mounted calibration spike, jog the picker to probe the position on the tool.

    ../_images/calculate_mount_jog_robot.png
  3. Press Menu button button on teach pendant to open the menu

  4. Navigate to Control Panel (Systemsteuerung) and select by pressing return button:

    ../_images/calculate_mount_menu_view.png
  5. Expand Controller status (Systemstatus) and then the sub-item Cartesian position (mm, °) (Kartesische position (mm, °)):

    ../_images/calculate_mount_control_position.png

    Example view of Kartesische Position (mm, °)

  6. Note down the X, Y, and Z values. Rx, Ry, and Rz are not used and do not need to be noted down.

This process will have to be repeated to end up with at least three sets of values of positioner joints and picker cartesian position for each probed point.

Note

If multiple points can be measured with the same tool position, i.e. the positioner does not need to be moved, it is valid to reuse the same positioner stance and joint values.

Note

The same point can be probed multiple times but this will not lift the requirement to probe three different points on the tool.

Note

There is no limit on the number of probed points on the tool. Three points already result in accurate positioning but it can be beneficial to probe four or five points to further reduce the measurement error.

After gathering the data, continue with the next section to run the Mount point calculation in Artist Studio.

6.7.2.3. Run calculation

To calculate the mount point from the gathered data, follow these steps:

  1. Right click on Machine data and select Calculate mount point.

    ../_images/img60.png
  2. Enter the values of Positioner joints and Picker position for a point in the Calculate mount point dialog box. Under the option Coordinate System, select an appropriate coordinate system for your robotic tool. The default for the SAMBA Pro system is World coordinates while other systems like the Manz FPP cell require selecting Robot coordinates.

    ../_images/img82.png
  3. Now click on the Select button to select points from the imported geometry.

  4. The previous action will take you to Patch Artist and allows selecting a point on the geometry. After selecting the probed point on the geometry, click on tick.

../_images/calculate_mount_select_position_pa.png
  1. The selected point will be added with the joint and position data to the list of calculation points.

../_images/img84.png
  1. Repeat steps 2 to 5 until having entered all point data. In case of incorrectly entered values, these can be removed with the Remove button. The Run calculation button will turn active once at least three different points have been added.

  2. Click on Run calculation to calculate the mount point.

Artist Studio will calculate the optimal transformation of the tool as your new mount point. It will be created as a new system in the CAD model and selected as your current mount point.

6.7.2.4. Common issues

  • Failure to calculate mount point:

    • Double check entered values and the picked positions

    • Gather the joint and position data again

  • Inaccurate / invalid placement of tool:

    • Same steps as for failure to calculate (see above)

    • Ensure the Tool mount vector in the Robot settings is set to all 0 values.

  • Inaccurate placement:

    • Check by manually running the placement in automatic mode with the picker calibration tool: Perform a dry run with negative push-in values

    • Check the effect of simulating camera 2 as “pass”

    • Using a new gripper? → Check for any camera detection issues

    • Is the camera 2 calibration still valid?

6.7.3. Create Machine data

To create Machine data right click on Machine data and then click on Create machine data set as shown below:

../_images/machine_data.png

6.7.3.1. Data Generation

A Data Generation window will appear in which the user can select and specify the data generation logic for the data set. Depending on the type of model the user can select ‘by positioner position’ or ‘by deposit frame’.

../_images/img66.png

Data generation logic: by positioner position

This mode can be used when it is desirable to move the tool as little as possible (example use case shown in the figure below). Here, only the Picker robot will make movements in order to patch the surface and the Positioner robot will hold the tool at a fixed position.

../_images/img70.png
../_images/img67.png

Data source

Data source is a common option for all types of data generation logic. The user can select or deselect any stack, layer or sublayer for creating a dataset.

../_images/img68.png

Positioner position

The position at which the Positioner robot will hold the tool is defined here. This position will be fixed for a particular data set. During patching, the Picker robot will make the necessary movements and the position of the Positioner robot will remain fixed.

../_images/img71.png

Data generation logic: by deposit frame

By deposit frame mode can be used when the model is 3-Dimensional and curvy in nature as shown in the figure below. The model will be attached directly to the Positioner robot. The Picker and Positioner robots will make movements simultaneously for the patching of patches on the model’s surface.

../_images/img72.png

Prepreg production

The heating unit in the manufacturing cell provides sufficient heating for the resin of the tape (on the gripper) to heat up so that it can be smoothly patched on the surface of the CAD model. However, some tapes can’t be heated using this heating unit as it might get stick to the gripper. To solve this problem, Prepreg production is required. This process heats the tape externally with the Infrared rays.

  • To start Prepreg production check the Add prepreg heating position button.

../_images/img75.png
  • Enter the value for Heating time for example, 0.5s to define the time for heating.

../_images/img74.png

Create Data

After defining a data type mode and specifying other options of Data generation, the user can fill the dataset with the data by clicking on Create Data button.

../_images/img76.png

6.7.4. Suppressing dataset

A data set will be created which will contain the data for your simulation. However, if you want to split the laminate layup into several files then different datasets should be created for different files. To do this, right click on the layer you don’t want to be filled in the data set and click on the Suppress option.

../_images/suppress1.png

6.7.5. Set deposit frame

In Motion Artist to simulate the manufacturing cell, the first requirement is to set Deposit Frame where the interaction of robots - Picker and Positioner will occur. To set Deposit Frame click on the Robot settings option under Miscellaneous group and select the Patching tab.

../_images/deposit_frame.png

Enter the appropriate values for X, Y, Z axis and respective Yaw, Pitch and Roll values under the Deposit Frame.

6.7.6. Status of patches

The patches filled in Data set are represented by different colors in front of their patch name. These colored icons show the status of patches in Data set which are explained as:

  • red - This is because of two reasons:

    1. Limit reached - This icon represents that the movement of the robot has reached its limit and cannot move further. As shown below, the fifth axes of Positioner has reached its limit i.e 120.000. This error can be corrected by optimization or by modifying the patch.

      ../_images/img46.png
    2. Collision - When a collision is detected in robot movements after checking the collision then yellow turns into red.

  • yellow - This means the robot movements are fine but the collision is not yet checked. To correct this check the collision of the patch. If after checking the collision, it turns into red then optimize or modify the patch.

  • blue - This is known for the force correction of a patch at your own risk. Sometimes, you know that the robot movements will not collide even if it is showing red and you want to pass it on for patching. This can be done by by the Override collision option. This overriding of a patch is shown by blue.

  • green - When a robot movement is smooth without any collision and ready for patching then it is represented by a green icon.

Note

When clicking on a patch in the list, a property window of the selected patch as shown below consisted of various entities such as Type, Name, Collision state and Position will appear.

../_images/patchinfo.png

6.7.7. Collisions

The robot movements are not always smooth. Sometimes, during patching the axes of robot collide with each other or with the assembly of frame.

6.7.7.1. Detect collision

It is important to detect collisions before creating the layup. Collisions can be detected in following ways:

  • Complete dataset - Select the dataset and click right. Then click on Check collisions.

    ../_images/img421.png
  • One patch - Click right on the patch and select Collisions. From the Collisions context menu click on Check item only.

    ../_images/img501.png
  • From patch - Check from patch means that all the patches starting from the currently selected one will be checked for the collision. To detect collisions from a particular patch follow these steps:

Click right on the patch and select Collisions. From the Collisions context menu click on Check from item.

../_images/img511.png

Patches with collisions will be shown by red and with no collisions by green.

6.7.7.2. Display movement

To view the robot movements in slow motion for patching or to detect where the collisions are occurring follow these steps:

  • Right click on the patch and select Collisions.

  • Then select Display movement from the context menu of Collisions.

    ../_images/img521.png

    This will display the movement of robot for the selected patch in slow motion. The figure shows a detected collision highlighted with a red sphere.

../_images/display_collision.png

6.7.7.3. Override collision

This is a force method to override collisions. Motion Artist is normally using a safety distance of 3 cm to avoid any collision. Override collision is recommended when you are sure enough that collision is not occurring and you want to pass it on for patching. To override collision follow these steps:

  • Right click on the patch and select Collisions.

  • Then select Override collision from the context menu of Collisions.

    ../_images/img531.png

The overridden patches will be shown as blue icon.

6.7.8. Optimization

The created data set may have errors red due to patches having collisions or being unreachable. Artist Studio supports optimizations that aim to automatically adjust the patch deposit frame to have patches both collision-free and reachable.

6.7.8.1. Reachability Optimization

The Simple Optimization varies between ‘by positioner position’ and ‘by deposit frame’ data sets. For the latter, it tries to optimize a patch’s deposit frame by modifying the rotation around the z-axis. In contrast, when used with ‘by positioner position’ data sets, it modifies the x and y values of the deposit frame instead. Both approaches have the common goal of achieving a patch position that is:

  • reachable

  • collision-free

  • leads to minimal movement time from previous patch for positioner

../_images/img33.png

There are three ways to optimize the patches:

  • Complete dataset - To optimize the complete dataset, right click on the created data set and select Optimize movements under the option Optimization to optimize all the patches in a particular dataset.

    ../_images/img341.png
  • One patch - For optimization of a specific patch, right click on the selected patch and click on Optimize patch only.

    ../_images/img47.png
  • From patch - To optimize all the patches starting from a specific patch, right click on the selected patch and click on Optimize from patch.

    ../_images/img48.png

It is also possible to use Optimize patch only while having multiple patches selected.

6.7.8.2. Deposit Optimization

Note

Deposit optimization has been introduced in version 1.3.23. However, it is still under active development and might end up with unexpected results or cause other related issues while optimizing a dataset. Please ensure necessary precautions are taken, e.g. save a version of the file before running the deposit optimization.

The deposit optimization has been specifically developed for a version of SAMBA PRO that is using two 6-axis robots. As a result of that, the deposit frame is no longer bound to be pointing upwards. In order to put this flexibility to good use, this type of optimization supports optimizing the deposit frame with up to 6 degrees of freedom.

../_images/deposit_optimization_dialog.png

Fig. 6.5 Deposit optimization dialog

The deposit optimization can be opened in the same way as the reachability optimization:

  • Complete data set

  • One patch only

  • From patch

See Reachability Optimization on how to use these.

Note

The type of production system used will decide whether the reachability optimization or the deposit optimization dialog will be displayed. Currently, deposit optimization is only supported for 12-axis production systems.

The deposit optimization dialog allows setting the optimization type. Currently, only the COBYLA algorithm is supported. In addition to that, both the optimization constraints and the stopping criteria can be adjusted to one’s needs:

  • Maximum iterations:

    Specifies how many iterations should be run before stopping/aborting the optimization

  • Initial step size:

    Defines the percentage to use for calculating the default step size value. A value of 50% results in the initial step size being 50% of the optimization bandwidth, i.e. 50% of the absolute difference between the maximum and minimum value of each coordinate. A minimum value of 200 and maximum value of 600 will result in an initial step size of 200 when this setting is set to 50%.

  • Min / max coordinate values:

    Specify the minimum and maximum values to use for each coordinate. Setting the minimum and maximum value to the same value will result in this value being fixed.

  • Absolute parameter tolerance:

    Optimization will stop when change of coordinates is below this value, i.e. the current step size is smaller than this value for any given coordinate (except for ones with fixed values): \({\Delta} x\)

  • Relative parameter tolerance:

    Optimization will stop when the gradient between two consecutive values is below the specified value: \({\Delta} x / x_i\)

  • Absolute quality tolerance:

    Optimization will stop when change of calculated “quality” of a patch is below this value: \({\Delta} f\)

  • Relative quality tolerance:

    Optimization will stop when gradient between two consecutive quality values is below specified value: \({\Delta} f / f_i\)

  • Stop value:

    Value that is deemed a “good solution”. The default value of 10 will result in the optimization using any deposit frame that is both reachable and collision free. It will not optimize the position for the quickest placement.

    Deposit frames with a collision are penalized with a value of 1000, unreachable ones with a value of 2000. As a result of that, the optimization will prefer positions with collisions (which are easier to be adjusted manually) over unreachable ones.

The optimization can be run by clicking on Start optimization and will require some time to run. During each iteration, the patch positions are calculated and collisions are checked. In addition to the starting deposit frame, runtime of this optimization highly depends on the complexity and size of the part to produce and the cell itself.

6.7.9. Collision avoidance

Collision avoidance can be used to prevent or reduce the risk of collisions during movements of the Picker between the camera and placement position of a patch. It allows users to manually add additional avoidance points before the Approach and after the Leaving positions of the patch placement. These can then be applied to the complete dataset from the model explorer.

While multiple avoidance points can be added, the maximum number of avoidance points can be limited depending on the machine used. By default, at least two avoidance points before the patch placement and two after the patch placement, i.e. two avoidance points added via menu, are supported on all shipped machines.

Note

The Collision avoidance feature was first introduced in Artist Studio 1.3.36

6.7.9.1. Add avoidance points

Before setting the desired robot position, expand the tree of the patch of the data set to which you want to add avoidance points:

../_images/dataset_patch_extended.png

Also ensure that you are currently using Motion Artist or switch to the Motion Artist tab.

To add an avoidance point, follow these steps:

  1. Adjust the axis values of the picker in the Ribbon bar

  2. Right-click on Picker and choose Add ... > Avoidance point

    ../_images/add_avoidance_point.png
  3. Wait until avoidance point is added to the patch.

Note

While adding the point, Motion Artist will check the patch for collisions. This can take some time to be processed.

As a result, in fact two avoidance movements will be added:

../_images/dataset_patch_avoidance_points.png

Every time you add an avoidance point, this extra position will be used by the Picker while moving from the camera to the approach position and while moving back from the leaving position to the camera.

6.7.9.2. Applying avoidance points to data set

Avoidance points can be added manually to any data-set patches. However, the avoidance points added to the first patch are special: they can be applied to the rest of the data set.

Warning

Any avoidance points that were added to any patch other than the first patch will be overwritten while applying the avoidance points.

To apply the avoidance point(s) of the first patch to the rest of the data set, follow these steps:

  1. Right-click on the data set

  2. Click on Apply ... > Avoidance to data set

  3. Wait until avoidance points have been added to the data set

Note

After applying the avoidance points to the data set, Motion Artist will automatically check the complete data set for collisions. This process might take a long time depending on the amount of patches in your data set.

Hint

There is no need to remove the avoidance points from all patches before applying avoidance points to the data set again. While applying the avoidance points from the first patch, Motion Artist will automatically remove first any old avoidance points.

6.7.9.3. Removing avoidance points

You can manually remove avoidance points one by one. This might make sense in some cases where this extra position is only needed while moving to the preforming tool or back from it.

This can be done by right-clicking on the Avoidance Point movement you want to delete and selecting Delete from the context menu.

It’s also possible to remove all avoidance points from the data set:

  1. Delete all avoidance points from the first patch of the data set

  2. Apply avoidance points (from the first patch) to the data set

As a result, all avoidance points will be deleted.

6.7.10. Modifying movement

To adjust robot movements follow these steps:

  • Right click on the movement you want to modify

  • Click on Modify movement

    ../_images/modify_movement.png
  • A dialog will be opened which will allow you to change the coordinate or joint values, depending on which type of robot is used.

    ../_images/modify_movement_coords.png ../_images/modify_movement_joints.png

The Movement style setting will allow you to also adjust the type of movement that will be executed by the robot. Depending on the robot used, some of these movement types will be available:

  • Coordinates - Linear

  • Coordinates - PTP

  • Joints - Linear

  • Joints - PTP

Note

Depending on the used manufacturing cell, some of the movement styles might not be supported. Consult the machine documentation if unsure.

6.7.11. Change orientation

The orientation of normals of the patches is responsible for the direction of Picker robot with which it will patch on the surface of a geometry. However, the robot may not be able to patch on curvy surfaces.

../_images/img56.png

For patching on curvy surfaces you need to change the orientation of the normals. To change the orientation follow these steps:

  • Select the patch name from the dataset for whom you want to change the orientation.

    ../_images/img57.png
  • Go to Patch Artist and click on Patches from the Ribbon bar under Picking type group.

  • The selected patch will be highlighted(red) in the viewport. To view the orientation of normal select Show orientation from the Ribbon bar under Render mode group.

  • Right click on the patch and select Change orientation.

    ../_images/img58.png
  • This will open a pop-up. Here, you can change the orientation of the normal.

    ../_images/img59.png

    Click on the OK button to save the changes.